Add full Vaccination, Pathology, and Infusion specialty clinical suites.
Deploy Ladill Care / deploy (push) Successful in 34s

Mirror Oncology-depth stage flows, workspace controllers, clinical forms, reports/print, demo seed, and suite tests. Pathology stays clinic specialty complementary to the Lab app.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-19 21:39:15 +00:00
co-authored by Cursor
parent b7e5a7d9ad
commit 7b722c71d0
34 changed files with 3508 additions and 24 deletions
+57 -12
View File
@@ -624,59 +624,104 @@ return [
],
'vaccination' => [
'stages' => [
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
['code' => 'screening', 'label' => 'Screening', 'queue_point' => 'chair'],
['code' => 'vaccinate', 'label' => 'Vaccination', 'queue_point' => 'chair'],
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
['code' => 'eligibility', 'label' => 'History / eligibility', 'queue_point' => 'chair'],
['code' => 'consent', 'label' => 'Consent', 'queue_point' => 'chair'],
['code' => 'administer', 'label' => 'Administer', 'queue_point' => 'chair'],
['code' => 'observation', 'label' => 'Observation / AEFI', 'queue_point' => 'obs'],
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
],
'services' => [
['code' => 'vax.consult', 'label' => 'Immunization counselling', 'amount_minor' => 2000, 'type' => 'consultation'],
['code' => 'vax.admin', 'label' => 'Vaccine administration', 'amount_minor' => 3000, 'type' => 'procedure'],
['code' => 'vax.travel', 'label' => 'Travel vaccine package', 'amount_minor' => 8000, 'type' => 'procedure'],
],
'workspace_tabs' => [
'overview' => 'Overview',
'screening' => 'Screening',
'administration' => 'Administration',
'eligibility' => 'History / eligibility',
'consent' => 'Consent',
'administer' => 'Administer',
'observation' => 'Observation / AEFI',
'orders' => 'Orders',
'billing' => 'Billing',
'documents' => 'Documents',
],
'stage_tabs' => [
'check_in' => 'overview',
'eligibility' => 'eligibility',
'consent' => 'consent',
'administer' => 'administer',
'observation' => 'observation',
'completed' => 'overview',
],
],
'pathology' => [
'stages' => [
['code' => 'request', 'label' => 'Specimen received', 'queue_point' => 'waiting'],
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
['code' => 'request', 'label' => 'Request', 'queue_point' => 'waiting'],
['code' => 'specimen', 'label' => 'Specimen', 'queue_point' => 'lab'],
['code' => 'processing', 'label' => 'Processing', 'queue_point' => 'lab'],
['code' => 'reporting', 'label' => 'Reporting', 'queue_point' => 'lab'],
['code' => 'report', 'label' => 'Report', 'queue_point' => 'lab'],
['code' => 'verified', 'label' => 'Verified', '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'],
['code' => 'path.special', 'label' => 'Special stains / IHC', 'amount_minor' => 25000, 'type' => 'lab'],
],
'workspace_tabs' => [
'overview' => 'Overview',
'request' => 'Specimen request',
'request' => 'Request',
'specimen' => 'Specimen',
'processing' => 'Processing',
'report' => 'Report',
'verification' => 'Verification',
'billing' => 'Billing',
'documents' => 'Documents',
],
'stage_tabs' => [
'check_in' => 'overview',
'request' => 'request',
'specimen' => 'specimen',
'processing' => 'processing',
'report' => 'report',
'verified' => 'verification',
'completed' => 'overview',
],
],
'infusion' => [
'stages' => [
['code' => 'waiting', 'label' => 'Waiting', 'queue_point' => 'waiting'],
['code' => 'infusion', 'label' => 'Infusion', 'queue_point' => 'chair'],
['code' => 'observation', 'label' => 'Observation', 'queue_point' => 'obs'],
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
['code' => 'assessment', 'label' => 'Assessment', 'queue_point' => 'chair'],
['code' => 'protocol', 'label' => 'Order / protocol', 'queue_point' => 'chair'],
['code' => 'session', 'label' => 'Infusion session', 'queue_point' => 'chair'],
['code' => 'monitoring', 'label' => 'Monitoring', 'queue_point' => 'obs'],
['code' => 'completed', 'label' => 'Completed', 'queue_point' => null],
],
'services' => [
['code' => 'inf.assess', 'label' => 'Infusion assessment', 'amount_minor' => 4000, 'type' => 'consultation'],
['code' => 'inf.session', 'label' => 'Infusion session', 'amount_minor' => 15000, 'type' => 'procedure'],
['code' => 'inf.observe', 'label' => 'Post-infusion observation', 'amount_minor' => 3000, 'type' => 'misc'],
],
'workspace_tabs' => [
'overview' => 'Overview',
'assessment' => 'Assessment',
'protocol' => 'Protocol / order',
'session' => 'Infusion session',
'clinical_notes' => 'Clinical notes',
'monitoring' => 'Monitoring',
'orders' => 'Orders',
'billing' => 'Billing',
'documents' => 'Documents',
],
'stage_tabs' => [
'check_in' => 'overview',
'assessment' => 'assessment',
'protocol' => 'protocol',
'session' => 'session',
'monitoring' => 'monitoring',
'completed' => 'overview',
],
],
'dermatology' => [
'stages' => [