>, * fields: array>>> * } */ 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' => [ 'history' => 'ped_history', 'growth' => 'pediatric_exam', 'investigations' => 'ped_investigation', 'plan' => 'ped_plan', 'treatment' => 'ped_treatment', ], 'orthopedics' => [ 'history' => 'ortho_history', 'exam' => 'ortho_exam', 'imaging' => 'ortho_imaging', 'plan' => 'ortho_plan', 'procedure' => 'ortho_procedure', ], 'ent' => [ 'history' => 'ent_history', 'exam' => 'ent_exam', 'investigations' => 'ent_investigation', 'plan' => 'ent_plan', 'procedure' => 'ent_procedure', ], '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' => [ 'ped_history' => [ ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4], ['name' => 'birth_history', 'label' => 'Birth / neonatal history', 'type' => 'textarea', 'rows' => 2], ['name' => 'past_medical', 'label' => 'Past medical history', 'type' => 'textarea', 'rows' => 2], ['name' => 'medications', 'label' => 'Medications', 'type' => 'textarea', 'rows' => 2], ['name' => 'allergies', 'label' => 'Allergies', 'type' => 'text'], ['name' => 'feeding', 'label' => 'Feeding / nutrition', 'type' => 'textarea', 'rows' => 2], ['name' => 'social', 'label' => 'Social / family context', 'type' => 'textarea', 'rows' => 2], ], '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' => 'temperature_c', 'label' => 'Temperature (°C)', 'type' => 'number'], ['name' => 'growth_concern', 'label' => 'Growth concern', 'type' => 'select', 'options' => ['None', 'Underweight', 'Stunting', 'Wasting', 'Overweight']], ['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], ], 'ped_investigation' => [ ['name' => 'investigation', 'label' => 'Investigation', 'type' => 'text', 'required' => true], ['name' => 'findings', 'label' => 'Findings', 'type' => 'textarea', 'required' => true, 'rows' => 3], ['name' => 'impression', 'label' => 'Impression', 'type' => 'textarea', 'rows' => 2], ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2], ], 'ped_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' => 'treatment_planned', 'label' => 'Treatment / immunization planned', 'type' => 'boolean'], ['name' => 'follow_up', 'label' => 'Follow-up', 'type' => 'text'], ['name' => 'advice', 'label' => 'Caregiver advice', 'type' => 'textarea', 'rows' => 2], ], 'ped_treatment' => [ ['name' => 'treatment', 'label' => 'Treatment / immunization', 'type' => 'text', 'required' => true], ['name' => 'vaccine_or_procedure', 'label' => 'Vaccine / procedure details', 'type' => 'textarea', 'rows' => 2], ['name' => 'site_route', 'label' => 'Site / route', 'type' => 'text'], ['name' => 'outcome', 'label' => 'Outcome', 'type' => 'select', 'required' => true, 'options' => ['Completed uneventfully', 'Completed with complications', 'Deferred', 'Aborted']], ['name' => 'adverse_events', 'label' => 'Adverse events', 'type' => 'textarea', 'rows' => 2], ['name' => 'post_treatment_plan', 'label' => 'Post-treatment plan', 'type' => 'textarea', 'rows' => 2], ], ], 'orthopedics' => [ 'ortho_history' => [ ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4], ['name' => 'mechanism', 'label' => 'Mechanism of injury', 'type' => 'textarea', 'rows' => 2], ['name' => 'past_ortho', 'label' => 'Past orthopedic history', 'type' => 'textarea', 'rows' => 2], ['name' => 'medications', 'label' => 'Medications', 'type' => 'textarea', 'rows' => 2], ['name' => 'allergies', 'label' => 'Allergies', 'type' => 'text'], ['name' => 'comorbidities', 'label' => 'Comorbidities', 'type' => 'textarea', 'rows' => 2], ], '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' => 'rom', 'label' => 'Range of motion', 'type' => 'textarea', 'rows' => 2], ['name' => 'neurovascular', 'label' => 'Neurovascular status', 'type' => 'select', 'options' => ['Intact', 'Sensory deficit', 'Motor deficit', 'Vascular compromise', 'Not assessed']], ['name' => 'swelling', 'label' => 'Swelling / deformity', 'type' => 'text'], ['name' => 'exam_findings', 'label' => 'Examination findings', 'type' => 'textarea', 'rows' => 3], ['name' => 'fracture_classification', 'label' => 'Fracture / injury classification', 'type' => 'text'], ], 'ortho_imaging' => [ ['name' => 'modality', 'label' => 'Modality', 'type' => 'select', 'required' => true, 'options' => ['X-ray', 'CT', 'MRI', 'Ultrasound', 'Other']], ['name' => 'region', 'label' => 'Region imaged', 'type' => 'text', 'required' => true], ['name' => 'findings', 'label' => 'Findings', 'type' => 'textarea', 'required' => true, 'rows' => 3], ['name' => 'impression', 'label' => 'Impression', 'type' => 'textarea', 'rows' => 2], ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2], ], 'ortho_plan' => [ ['name' => 'diagnosis', 'label' => 'Diagnosis', 'type' => 'text', 'required' => true], ['name' => 'plan', 'label' => 'Plan', 'type' => 'textarea', 'required' => true, 'rows' => 3], ['name' => 'weight_bearing', 'label' => 'Weight-bearing status', 'type' => 'text'], ['name' => 'procedure_planned', 'label' => 'Procedure / cast planned', 'type' => 'boolean'], ['name' => 'follow_up', 'label' => 'Follow-up', 'type' => 'text'], ['name' => 'advice', 'label' => 'Patient advice', 'type' => 'textarea', 'rows' => 2], ], 'ortho_procedure' => [ ['name' => 'procedure', 'label' => 'Procedure / cast', 'type' => 'text', 'required' => true], ['name' => 'indication', 'label' => 'Indication', 'type' => 'textarea', 'rows' => 2], ['name' => 'technique', 'label' => 'Technique / materials', 'type' => 'textarea', 'rows' => 2], ['name' => 'outcome', 'label' => 'Outcome', 'type' => 'select', 'required' => true, 'options' => ['Completed uneventfully', 'Completed with complications', 'Deferred', 'Aborted']], ['name' => 'post_procedure_plan', 'label' => 'Post-procedure plan', 'type' => 'textarea', 'rows' => 2], ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2], ], ], 'ent' => [ 'ent_history' => [ ['name' => 'history', 'label' => 'History of present illness', 'type' => 'textarea', 'required' => true, 'rows' => 4], ['name' => 'ear_symptoms', 'label' => 'Ear symptoms', 'type' => 'textarea', 'rows' => 2], ['name' => 'nose_symptoms', 'label' => 'Nose / sinus symptoms', 'type' => 'textarea', 'rows' => 2], ['name' => 'throat_symptoms', 'label' => 'Throat / voice symptoms', 'type' => 'textarea', 'rows' => 2], ['name' => 'past_ent', 'label' => 'Past ENT history', 'type' => 'textarea', 'rows' => 2], ['name' => 'medications', 'label' => 'Medications', 'type' => 'textarea', 'rows' => 2], ['name' => 'allergies', 'label' => 'Allergies', 'type' => 'text'], ], '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'], ['name' => 'airway_concern', 'label' => 'Airway concern', 'type' => 'boolean'], ['name' => 'exam_summary', 'label' => 'Exam summary', 'type' => 'textarea', 'rows' => 2], ], 'ent_investigation' => [ ['name' => 'investigation', 'label' => 'Investigation', 'type' => 'text', 'required' => true], ['name' => 'findings', 'label' => 'Findings', 'type' => 'textarea', 'required' => true, 'rows' => 3], ['name' => 'impression', 'label' => 'Impression', 'type' => 'textarea', 'rows' => 2], ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2], ], 'ent_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 planned', 'type' => 'boolean'], ['name' => 'follow_up', 'label' => 'Follow-up', 'type' => 'text'], ['name' => 'advice', 'label' => 'Patient advice', 'type' => 'textarea', 'rows' => 2], ], 'ent_procedure' => [ ['name' => 'procedure', 'label' => 'Procedure', 'type' => 'text', 'required' => true], ['name' => 'indication', 'label' => 'Indication', 'type' => 'textarea', 'rows' => 2], ['name' => 'technique', 'label' => 'Technique', 'type' => 'textarea', 'rows' => 2], ['name' => 'outcome', 'label' => 'Outcome', 'type' => 'select', 'required' => true, 'options' => ['Completed uneventfully', 'Completed with complications', 'Deferred', 'Aborted']], ['name' => 'post_procedure_plan', 'label' => 'Post-procedure plan', 'type' => 'textarea', 'rows' => 2], ['name' => 'notes', 'label' => 'Notes', 'type' => 'textarea', 'rows' => 2], ], ], '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], ], ], ], ];