The entity-relationship diagram below summarises the core healthcare data model introduced in V1__initial_schema.sql. Relationships are cardinality annotated so engineers can visualise the lifecycle of encounters, notes, and coding artefacts.
ββββββββββββββββββ ββββββββββββββββββββββ
β organizations βββββββΊβ users β
ββββββββββ¬ββββββββ ββββββββββ¬ββββββββββββ
β β β²
β β β
βΌ βΌ β
ββββββββββββββββββ ββββββββββββββββββββββ
β patients βββββββΊβ encounters β
ββββββββββ¬ββββββββ βββββββββ¬βββββ¬ββββββββ
β β β
β β βββββββββββββββ
β β βΌ
β β βββββββββββββββββ
βΌ βΌ β audio_record- β
ββββββββββββββββββ ββββββββββββββββββ β ings β
β clinical_notes βββββββΊβ diagnoses β ββββββ¬βββββββββββ
βββββββββ¬βββββββββ ββββββ¬βββββββββββ β
β β βΌ
β β ββββββββββββββββββ
βΌ βΌ β transcripts β
βββββββββββββββββ ββββββββββββββ ββββββ¬ββββββββββββ
β note_sections β β procedures β β
βββββββββββββββββ ββββββ¬ββββββββ βΌ
β ββββββββββββββββββββββ
β β transcript_segmentsβ
βΌ ββββββββββββββββββββββ
ββββββββββββββββ
β icd10_codes β
ββββββββββββββββ
ββββββββββββββββ
β cpt_codes β
ββββββββββββββββ
ββββββββββββββββββ
β audit_logs ββββββββββββββββββββββββββββββββ
ββββββββββββββββββ β
β
ββββββββββββββββββ β
β helper funcs β (set context, RLS, triggers) β
ββββββββββββββββββ β
Key takeaways:
- Every
userbelongs to exactly oneorganization. Organization settings drive RLS policies. patientsare scoped to organisations and can experience manyencounters.- Each
encountercan have oneaudio_recording, multipletranscripts, one or moreclinical_notes, and billing artefacts (diagnoses,procedures). clinical_notesoptionally decompose into granularnote_sectionsfor subject/objective/etc sections.- Coding reference data (
icd10_codes,cpt_codes) remains independent but links to encounter artefacts via foreign keys. - All PHI tables are protected by audit triggers writing to
audit_logs, which is range-partitioned by month.