"""Healthcare event type contracts (publish-only)."""
from __future__ import annotations

import enum


class HealthcareEventType(str, enum.Enum):
    CLINIC_CREATED = "healthcare.clinic.created"
    CLINIC_UPDATED = "healthcare.clinic.updated"
    BRANCH_CREATED = "healthcare.branch.created"
    BRANCH_UPDATED = "healthcare.branch.updated"
    DEPARTMENT_CREATED = "healthcare.department.created"
    DEPARTMENT_UPDATED = "healthcare.department.updated"
    DOCTOR_CREATED = "healthcare.doctor.created"
    DOCTOR_UPDATED = "healthcare.doctor.updated"
    PATIENT_CREATED = "healthcare.patient.created"
    PATIENT_UPDATED = "healthcare.patient.updated"
    EXTERNAL_PROVIDER_REGISTERED = "healthcare.external_provider.registered"
    EXTERNAL_PROVIDER_UPDATED = "healthcare.external_provider.updated"
    CONFIGURATION_CREATED = "healthcare.configuration.created"
    CONFIGURATION_UPDATED = "healthcare.configuration.updated"
    SETTING_UPDATED = "healthcare.setting.updated"
    # Phase 13.1 — Appointment Engine
    SCHEDULE_CREATED = "healthcare.schedule.created"
    APPOINTMENT_BOOKED = "healthcare.appointment.booked"
    APPOINTMENT_CONFIRMED = "healthcare.appointment.confirmed"
    APPOINTMENT_CANCELLED = "healthcare.appointment.cancelled"
    APPOINTMENT_RESCHEDULED = "healthcare.appointment.rescheduled"
    APPOINTMENT_NO_SHOW = "healthcare.appointment.no_show"
    APPOINTMENT_REMINDER_SCHEDULED = "healthcare.appointment.reminder_scheduled"
    APPOINTMENT_CHECKED_IN = "healthcare.appointment.checked_in"
    APPOINTMENT_COMPLETED = "healthcare.appointment.completed"
    # Phase 13.2 — Doctor Panel
    VISIT_SESSION_CREATED = "healthcare.visit_session.created"
    VISIT_SESSION_STARTED = "healthcare.visit_session.started"
    VISIT_SESSION_FINISHED = "healthcare.visit_session.finished"
    VISIT_SESSION_DEFERRED = "healthcare.visit_session.deferred"
    VISIT_SESSION_CALLED = "healthcare.visit_session.called"
    VISIT_NOTE_CREATED = "healthcare.visit_note.created"
    VISIT_NOTE_UPDATED = "healthcare.visit_note.updated"
    # Phase 13.3 — Clinic Management
    CLINIC_SERVICE_CREATED = "healthcare.clinic_service.created"
    STAFF_ASSIGNMENT_CREATED = "healthcare.staff_assignment.created"
    CLINIC_POLICY_CREATED = "healthcare.clinic_policy.created"
    OPERATING_HOURS_POLICY_CREATED = "healthcare.operating_hours_policy.created"
    # Phase 13.4 — Patient Portal
    PATIENT_PORTAL_PROFILE_CREATED = "healthcare.patient_portal.profile_created"
    PATIENT_PORTAL_PROFILE_UPDATED = "healthcare.patient_portal.profile_updated"
    PATIENT_DOCUMENT_REF_CREATED = "healthcare.patient_portal.document_ref_created"
    PATIENT_NOTIFICATION_PREF_UPDATED = "healthcare.patient_portal.notification_pref_updated"
    # Phase 13.5 — Medical Record
    MEDICAL_RECORD_CREATED = "healthcare.medical_record.created"
    ENCOUNTER_CREATED = "healthcare.encounter.created"
    ENCOUNTER_FINALIZED = "healthcare.encounter.finalized"
    MEDICAL_RECORD_ACCESSED = "healthcare.medical_record.accessed"
    # Phase 13.6 — Pharmacy Network
    PHARMACY_CREATED = "healthcare.pharmacy.created"
    PRESCRIPTION_ORDER_SUBMITTED = "healthcare.prescription_order.submitted"
    PRESCRIPTION_ORDER_STATUS_CHANGED = "healthcare.prescription_order.status_changed"
    # Phase 13.7 — Delivery Integration
    DELIVERY_INTEGRATION_REGISTERED = "healthcare.delivery_integration.registered"
    DELIVERY_JOB_INTENT_CREATED = "healthcare.delivery_job_intent.created"
    DELIVERY_JOB_STATUS_UPDATED = "healthcare.delivery_job_intent.status_updated"
