Modelling Taskforce Report Dr Linda Bird 19th January 2013 Agenda • Background • Overview of modelling approach • Laboratory Results Report • Submitted models • Comparative analysis • Modelling patterns • Clinical Models • Terminology binding • Demographics Model • Future work and discussion Background Taskforce Members Core Members: • Linda Bird (chair) • Tom Beale • Dave Carlson • Stephen Chu • Stan Huff • Mike Lincoln • Rahil Qamar Siddiqui • Gerard Freriks • Josh Mandel • Mark Shafarman • Michael van der Zel Secretary: • Eithne Keelaghan Technical Resources: • Peter Hendler • Galen Mulrooney • Daniel Karlsson • Cecil Lynch • Joey Coyle • Grahame Grieve • Dipak Kalra • David Moner Clinical Modelling Resource: • William Goossen • Jay Lyle • Ian McNicoll • Anneke Goossen • Heather Leslie • Sarah Ryan • Harold Solbrig • Marcelo Rodrigues dos Santos Mission To develop a CIMI modelling methodology, style guide and a set of models, which together demonstrate and test the approach to CIMI clinical modelling. Terms of Reference This taskforce has been established to: • Further develop CIMI's modelling methodology; • Create an initial set of CIMI clinical models; • Further test and develop CIMI technical models, including: – CIMI reference model – Archetype Object Model 1.5, and – CIMI terminology. Modelling Taskforce History (2012) May 10 - 12 Meeting in Pleasanton Modelling Taskforce was established May to Sep Taskforce infrastructure and planning; Modelling methodology; Observation modelling pattern; Heart rate model Sept 14 - 16 Meeting in Rockville Modelling priorities: Lab Results Report (followed by Immunizations and Body Temperature) Oct to Dec Replanning and review of submitted Lab Result models Design Lab Results model structure and modelling patterns Lab Results - Comparative analysis spreadsheet CIMI Terminology subgroup established October 2012 • Terminology binding use cases, requirements, options, proposal • Lab Results terminology semantic bindings • Lab Results terminology reference sets started • Terminology server requirements Review of CIMI Demographics Reference Model & model analysis Dec 2 – 4 Taskforce meeting in Groningen Lab Results comparative analysis, mindmaps, implementation, terminology binding, reference model, instances and planning Overview of CIMI Modelling Approach CIMI Architectural Overview CIMI Reference Model - Core class CIMI Core Reference Model (logical) LOCATABLE LINK + + + meaning :TEXT target :EHR_URI type :TEXT + + + 0..* ARCHETYPED +archetype_details +link archetype_node_id :String name :TEXT uid :UID_BASED_ID [0..1] 0..1 + + + archetype_id :ARCHETYPE_ID template_id :TEMPLATE_ID [0..1] rm_version :String = 1.0.8 {readOnly} +participation PARTICIPATION 0..* +content COMPOSITION + + + category :CODED_TEXT language :CODED_TEXT territory :CODED_TEXT + + + + function :CODED_TEXT time :INTERVAL_VALUE<DATE_TIME> [0..1] mode :CODED_TEXT details :ITEM [0..*] CONTENT_ITEM 0..* 0..* +item +party ITEM 1..* +data +item 1..1 1..* PARTY_PROXY SECTION ENTRY + language :CODED_TEXT CLUSTER + structure_type :CODED_TEXT [0..1] ELEMENT + + null_flavor :CODED_TEXT [0..1] value :DATA_VALUE [0..1] CIMI Reference Model – Data Values class CIMI Data Value Types (logical) IDENTIFIER + + + YESNO + id :String type :CODED_TEXT issuer :String EHR_URI value :Boolean CODED_TEXT + + + + + URI PLAIN_TEXT + value :String PARSABLE + + +target TEXT formalism :CODED_TEXT value :String DATA_VALUE + + value :String language :CODED_TEXT [0..1] + + T : ORDERED ORDERED_VALUE 0..1 +upper<T> 0..1 MatchRefSet symbol :CODED_TEXT value :Integer value :Integer value_status :String [0..1] QuantifiedValueStatusRefSet AMOUNT + + > = < ? QUANTIFIED + + upper_unbounded :Boolean lower_unbounded :Boolean upper_included :Boolean lower_included :Boolean ORDINAL + + COUNT match :Character purpose :CODED_TEXT [0..1] INTERVAL_VALUE + + + + +lower<T> alternate_text :String [0..1] data :Byte [0..*] (Array) integrity_check :Byte [0..*] (Array) media_type :CODED_TEXT uri :URI [0..1] TERM_MAPPING 0..* MULTIMEDIA 1..1 +mapping ENCAPSULATED + + + + + code :String terminology_id :TERMINOLOGY_ID terminology_version :String [0..1] term :String [0..1] term_id :String [0..1] = < > <= >= ~ accuracy :Real [0..1] accuracy_is_percent :Boolean [0..1] TEMPORAL PROPORTION QUANTITY + + + + numerator :Real denominator :Real precision :Integer [0..1] type :CODED_TEXT + + + value :Double units :CODED_TEXT precision :Integer [0..1] DATE DURATION + duration_text :String [0..1] + value :String TIME + value :String DATE_TIME + value :String CIMI Reference Model – Demographics class CIMI Demographics Model (logical) «archetype_parent» LOCATABLE + + + PARTY_RELATIONSHIP + + + + PARTY +relationship source :PARTY_REF target :PARTY_REF time_validity :INTERVAL_VALUE<DATE> [0..1] details :ITEM [0..*] archetype_node_id :String name :TEXT uid :UID_BASED_ID [0..1] + + + 0..* uid :HIER_OBJECT_ID reverse_relationship :LOCATABLE_REF [0..*] details :ITEM [0..*] ROLE ACTOR +role + + time_validity :INTERVAL_VALUE<DATE> [0..1] role_type :CODED_TEXT + actor_type :CODED_TEXT Archetype Object Model (AOM) CIMI Modelling Layers CLUSTER ENTRY SECTION COMPOSITION Implementation Purpose Context Dispensed Medications GUI Neonatal Blood Pressure in EHR Current Medication List in EHR Laboratory Report Message Care Setting Context G.P. Dispensed Medication Item Home Blood Pressure Outpatient Clinic Current Medication List Inpatient Discharge Summary Use Case Context Dispensed Medication Item Standing Blood Pressure Current Medication List Full Blood Count Results Report Specialty Context Paediatric Medication Item Neonatal Blood Pressure Cardiology Medication List Biochemistry Laboratory Results Report Clinical Models Medication Item Blood Pressure Medication List Laboratory Results Report Patterns Material Entity, Observable, Action, Schedule, Address, Observation, Action Clinical List Clinical Report, Event Summary Reference Model CIMI’s Modeling Approach • • • • • • • • Modular for reusability Composable for meeting use-cases Pattern-based for consistency Maximal for completeness Logical for implementation in multiple formats Constraint-based to allow specialisation Extensible for local requirements Bound to terminology for isosemanticity & interoperability Modelling Methodology • Foundations 1. 2. 3. 4. CIMI Reference Model Archetype Object Model CIMI Modelling Patterns CIMI Style Guide • Modelling Approach 1. 2. 3. 4. 5. 6. Analyse clinical models submitted (with value sets) Identify maximal set of data elements Remove ‘out of scope’ data elements (Style Guide) Select appropriate CIMI Modelling Patterns(Style Guide) Define CIMI model (Mindmap, ADL, UML) Add Terminology bindings o o 7. 8. Meaning (nodes, node relationships) Value sets (maximal set from submitted models) Add Example Model Data Instances Technical Validation o ADL, UML 9. Clinical Validation / Review 10. Confirm mappings from submitted models Laboratory Results Report Submitted Models • • • • • • • • FHIR Intermountain NEHTA MOHH HL7 Netherlands (NFU) EN13606 Association Canada InfoWay Lab Report resource Standard Lab Obs Pathology Test Result Investigation Composition Clinical Care Document Lab Results Lab Test HL7 v3 POLB_MT004000UV FHIR – Lab Report resource Intermountain – Standard Lab Obs NEHTA – Pathology Test Result MOHH – Investigation Composition HL7 Clinical Care Document - Results NFU – Lab Results EN13606 Association – Lab Test Canada InfoWay – HL7 v3 POLB_MT004000UV CIMI Laboratory Results Report Design Lab Results Report (Composition) 1 Lab Report Header (Entry) 0..1 Patient Encounter Summary (Entry) 0..* 0..* Lab Test Request Summary (Entry) Lab Test Result (Entry) 0..* 0..* Specimen (Cluster) Test Result Group/Item (Cluster) 0..* Specimen (Cluster) 0..* Reference Range (Cluster) Identify maximal set of data elements • Comparative analysis of submitted models is used to identify the maximal set of relevant data elements for each model (see spreadsheet) Data Element Laboratory report header Data Type / Cardinality Class ENTRY Description 1 Information pertaining to the whole lab report Patient encounter summary ENTRY 0..1 Information about the patient encounter to which this report is related. Laboratory test request summary ENTRY 0..* The set of lab orders associated with the lab results in this report. Laboratory test result ENTRY 1..* Results grouped by specimen/kind/category Archetype Map for Laboratory Results Report Composition: Laboratory Report Header Patient Encounter Entry: Summary Laboratory Results Report Laboratory Test Request Summary Laboratory Test Observation Archetype Map for Laboratory Results Report Laboratory Results Report Composition: Laboratory Report Header Patient Encounter Entry: Summary Laboratory Test Request Summary Cluster: Action Action Laboratory Test Request Laboratory Test Observable Action Laboratory Test Observation Laboratory Test Observable Laboratory Test Result Group Specimen Reference Range Action COMPOSITION modelling patterns COMPOSITION constrains Clinical Report constrains Laboratory Results Report CIMI-COMPOSITION.laboratory_results_report class CIMI Core Reference Model LOCATABLE LINK + + + meaning :TEXT target :EHR_URI type :TEXT ARCHETYPED +archetype_details +links + + + 0..* archetype_node_id :String name :TEXT uid :UID_BASED_ID [0..1] 0..1 + + + archetype_id :ARCHETYPE_ID template_id :TEMPLATE_ID [0..1] rm_version :String = 1.0.6 {readOnly} + + + function :CODED_TEXT time :INTERVAL_VALUE<DATE_TIME> [0..1] mode :CODED_TEXT +participation PARTICIPATION 0..* COMPOSITION + + + category :CODED_TEXT language :CODED_TEXT territory :CODED_TEXT +content 0..* CONTENT_ITEM constrains constrains +party PARTY_PROXY 1..1 ENTRY modelling patterns ENTRY constrains Clinical Entry constrains Clinical Report Header constrains constrains Clinical Activity Observation constrains Request constrains constrains constrains constrains Observation Request constrains Laboratory Report Header Patient Encounter Summary Laboratory Test Request Summary Laboratory Test Observation CIMI-ENTRY.clinical_entry class CIMI Core Reference Model LOCATABLE LINK + + + meaning :TEXT target :EHR_URI type :TEXT 0..* ARCHETYPED +archetype_details +links + + + archetype_node_id :String name :TEXT uid :UID_BASED_ID [0..1] 0..1 + + + archetype_id :ARCHETYPE_ID template_id :TEMPLATE_ID [0..1] rm_version :String = 1.0.6 {readOnly} +participation PARTICIPATION 0..* + + + CONTENT_ITEM 1..* +data ENTRY + language :CODED_TEXT function :CODED_TEXT time :INTERVAL_VALUE<DATE_TIME> [0..1] mode :CODED_TEXT ITEM +party PARTY_PROXY 1..1 CIMI-ENTRY.laboratory_report_header ENTRY Clinical Entry CIMI-ENTRY.patient_encounter_summary ENTRY Clinical Entry CIMI-ENTRY.laboratory_test_request_summary ENTRY Clinical Entry CIMI-ENTRY.laboratory_test_observation ENTRY Clinical Entry Archetype Map for Laboratory Results Report Laboratory Results Report Composition: Laboratory Report Header Patient Encounter Entry: Summary Laboratory Test Request Summary Cluster: Action Action Laboratory Test Request Laboratory Test Observable Action Laboratory Test Observation Laboratory Test Observable Laboratory Test Result Group Specimen Reference Range Action CLUSTER modelling patterns CLUSTER constrains constrains constrains Observable constrains Material Entity Finding constrains Laboratory Test Observable Laboratory Test Result Group Reference Range constrains Action constrains Specimen Specimen Collection Site Laboratory Test Request CIMI-CLUSTER.laboratory_test_observable class CIMI Core Reference Model LOCATABLE LINK + + + meaning :TEXT target :EHR_URI type :TEXT ARCHETYPED +archetype_details +links + + + 0..* archetype_node_id :String name :TEXT uid :UID_BASED_ID [0..1] 0..1 + + + archetype_id :ARCHETYPE_ID template_id :TEMPLATE_ID [0..1] rm_version :String = 1.0.6 {readOnly} + + + function :CODED_TEXT time :INTERVAL_VALUE<DATE_TIME> [0..1] mode :CODED_TEXT +participation PARTICIPATION 0..* ITEM CONTENT_ITEM 1..* +items CLUSTER + structure_type :CODED_TEXT [0..1] +party PARTY_PROXY 1..1 Use of CIMI-CLUSTER.laboratory_test_observable CLUSTER modelling patterns Finding CLUSTER Finding Finding Group Laboratory Test Result Group Finding Item Laboratory Test Result Item Reference Range CIMI-CLUSTER.laboratory_test_result_group CLUSTER CIMI-CLUSTER.laboratory_test_result_item CLUSTER CIMI-CLUSTER.laboratory_test_result_item CLUSTER Finding Item CIMI-CLUSTER.reference_range CLUSTER Finding Item CLUSTER modelling patterns Material Entity CLUSTER Material Entity Specimen Anatomical Location Specimen Collection Site CIMI-CLUSTER.specimen CLUSTER CIMI-CLUSTER.specimen_collection_site CLUSTER Anatomical Location CLUSTER modelling patterns Action CLUSTER Action Encounter Action Collect Action Observe Action Receive Action Interpret Action Author Action Approve Action Issue Action Report Action Cancel Action Custodian Action Request Action Laboratory Test Request Action Requested Action CIMI-CLUSTER.approve_action CLUSTER CIMI-CLUSTER.approve_action CLUSTER Action CIMI-CLUSTER.request_action CLUSTER Action CIMI-CLUSTER.laboratory_test_ request_action CLUSTER Action Request Action CIMI-CLUSTER.collect_action CLUSTER Action Laboratory Results Report (Template) CIMI-COMPOSITION-TEMPLATE. laboratory_results_report Full Blood Count CIMI-ENTRY.complete_blood_count CIMI’s Modeling Approach • • • • • • • • Modular for reusability Composable for meeting use-cases Pattern-based for consistency Maximal for completeness Logical for implementation in multiple formats Constraint-based to allow specialisation Extensible for local requirements Terminology-bound for isosemanticity & interoperability Terminology Use Cases for Terminology in Models 1. Management and quality control of model libraries a) b) Searching model libraries (e.g. Find all archetypes with a meaning << Observable Entity) Identifying semantic overlap between models (e.g. 2 models that contain a cluster whose elements have the same or similar meanings) c) Inconsistency of model interdependencies (e.g. the meaning of a constrained archetype is not subsumed by the meaning of the base archetype) 2. Transforming between isosemantic representations of the model: both a) b) Different levels of precoordination (e.g. ‘Left leg’ versus ‘Leg’ + Laterality= “Left’) Different representation models (e.g. All ENTRYs with meaning << |Observable entity| to be mapped to a HL7 v3 Observation) 3. Querying data instances of models (including clinical decision support) which use different representations – for example: a) Different level of precoordiation versus structure (e.g. ‘Left leg’ versus ‘Leg’ + b) Different modeling design choices (e.g. Representing a medication’s Indication as a data c) Subsumption testing of values Laterality= “Left’) element, versus an ‘indication’ link to a Diagnosis archetype) 4. Supporting data validation and semantic interoperability (e.g. between systems which use different native information structures) Exchanging data Requirements for using Terminology in Models 1. Standard (reproducible) way of doing terminology bindings 2. The ability to represent the valid set of values for a given coded element. 3. The ability to state the association between the intended interpretation of nodes in the model and concepts in the terminology 4. Terminology bindings that are agnostic as to whether nodes are connected using a hierarchy or using links. 5. Terminology bindings that allow the values to be represented in a way that is agnostic to the degree of precoordination versus structure. 6. Terminology bindings that enable the transformation between isosemantic representations of the same model 7. Terminology bindings that allow consistency to be checked within models, and between models related by specialisation or used to fill slots (using an underlying ontology). 8. Support for semantic node labelling. Management and Quality Control of Model Libraries Example Scenarios • Search for: – An archetype whose meaning (without context) is subsumed by ‘Cardiovascular Observable’. • Validate archetype specialisations: – To ensure that there is a valid relationship between the meanings of the base and the constrained archetypes – for example: o Not valid: ‘Pulse rate’ (meaning = |pulse finding|) based on ‘Heart rate’ (meaning = |heart rate|) Meaning from different hierarchies o Valid: ‘Pulse rate’ (meaning = |pulse|) based on ‘Heart rate’ (meaning = |heart rate|) Meaning of constrained archetype subsumed by meaning of base archetype o Valid??: ‘Family history of diagnosis’ based on ‘Diagnosis’ archetype Is this valid, or not? (N.B.: Participation could change) • Validate archetype slot fillers: – To ensure that the meaning of the slot and the meaning of the archetype that fills it are consistent – for example: o Valid: Using a ‘Problem diagnosis’ archetype (meaning = |clinical finding|) to fill a ‘Cardiovascular problem/diagnosis’ slot (meaning = |cardiovascular finding|). o Using a ‘Problem diagnosis’ archetype to fill the following slots in a discharge summary: ‘Family history’, ‘Past history’, ‘Current problem/diagnosis’, or ‘Problems’ o Using a ‘Medication’ archetype to fill the following slots in a discharge summary : ‘Ceased medication’, ‘Current medication’, or ‘Past Medication’ Terminology Binding Approach • The meaning of each node is separated into 3 parts: verb, noun, modifier – Relationship: The relationship from the parent node to this node – Object: The ‘class’ of things defined by this node’s values – Modifier: Subject-relationship, temporal and procedure/finding context; State/Certainty/Negation; Mood code • Note: ‘Subject’ of ‘Subject-rel-object’ triple is the parent node CIMI Terminology Binding Approach STRUCTURE BINDING TERMINOLOGY Meaning Cluster: Medication Value Set Relationship Object Modifier (Linkage concept) Pharm/biol product (Context values) - Element: Medication Name (Linkage concept) Pharm/biol product (Context values) Medication Ref_Set Element: Active ingredient Has active ingredient Substance (Context values) Substance Ref_Set Element: Basis of Strength Has basis of strength substance Substance (Context values) Substance Ref_Set Element: Strength Has strength Measurement Finding (Context values) - Dose form Has dose form Drug dose form (Context values) Dose_Form Ref_Set Has indication Clinical Finding (Context values) Indication Ref_Set Element: Element: Indication Constraining archetype meaning (Object) STRUCTURE BINDING TERMINOLOGY Meaning Cluster: Methotrexate Medication Value Set Relationship Object Modifier (Linkage concept) Methotrexate Product (Context values) - Element: Medication Name (Linkage concept) Methotrexate Product (Context values) Methotrexate Ref_Set Element: Active ingredient Has active ingredient Substance (Context values) Substance Ref_Set Element: Basis of Strength Has basis of strength substance Substance (Context values) Substance Ref_Set Element: Strength Has strength Measurement Finding (Context values) - Dose form Has dose form Drug dose form (Context values) Dose_Form Ref_Set Has indication Clinical Finding (Context values) Methotrexate Indications Ref_Set Element: Element: Indication Constraining archetypes (Relationship) STRUCTURE BINDING TERMINOLOGY Meaning Cluster: Medication with Prim Ind Value Set Relationship Object Modifier (Linkage concept) Pharm/Biol Product (Context values) - Element: Medication name (Linkage concept) Pharm/Biol Product (Context values) Medication Ref_Set Element: Active ingredient Has active ingredient Substance (Context values) Substance Ref_Set Element: Basis of Strength Has basis of strength substance Substance (Context values) Substance Ref_Set Element: Strength Has strength Measurement Finding (Context values) - Element: Dose form Has dose form Drug dose form (Context values) Dose_Form Ref_Set Element: Primary Indication Has primary indication Clinical Finding (Context values) Indication Ref_Set Example: Diagnosis STRUCTURE BINDING TERMINOLOGY Meaning Cluster: Diagnosis Value Set Relationship Object Modifier (Linkage concept) Clinical Finding (Context values) - Element: Diagnosis name (Linkage concept) Clinical Finding (Context values) Diagnosis Ref_Set Element: Onset datetime Time aspect Date of onset (Context values) - Element: Diagnosis datetime Time aspect Date of diagnosis (Context values) - Element: Clinical status Finding context Finding context value (Context values) Clinical Status Ref_Set Element: Comments Has comment Clinical Finding (Context values) - Example: Slot filling (Primary diagnosis) STRUCTURE Cluster: Element: Cluster: BINDING TERMINOLOGY Discharge Summary Medical record number Primary diagnosis Meaning Relationship Object Modifier Has primary diagnosis Clinical Finding (Context values) Meaning Cluster: Diagnosis Element: Diagnosis name Element: Onset datetime Relationship Object Modifier (Linkage concept) Clinical Finding (Context values) Value Set - Value Set - Example: Slot filling (Family History) STRUCTURE Cluster: BINDING TERMINOLOGY Discharge Summary Meaning Element: Cluster: Medical record number Family history Relationship Has diagnosis Object Modifier Clinical Finding Family history (Person in family of subject) Meaning Cluster: Diagnosis Element: Diagnosis name Element: Onset datetime Relationship Object Modifier (Linkage concept) Clinical Finding (Context values) Value Set - Value Set - Example: Slot filling (Secondary Disease) STRUCTURE Cluster: BINDING TERMINOLOGY Discharge Summary Meaning Element: Cluster: Medical record number Secondary disease Relationship Object Modifier Has secondary disease Disease (Context values) Meaning Cluster: Diagnosis Element: Diagnosis name Element: Onset datetime Relationship Object Modifier (Linkage concept) Clinical Finding (Context values) Value Set - Value Set - Example: Slot Filling (Ceased Medications) STRUCTURE BINDING TERMINOLOGY Discharge Summary Meaning Medical record number Ceased medications Relations hip Object Administer Pharm / biologic product Modifier Ceased Rules Value Set Ceased medications.Status = “Ceased” - Rules Value Set Meaning Medication Medication name Active ingredient Relations hip Object Modifier (Linkage concept) Pharm / biologic product (Context values) - Future work & references Future Work • Develop CIMI Modelling Style Guide • Demographics: – Finalise CIMI Demographics RM & Party Models • Lab Results Report: – Finish terminology bindings for Lab Results Report – Create Lab Results specialisations (e.g. CBC) – Create Lab Results Report instance examples • Implementation: – Create ADL & Implementation artefacts (FHIR etc) • Other models: Immunizations, Temperature Online References • CIMI Web Page – http://informatics.mayo.edu/CIMI • Google doc repository – http://content.clinicalmodels.org • Google groups email list (cimi-modelling-taskforce) – http://groups.google.com/group/cimi-modellingtaskforce?hl=en-GB • Issue tracking (github) – https://github.com/clinicalmodels/cimi/ Issues for Discussion • Volunteer time – Limited time resources • Tooling: – Urgently need tooling to generate ADL – Need tooling for model display and validation – Need terminology tooling for CIMI value sets – Need repository for sharing models • Model review process: – Need formal model review processes and governance Questions