{
  "template": {
    "code": "universal_intake",
    "name": "Universal Intake",
    "category": "universal",
    "version": 1,
    "is_current": true,
    "is_active": true,
    "scoring_strategy": null,
    "description": "Disease-agnostic structured intake: presenting complaint, social history, and functional status. Demographics, allergies, vitals, and labs remain on typed Care forms.",
    "meta": {
      "capture_roles": ["doctor", "nurse"],
      "specialty": "general",
      "estimated_minutes": 8,
      "attribution": "Ladill Care universal clinical intake (platform-authored). Not a licensed third-party instrument."
    }
  },
  "questions": [
    {
      "code": "chief_complaint",
      "section": "Presenting complaint",
      "label": "Chief complaint",
      "help_text": "Primary reason for this visit in the patient's own words when possible.",
      "answer_type": "textarea",
      "is_required": true,
      "sort_order": 10,
      "options": null,
      "validation": { "max": 2000 }
    },
    {
      "code": "hpi",
      "section": "Presenting complaint",
      "label": "History of presenting illness",
      "help_text": "Onset, course, associated features. Free-text symptoms on the consultation remain the narrative source of truth (not auto-synced).",
      "answer_type": "textarea",
      "is_required": false,
      "sort_order": 20,
      "options": null,
      "validation": { "max": 10000 }
    },
    {
      "code": "duration_value",
      "section": "Presenting complaint",
      "label": "Duration (value)",
      "help_text": "Numeric duration; pair with duration unit.",
      "answer_type": "number",
      "is_required": false,
      "sort_order": 30,
      "options": { "min": 0, "max": 9999 },
      "validation": { "min": 0, "max": 9999 }
    },
    {
      "code": "duration_unit",
      "section": "Presenting complaint",
      "label": "Duration unit",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 40,
      "options": {
        "choices": [
          { "code": "minutes", "label": "Minutes" },
          { "code": "hours", "label": "Hours" },
          { "code": "days", "label": "Days" },
          { "code": "weeks", "label": "Weeks" },
          { "code": "months", "label": "Months" },
          { "code": "years", "label": "Years" }
        ]
      }
    },
    {
      "code": "pain_score",
      "section": "Presenting complaint",
      "label": "Pain score (0–10)",
      "help_text": "0 = no pain, 10 = worst imaginable pain.",
      "answer_type": "scale",
      "is_required": false,
      "sort_order": 50,
      "options": { "min": 0, "max": 10 },
      "validation": { "min": 0, "max": 10 }
    },
    {
      "code": "current_symptoms",
      "section": "Presenting complaint",
      "label": "Current symptoms",
      "help_text": "Structured symptom list or free description. Does not replace consultation free-text symptoms.",
      "answer_type": "textarea",
      "is_required": false,
      "sort_order": 60,
      "options": null,
      "validation": { "max": 5000 }
    },
    {
      "code": "smoking_status",
      "section": "Social history",
      "label": "Smoking status",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 100,
      "options": {
        "choices": [
          { "code": "never", "label": "Never smoked" },
          { "code": "former", "label": "Former smoker" },
          { "code": "current", "label": "Current smoker" },
          { "code": "unknown", "label": "Unknown / not asked" }
        ]
      }
    },
    {
      "code": "smoking_pack_years",
      "section": "Social history",
      "label": "Smoking pack-years",
      "help_text": "If former or current smoker. Packs/day × years.",
      "answer_type": "number",
      "is_required": false,
      "sort_order": 110,
      "options": { "min": 0, "max": 500, "unit": "pack-years" },
      "validation": { "min": 0, "max": 500 }
    },
    {
      "code": "alcohol_use",
      "section": "Social history",
      "label": "Alcohol use",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 120,
      "options": {
        "choices": [
          { "code": "none", "label": "None" },
          { "code": "occasional", "label": "Occasional" },
          { "code": "moderate", "label": "Moderate" },
          { "code": "heavy", "label": "Heavy" },
          { "code": "unknown", "label": "Unknown / not asked" }
        ]
      }
    },
    {
      "code": "occupation",
      "section": "Social history",
      "label": "Occupation",
      "answer_type": "text",
      "is_required": false,
      "sort_order": 130,
      "options": null,
      "validation": { "max": 255 }
    },
    {
      "code": "mobility",
      "section": "Functional status",
      "label": "Mobility",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 200,
      "options": {
        "choices": [
          { "code": "independent", "label": "Independent" },
          { "code": "with_aid", "label": "With aid (stick/frame)" },
          { "code": "wheelchair", "label": "Wheelchair" },
          { "code": "bedbound", "label": "Bedbound" },
          { "code": "unknown", "label": "Unknown" }
        ]
      }
    },
    {
      "code": "communication",
      "section": "Functional status",
      "label": "Communication",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 210,
      "options": {
        "choices": [
          { "code": "normal", "label": "Normal" },
          { "code": "impaired", "label": "Impaired" },
          { "code": "non_verbal", "label": "Non-verbal" },
          { "code": "unknown", "label": "Unknown" }
        ]
      }
    },
    {
      "code": "vision",
      "section": "Functional status",
      "label": "Vision",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 220,
      "options": {
        "choices": [
          { "code": "normal", "label": "Normal / corrected" },
          { "code": "impaired", "label": "Impaired" },
          { "code": "blind", "label": "Blind" },
          { "code": "unknown", "label": "Unknown" }
        ]
      }
    },
    {
      "code": "hearing",
      "section": "Functional status",
      "label": "Hearing",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 230,
      "options": {
        "choices": [
          { "code": "normal", "label": "Normal" },
          { "code": "impaired", "label": "Impaired" },
          { "code": "deaf", "label": "Deaf" },
          { "code": "unknown", "label": "Unknown" }
        ]
      }
    },
    {
      "code": "feeding",
      "section": "Functional status",
      "label": "Feeding",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 240,
      "options": {
        "choices": [
          { "code": "independent", "label": "Independent" },
          { "code": "needs_help", "label": "Needs help" },
          { "code": "dependent", "label": "Dependent / tube" },
          { "code": "unknown", "label": "Unknown" }
        ]
      }
    },
    {
      "code": "continence",
      "section": "Functional status",
      "label": "Continence",
      "answer_type": "single_choice",
      "is_required": false,
      "sort_order": 250,
      "options": {
        "choices": [
          { "code": "continent", "label": "Continent" },
          { "code": "occasional", "label": "Occasional incontinence" },
          { "code": "incontinent", "label": "Incontinent" },
          { "code": "catheter", "label": "Catheter / diversion" },
          { "code": "unknown", "label": "Unknown" }
        ]
      }
    },
    {
      "code": "baseline_labs_summary",
      "section": "Baseline laboratories",
      "label": "Baseline labs summary (optional)",
      "help_text": "Free-text summary only. Prefer ordered investigation results in Lab for structured values (CBC, glucose, creatinine, electrolytes).",
      "answer_type": "textarea",
      "is_required": false,
      "sort_order": 300,
      "options": null,
      "validation": { "max": 5000 }
    }
  ]
}
