{
  "template": {
    "code": "heart_failure_core",
    "name": "Heart failure assessment",
    "category": "disease",
    "version": 1,
    "is_current": true,
    "is_active": true,
    "scoring_strategy": "single_value",
    "description": "NYHA class, EF, BNP, fluid status for heart failure pathway.",
    "meta": {
      "capture_roles": [
        "doctor",
        "nurse"
      ],
      "specialty": "cardiology",
      "estimated_minutes": 8,
      "pathway_codes": [
        "heart_failure"
      ],
      "attribution": "Ladill Care Heart failure assessment content pack (platform-authored clinical checklist)."
    }
  },
  "questions": [
    {
      "code": "nyha",
      "section": "Classification",
      "label": "NYHA classification",
      "answer_type": "score_item",
      "is_required": true,
      "sort_order": 10,
      "options": {
        "choices": [
          {
            "code": "1",
            "label": "I \u2014 No limitation",
            "score": 1
          },
          {
            "code": "2",
            "label": "II \u2014 Slight limitation",
            "score": 2
          },
          {
            "code": "3",
            "label": "III \u2014 Marked limitation",
            "score": 3
          },
          {
            "code": "4",
            "label": "IV \u2014 Symptoms at rest",
            "score": 4
          }
        ]
      },
      "score_key": "nyha"
    },
    {
      "code": "ejection_fraction",
      "section": "Cardiac",
      "label": "Ejection fraction (%)",
      "answer_type": "number",
      "is_required": false,
      "sort_order": 20,
      "options": {
        "min": 5,
        "max": 80,
        "unit": "%"
      },
      "validation": {
        "min": 5,
        "max": 80
      }
    },
    {
      "code": "bnp",
      "section": "Labs",
      "label": "BNP / NT-proBNP",
      "answer_type": "number",
      "is_required": false,
      "sort_order": 30,
      "options": {
        "min": 0,
        "max": 100000,
        "unit": "pg/mL"
      },
      "validation": {
        "min": 0,
        "max": 100000
      }
    },
    {
      "code": "edema",
      "section": "Fluid",
      "label": "Peripheral edema",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 40,
      "options": {
        "choices": [
          {
            "code": "none",
            "label": "None"
          },
          {
            "code": "mild",
            "label": "Mild"
          },
          {
            "code": "moderate",
            "label": "Moderate"
          },
          {
            "code": "severe",
            "label": "Severe"
          }
        ]
      }
    },
    {
      "code": "weight_kg",
      "section": "Fluid",
      "label": "Current weight (kg)",
      "answer_type": "number",
      "is_required": false,
      "sort_order": 50,
      "options": {
        "min": 20,
        "max": 300,
        "unit": "kg"
      },
      "validation": {
        "min": 20,
        "max": 300
      }
    },
    {
      "code": "weight_change",
      "section": "Fluid",
      "label": "Weight change since last visit",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 60,
      "options": {
        "choices": [
          {
            "code": "down",
            "label": "Decreased"
          },
          {
            "code": "stable",
            "label": "Stable"
          },
          {
            "code": "up",
            "label": "Increased"
          }
        ]
      }
    },
    {
      "code": "exercise_tolerance",
      "section": "Function",
      "label": "Exercise tolerance",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 70,
      "options": {
        "choices": [
          {
            "code": "good",
            "label": "Good"
          },
          {
            "code": "reduced",
            "label": "Reduced"
          },
          {
            "code": "poor",
            "label": "Poor"
          }
        ]
      }
    },
    {
      "code": "notes",
      "section": "Notes",
      "label": "Notes",
      "answer_type": "textarea",
      "is_required": false,
      "sort_order": 100,
      "validation": {
        "max": 5000
      }
    }
  ]
}
