Replace Maternity with Women's Health (OB/GYN) and configurable service lines.
Deploy Ladill Care / deploy (push) Successful in 26s

Keeps Fertility as a separate specialty, adds OB/GYN and fertility staff roles, and migrates live org settings from maternity → womens_health.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-20 09:48:19 +00:00
co-authored by Cursor
parent 938f351ede
commit 56a663a777
33 changed files with 708 additions and 189 deletions
+13 -4
View File
@@ -24,6 +24,10 @@ return [
'psychiatrist' => 'Psychiatrist',
'physiotherapist' => 'Physiotherapist',
'midwife' => 'Midwife',
'obstetrician' => 'Obstetrician',
'gynecologist' => 'Gynecologist',
'obgyn' => 'OB/GYN Consultant',
'labour_ward_nurse' => 'Labour Ward Nurse',
'pediatrician' => 'Pediatrician',
'oncologist' => 'Oncologist',
'cardiologist' => 'Cardiologist',
@@ -33,6 +37,8 @@ return [
'orthopedist' => 'Orthopedist',
'podiatrist' => 'Podiatrist',
'fertility_specialist' => 'Fertility Specialist',
'embryologist' => 'Embryologist',
'fertility_nurse' => 'Fertility Nurse',
'dialysis_nurse' => 'Dialysis Nurse',
'ambulance_staff' => 'Ambulance Staff',
'nurse' => 'Nurse (legacy)',
@@ -49,7 +55,8 @@ return [
'laboratory' => 'Laboratory',
'radiology' => 'Radiology',
'pharmacy' => 'Pharmacy',
'maternity' => 'Maternity',
'womens_health' => "Women's Health (OB/GYN)",
'maternity' => 'Maternity (legacy)',
'dental' => 'Dental',
'ophthalmology' => 'Ophthalmology / Eye care',
'physiotherapy' => 'Physiotherapy',
@@ -67,7 +74,7 @@ return [
'infusion' => 'Infusion Centre',
'dermatology' => 'Dermatology',
'podiatry' => 'Podiatry',
'fertility' => 'Fertility',
'fertility' => 'Fertility & Reproductive Medicine',
'child_welfare' => 'Child Welfare Clinic',
'ambulance' => 'Ambulance',
],
@@ -85,7 +92,8 @@ return [
'Laboratory',
'Radiology',
'Pharmacy',
'Maternity',
"Women's Health (OB/GYN)",
'Maternity / Labour & Delivery',
'Dentistry',
'Ophthalmology / Eye care',
'Physiotherapy',
@@ -313,7 +321,8 @@ return [
'specialty_dentistry' => 'Dental document',
'specialty_ophthalmology' => 'Eye care document',
'specialty_physiotherapy' => 'Physiotherapy document',
'specialty_maternity' => 'Maternity document',
'specialty_maternity' => "Women's Health document",
'specialty_womens_health' => "Women's Health document",
'other' => 'Other',
],
+2 -2
View File
@@ -38,7 +38,7 @@ return [
'session' => 'pt_session',
'exercises' => 'pt_home_program',
],
'maternity' => [
'womens_health' => [
'history' => 'anc_history',
'exam' => 'obstetric_exam',
'fetal' => 'fetal_notes',
@@ -341,7 +341,7 @@ return [
['name' => 'next_review', 'label' => 'Next review', 'type' => 'text'],
],
],
'maternity' => [
'womens_health' => [
'anc_history' => [
['name' => 'gravida', 'label' => 'Gravida', 'type' => 'number', 'required' => true],
['name' => 'para', 'label' => 'Para', 'type' => 'number'],
+41 -19
View File
@@ -113,25 +113,44 @@ return [
'refer_roles' => ['general_physician', 'doctor', 'receptionist'],
'specialist_keywords' => ['physio', 'rehab', 'therapy'],
],
'maternity' => [
'label' => 'Maternity / Antenatal',
'description' => 'Antenatal clinics, maternity wards, and related queues.',
'department_type' => 'maternity',
'department_name' => 'Maternity',
'queue_name' => 'Maternity',
'queue_prefix' => 'MAT',
'nav_label' => 'Maternity',
'womens_health' => [
'label' => "Women's Health (OB/GYN)",
'description' => 'Gynecology, obstetrics, antenatal, labour & delivery, postnatal, and related women\'s health clinics.',
'department_type' => 'womens_health',
'department_name' => "Women's Health",
'queue_name' => "Women's Health",
'queue_prefix' => 'WH',
'nav_label' => "Women's Health",
'icon' => 'home',
'queue_keywords' => ['matern', 'antenatal', 'obstetric'],
'queue_keywords' => ['women', 'obgyn', 'ob/gyn', 'gynae', 'gynec', 'matern', 'antenatal', 'obstetric', 'labour', 'labor'],
'access' => 'limited',
'roles' => ['midwife', 'nurse'],
'roles' => [
'obstetrician', 'gynecologist', 'obgyn', 'midwife', 'labour_ward_nurse', 'nurse',
],
'view_roles' => [
'midwife', 'nurse', 'general_physician', 'doctor', 'pharmacist', 'receptionist',
'obstetrician', 'gynecologist', 'obgyn', 'midwife', 'labour_ward_nurse', 'nurse',
'general_physician', 'doctor', 'pharmacist', 'receptionist',
],
'refer_roles' => [
'general_physician', 'doctor', 'pharmacist', 'receptionist',
],
'specialist_keywords' => ['matern', 'antenatal', 'obstetric', 'midwif'],
'specialist_keywords' => [
'women', 'obgyn', 'ob/gyn', 'gynae', 'gynecolog', 'obstetric', 'matern', 'antenatal', 'midwif',
],
// Configurable service lines (Settings → Modules → Women's Health).
// All default on so migrated maternity hospitals keep full surface.
'service_lines' => [
'gynecology' => ['label' => 'Gynecology', 'default_on' => true],
'obstetrics' => ['label' => 'Obstetrics', 'default_on' => true],
'antenatal' => ['label' => 'Antenatal Clinic', 'default_on' => true],
'labour_delivery' => ['label' => 'Labour & Delivery (Maternity)', 'default_on' => true],
'postnatal' => ['label' => 'Postnatal Care', 'default_on' => true],
'family_planning' => ['label' => 'Family Planning', 'default_on' => true],
'cervical_screening' => ['label' => 'Cervical Screening', 'default_on' => true],
'menopause' => ['label' => 'Menopause Clinic', 'default_on' => true],
'high_risk_pregnancy' => ['label' => 'High-Risk Pregnancy', 'default_on' => true],
'early_pregnancy' => ['label' => 'Early Pregnancy Assessment', 'default_on' => true],
],
],
'radiology' => [
'label' => 'Radiology',
@@ -415,23 +434,26 @@ return [
'specialist_keywords' => ['podiat', 'foot'],
],
'fertility' => [
'label' => 'Fertility',
'description' => 'Fertility / IVF clinics and reproductive health queues.',
'label' => 'Fertility & Reproductive Medicine',
'description' => 'IVF / fertility clinics, embryology, and reproductive medicine queues. Integrates with Women\'s Health via referrals.',
'department_type' => 'fertility',
'department_name' => 'Fertility',
'queue_name' => 'Fertility',
'queue_prefix' => 'FER',
'nav_label' => 'Fertility',
'icon' => 'sparkles',
'queue_keywords' => ['fertil', 'ivf', 'reproduct'],
'queue_keywords' => ['fertil', 'ivf', 'reproduct', 'embryol'],
'access' => 'restricted',
'roles' => ['fertility_specialist'],
'roles' => ['fertility_specialist', 'embryologist', 'fertility_nurse'],
'support_roles' => [],
'view_roles' => [
'fertility_specialist', 'general_physician', 'doctor',
'fertility_specialist', 'embryologist', 'fertility_nurse',
'general_physician', 'doctor', 'obstetrician', 'gynecologist', 'obgyn',
],
'refer_roles' => ['general_physician', 'doctor'],
'specialist_keywords' => ['fertil', 'ivf', 'reproduct'],
'refer_roles' => [
'general_physician', 'doctor', 'obstetrician', 'gynecologist', 'obgyn', 'midwife',
],
'specialist_keywords' => ['fertil', 'ivf', 'reproduct', 'embryol'],
],
'child_welfare' => [
'label' => 'Child Welfare Clinic',
+14 -7
View File
@@ -250,7 +250,7 @@ return [
'completed' => 'overview',
],
],
'maternity' => [
'womens_health' => [
'stages' => [
['code' => 'check_in', 'label' => 'Check-in', 'queue_point' => 'waiting'],
['code' => 'history', 'label' => 'ANC history', 'queue_point' => 'waiting'],
@@ -261,12 +261,19 @@ return [
['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'],
['code' => 'mat.anc', 'service_line' => 'antenatal', 'label' => 'Antenatal visit', 'amount_minor' => 5000, 'type' => 'consultation'],
['code' => 'mat.history', 'service_line' => 'antenatal', 'label' => 'Obstetric history intake', 'amount_minor' => 3500, 'type' => 'consultation'],
['code' => 'mat.exam', 'service_line' => 'obstetrics', 'label' => 'Obstetric examination', 'amount_minor' => 4500, 'type' => 'procedure'],
['code' => 'mat.ultrasound', 'service_line' => 'obstetrics', 'label' => 'Obstetric ultrasound', 'amount_minor' => 12000, 'type' => 'imaging'],
['code' => 'mat.labs', 'service_line' => 'antenatal', 'label' => 'ANC investigations panel', 'amount_minor' => 8000, 'type' => 'procedure'],
['code' => 'mat.postnatal', 'service_line' => 'postnatal', 'label' => 'Postnatal review', 'amount_minor' => 5000, 'type' => 'consultation'],
['code' => 'wh.gyn.consult', 'service_line' => 'gynecology', 'label' => 'Gynecology consultation', 'amount_minor' => 5000, 'type' => 'consultation'],
['code' => 'wh.fp.consult', 'service_line' => 'family_planning', 'label' => 'Family planning visit', 'amount_minor' => 3500, 'type' => 'consultation'],
['code' => 'wh.cervical', 'service_line' => 'cervical_screening', 'label' => 'Cervical screening', 'amount_minor' => 4500, 'type' => 'procedure'],
['code' => 'wh.menopause', 'service_line' => 'menopause', 'label' => 'Menopause clinic visit', 'amount_minor' => 5000, 'type' => 'consultation'],
['code' => 'wh.high_risk', 'service_line' => 'high_risk_pregnancy', 'label' => 'High-risk pregnancy review', 'amount_minor' => 6000, 'type' => 'consultation'],
['code' => 'wh.epa', 'service_line' => 'early_pregnancy', 'label' => 'Early pregnancy assessment', 'amount_minor' => 5500, 'type' => 'consultation'],
['code' => 'wh.labour', 'service_line' => 'labour_delivery', 'label' => 'Labour & delivery attendance', 'amount_minor' => 15000, 'type' => 'procedure'],
],
'workspace_tabs' => [
'overview' => 'Overview',
+2 -2
View File
@@ -77,8 +77,8 @@ return [
'modules' => ['pharmacy', 'billing'],
'default_template' => 'cashless_clinic',
],
'maternity' => [
'label' => 'Maternity home',
'womens_health' => [
'label' => "Women's Health home",
'modules' => ['lab', 'pharmacy', 'billing'],
'default_template' => 'private_hospital',
],