<?php

/**
 * Specialty clinical form schemas (workspace tab → record type → fields).
 * Consumed by SpecialtyClinicalRecordService.
 *
 * @return array{
 *     record_types: array<string, array<string, string>>,
 *     fields: array<string, array<string, list<array<string, mixed>>>>
 * }
 */
return [
    'record_types' => [
        'emergency' => [
            'triage' => 'triage',
            'clinical_notes' => 'clinical_note',
            'observation' => 'observation',
            'disposition' => 'disposition',
        ],
        'blood_bank' => [
            'requests' => 'blood_request',
            'inventory' => 'inventory_note',
            'issue' => 'issue_note',
            'transfusion' => 'transfusion_note',
        ],
        'dentistry' => [
        ],
        'ophthalmology' => [
            'refraction' => 'refraction',
            'exam' => 'eye_exam',
            'investigations' => 'eye_investigation',
            'plan' => 'eye_plan',
            'treat' => 'eye_procedure',
        ],
        'physiotherapy' => [
            'assessment' => 'pt_assessment',
            'plan' => 'pt_plan',
            'session' => 'pt_session',
            'exercises' => 'pt_home_program',
        ],
        'maternity' => [
            'history' => 'anc_history',
            'exam' => 'obstetric_exam',
            'fetal' => 'fetal_notes',
            'investigations' => 'mat_investigation',
            'plan' => 'mat_plan',
            'postnatal' => 'postnatal_note',
        ],
        'radiology' => [
            'protocol' => 'imaging_request',
            'acquisition' => 'imaging_acquisition',
            'findings' => 'imaging_report',
            'verification' => 'imaging_verification',
        ],
        'cardiology' => [
            'history' => 'cardio_history',
            'exam' => 'cardiac_exam',
            'investigations' => 'cardio_investigation',
            'plan' => 'cardio_plan',
            'procedures' => 'cardio_procedure',
        ],
        'psychiatry' => [
            'history' => 'mental_status',
            'risk' => 'risk_assessment',
            'plan' => 'psych_plan',
            'followup' => 'psych_followup',
        ],
        'pediatrics' => [
            'exam' => 'pediatric_exam',
            'clinical_notes' => 'clinical_note',
        ],
        'orthopedics' => [
            'exam' => 'ortho_exam',
            'clinical_notes' => 'clinical_note',
        ],
        'ent' => [
            'exam' => 'ent_exam',
            'clinical_notes' => 'clinical_note',
        ],
        'oncology' => [
            'review' => 'oncology_review',
            'clinical_notes' => 'clinical_note',
        ],
        'renal' => [
            'session' => 'renal_session',
            'clinical_notes' => 'clinical_note',
        ],
        'surgery' => [
            'preop' => 'preop',
            'clinical_notes' => 'clinical_note',
        ],
        'vaccination' => [
            'screening' => 'vax_screening',
            'administration' => 'vax_admin',
        ],
        'pathology' => [
            'request' => 'path_request',
            'report' => 'path_report',
        ],
        'infusion' => [
            'session' => 'infusion_session',
            'clinical_notes' => 'clinical_note',
        ],
        'dermatology' => [
            'exam' => 'skin_exam',
            'clinical_notes' => 'clinical_note',
        ],
        'podiatry' => [
            'exam' => 'foot_exam',
            'clinical_notes' => 'clinical_note',
        ],
        'fertility' => [
            'consult' => 'fertility_consult',
            'clinical_notes' => 'clinical_note',
        ],
        'child_welfare' => [
            'growth' => 'growth',
            'clinical_notes' => 'clinical_note',
        ],
    ],
    'fields' => [
        'emergency' => [
            'triage' => [
                ['name' => 'acuity', 'label' => 'Triage acuity', 'type' => 'select', 'required' => true, 'options' => ['1 - Resuscitation', '2 - Emergency', '3 - Urgent', '4 - Semi-urgent', '5 - Non-urgent']],
                ['name' => 'chief_complaint', 'label' => 'Chief complaint', 'type' => 'text', 'required' => true],
                ['name' => 'onset', 'label' => 'Onset', 'type' => 'text'],
                ['name' => 'airway_ok', 'label' => 'Airway patent', 'type' => 'boolean'],
                ['name' => 'breathing_ok', 'label' => 'Breathing adequate', 'type' => 'boolean'],
                ['name' => 'circulation_ok', 'label' => 'Circulation stable', 'type' => 'boolean'],
                ['name' => 'gcs', 'label' => 'GCS', 'type' => 'number'],
                ['name' => 'pain_score', 'label' => 'Pain score (0–10)', 'type' => 'number'],
                ['name' => 'mode_of_arrival', 'label' => 'Mode of arrival', 'type' => 'select', 'options' => ['Walk-in', 'Ambulance', 'Police', 'Referral', 'Other']],
                ['name' => 'disposition_intent', 'label' => 'Disposition intent', 'type' => 'select', 'options' => ['Resus', 'Treatment bay', 'Observation', 'Discharge', 'Admit', 'Transfer']],
                ['name' => 'notes', 'label' => 'Triage notes', 'type' => 'textarea', 'rows' => 3],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'procedures', 'label' => 'Procedures performed', 'type' => 'textarea', 'rows' => 2],
            ],
            'observation' => [
                ['name' => 'bed_label', 'label' => 'Bed / bay label', 'type' => 'text'],
                ['name' => 'started_at', 'label' => 'Observation started', 'type' => 'text'],
                ['name' => 'hours', 'label' => 'Hours observed', 'type' => 'number'],
                ['name' => 'monitoring_plan', 'label' => 'Monitoring plan', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'progress', 'label' => 'Progress notes', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'ready_for_disposition', 'label' => 'Ready for disposition', 'type' => 'boolean'],
            ],
            'disposition' => [
                ['name' => 'disposition', 'label' => 'Final disposition', 'type' => 'select', 'required' => true, 'options' => ['Discharge home', 'Admit to ward', 'Admit to ICU', 'Transfer to facility', 'Left against advice', 'Died', 'Absconded']],
                ['name' => 'condition', 'label' => 'Condition at disposition', 'type' => 'select', 'options' => ['Stable', 'Improving', 'Unstable', 'Critical', 'Deceased']],
                ['name' => 'destination', 'label' => 'Destination (ward / facility)', 'type' => 'text'],
                ['name' => 'diagnosis', 'label' => 'Discharge / transfer diagnosis', 'type' => 'text', 'required' => true],
                ['name' => 'advice', 'label' => 'Advice / follow-up', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'medications', 'label' => 'Medications on discharge', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'time', 'label' => 'Disposition time', 'type' => 'text'],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2],
            ],
        ],
        'blood_bank' => [
            'blood_request' => [
                ['name' => 'product', 'label' => 'Product', 'type' => 'select', 'required' => true, 'options' => ['Whole blood', 'Packed RBC', 'Platelets', 'FFP', 'Cryoprecipitate']],
                ['name' => 'units', 'label' => 'Units requested', 'type' => 'number', 'required' => true],
                ['name' => 'urgency', 'label' => 'Urgency', 'type' => 'select', 'required' => true, 'options' => ['Routine', 'Urgent', 'Emergency / massive']],
                ['name' => 'patient_blood_group', 'label' => 'Patient blood group', 'type' => 'select', 'options' => ['A+', 'A-', 'B+', 'B-', 'AB+', 'AB-', 'O+', 'O-', 'Unknown']],
                ['name' => 'indication', 'label' => 'Clinical indication', 'type' => 'textarea', 'required' => true, 'rows' => 2],
                ['name' => 'crossmatch_status', 'label' => 'Cross-match status', 'type' => 'select', 'options' => ['Not started', 'In progress', 'Compatible', 'Incompatible', 'Issued']],
                ['name' => 'issued_units', 'label' => 'Units issued', 'type' => 'number'],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2],
            ],
            'inventory_note' => [
                ['name' => 'whole_blood_units', 'label' => 'Whole blood on hand', 'type' => 'number'],
                ['name' => 'packed_rbc_units', 'label' => 'Packed RBC on hand', 'type' => 'number'],
                ['name' => 'platelet_units', 'label' => 'Platelets on hand', 'type' => 'number'],
                ['name' => 'ffp_units', 'label' => 'FFP on hand', 'type' => 'number'],
                ['name' => 'cryo_units', 'label' => 'Cryoprecipitate on hand', 'type' => 'number'],
                ['name' => 'low_stock_alert', 'label' => 'Flag low stock', 'type' => 'boolean'],
                ['name' => 'notes', 'label' => 'Inventory notes', 'type' => 'textarea', 'rows' => 3],
            ],
            'issue_note' => [
                ['name' => 'product', 'label' => 'Product', 'type' => 'select', 'required' => true, 'options' => ['Whole blood', 'Packed RBC', 'Platelets', 'FFP', 'Cryoprecipitate']],
                ['name' => 'units_issued', 'label' => 'Units issued', 'type' => 'number', 'required' => true],
                ['name' => 'bag_numbers', 'label' => 'Bag / unit numbers', 'type' => 'text'],
                ['name' => 'issued_to', 'label' => 'Issued to (ward / clinician)', 'type' => 'text'],
                ['name' => 'issued_at', 'label' => 'Issued at', 'type' => 'text'],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2],
            ],
            'transfusion_note' => [
                ['name' => 'started_at', 'label' => 'Started at', 'type' => 'text'],
                ['name' => 'units_transfused', 'label' => 'Units transfused', 'type' => 'number'],
                ['name' => 'vitals_ok', 'label' => 'Vitals acceptable', 'type' => 'boolean'],
                ['name' => 'reaction', 'label' => 'Reaction', 'type' => 'select', 'options' => ['None', 'Mild (fever / itch)', 'Moderate', 'Severe / stop transfusion']],
                ['name' => 'outcome', 'label' => 'Outcome', 'type' => 'select', 'required' => true, 'options' => ['In progress', 'Completed uneventfully', 'Stopped — reaction', 'Stopped — other']],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'dentistry' => [
        ],
        'ophthalmology' => [
            'refraction' => [
                ['name' => 'va_od', 'label' => 'Visual acuity OD', 'type' => 'text', 'required' => true],
                ['name' => 'va_os', 'label' => 'Visual acuity OS', 'type' => 'text', 'required' => true],
                ['name' => 'va_od_near', 'label' => 'Near VA OD', 'type' => 'text'],
                ['name' => 'va_os_near', 'label' => 'Near VA OS', 'type' => 'text'],
                ['name' => 'pinhole_od', 'label' => 'Pinhole OD', 'type' => 'text'],
                ['name' => 'pinhole_os', 'label' => 'Pinhole OS', 'type' => 'text'],
                ['name' => 'sphere_od', 'label' => 'Sphere OD', 'type' => 'text'],
                ['name' => 'cylinder_od', 'label' => 'Cylinder OD', 'type' => 'text'],
                ['name' => 'axis_od', 'label' => 'Axis OD', 'type' => 'text'],
                ['name' => 'sphere_os', 'label' => 'Sphere OS', 'type' => 'text'],
                ['name' => 'cylinder_os', 'label' => 'Cylinder OS', 'type' => 'text'],
                ['name' => 'axis_os', 'label' => 'Axis OS', 'type' => 'text'],
                ['name' => 'add', 'label' => 'Near add', 'type' => 'text'],
                ['name' => 'pd', 'label' => 'Pupillary distance (mm)', 'type' => 'number'],
                ['name' => 'notes', 'label' => 'Refraction notes', 'type' => 'textarea', 'rows' => 2],
            ],
            'eye_exam' => [
                ['name' => 'chief_complaint', 'label' => 'Chief complaint', 'type' => 'text', 'required' => true],
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'va_od', 'label' => 'Visual acuity OD', 'type' => 'text'],
                ['name' => 'va_os', 'label' => 'Visual acuity OS', 'type' => 'text'],
                ['name' => 'iop_od', 'label' => 'IOP OD (mmHg)', 'type' => 'number'],
                ['name' => 'iop_os', 'label' => 'IOP OS (mmHg)', 'type' => 'number'],
                ['name' => 'pupils', 'label' => 'Pupils', 'type' => 'text'],
                ['name' => 'extraocular', 'label' => 'Extraocular movements', 'type' => 'text'],
                ['name' => 'anterior_segment', 'label' => 'Anterior segment', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'fundus', 'label' => 'Fundus / posterior segment', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'findings', 'label' => 'Key findings', 'type' => 'textarea', 'required' => true, 'rows' => 3],
            ],
            'eye_investigation' => [
                ['name' => 'modality', 'label' => 'Modality', 'type' => 'select', 'required' => true, 'options' => ['OCT', 'Visual fields', 'Fundus photo', 'Fluorescein angiography', 'Biometry / A-scan', 'B-scan ultrasound', 'Corneal topography', 'Other']],
                ['name' => 'eye', 'label' => 'Eye', 'type' => 'select', 'options' => ['OD', 'OS', 'OU']],
                ['name' => 'indication', 'label' => 'Indication', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'findings', 'label' => 'Findings', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'impression', 'label' => 'Impression', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'recommendations', 'label' => 'Recommendations', 'type' => 'textarea', 'rows' => 2],
            ],
            'eye_plan' => [
                ['name' => 'diagnosis', 'label' => 'Diagnosis', 'type' => 'text', 'required' => true],
                ['name' => 'laterality', 'label' => 'Laterality', 'type' => 'select', 'options' => ['OD', 'OS', 'OU', 'N/A']],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'medications', 'label' => 'Medications / drops', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'procedure_planned', 'label' => 'Procedure planned', 'type' => 'boolean'],
                ['name' => 'follow_up', 'label' => 'Follow-up', 'type' => 'text'],
                ['name' => 'advice', 'label' => 'Patient advice', 'type' => 'textarea', 'rows' => 2],
            ],
            'eye_procedure' => [
                ['name' => 'procedure', 'label' => 'Procedure', 'type' => 'text', 'required' => true],
                ['name' => 'eye', 'label' => 'Eye', 'type' => 'select', 'required' => true, 'options' => ['OD', 'OS', 'OU']],
                ['name' => 'indication', 'label' => 'Indication', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'anaesthesia', 'label' => 'Anaesthesia', 'type' => 'select', 'options' => ['None', 'Topical', 'Local', 'Other']],
                ['name' => 'outcome', 'label' => 'Outcome', 'type' => 'select', 'required' => true, 'options' => ['Completed uneventfully', 'Completed with complications', 'Deferred', 'Aborted']],
                ['name' => 'complications', 'label' => 'Complications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'post_op_plan', 'label' => 'Post-procedure plan', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2],
            ],
        ],
        'physiotherapy' => [
            'pt_assessment' => [
                ['name' => 'chief_complaint', 'label' => 'Presenting complaint', 'type' => 'text', 'required' => true],
                ['name' => 'onset', 'label' => 'Onset / mechanism', 'type' => 'text'],
                ['name' => 'pain_score', 'label' => 'Pain score (0–10)', 'type' => 'number'],
                ['name' => 'body_region', 'label' => 'Body region', 'type' => 'select', 'options' => ['Neck', 'Shoulder', 'Back / lumbar', 'Hip', 'Knee', 'Ankle / foot', 'Upper limb', 'Lower limb', 'Other']],
                ['name' => 'rom', 'label' => 'Range of motion', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'strength', 'label' => 'Strength / function', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'special_tests', 'label' => 'Special tests', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'red_flags', 'label' => 'Red flags', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'goals', 'label' => 'Treatment goals', 'type' => 'textarea', 'required' => true, 'rows' => 2],
            ],
            'pt_plan' => [
                ['name' => 'diagnosis', 'label' => 'Physio diagnosis / problem list', 'type' => 'text', 'required' => true],
                ['name' => 'frequency', 'label' => 'Session frequency', 'type' => 'text'],
                ['name' => 'duration_weeks', 'label' => 'Expected duration (weeks)', 'type' => 'number'],
                ['name' => 'interventions', 'label' => 'Planned interventions', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'precautions', 'label' => 'Precautions / contraindications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'goals', 'label' => 'Short-term goals', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'outcome_measures', 'label' => 'Outcome measures', 'type' => 'text'],
            ],
            'pt_session' => [
                ['name' => 'session_number', 'label' => 'Session number', 'type' => 'number'],
                ['name' => 'modalities', 'label' => 'Modalities used', 'type' => 'textarea', 'required' => true, 'rows' => 2],
                ['name' => 'exercises', 'label' => 'Exercises performed', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'pain_before', 'label' => 'Pain before (0–10)', 'type' => 'number'],
                ['name' => 'pain_after', 'label' => 'Pain after (0–10)', 'type' => 'number'],
                ['name' => 'response', 'label' => 'Patient response', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'outcome', 'label' => 'Session outcome', 'type' => 'select', 'required' => true, 'options' => ['In progress', 'Completed — continue plan', 'Completed — progress review due', 'Completed — discharge ready', 'Deferred']],
                ['name' => 'next_review', 'label' => 'Next review', 'type' => 'text'],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2],
            ],
            'pt_home_program' => [
                ['name' => 'exercises', 'label' => 'Home exercises', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'frequency', 'label' => 'Frequency / sets', 'type' => 'text'],
                ['name' => 'precautions', 'label' => 'Precautions', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'progress_notes', 'label' => 'Progress notes', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'adherence', 'label' => 'Adherence', 'type' => 'select', 'options' => ['Good', 'Fair', 'Poor', 'Unknown']],
                ['name' => 'outcome', 'label' => 'Progress outcome', 'type' => 'select', 'options' => ['Improving', 'Stable', 'Worsening', 'Goals met — discharge', 'Refer on']],
                ['name' => 'next_review', 'label' => 'Next review', 'type' => 'text'],
            ],
        ],
        'maternity' => [
            'anc_history' => [
                ['name' => 'gravida', 'label' => 'Gravida', 'type' => 'number', 'required' => true],
                ['name' => 'para', 'label' => 'Para', 'type' => 'number'],
                ['name' => 'lmp', 'label' => 'LMP', 'type' => 'text'],
                ['name' => 'edd', 'label' => 'EDD', 'type' => 'text'],
                ['name' => 'gestational_age_weeks', 'label' => 'Gestational age (weeks)', 'type' => 'number', 'required' => true],
                ['name' => 'anc_visit_number', 'label' => 'ANC visit number', 'type' => 'number'],
                ['name' => 'obstetric_history', 'label' => 'Obstetric history', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'medical_history', 'label' => 'Medical / surgical history', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'allergies', 'label' => 'Allergies', 'type' => 'text'],
                ['name' => 'medications', 'label' => 'Current medications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'social_history', 'label' => 'Social history', 'type' => 'textarea', 'rows' => 2],
            ],
            'obstetric_exam' => [
                ['name' => 'bp', 'label' => 'Blood pressure', 'type' => 'text', 'required' => true],
                ['name' => 'pulse', 'label' => 'Pulse', 'type' => 'number'],
                ['name' => 'weight_kg', 'label' => 'Weight (kg)', 'type' => 'number'],
                ['name' => 'fundal_height', 'label' => 'Fundal height (cm)', 'type' => 'number'],
                ['name' => 'presentation', 'label' => 'Presentation', 'type' => 'select', 'options' => ['Cephalic', 'Breech', 'Transverse', 'Unknown']],
                ['name' => 'lie', 'label' => 'Lie', 'type' => 'select', 'options' => ['Longitudinal', 'Oblique', 'Transverse', 'Unknown']],
                ['name' => 'engagement', 'label' => 'Engagement', 'type' => 'text'],
                ['name' => 'oedema', 'label' => 'Oedema', 'type' => 'select', 'options' => ['None', 'Mild', 'Moderate', 'Severe']],
                ['name' => 'urine', 'label' => 'Urine dipstick', 'type' => 'text'],
                ['name' => 'danger_signs', 'label' => 'Danger signs', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'findings', 'label' => 'Exam findings', 'type' => 'textarea', 'required' => true, 'rows' => 3],
            ],
            'fetal_notes' => [
                ['name' => 'fetal_heart_rate', 'label' => 'Fetal heart rate (bpm)', 'type' => 'number', 'required' => true],
                ['name' => 'fetal_movements', 'label' => 'Fetal movements', 'type' => 'select', 'options' => ['Normal', 'Reduced', 'Absent', 'Not assessed']],
                ['name' => 'presentation', 'label' => 'Presentation', 'type' => 'select', 'options' => ['Cephalic', 'Breech', 'Transverse', 'Unknown']],
                ['name' => 'liquor', 'label' => 'Liquor / AFI notes', 'type' => 'text'],
                ['name' => 'ctg_summary', 'label' => 'CTG / monitoring summary', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'notes', 'label' => 'Fetal notes', 'type' => 'textarea', 'rows' => 3],
            ],
            'mat_investigation' => [
                ['name' => 'modality', 'label' => 'Investigation', 'type' => 'select', 'required' => true, 'options' => ['Obstetric ultrasound', 'Bloods (FBC / group)', 'Urine / MSU', 'Glucose / GTT', 'HIV / syphilis / hepatitis', 'Other']],
                ['name' => 'indication', 'label' => 'Indication', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'findings', 'label' => 'Findings', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'impression', 'label' => 'Impression', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'recommendations', 'label' => 'Recommendations', 'type' => 'textarea', 'rows' => 2],
            ],
            'mat_plan' => [
                ['name' => 'risk_category', 'label' => 'Risk category', 'type' => 'select', 'options' => ['Low risk', 'Moderate risk', 'High risk']],
                ['name' => 'plan', 'label' => 'Care plan', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'medications', 'label' => 'Medications / supplements', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'education', 'label' => 'Patient education', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'postnatal_needed', 'label' => 'Delivery / postnatal follow-up needed', 'type' => 'boolean'],
                ['name' => 'follow_up', 'label' => 'Next ANC / follow-up', 'type' => 'text'],
                ['name' => 'referral', 'label' => 'Referral', 'type' => 'text'],
            ],
            'postnatal_note' => [
                ['name' => 'episode_type', 'label' => 'Episode type', 'type' => 'select', 'required' => true, 'options' => ['ANC only', 'Delivery note', 'Immediate postnatal', 'Postnatal review']],
                ['name' => 'delivery_mode', 'label' => 'Delivery mode', 'type' => 'select', 'options' => ['N/A', 'SVD', 'Assisted vaginal', 'CS elective', 'CS emergency']],
                ['name' => 'delivery_date', 'label' => 'Delivery date / time', 'type' => 'text'],
                ['name' => 'baby_condition', 'label' => 'Baby condition', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'maternal_condition', 'label' => 'Maternal condition', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'breastfeeding', 'label' => 'Breastfeeding / feeding', 'type' => 'text'],
                ['name' => 'complications', 'label' => 'Complications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'outcome', 'label' => 'Outcome', 'type' => 'select', 'required' => true, 'options' => ['In progress', 'Completed — continue ANC', 'Completed — discharged', 'Referred', 'Admitted']],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2],
            ],
        ],
        'radiology' => [
            'imaging_request' => [
                ['name' => 'modality', 'label' => 'Modality', 'type' => 'select', 'required' => true, 'options' => ['X-ray', 'Ultrasound', 'CT', 'MRI', 'Fluoroscopy', 'Other']],
                ['name' => 'body_part', 'label' => 'Body part / region', 'type' => 'text', 'required' => true],
                ['name' => 'clinical_info', 'label' => 'Clinical information', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'urgency', 'label' => 'Urgency', 'type' => 'select', 'options' => ['Routine', 'Urgent', 'STAT']],
                ['name' => 'contrast', 'label' => 'Contrast', 'type' => 'select', 'options' => ['None', 'IV', 'Oral', 'Both']],
                ['name' => 'protocol', 'label' => 'Protocol / sequences', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'referrer', 'label' => 'Referring clinician', 'type' => 'text'],
            ],
            'imaging_acquisition' => [
                ['name' => 'technologist', 'label' => 'Technologist', 'type' => 'text'],
                ['name' => 'equipment', 'label' => 'Equipment / room', 'type' => 'text'],
                ['name' => 'acquisition_status', 'label' => 'Acquisition status', 'type' => 'select', 'required' => true, 'options' => ['Scheduled', 'In progress', 'Acquired', 'Incomplete', 'Cancelled']],
                ['name' => 'contrast_given', 'label' => 'Contrast administered', 'type' => 'boolean'],
                ['name' => 'dose_notes', 'label' => 'Dose / exposure notes', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'quality', 'label' => 'Image quality', 'type' => 'select', 'options' => ['Diagnostic', 'Limited', 'Non-diagnostic', 'Repeat needed']],
                ['name' => 'notes', 'label' => 'Acquisition notes', 'type' => 'textarea', 'rows' => 2],
            ],
            'imaging_report' => [
                ['name' => 'technique', 'label' => 'Technique', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'comparison', 'label' => 'Comparison', 'type' => 'text'],
                ['name' => 'findings', 'label' => 'Findings', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'impression', 'label' => 'Impression', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'recommendations', 'label' => 'Recommendations', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'critical_result', 'label' => 'Critical / unexpected finding', 'type' => 'boolean'],
            ],
            'imaging_verification' => [
                ['name' => 'verification_status', 'label' => 'Verification status', 'type' => 'select', 'required' => true, 'options' => ['Draft', 'Preliminary', 'Verified / final', 'Amended']],
                ['name' => 'verified_by', 'label' => 'Verified by', 'type' => 'text', 'required' => true],
                ['name' => 'critical_communicated', 'label' => 'Critical result communicated', 'type' => 'boolean'],
                ['name' => 'communication_notes', 'label' => 'Communication notes', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'notes', 'label' => 'Verification notes', 'type' => 'textarea', 'rows' => 2],
            ],
        ],
        'cardiology' => [
            'cardio_history' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'past_cardiac', 'label' => 'Past cardiac history', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'medications', 'label' => 'Medications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'allergies', 'label' => 'Allergies', 'type' => 'text'],
                ['name' => 'risk_factors', 'label' => 'Cardiac risk factors', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'family_history', 'label' => 'Family history', 'type' => 'textarea', 'rows' => 2],
            ],
            'cardiac_exam' => [
                ['name' => 'chief_complaint', 'label' => 'Chief complaint', 'type' => 'text', 'required' => true],
                ['name' => 'nyha_class', 'label' => 'NYHA class', 'type' => 'select', 'options' => ['I', 'II', 'III', 'IV', 'N/A']],
                ['name' => 'bp', 'label' => 'Blood pressure', 'type' => 'text'],
                ['name' => 'hr', 'label' => 'Heart rate', 'type' => 'number'],
                ['name' => 'heart_sounds', 'label' => 'Heart sounds / murmurs', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'ecg_findings', 'label' => 'ECG findings', 'type' => 'textarea', 'required' => true, 'rows' => 2],
                ['name' => 'exam_findings', 'label' => 'Exam findings', 'type' => 'textarea', 'rows' => 2],
            ],
            'cardio_investigation' => [
                ['name' => 'modality', 'label' => 'Investigation', 'type' => 'select', 'required' => true, 'options' => ['Echo', 'Stress test', 'Holter', 'Troponin / labs', 'CT angio', 'Other']],
                ['name' => 'indication', 'label' => 'Indication', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'findings', 'label' => 'Findings', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'impression', 'label' => 'Impression', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'recommendations', 'label' => 'Recommendations', 'type' => 'textarea', 'rows' => 2],
            ],
            'cardio_plan' => [
                ['name' => 'diagnosis', 'label' => 'Diagnosis', 'type' => 'text', 'required' => true],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'medications', 'label' => 'Medications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'procedure_planned', 'label' => 'Procedure / intervention planned', 'type' => 'boolean'],
                ['name' => 'follow_up', 'label' => 'Follow-up', 'type' => 'text'],
                ['name' => 'advice', 'label' => 'Patient advice', 'type' => 'textarea', 'rows' => 2],
            ],
            'cardio_procedure' => [
                ['name' => 'procedure', 'label' => 'Procedure / intervention', 'type' => 'text', 'required' => true],
                ['name' => 'indication', 'label' => 'Indication', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'outcome', 'label' => 'Outcome', 'type' => 'select', 'required' => true, 'options' => ['Completed uneventfully', 'Completed with complications', 'Deferred', 'Aborted']],
                ['name' => 'complications', 'label' => 'Complications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'post_procedure_plan', 'label' => 'Post-procedure plan', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2],
            ],
        ],
        'psychiatry' => [
            'mental_status' => [
                ['name' => 'chief_complaint', 'label' => 'Presenting complaint', 'type' => 'text', 'required' => true],
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'appearance', 'label' => 'Appearance / behaviour', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'mood_affect', 'label' => 'Mood / affect', 'type' => 'text'],
                ['name' => 'thought', 'label' => 'Thought content / process', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'perception', 'label' => 'Perception', 'type' => 'text'],
                ['name' => 'cognition', 'label' => 'Cognition / orientation', 'type' => 'text'],
                ['name' => 'insight', 'label' => 'Insight / judgment', 'type' => 'text'],
                ['name' => 'mse_summary', 'label' => 'MSE summary', 'type' => 'textarea', 'required' => true, 'rows' => 3],
            ],
            'risk_assessment' => [
                ['name' => 'overall_risk', 'label' => 'Overall risk level', 'type' => 'select', 'required' => true, 'options' => ['Low', 'Moderate', 'High', 'Imminent']],
                ['name' => 'self_harm', 'label' => 'Self-harm / suicide risk', 'type' => 'select', 'options' => ['None identified', 'Ideation', 'Plan', 'Intent / recent attempt']],
                ['name' => 'harm_others', 'label' => 'Risk to others', 'type' => 'select', 'options' => ['None identified', 'Ideation', 'Plan', 'Intent']],
                ['name' => 'safeguarding', 'label' => 'Safeguarding concerns', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'protective_factors', 'label' => 'Protective factors', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'risk_summary', 'label' => 'Risk summary', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'immediate_actions', 'label' => 'Immediate actions', 'type' => 'textarea', 'rows' => 2],
            ],
            'psych_plan' => [
                ['name' => 'formulation', 'label' => 'Formulation', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Management plan', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'medications', 'label' => 'Medications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'therapy', 'label' => 'Therapy / psychosocial', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'follow_up', 'label' => 'Follow-up', 'type' => 'text'],
                ['name' => 'crisis_plan', 'label' => 'Crisis / safety plan', 'type' => 'textarea', 'rows' => 2],
            ],
            'psych_followup' => [
                ['name' => 'review_type', 'label' => 'Review type', 'type' => 'select', 'required' => true, 'options' => ['Clinic follow-up', 'Medication review', 'Crisis review', 'Discharge review']],
                ['name' => 'progress', 'label' => 'Progress since last contact', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'current_risk', 'label' => 'Current risk', 'type' => 'select', 'options' => ['Low', 'Moderate', 'High', 'Imminent']],
                ['name' => 'outcome', 'label' => 'Outcome', 'type' => 'select', 'required' => true, 'options' => ['In progress', 'Follow-up arranged', 'Discharged', 'Referred', 'Admitted']],
                ['name' => 'next_steps', 'label' => 'Next steps', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2],
            ],
        ],
        'pediatrics' => [
            'pediatric_exam' => [
                ['name' => 'chief_complaint', 'label' => 'Chief complaint', 'type' => 'text', 'required' => true],
                ['name' => 'age_months', 'label' => 'Age (months)', 'type' => 'number'],
                ['name' => 'weight_kg', 'label' => 'Weight (kg)', 'type' => 'number'],
                ['name' => 'height_cm', 'label' => 'Height / length (cm)', 'type' => 'number'],
                ['name' => 'head_circumference_cm', 'label' => 'Head circumference (cm)', 'type' => 'number'],
                ['name' => 'developmental', 'label' => 'Developmental notes', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'immunization_status', 'label' => 'Immunization status', 'type' => 'text'],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'required' => true, 'rows' => 3],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'orthopedics' => [
            'ortho_exam' => [
                ['name' => 'chief_complaint', 'label' => 'Chief complaint', 'type' => 'text', 'required' => true],
                ['name' => 'side', 'label' => 'Side', 'type' => 'select', 'options' => ['Left', 'Right', 'Bilateral', 'N/A']],
                ['name' => 'region', 'label' => 'Region / joint', 'type' => 'text', 'required' => true],
                ['name' => 'mechanism', 'label' => 'Mechanism of injury', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'rom', 'label' => 'Range of motion', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'neurovascular', 'label' => 'Neurovascular status', 'type' => 'text'],
                ['name' => 'imaging', 'label' => 'Imaging findings', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'fracture_classification', 'label' => 'Fracture / injury classification', 'type' => 'text'],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'ent' => [
            'ent_exam' => [
                ['name' => 'chief_complaint', 'label' => 'Chief complaint', 'type' => 'text', 'required' => true],
                ['name' => 'ear_findings', 'label' => 'Ear findings', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'nose_findings', 'label' => 'Nose / sinus findings', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'throat_findings', 'label' => 'Throat / larynx findings', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'hearing', 'label' => 'Hearing assessment', 'type' => 'text'],
                ['name' => 'neck', 'label' => 'Neck examination', 'type' => 'text'],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'oncology' => [
            'oncology_review' => [
                ['name' => 'diagnosis', 'label' => 'Oncology diagnosis', 'type' => 'text', 'required' => true],
                ['name' => 'stage', 'label' => 'Stage', 'type' => 'text'],
                ['name' => 'performance_status', 'label' => 'Performance status (ECOG)', 'type' => 'select', 'options' => ['0', '1', '2', '3', '4']],
                ['name' => 'current_regimen', 'label' => 'Current regimen', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'cycle', 'label' => 'Cycle / day', 'type' => 'text'],
                ['name' => 'toxicity', 'label' => 'Toxicity / side effects', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'response', 'label' => 'Treatment response', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'required' => true, 'rows' => 2],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'renal' => [
            'renal_session' => [
                ['name' => 'session_type', 'label' => 'Session type', 'type' => 'select', 'required' => true, 'options' => ['Hemodialysis', 'Peritoneal dialysis', 'Clinic review', 'Other']],
                ['name' => 'pre_weight_kg', 'label' => 'Pre-weight (kg)', 'type' => 'number'],
                ['name' => 'post_weight_kg', 'label' => 'Post-weight (kg)', 'type' => 'number'],
                ['name' => 'uf_goal_l', 'label' => 'UF goal (L)', 'type' => 'number'],
                ['name' => 'access', 'label' => 'Access', 'type' => 'text'],
                ['name' => 'bp_pre', 'label' => 'BP pre', 'type' => 'text'],
                ['name' => 'bp_post', 'label' => 'BP post', 'type' => 'text'],
                ['name' => 'complications', 'label' => 'Complications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'notes', 'label' => 'Session notes', 'type' => 'textarea', 'required' => true, 'rows' => 3],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'surgery' => [
            'preop' => [
                ['name' => 'proposed_procedure', 'label' => 'Proposed procedure', 'type' => 'text', 'required' => true],
                ['name' => 'indication', 'label' => 'Indication', 'type' => 'textarea', 'required' => true, 'rows' => 2],
                ['name' => 'asa_class', 'label' => 'ASA class', 'type' => 'select', 'options' => ['I', 'II', 'III', 'IV', 'V', 'E']],
                ['name' => 'allergies_reviewed', 'label' => 'Allergies reviewed', 'type' => 'boolean'],
                ['name' => 'consent_obtained', 'label' => 'Consent obtained', 'type' => 'boolean'],
                ['name' => 'fitness', 'label' => 'Fitness for anaesthesia', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'investigations', 'label' => 'Relevant investigations', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'plan', 'label' => 'Peri-op plan', 'type' => 'textarea', 'required' => true, 'rows' => 2],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'vaccination' => [
            'vax_screening' => [
                ['name' => 'vaccine', 'label' => 'Vaccine', 'type' => 'text', 'required' => true],
                ['name' => 'indications', 'label' => 'Indications', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'contraindications', 'label' => 'Contraindications checked', 'type' => 'boolean', 'required' => true],
                ['name' => 'allergy_history', 'label' => 'Allergy / prior reaction', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'fever_today', 'label' => 'Fever today', 'type' => 'boolean'],
                ['name' => 'cleared', 'label' => 'Cleared to vaccinate', 'type' => 'boolean', 'required' => true],
            ],
            'vax_admin' => [
                ['name' => 'vaccine', 'label' => 'Vaccine administered', 'type' => 'text', 'required' => true],
                ['name' => 'dose', 'label' => 'Dose / antigen', 'type' => 'text'],
                ['name' => 'site', 'label' => 'Injection site', 'type' => 'select', 'options' => ['Left arm', 'Right arm', 'Left thigh', 'Right thigh', 'Oral', 'Other']],
                ['name' => 'batch', 'label' => 'Batch / lot number', 'type' => 'text', 'required' => true],
                ['name' => 'expiry', 'label' => 'Expiry date', 'type' => 'text'],
                ['name' => 'route', 'label' => 'Route', 'type' => 'select', 'options' => ['IM', 'SC', 'ID', 'Oral', 'Nasal']],
                ['name' => 'adverse_events', 'label' => 'Immediate adverse events', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'next_due', 'label' => 'Next dose due', 'type' => 'text'],
            ],
        ],
        'pathology' => [
            'path_request' => [
                ['name' => 'specimen_type', 'label' => 'Specimen type', 'type' => 'text', 'required' => true],
                ['name' => 'site', 'label' => 'Anatomic site', 'type' => 'text', 'required' => true],
                ['name' => 'clinical_history', 'label' => 'Clinical history', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'urgency', 'label' => 'Urgency', 'type' => 'select', 'options' => ['Routine', 'Urgent', 'Intra-op']],
                ['name' => 'tests_requested', 'label' => 'Tests requested', 'type' => 'textarea', 'rows' => 2],
            ],
            'path_report' => [
                ['name' => 'gross', 'label' => 'Gross description', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'microscopy', 'label' => 'Microscopy', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'diagnosis', 'label' => 'Diagnosis', 'type' => 'textarea', 'required' => true, 'rows' => 3],
                ['name' => 'comment', 'label' => 'Comment', 'type' => 'textarea', 'rows' => 2],
            ],
        ],
        'infusion' => [
            'infusion_session' => [
                ['name' => 'medication', 'label' => 'Medication / regimen', 'type' => 'text', 'required' => true],
                ['name' => 'dose', 'label' => 'Dose', 'type' => 'text'],
                ['name' => 'rate', 'label' => 'Infusion rate', 'type' => 'text'],
                ['name' => 'access', 'label' => 'IV access', 'type' => 'text'],
                ['name' => 'start_time', 'label' => 'Start time', 'type' => 'text'],
                ['name' => 'end_time', 'label' => 'End time', 'type' => 'text'],
                ['name' => 'vitals', 'label' => 'Vitals during infusion', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'reactions', 'label' => 'Reactions / interventions', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'notes', 'label' => 'Session notes', 'type' => 'textarea', 'required' => true, 'rows' => 2],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'dermatology' => [
            'skin_exam' => [
                ['name' => 'chief_complaint', 'label' => 'Chief complaint', 'type' => 'text', 'required' => true],
                ['name' => 'duration', 'label' => 'Duration', 'type' => 'text'],
                ['name' => 'distribution', 'label' => 'Distribution', 'type' => 'text'],
                ['name' => 'morphology', 'label' => 'Lesion morphology', 'type' => 'textarea', 'required' => true, 'rows' => 2],
                ['name' => 'itch_pain', 'label' => 'Itch / pain', 'type' => 'text'],
                ['name' => 'dermoscopy', 'label' => 'Dermoscopy notes', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'differential', 'label' => 'Differential diagnosis', 'type' => 'textarea', 'rows' => 2],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'podiatry' => [
            'foot_exam' => [
                ['name' => 'chief_complaint', 'label' => 'Chief complaint', 'type' => 'text', 'required' => true],
                ['name' => 'side', 'label' => 'Side', 'type' => 'select', 'options' => ['Left', 'Right', 'Bilateral']],
                ['name' => 'diabetes', 'label' => 'Diabetic foot risk', 'type' => 'select', 'options' => ['Low', 'Moderate', 'High', 'Active ulcer', 'N/A']],
                ['name' => 'pulses', 'label' => 'Pulses', 'type' => 'text'],
                ['name' => 'sensation', 'label' => 'Sensation / neuropathy', 'type' => 'text'],
                ['name' => 'skin_nails', 'label' => 'Skin / nails', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'ulcer', 'label' => 'Ulcer description', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'offloading', 'label' => 'Offloading / footwear', 'type' => 'text'],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'fertility' => [
            'fertility_consult' => [
                ['name' => 'partner_present', 'label' => 'Partner present', 'type' => 'boolean'],
                ['name' => 'trying_months', 'label' => 'Trying to conceive (months)', 'type' => 'number'],
                ['name' => 'cycle_day', 'label' => 'Cycle day', 'type' => 'number'],
                ['name' => 'amh', 'label' => 'AMH / ovarian reserve notes', 'type' => 'text'],
                ['name' => 'semen_summary', 'label' => 'Semen analysis summary', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'tubal_uterine', 'label' => 'Tubal / uterine assessment', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'plan', 'label' => 'Fertility plan', 'type' => 'textarea', 'required' => true, 'rows' => 3],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
        'child_welfare' => [
            'growth' => [
                ['name' => 'age_months', 'label' => 'Age (months)', 'type' => 'number', 'required' => true],
                ['name' => 'weight_kg', 'label' => 'Weight (kg)', 'type' => 'number', 'required' => true],
                ['name' => 'height_cm', 'label' => 'Height / length (cm)', 'type' => 'number'],
                ['name' => 'head_circumference_cm', 'label' => 'Head circumference (cm)', 'type' => 'number'],
                ['name' => 'muac_cm', 'label' => 'MUAC (cm)', 'type' => 'number'],
                ['name' => 'growth_status', 'label' => 'Growth status', 'type' => 'select', 'options' => ['Normal', 'Underweight', 'Stunted', 'Wasted', 'Overweight']],
                ['name' => 'feeding', 'label' => 'Feeding / nutrition', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'milestones', 'label' => 'Developmental milestones', 'type' => 'textarea', 'rows' => 2],
                ['name' => 'counseling', 'label' => 'Counseling given', 'type' => 'textarea', 'rows' => 2],
            ],
            'clinical_note' => [
                ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4],
                ['name' => 'examination', 'label' => 'Examination', 'type' => 'textarea', 'rows' => 3],
                ['name' => 'working_diagnosis', 'label' => 'Working diagnosis', 'type' => 'text'],
                ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'rows' => 3],
            ],
        ],
    ],
];
