Lesson 1Supporting dimension tables: provider, location, facility, code lookupsThis section explains supporting dimension tables like provider, location, facility, and code lookups. It covers hierarchies, slowly changing attributes, and how well-designed dimensions enhance filtering, grouping, and drill-down analyses in clinical data.
Provider and specialty dimensionsLocation and facility hierarchiesClinical code and value set lookupsManaging slowly changing dimensionsLesson 2Encounter/Visit entity: admit/arrival, discharge, visit type and timestampsThis section outlines the encounter or visit entity, including admission, arrival, discharge, visit type, and timestamps. It covers linking encounters to patients, locations, and payers, supporting length-of-stay and throughput metrics effectively.
Encounter types and classificationsAdmission, transfer, and discharge timesLinking encounters to patientsVisit grouping and episode logicLesson 3Canonical patient entity: identifiers, demography, merges and survivorshipThis section defines a canonical patient entity for analytics, covering identifiers, demographics, merges, and survivorship rules. It explains mastering across sources, handling duplicates, and preserving historical identity changes securely.
Core patient identifiers and keysDemographic attributes for analyticsPatient matching and merge logicSurvivorship and source precedenceLesson 4Procedures and orders entities: procedure codes, order IDs, performing providerThis section covers modelling procedures and orders, including procedure codes, order identifiers, and performing providers. It explains linking orders to results, scheduling, and status, while aiding utilisation, quality, and throughput analytics.
Order header and line item structureProcedure and order coding standardsLinking orders, procedures, and resultsOrder status, timing, and priorityLesson 5Keys and relationships: patient_id, encounter_id, result linking and referential integrityThis section details how patient, encounter, and result keys uphold referential integrity across clinical datasets. It covers natural versus surrogate keys, cascading rules, and strategies for late-arriving or corrected records.
Patient and encounter key designResult and order linkage patternsSurrogate keys vs natural identifiersCascades, deletes, and orphan recordsLesson 6Diagnoses and problem list entities: fields, code system, severity, onset and resolutionThis section focuses on diagnoses and problem list entities, including fields for codes, status, severity, onset, and resolution. It addresses coding systems, chronic versus acute problems, and managing revisions or inactivation over time.
Core diagnosis and problem fieldsICD, SNOMED, and other code systemsOnset, resolution, and episode timingActive, historical, and resolved problemsLesson 7Lab result entity design: test code, specimen, collection time, result value, units, reference range, statusThis section details lab result entity design, including test codes, specimens, collection times, values, units, reference ranges, and statuses. It addresses abnormal flags, panels, and handling corrected or repeated results for analytics.
Test, panel, and component structureSpecimen type and collection detailsResult value, units, and reference rangeResult status, flags, and correctionsLesson 8Schematic examples: star schema for analytics and entity relationship mappingThis section introduces star schemas for clinical analytics and contrasts them with entity-relationship diagrams. Learners see how facts, dimensions, and relationships map to EHR concepts and support efficient analytic queries.
Clinical fact and dimension tablesStar vs snowflake in healthcareMapping EHR entities to factsBridging many-to-many clinical linksLesson 9Principles of analytics data modelling vs transactional modellingThis section compares analytic and transactional data models in healthcare. It explains normalisation, denormalisation, query patterns, and workload characteristics, guiding choices that balance performance, flexibility, and data quality.
OLTP vs OLAP workloads in EHRsNormalization and denormalization tradeoffsSlowly changing clinical attributesModelling for longitudinal patient views