erDiagram
patient ||--o{ consultation : "has"
organisation ||--o{ consultation : "hosts"
location ||--o{ consultation : "occurs_at"
appointment_slot ||--o{ consultation : "scheduled_in"
consultation ||--o{ consultation_section : "contains"
patient {
varchar patient_id PK
}
consultation {
bigint consultation_id PK
varchar patient_id FK
varchar organisation FK
varchar patient_guid FK
varchar patient_organisation_guid FK
varchar consultation_organisation_guid FK
varchar location_guid FK
varchar appointment_slot_guid FK
varchar entered_by_user_in_role_id FK
varchar authorising_user_in_role_id FK
}
consultation_section {
bigint consultation_section_id PK
bigint consultation_id FK
}
organisation {
varchar organisation PK
}
location {
varchar location_guid PK
}
appointment_slot {
varchar appointment_slot_guid PK
}