[ 'super_admin' => 'Super Administrator', 'hospital_admin' => 'Hospital Administrator', 'receptionist' => 'Receptionist', 'doctor' => 'Doctor', 'nurse' => 'Nurse', 'lab_technician' => 'Laboratory Technician', 'pharmacist' => 'Pharmacist', 'cashier' => 'Cashier', 'accountant' => 'Accountant', ], 'department_types' => [ 'general' => 'General', 'outpatient' => 'Outpatient', 'emergency' => 'Emergency', 'laboratory' => 'Laboratory', 'radiology' => 'Radiology', 'pharmacy' => 'Pharmacy', 'maternity' => 'Maternity', 'dental' => 'Dental', 'ophthalmology' => 'Ophthalmology / Eye care', 'physiotherapy' => 'Physiotherapy', 'blood_bank' => 'Blood Bank', 'cardiology' => 'Cardiology', 'psychiatry' => 'Psychiatry', 'pediatrics' => 'Pediatrics', 'orthopedics' => 'Orthopedics', 'ent' => 'ENT', 'oncology' => 'Oncology', 'renal' => 'Renal Care', 'surgery' => 'Surgery', 'vaccination' => 'Vaccination & Immunization', 'pathology' => 'Pathology', 'infusion' => 'Infusion Centre', 'dermatology' => 'Dermatology', 'podiatry' => 'Podiatry', 'fertility' => 'Fertility', 'child_welfare' => 'Child Welfare Clinic', ], /* | Specialty practice modules (Settings → Modules). | Pro-gated via plans.*.features specialty_modules — expansions beyond core | outpatient/lab/pharmacy belong on paid plans, matching queue_integration. | See config/care_specialty_modules.php (default_on_paid_plans for Emergency / Blood Bank). */ 'specialty_modules' => require __DIR__.'/care_specialty_modules.php', 'audit_actions' => [ 'organization.created' => 'Organization created', 'organization.updated' => 'Organization updated', 'branch.created' => 'Branch created', 'branch.updated' => 'Branch updated', 'department.created' => 'Department created', 'department.updated' => 'Department updated', 'department.deleted' => 'Department deleted', 'practitioner.created' => 'Practitioner added', 'practitioner.updated' => 'Practitioner updated', 'practitioner.deleted' => 'Practitioner removed', 'member.created' => 'Member added', 'member.updated' => 'Member updated', 'member.deleted' => 'Member removed', 'member.invited' => 'Member invited', 'patient.created' => 'Patient registered', 'patient.updated' => 'Patient record updated', 'patient.deleted' => 'Patient record archived', 'appointment.created' => 'Appointment booked', 'appointment.walk_in' => 'Walk-in registered', 'appointment.checked_in' => 'Patient checked in', 'appointment.waiting' => 'Patient added to queue', 'appointment.in_consultation' => 'Consultation started', 'appointment.completed' => 'Appointment completed', 'appointment.cancelled' => 'Appointment cancelled', 'appointment.no_show' => 'Patient marked no-show', 'appointment.meet_scheduled' => 'Video visit scheduled', 'appointment.meet_cancelled' => 'Video visit cancelled', 'visit.checked_in' => 'Visit opened', 'visit.workflow_advanced' => 'Visit workflow advanced', 'visit.completed' => 'Visit completed', 'consultation.started' => 'Consultation started', 'consultation.updated' => 'Consultation updated', 'consultation.completed' => 'Consultation completed', 'investigation.requested' => 'Investigation requested', 'investigation.sample_collected' => 'Sample collected', 'investigation.in_progress' => 'Investigation in progress', 'investigation.results_entered' => 'Investigation results entered', 'investigation.approved' => 'Investigation results approved', 'investigation.delivered' => 'Investigation results delivered', 'investigation.cancelled' => 'Investigation cancelled', 'investigation_type.created' => 'Investigation type created', 'investigation_type.updated' => 'Investigation type updated', 'prescription.created' => 'Prescription created', 'prescription.updated' => 'Prescription updated', 'prescription.activated' => 'Prescription activated', 'prescription.dispensed' => 'Prescription dispensed', 'prescription.cancelled' => 'Prescription cancelled', 'bill.created' => 'Bill created', 'bill.updated' => 'Bill updated', 'bill.line_item_added' => 'Bill line item added', 'bill.voided' => 'Bill voided', 'payment.recorded' => 'Payment recorded', 'financial_obligation.cleared' => 'Financial obligation cleared', 'payment.checkout_started' => 'Online payment checkout started', 'integrations.gateway_connected' => 'Payment gateway connected', 'integrations.gateway_disconnected' => 'Payment gateway disconnected', 'drug.created' => 'Drug added', 'drug.updated' => 'Drug updated', 'drug.batch_received' => 'Drug stock received', 'assessment.started' => 'Assessment started', 'assessment.updated' => 'Assessment updated', 'assessment.completed' => 'Assessment completed', 'assessment.cancelled' => 'Assessment cancelled', 'pathway.activated' => 'Clinical pathway activated', 'pathway.deactivated' => 'Clinical pathway deactivated', 'device.created' => 'Device registered', 'device.updated' => 'Device updated', 'device.deleted' => 'Device removed', 'device.token_issued' => 'Device token issued', 'device.token_revoked' => 'Device token revoked', ], 'assessment_statuses' => [ 'draft' => 'Draft', 'completed' => 'Completed', 'cancelled' => 'Cancelled', ], 'assessment_template_categories' => [ 'universal' => 'Universal intake', 'disease' => 'Disease-specific', 'outcome' => 'Outcome measures', 'screening' => 'Screening', ], 'assessment_answer_types' => [ 'text' => 'Text', 'textarea' => 'Long text', 'number' => 'Number', 'integer' => 'Integer', 'boolean' => 'Yes / No', 'date' => 'Date', 'datetime' => 'Date & time', 'single_choice' => 'Single choice', 'multi_choice' => 'Multiple choice', 'scale' => 'Scale', 'score_item' => 'Score item', 'calculated' => 'Calculated', ], 'patient_pathway_statuses' => [ 'active' => 'Active', 'resolved' => 'Resolved', 'inactive' => 'Inactive', ], 'appointment_statuses' => [ 'scheduled' => 'Scheduled', 'checked_in' => 'Checked in', 'waiting' => 'Waiting', 'in_consultation' => 'In consultation', 'completed' => 'Completed', 'cancelled' => 'Cancelled', 'no_show' => 'No show', ], 'visit_statuses' => [ 'open' => 'Open', 'in_progress' => 'In progress', 'completed' => 'Completed', ], 'consultation_statuses' => [ 'draft' => 'Draft', 'completed' => 'Completed', ], 'investigation_categories' => [ 'blood' => 'Blood', 'urine' => 'Urine', 'stool' => 'Stool', 'xray' => 'X-Ray', 'ultrasound' => 'Ultrasound', 'ct' => 'CT Scan', 'mri' => 'MRI', 'ecg' => 'ECG', 'custom' => 'Custom', ], 'investigation_statuses' => [ 'pending' => 'Pending', 'sample_collected' => 'Sample collected', 'in_progress' => 'In progress', 'awaiting_review' => 'Awaiting review', 'completed' => 'Completed', 'delivered' => 'Delivered', 'cancelled' => 'Cancelled', ], 'prescription_statuses' => [ 'draft' => 'Draft', 'active' => 'Active', 'dispensed' => 'Dispensed', 'cancelled' => 'Cancelled', ], 'medication_routes' => [ 'oral' => 'Oral', 'topical' => 'Topical', 'injection' => 'Injection', 'inhalation' => 'Inhalation', 'sublingual' => 'Sublingual', 'rectal' => 'Rectal', 'other' => 'Other', ], 'genders' => [ 'male' => 'Male', 'female' => 'Female', 'other' => 'Other', ], 'allergy_severities' => [ 'mild' => 'Mild', 'moderate' => 'Moderate', 'severe' => 'Severe', 'unknown' => 'Unknown', ], 'document_types' => [ 'id_card' => 'ID card', 'insurance_card' => 'Insurance card', 'lab_report' => 'Lab report', 'referral' => 'Referral letter', 'specialty_emergency' => 'Emergency document', 'specialty_blood_bank' => 'Blood bank document', 'specialty_dentistry' => 'Dental document', 'other' => 'Other', ], 'patient_number' => [ 'prefix' => env('CARE_PATIENT_NUMBER_PREFIX', 'LC'), ], 'invoice_number' => [ 'prefix' => env('CARE_INVOICE_PREFIX', 'INV'), ], 'billing' => [ 'patient_card_fee_minor' => (int) env('CARE_PATIENT_CARD_FEE_MINOR', 2000), 'consultation_fee_minor' => (int) env('CARE_CONSULTATION_FEE_MINOR', 5000), 'currency' => env('CARE_CURRENCY', 'GHS'), ], 'bill_statuses' => [ 'draft' => 'Draft', 'open' => 'Open', 'partial' => 'Partially paid', 'paid' => 'Paid', 'void' => 'Void', ], 'bill_line_types' => [ 'consultation' => 'Consultation', 'lab' => 'Laboratory', 'imaging' => 'Imaging', 'procedure' => 'Procedure', 'pharmacy' => 'Pharmacy', 'nursing' => 'Nursing', 'misc' => 'Miscellaneous', ], 'payment_methods' => [ 'cash' => 'Cash', 'momo' => 'Mobile Money', 'card' => 'Card', 'gateway' => 'Online (gateway)', 'other' => 'Other', ], 'payment_gateways' => [ 'paystack' => 'Paystack', 'flutterwave' => 'Flutterwave', 'hubtel' => 'Hubtel', ], 'report_types' => [ 'patients' => 'Patients', 'appointments' => 'Appointments', 'laboratory' => 'Laboratory', 'finance' => 'Finance', 'clinical' => 'Clinical trends', // KD-18: org-level multi-patient assessment analytics (Enterprise assessment_analytics) 'assessments' => 'Assessment analytics', ], 'plans' => [ 'free' => [ 'label' => 'Free', 'price_minor' => 0, 'max_branches' => 1, // Free: core patient records, appointments & consults, basic workflows only. // One branch is created during onboarding; multi-branch management is Pro. 'features' => [], ], 'pro' => [ 'label' => 'Pro', // Billed per active branch / month (unlimited branches). 'price_minor_per_branch' => (int) env('CARE_PRO_PRICE_PER_BRANCH_MINOR', env('CARE_PRO_PRICE_MINOR', 249000)), 'max_branches' => null, 'features' => [ 'branches', 'lab', 'pharmacy', 'billing', 'queue_integration', 'clinical_devices', 'specialty_modules', ], ], 'enterprise' => [ 'label' => 'Enterprise', // Billed per active branch / month (unlimited branches). // Differentiator: multi-dept custom workflows, priority support, analytics, AI. 'price_minor_per_branch' => (int) env('CARE_ENTERPRISE_PRICE_PER_BRANCH_MINOR', env('CARE_ENTERPRISE_PRICE_MINOR', 499000)), 'max_branches' => null, 'features' => [ 'branches', 'lab', 'pharmacy', 'billing', 'queue_integration', 'clinical_devices', 'specialty_modules', // KD-18: org-level multi-patient assessment/outcome analytics 'assessment_analytics', ], ], ], 'device_types' => [ 'barcode_scanner' => 'Barcode scanner', 'qr_scanner' => 'QR scanner', 'badge_printer' => 'Badge / label printer', 'thermometer' => 'Thermometer', 'bp_monitor' => 'Blood pressure monitor', 'pulse_ox' => 'Pulse oximeter', 'weight_scale' => 'Weight scale', 'lab_analyzer' => 'Lab analyzer', 'agent' => 'Generic device agent', 'other' => 'Other', ], /** Types that need a local Care Device Agent (Pro+). Wedge scanners stay free. */ 'device_agent_types' => [ 'thermometer', 'bp_monitor', 'pulse_ox', 'weight_scale', 'lab_analyzer', 'agent', ], 'device_connection_modes' => [ 'browser_wedge' => 'Browser keyboard wedge', 'agent' => 'Local device agent', 'web_bluetooth' => 'Web Bluetooth (experimental)', 'manual' => 'Manual / inventory only', ], 'device_statuses' => [ 'active' => 'Active', 'offline' => 'Offline', 'disabled' => 'Disabled', ], 'vital_sources' => [ 'manual' => 'Manual entry', 'device' => 'Device', 'import' => 'Import', ], 'enterprise' => [ // Feature tier (not branch-gated); kept for config compatibility. 'min_branches' => (int) env('CARE_ENTERPRISE_MIN_BRANCHES', 1), ], 'prepaid_months' => [6, 12, 24], 'pro' => [ 'grace_days' => (int) env('CARE_PRO_GRACE_DAYS', 3), 'period_days' => (int) env('CARE_PRO_PERIOD_DAYS', 30), ], 'queue' => [ // native = Care Queue Engine (in-app). remote = Ladill Queue HTTP (legacy cutover). 'driver' => env('CARE_QUEUE_DRIVER', 'native'), 'api_url' => env('QUEUE_API_URL', 'https://queue.ladill.com/api/v1'), 'api_key' => env('QUEUE_API_KEY_CARE'), ], 'upgrade_banner' => [ 'free' => [ 'title' => 'Unlock Care Pro or Enterprise', 'description' => 'Pro from GHS 2490/branch/mo — lab, pharmacy, billing, and in-app service queues. Enterprise adds custom multi-dept workflows, analytics, priority support, and AI-assisted healthcare integration.', 'route' => 'care.pro.index', 'cta' => 'View plans', ], 'pro' => [ 'title' => 'Upgrade to Care Enterprise', 'description' => 'Enterprise from GHS 4990/branch/mo — custom multi-dept workflows, assessment analytics, priority support, and AI-assisted healthcare integration on top of your Pro modules.', 'route' => 'care.pro.index', 'cta' => 'View Enterprise', ], ], ];