Deploy Ladill Care / deploy (push) Successful in 32s
Match Pediatrics/ENT depth with stages, workspace tabs, clinical records, reports/print, demo seed, and suite tests. Co-authored-by: Cursor <cursoragent@cursor.com>
761 lines
41 KiB
PHP
761 lines
41 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Specialty shell overlays: stage maps, billable service catalogs, workspace tabs.
|
|
* Merged onto catalog entries from care_specialty_modules.php by SpecialtyShellService.
|
|
*
|
|
* Modules without an entry inherit the generic defaults below.
|
|
*
|
|
* @return array{
|
|
* defaults: array<string, mixed>,
|
|
* modules: array<string, array<string, mixed>>
|
|
* }
|
|
*/
|
|
return [
|
|
'defaults' => [
|
|
'stages' => [
|
|
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
|
|
['code' => 'in_care', 'label' => 'In care', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
[
|
|
'code' => 'specialty.consultation',
|
|
'label' => 'Specialty consultation',
|
|
'amount_minor' => (int) env('CARE_CONSULTATION_FEE_MINOR', 5000),
|
|
'type' => 'consultation',
|
|
],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'timeline' => 'Timeline',
|
|
'clinical_notes' => 'Clinical notes',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
// Maps visit specialty_stage → workspace ?tab= after Move / stage pill POST.
|
|
'stage_tabs' => [
|
|
'waiting' => 'overview',
|
|
'in_care' => 'clinical_notes',
|
|
'completed' => 'overview',
|
|
],
|
|
'actions' => [
|
|
'call_next' => 'Call next',
|
|
'start' => 'Start',
|
|
'complete' => 'Complete',
|
|
'order_test' => 'Order test',
|
|
'prescribe' => 'Prescribe',
|
|
'invoice' => 'Add to invoice',
|
|
'discharge' => 'Discharge',
|
|
],
|
|
],
|
|
|
|
'modules' => [
|
|
'emergency' => [
|
|
'stages' => [
|
|
['code' => 'arrival', 'label' => 'Arrival / triage', 'queue_point' => 'waiting'],
|
|
['code' => 'resus', 'label' => 'Resuscitation', 'queue_point' => 'resus'],
|
|
['code' => 'treatment', 'label' => 'Treatment bay', 'queue_point' => 'bay'],
|
|
['code' => 'observation', 'label' => 'Observation', 'queue_point' => 'obs'],
|
|
['code' => 'disposition', 'label' => 'Disposition', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'er.triage', 'label' => 'Emergency triage', 'amount_minor' => 0, 'type' => 'consultation'],
|
|
['code' => 'er.consultation', 'label' => 'Emergency consultation', 'amount_minor' => 8000, 'type' => 'consultation'],
|
|
['code' => 'er.procedure', 'label' => 'Emergency procedure', 'amount_minor' => 15000, 'type' => 'procedure'],
|
|
['code' => 'er.resuscitation', 'label' => 'Resuscitation', 'amount_minor' => 25000, 'type' => 'procedure'],
|
|
['code' => 'er.observation', 'label' => 'Observation bed (per hour)', 'amount_minor' => 3000, 'type' => 'misc'],
|
|
['code' => 'er.transfer', 'label' => 'Transfer coordination', 'amount_minor' => 5000, 'type' => 'misc'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'triage' => 'Triage',
|
|
'vitals' => 'Vitals',
|
|
'clinical_notes' => 'Clinical notes',
|
|
'observation' => 'Observation',
|
|
'disposition' => 'Disposition',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'arrival' => 'triage',
|
|
'resus' => 'triage',
|
|
'treatment' => 'clinical_notes',
|
|
'observation' => 'observation',
|
|
'disposition' => 'disposition',
|
|
],
|
|
],
|
|
'blood_bank' => [
|
|
'stages' => [
|
|
['code' => 'request', 'label' => 'Request received', 'queue_point' => 'waiting'],
|
|
['code' => 'crossmatch', 'label' => 'Cross-match', 'queue_point' => 'lab'],
|
|
['code' => 'issue', 'label' => 'Product issue', 'queue_point' => 'issue'],
|
|
['code' => 'transfusion', 'label' => 'Transfusion', 'queue_point' => null],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'bb.crossmatch', 'label' => 'Cross-match', 'amount_minor' => 4000, 'type' => 'lab'],
|
|
['code' => 'bb.whole_blood', 'label' => 'Whole blood unit', 'amount_minor' => 12000, 'type' => 'misc'],
|
|
['code' => 'bb.packed_rbc', 'label' => 'Packed RBC unit', 'amount_minor' => 15000, 'type' => 'misc'],
|
|
['code' => 'bb.platelets', 'label' => 'Platelets unit', 'amount_minor' => 18000, 'type' => 'misc'],
|
|
['code' => 'bb.ffp', 'label' => 'FFP unit', 'amount_minor' => 14000, 'type' => 'misc'],
|
|
['code' => 'bb.cryo', 'label' => 'Cryoprecipitate unit', 'amount_minor' => 16000, 'type' => 'misc'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'requests' => 'Requests',
|
|
'inventory' => 'Inventory',
|
|
'issue' => 'Issue',
|
|
'transfusion' => 'Transfusion',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'request' => 'requests',
|
|
'crossmatch' => 'requests',
|
|
'issue' => 'issue',
|
|
'transfusion' => 'transfusion',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'dentistry' => [
|
|
'stages' => [
|
|
['code' => 'waiting', 'label' => 'Waiting room', 'queue_point' => 'waiting'],
|
|
['code' => 'chair', 'label' => 'Chair assignment', 'queue_point' => 'chair'],
|
|
['code' => 'procedure', 'label' => 'Procedure', 'queue_point' => 'chair'],
|
|
['code' => 'recovery', 'label' => 'Recovery', 'queue_point' => 'recovery'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'den.consult', 'label' => 'Dental consultation', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
['code' => 'den.exam', 'label' => 'Dental examination', 'amount_minor' => 4000, 'type' => 'consultation'],
|
|
['code' => 'den.cleaning', 'label' => 'Scaling / polishing', 'amount_minor' => 8000, 'type' => 'procedure'],
|
|
['code' => 'den.fill', 'label' => 'Filling', 'amount_minor' => 12000, 'type' => 'procedure'],
|
|
['code' => 'den.extraction', 'label' => 'Extraction', 'amount_minor' => 15000, 'type' => 'procedure'],
|
|
['code' => 'den.rct', 'label' => 'Root canal treatment', 'amount_minor' => 35000, 'type' => 'procedure'],
|
|
['code' => 'den.crown', 'label' => 'Crown', 'amount_minor' => 45000, 'type' => 'procedure'],
|
|
['code' => 'den.bridge', 'label' => 'Bridge unit', 'amount_minor' => 40000, 'type' => 'procedure'],
|
|
['code' => 'den.implant_consult', 'label' => 'Implant consultation', 'amount_minor' => 10000, 'type' => 'consultation'],
|
|
['code' => 'den.perio', 'label' => 'Periodontal treatment', 'amount_minor' => 20000, 'type' => 'procedure'],
|
|
['code' => 'den.xray_pa', 'label' => 'Periapical X-ray', 'amount_minor' => 3000, 'type' => 'imaging'],
|
|
['code' => 'den.xray_bw', 'label' => 'Bitewing X-ray', 'amount_minor' => 3500, 'type' => 'imaging'],
|
|
['code' => 'den.xray_opg', 'label' => 'OPG / panoramic X-ray', 'amount_minor' => 8000, 'type' => 'imaging'],
|
|
['code' => 'den.photo', 'label' => 'Clinical photography', 'amount_minor' => 2000, 'type' => 'imaging'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'odontogram' => 'Chart',
|
|
'perio' => 'Perio',
|
|
'plan' => 'Plan',
|
|
'treat' => 'Treat',
|
|
'lab' => 'Lab',
|
|
'notes' => 'Notes',
|
|
'imaging' => 'Imaging',
|
|
'recalls' => 'Recalls',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'waiting' => 'overview',
|
|
'chair' => 'odontogram',
|
|
'procedure' => 'treat',
|
|
'recovery' => 'notes',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'ophthalmology' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'History / intake', 'queue_point' => 'waiting'],
|
|
['code' => 'refraction', 'label' => 'VA / refraction', 'queue_point' => 'chair'],
|
|
['code' => 'exam', 'label' => 'Examination', 'queue_point' => 'chair'],
|
|
['code' => 'investigation', 'label' => 'Investigations', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Diagnosis & plan', 'queue_point' => 'chair'],
|
|
['code' => 'treatment', 'label' => 'Procedure / treatment', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'eye.consult', 'label' => 'Eye consultation', 'amount_minor' => 6000, 'type' => 'consultation'],
|
|
['code' => 'eye.refraction', 'label' => 'Refraction / glasses exam', 'amount_minor' => 4000, 'type' => 'procedure'],
|
|
['code' => 'eye.iop', 'label' => 'IOP / pressure check', 'amount_minor' => 3000, 'type' => 'procedure'],
|
|
['code' => 'eye.fundus', 'label' => 'Fundus examination', 'amount_minor' => 5000, 'type' => 'procedure'],
|
|
['code' => 'eye.slit_lamp', 'label' => 'Slit-lamp examination', 'amount_minor' => 4500, 'type' => 'procedure'],
|
|
['code' => 'eye.oct', 'label' => 'OCT imaging', 'amount_minor' => 18000, 'type' => 'imaging'],
|
|
['code' => 'eye.visual_fields', 'label' => 'Visual fields', 'amount_minor' => 12000, 'type' => 'imaging'],
|
|
['code' => 'eye.biometry', 'label' => 'Biometry / A-scan', 'amount_minor' => 10000, 'type' => 'imaging'],
|
|
['code' => 'eye.foreign_body', 'label' => 'Foreign body removal', 'amount_minor' => 15000, 'type' => 'procedure'],
|
|
['code' => 'eye.yag', 'label' => 'YAG laser', 'amount_minor' => 25000, 'type' => 'procedure'],
|
|
['code' => 'eye.procedure', 'label' => 'Ocular procedure', 'amount_minor' => 20000, 'type' => 'procedure'],
|
|
['code' => 'eye.cataract_assess', 'label' => 'Cataract assessment', 'amount_minor' => 8000, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'refraction' => 'VA / refraction',
|
|
'exam' => 'Examination',
|
|
'investigations' => 'Investigations',
|
|
'plan' => 'Diagnosis & plan',
|
|
'treat' => 'Treatment',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'overview',
|
|
'refraction' => 'refraction',
|
|
'exam' => 'exam',
|
|
'investigation' => 'investigations',
|
|
'plan' => 'plan',
|
|
'treatment' => 'treat',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'physiotherapy' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'assessment', 'label' => 'Assessment', 'queue_point' => 'chair'],
|
|
['code' => 'treatment_plan', 'label' => 'Treatment plan', 'queue_point' => 'chair'],
|
|
['code' => 'session', 'label' => 'Therapy session', 'queue_point' => 'chair'],
|
|
['code' => 'progress', 'label' => 'Progress review', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'pt.assessment', 'label' => 'Physio assessment', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
['code' => 'pt.plan', 'label' => 'Treatment plan review', 'amount_minor' => 4000, 'type' => 'consultation'],
|
|
['code' => 'pt.session', 'label' => 'Treatment session', 'amount_minor' => 7000, 'type' => 'procedure'],
|
|
['code' => 'pt.manual', 'label' => 'Manual therapy', 'amount_minor' => 8000, 'type' => 'procedure'],
|
|
['code' => 'pt.electro', 'label' => 'Electrotherapy / modalities', 'amount_minor' => 6000, 'type' => 'procedure'],
|
|
['code' => 'pt.exercise', 'label' => 'Therapeutic exercise session', 'amount_minor' => 6500, 'type' => 'procedure'],
|
|
['code' => 'pt.progress', 'label' => 'Progress / outcome review', 'amount_minor' => 4500, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'assessment' => 'Assessment',
|
|
'plan' => 'Treatment plan',
|
|
'session' => 'Sessions / progress',
|
|
'exercises' => 'Exercises / home program',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'assessment' => 'assessment',
|
|
'treatment_plan' => 'plan',
|
|
'session' => 'session',
|
|
'progress' => 'exercises',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'maternity' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'ANC history', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Exam / vitals', 'queue_point' => 'chair'],
|
|
['code' => 'investigation', 'label' => 'Investigations', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Care plan', 'queue_point' => 'chair'],
|
|
['code' => 'postnatal', 'label' => 'Delivery / postnatal', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'mat.anc', 'label' => 'Antenatal visit', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
['code' => 'mat.history', 'label' => 'Obstetric history intake', 'amount_minor' => 3500, 'type' => 'consultation'],
|
|
['code' => 'mat.exam', 'label' => 'Obstetric examination', 'amount_minor' => 4500, 'type' => 'procedure'],
|
|
['code' => 'mat.ultrasound', 'label' => 'Obstetric ultrasound', 'amount_minor' => 12000, 'type' => 'imaging'],
|
|
['code' => 'mat.labs', 'label' => 'ANC investigations panel', 'amount_minor' => 8000, 'type' => 'procedure'],
|
|
['code' => 'mat.postnatal', 'label' => 'Postnatal review', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'ANC history',
|
|
'exam' => 'Obstetric exam',
|
|
'fetal' => 'Fetal notes',
|
|
'investigations' => 'Investigations',
|
|
'plan' => 'Care plan',
|
|
'postnatal' => 'Delivery / postnatal',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'exam' => 'exam',
|
|
'investigation' => 'investigations',
|
|
'plan' => 'plan',
|
|
'postnatal' => 'postnatal',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'radiology' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'protocol', 'label' => 'Request / protocol', 'queue_point' => 'waiting'],
|
|
['code' => 'acquisition', 'label' => 'Acquisition', 'queue_point' => 'chair'],
|
|
['code' => 'reporting', 'label' => 'Reporting', 'queue_point' => 'chair'],
|
|
['code' => 'verified', 'label' => 'Verified', 'queue_point' => null],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'rad.xray', 'label' => 'X-ray', 'amount_minor' => 8000, 'type' => 'imaging'],
|
|
['code' => 'rad.ultrasound', 'label' => 'Ultrasound', 'amount_minor' => 15000, 'type' => 'imaging'],
|
|
['code' => 'rad.ct', 'label' => 'CT scan', 'amount_minor' => 45000, 'type' => 'imaging'],
|
|
['code' => 'rad.mri', 'label' => 'MRI', 'amount_minor' => 65000, 'type' => 'imaging'],
|
|
['code' => 'rad.fluoro', 'label' => 'Fluoroscopy', 'amount_minor' => 20000, 'type' => 'imaging'],
|
|
['code' => 'rad.contrast', 'label' => 'Contrast administration', 'amount_minor' => 5000, 'type' => 'procedure'],
|
|
['code' => 'rad.report', 'label' => 'Radiology report', 'amount_minor' => 4000, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'protocol' => 'Request / protocol',
|
|
'acquisition' => 'Acquisition',
|
|
'findings' => 'Findings / report',
|
|
'verification' => 'Verification',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'protocol' => 'protocol',
|
|
'acquisition' => 'acquisition',
|
|
'reporting' => 'findings',
|
|
'verified' => 'verification',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'cardiology' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'History', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Exam / ECG', 'queue_point' => 'chair'],
|
|
['code' => 'investigation', 'label' => 'Investigations', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Diagnosis & plan', 'queue_point' => 'chair'],
|
|
['code' => 'procedure', 'label' => 'Procedure / intervention', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'car.consult', 'label' => 'Cardiology consultation', 'amount_minor' => 8000, 'type' => 'consultation'],
|
|
['code' => 'car.ecg', 'label' => 'ECG', 'amount_minor' => 5000, 'type' => 'procedure'],
|
|
['code' => 'car.echo', 'label' => 'Echocardiogram', 'amount_minor' => 25000, 'type' => 'imaging'],
|
|
['code' => 'car.stress', 'label' => 'Stress test', 'amount_minor' => 18000, 'type' => 'procedure'],
|
|
['code' => 'car.holter', 'label' => 'Holter monitoring', 'amount_minor' => 15000, 'type' => 'procedure'],
|
|
['code' => 'car.procedure', 'label' => 'Cardiac procedure', 'amount_minor' => 35000, 'type' => 'procedure'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'History',
|
|
'exam' => 'Exam / ECG',
|
|
'investigations' => 'Investigations',
|
|
'plan' => 'Diagnosis & plan',
|
|
'procedures' => 'Procedures',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'exam' => 'exam',
|
|
'investigation' => 'investigations',
|
|
'plan' => 'plan',
|
|
'procedure' => 'procedures',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'psychiatry' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'History / MSE', 'queue_point' => 'waiting'],
|
|
['code' => 'risk', 'label' => 'Risk assessment', 'queue_point' => 'chair'],
|
|
['code' => 'formulation', 'label' => 'Formulation / plan', 'queue_point' => 'chair'],
|
|
['code' => 'review', 'label' => 'Follow-up review', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'psy.consult', 'label' => 'Psychiatry consultation', 'amount_minor' => 8000, 'type' => 'consultation'],
|
|
['code' => 'psy.mse', 'label' => 'Mental state examination', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
['code' => 'psy.risk', 'label' => 'Risk assessment', 'amount_minor' => 4500, 'type' => 'consultation'],
|
|
['code' => 'psy.followup', 'label' => 'Follow-up review', 'amount_minor' => 6000, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'History / MSE',
|
|
'risk' => 'Risk',
|
|
'plan' => 'Formulation / plan',
|
|
'followup' => 'Follow-up',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'risk' => 'risk',
|
|
'formulation' => 'plan',
|
|
'review' => 'followup',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'pediatrics' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'History', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Exam / growth', 'queue_point' => 'chair'],
|
|
['code' => 'investigation', 'label' => 'Investigations', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Diagnosis & plan', 'queue_point' => 'chair'],
|
|
['code' => 'treatment', 'label' => 'Treatment / immunization', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'ped.consult', 'label' => 'Pediatric consultation', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
['code' => 'ped.growth', 'label' => 'Growth assessment', 'amount_minor' => 3000, 'type' => 'consultation'],
|
|
['code' => 'ped.immunization', 'label' => 'Immunization visit', 'amount_minor' => 4000, 'type' => 'procedure'],
|
|
['code' => 'ped.procedure', 'label' => 'Pediatric procedure', 'amount_minor' => 8000, 'type' => 'procedure'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'History',
|
|
'growth' => 'Growth / exam',
|
|
'investigations' => 'Investigations',
|
|
'plan' => 'Diagnosis & plan',
|
|
'treatment' => 'Treatment',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'exam' => 'growth',
|
|
'investigation' => 'investigations',
|
|
'plan' => 'plan',
|
|
'treatment' => 'treatment',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'orthopedics' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'History', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Exam', 'queue_point' => 'chair'],
|
|
['code' => 'imaging', 'label' => 'Imaging', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Diagnosis & plan', 'queue_point' => 'chair'],
|
|
['code' => 'procedure', 'label' => 'Procedure / cast', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'ort.consult', 'label' => 'Orthopedic consultation', 'amount_minor' => 6000, 'type' => 'consultation'],
|
|
['code' => 'ort.xray', 'label' => 'Ortho imaging review', 'amount_minor' => 5000, 'type' => 'imaging'],
|
|
['code' => 'ort.cast', 'label' => 'Casting / splinting', 'amount_minor' => 10000, 'type' => 'procedure'],
|
|
['code' => 'ort.procedure', 'label' => 'Orthopedic procedure', 'amount_minor' => 25000, 'type' => 'procedure'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'History',
|
|
'exam' => 'Exam',
|
|
'imaging' => 'Imaging',
|
|
'plan' => 'Diagnosis & plan',
|
|
'procedure' => 'Procedure',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'exam' => 'exam',
|
|
'imaging' => 'imaging',
|
|
'plan' => 'plan',
|
|
'procedure' => 'procedure',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'ent' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'History', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Exam', 'queue_point' => 'chair'],
|
|
['code' => 'investigation', 'label' => 'Investigations', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Diagnosis & plan', 'queue_point' => 'chair'],
|
|
['code' => 'procedure', 'label' => 'Procedure', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'ent.consult', 'label' => 'ENT consultation', 'amount_minor' => 6000, 'type' => 'consultation'],
|
|
['code' => 'ent.audiology', 'label' => 'Hearing assessment', 'amount_minor' => 5000, 'type' => 'procedure'],
|
|
['code' => 'ent.procedure', 'label' => 'ENT procedure', 'amount_minor' => 12000, 'type' => 'procedure'],
|
|
['code' => 'ent.endoscopy', 'label' => 'Nasal / laryngeal endoscopy', 'amount_minor' => 15000, 'type' => 'procedure'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'History',
|
|
'exam' => 'Exam',
|
|
'investigations' => 'Investigations',
|
|
'plan' => 'Diagnosis & plan',
|
|
'procedure' => 'Procedure',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'exam' => 'exam',
|
|
'investigation' => 'investigations',
|
|
'plan' => 'plan',
|
|
'procedure' => 'procedure',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'oncology' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'History', 'queue_point' => 'waiting'],
|
|
['code' => 'staging', 'label' => 'Staging / exam', 'queue_point' => 'chair'],
|
|
['code' => 'investigation', 'label' => 'Investigations', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Diagnosis & plan', 'queue_point' => 'chair'],
|
|
['code' => 'treatment', 'label' => 'Treatment / chemo', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'onc.consult', 'label' => 'Oncology consultation', 'amount_minor' => 10000, 'type' => 'consultation'],
|
|
['code' => 'onc.staging', 'label' => 'Staging assessment', 'amount_minor' => 8000, 'type' => 'consultation'],
|
|
['code' => 'onc.chemo', 'label' => 'Chemo day-care session', 'amount_minor' => 50000, 'type' => 'procedure'],
|
|
['code' => 'onc.supportive', 'label' => 'Supportive care visit', 'amount_minor' => 6000, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'History',
|
|
'staging' => 'Staging / exam',
|
|
'investigations' => 'Investigations',
|
|
'plan' => 'Diagnosis & plan',
|
|
'treatment' => 'Treatment',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'staging' => 'staging',
|
|
'investigation' => 'investigations',
|
|
'plan' => 'plan',
|
|
'treatment' => 'treatment',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'renal' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'History', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Exam', 'queue_point' => 'chair'],
|
|
['code' => 'dialysis', 'label' => 'Dialysis / labs', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Care plan', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'ren.consult', 'label' => 'Nephrology consultation', 'amount_minor' => 8000, 'type' => 'consultation'],
|
|
['code' => 'ren.dialysis', 'label' => 'Dialysis session', 'amount_minor' => 35000, 'type' => 'procedure'],
|
|
['code' => 'ren.labs', 'label' => 'Renal labs panel', 'amount_minor' => 6000, 'type' => 'lab'],
|
|
['code' => 'ren.review', 'label' => 'Clinic review', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'History',
|
|
'exam' => 'Exam',
|
|
'dialysis' => 'Dialysis / labs',
|
|
'plan' => 'Care plan',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'exam' => 'exam',
|
|
'dialysis' => 'dialysis',
|
|
'plan' => 'plan',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'surgery' => [
|
|
'stages' => [
|
|
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
|
|
['code' => 'history', 'label' => 'Pre-op history', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Exam', 'queue_point' => 'chair'],
|
|
['code' => 'investigation', 'label' => 'Investigations', 'queue_point' => 'chair'],
|
|
['code' => 'plan', 'label' => 'Consent / plan', 'queue_point' => 'chair'],
|
|
['code' => 'procedure', 'label' => 'Procedure', 'queue_point' => 'chair'],
|
|
['code' => 'postop', 'label' => 'Post-op', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'sur.consult', 'label' => 'Surgical consultation', 'amount_minor' => 8000, 'type' => 'consultation'],
|
|
['code' => 'sur.preop', 'label' => 'Pre-op assessment', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
['code' => 'sur.procedure', 'label' => 'Minor procedure / clinic', 'amount_minor' => 25000, 'type' => 'procedure'],
|
|
['code' => 'sur.postop', 'label' => 'Post-op review', 'amount_minor' => 4500, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'history' => 'History',
|
|
'exam' => 'Exam',
|
|
'investigations' => 'Investigations',
|
|
'plan' => 'Consent / plan',
|
|
'procedure' => 'Procedure',
|
|
'postop' => 'Post-op',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
'stage_tabs' => [
|
|
'check_in' => 'overview',
|
|
'history' => 'history',
|
|
'exam' => 'exam',
|
|
'investigation' => 'investigations',
|
|
'plan' => 'plan',
|
|
'procedure' => 'procedure',
|
|
'postop' => 'postop',
|
|
'completed' => 'overview',
|
|
],
|
|
],
|
|
'vaccination' => [
|
|
'stages' => [
|
|
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
|
|
['code' => 'screening', 'label' => 'Screening', 'queue_point' => 'chair'],
|
|
['code' => 'vaccinate', 'label' => 'Vaccination', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'vax.admin', 'label' => 'Vaccine administration', 'amount_minor' => 3000, 'type' => 'procedure'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'screening' => 'Screening',
|
|
'administration' => 'Administration',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
],
|
|
'pathology' => [
|
|
'stages' => [
|
|
['code' => 'request', 'label' => 'Specimen received', 'queue_point' => 'waiting'],
|
|
['code' => 'processing', 'label' => 'Processing', 'queue_point' => 'lab'],
|
|
['code' => 'reporting', 'label' => 'Reporting', 'queue_point' => 'lab'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'path.histo', 'label' => 'Histopathology', 'amount_minor' => 20000, 'type' => 'lab'],
|
|
['code' => 'path.cyto', 'label' => 'Cytology', 'amount_minor' => 15000, 'type' => 'lab'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'request' => 'Specimen request',
|
|
'report' => 'Report',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
],
|
|
'infusion' => [
|
|
'stages' => [
|
|
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
|
|
['code' => 'infusion', 'label' => 'Infusion', 'queue_point' => 'chair'],
|
|
['code' => 'observation', 'label' => 'Observation', 'queue_point' => 'obs'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'inf.session', 'label' => 'Infusion session', 'amount_minor' => 15000, 'type' => 'procedure'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'session' => 'Infusion session',
|
|
'clinical_notes' => 'Clinical notes',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
],
|
|
'dermatology' => [
|
|
'stages' => [
|
|
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Skin exam', 'queue_point' => 'chair'],
|
|
['code' => 'procedure', 'label' => 'Procedure', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'der.consult', 'label' => 'Dermatology consultation', 'amount_minor' => 6000, 'type' => 'consultation'],
|
|
['code' => 'der.procedure', 'label' => 'Skin procedure', 'amount_minor' => 12000, 'type' => 'procedure'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'exam' => 'Skin exam',
|
|
'clinical_notes' => 'Clinical notes',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
],
|
|
'podiatry' => [
|
|
'stages' => [
|
|
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
|
|
['code' => 'exam', 'label' => 'Foot exam', 'queue_point' => 'chair'],
|
|
['code' => 'treatment', 'label' => 'Treatment', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'pod.consult', 'label' => 'Podiatry consultation', 'amount_minor' => 5000, 'type' => 'consultation'],
|
|
['code' => 'pod.treatment', 'label' => 'Foot treatment', 'amount_minor' => 8000, 'type' => 'procedure'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'exam' => 'Foot exam',
|
|
'clinical_notes' => 'Clinical notes',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
],
|
|
'fertility' => [
|
|
'stages' => [
|
|
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
|
|
['code' => 'consult', 'label' => 'Fertility consult', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'fer.consult', 'label' => 'Fertility consultation', 'amount_minor' => 10000, 'type' => 'consultation'],
|
|
['code' => 'fer.scan', 'label' => 'Pelvic / follicular scan', 'amount_minor' => 15000, 'type' => 'imaging'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'consult' => 'Fertility consult',
|
|
'clinical_notes' => 'Clinical notes',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
],
|
|
'child_welfare' => [
|
|
'stages' => [
|
|
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
|
|
['code' => 'growth', 'label' => 'Growth / wellness', 'queue_point' => 'chair'],
|
|
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
|
|
],
|
|
'services' => [
|
|
['code' => 'cwc.visit', 'label' => 'Well-child visit', 'amount_minor' => 3000, 'type' => 'consultation'],
|
|
],
|
|
'workspace_tabs' => [
|
|
'overview' => 'Overview',
|
|
'growth' => 'Growth monitoring',
|
|
'clinical_notes' => 'Clinical notes',
|
|
'orders' => 'Orders',
|
|
'billing' => 'Billing',
|
|
'documents' => 'Documents',
|
|
],
|
|
],
|
|
|
|
],
|
|
];
|