ConverTA / backend /core /default_analysis_templates.py
MikelWL's picture
Retire v1 template and refine analysis config UI
a8cfd72
from __future__ import annotations
from typing import Dict, List
from backend.core.analysis_knobs import (
DEFAULT_BOTTOM_UP_INSTRUCTIONS,
DEFAULT_BOTTOM_UP_ATTRIBUTES,
DEFAULT_RUBRIC_INSTRUCTIONS,
DEFAULT_RUBRIC_ATTRIBUTES,
DEFAULT_TOP_DOWN_INSTRUCTIONS,
DEFAULT_TOP_DOWN_ATTRIBUTES,
)
DEFAULT_ANALYSIS_TEMPLATE: Dict[str, object] = {
"template_id": "analysis_default",
"name": "Default Analysis",
"bottom_up_instructions": DEFAULT_BOTTOM_UP_INSTRUCTIONS,
"bottom_up_attributes": list(DEFAULT_BOTTOM_UP_ATTRIBUTES),
"rubric_instructions": DEFAULT_RUBRIC_INSTRUCTIONS,
"rubric_attributes": list(DEFAULT_RUBRIC_ATTRIBUTES),
"top_down_instructions": DEFAULT_TOP_DOWN_INSTRUCTIONS,
"top_down_attributes": list(DEFAULT_TOP_DOWN_ATTRIBUTES),
"categories": [
{"category_id": "symptoms_concerns", "label": "Symptoms/concerns"},
{"category_id": "daily_management", "label": "Daily management"},
{"category_id": "barriers_constraints", "label": "Barriers/constraints"},
{"category_id": "support_resources", "label": "Support/resources"},
],
}
def default_analysis_categories() -> List[Dict[str, str]]:
cats = DEFAULT_ANALYSIS_TEMPLATE.get("categories") # type: ignore[assignment]
if isinstance(cats, list):
return [c for c in cats if isinstance(c, dict)] # type: ignore[return-value]
return []