CIMI Modelling Taskforce Report Dr Linda Bird 11th April 2013 Agenda • Background • CIMI Modelling Approach • CIMI Modelling Foundations 1. 2. 3. 4. CIMI Reference Model Archetype Object Model Modelling Patterns Modelling Style Guides • Laboratory Results models • • Review of models Model specialisations • Demographics Models • Future Work • Terminology Binding 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 May to Sep Sept 14 - 16 Oct to Dec Dec 2 – 4 Meeting in Pleasanton Modelling Taskforce established Taskforce infrastructure and planning; Modelling methodology; Observation modelling pattern; Heart rate model Meeting in Rockville Modelling priorities: Lab Results Report (followed by Immunizations and Body Temperature) Design Lab Results model structure and modelling patterns Establish terminology binding methodology & reference sets Begin to review CIMI Demographics RM Begin designing specialised Lab models Taskforce meeting in Groningen Modelling Taskforce History (2013) Jan 18 – 20 Meeting in Scottsdale Feb – Apr 4 Terminology and Modelling Tooling (led by Harold) CIMI Modelling Style Guides (TOC) Comparative Analysis Spreadsheet template Laboratory Results Models Example Terminology bindings Lab Specialisation Models – CBC & Gas and CM Panels Demographics models Finalisation of CIMI Reference Model Review Implementation work CIMI RM BMM, ADL 1.5 generation CIMI MODELLING APPROACH CIMI’s Modeling Approach • • • • • • • • Modular for reusability Composable to meet use-cases Pattern-based for consistency Constraint-based to allow specialisation Logical for implementation in multiple formats Maximal for completeness Extensible for local requirements Bound to terminology for isosemanticity & interoperability CIMI Architectural Overview 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 FOUNDATION 1: CIMI REFERENCE MODEL CIMI Reference Model - Core class CIMI Core Model LOCATABLE LINK link meaning :TEXT source 0..* ARCHETYPED archetype_details archetype_node_id :String target name :String 0..1 archetype_id :String rm_version :String = 1.0.11 {readOnly} 1 PARTICIPATION participation function :CODED_TEXT 0..* details :ITEM [0..*] 1..1 COMPOSITION category :CODED_TEXT language :CODED_TEXT jurisdiction :CODED_TEXT content 0..* CONTENT_ITEM 0..* item SECTION 1..* data ENTRY ITEM language :CODED_TEXT 1..* item Name: Author: Version: Created: Updated: CIMI Core Model CIMI MTF 1.0.10 30/11/2012 8:32:29 PM 9/04/2013 1:29:40 PM PARTY party CORE_LOCATABLE CLUSTER structure_type :CODED_TEXT [0..1] ELEMENT null_flavor :CODED_TEXT [0..1] value :DATA_VALUE [0..1] details :ITEM [0..*] CIMI Reference Model – Data Values class CIMI Data Value Types IDENTIFIER URI + + + YESNO + value :Boolean EHR_URI id :String type :CODED_TEXT issuer :String CODED_TEXT + + + + + TEXT STRING_VALUE + PARSABLE + + + language :CODED_TEXT [0..1] value :String code :String terminology_id :TERMINOLOGY_ID terminology_version :String [0..1] term :String [0..1] term_id :String [0..1] formalism :CODED_TEXT value :String +target DATA_VALUE 1..1 +mapping 0..* PLAIN_TEXT ENCAPSULATED TERM_MAPPING MULTIMEDIA + + + + + + T : ORDERED_VALUE alternate_text :String [0..1] data :Byte [0..*] (Array) media_type :CODED_TEXT uri :URI [0..1] 0..1+upper<T> ORDERED_VALUE INTERVAL_VALUE + + + + +lower<T> 0..1 symbol :CODED_TEXT value :Integer + «enumeration» TermMappingMatchEnum > = < ? value_status :String [0..1] String AMOUNT + + Character upper_unbounded :Boolean lower_unbounded :Boolean upper_included :Boolean lower_included :Boolean QUANTIFIED ORDINAL + + match :Character purpose :CODED_TEXT [0..1] «enumeration» QuantifiedValueStatusEnum accuracy :Real [0..1] accuracy_is_percent :Boolean [0..1] DATE_TIME - value :String = < > <= >= ~ COUNT + Name: Author: Version: Created: Updated: value :Integer CIMI Data Value Types CIMI MTF 1.0.10 22/03/2013 9:00:10 AM 22/03/2013 9:08:49 AM PROPORTION + + + + numerator :Real denominator :Real precision :Integer [0..1] type :CODED_TEXT QUANTITY + + + value :Double units :CODED_TEXT precision :Integer [0..1] + duration_text :String [0..1] DURATION DATE {units constrained to units of time} TIME CIMI Reference Model – Party Model class CIMI Participation Model «archetype_parent» LOCATABLE + + PARTY_RELATIONSHIP + + type :CODED_TEXT details :ITEM [0..*] archetype_node_id :String name :String +relationship 0..* +source PARTY +target + details :ITEM [0..*] 1..1 Name: Author: Version: Created: Updated: CIMI Participation Model CIMI MTF 1.0.10 25/04/2012 7:04:30 AM 9/04/2013 1:34:38 PM ROLE + type :CODED_TEXT ACTOR +role 0..* + type :CODED_TEXT FOUNDATION 2: ARCHETYPE OBJECT MODEL Archetype Object Model (AOM) 1.5 AOM 1.5 Archetype AOM 1.5 Constraint Model AOM 1.5 Primitive AOM 1.5 Assertion AOM 1.5 Ontology Archetype Definition Language 1.5 archetype (adl_version=1.5) CIMI-RM-CLUSTER.anatomical_location.v1 concept [at0000] -- Anatomical location language original_language = <[ISO_639-1::en]> description original_author = < ["name"] = <"Ian McNicoll"> ["date"] = <"29/11/2012“> > details = < ["en"] = < language = <[ISO_639-1::en]> purpose = <" Identification of a single anatomical structure, or area, of the human body"> use = <""> misuse = <""> copyright = <"“> > > lifecycle_state = <"AuthorDraft"> other_contributors = <> other_details = <> definition CLUSTER[at0000] matches { -- Anatomical location items matches { ELEMENT[at0001] occurrences matches {0..1} matches { -- Body site name value matches { TEXT matches {*} } } ELEMENT[at0002] occurrences matches {0..1} matches { -- Body site description value matches { TEXT matches {*} } } ELEMENT[at0003] occurrences matches {0..1} matches { -- Body side value matches { TEXT matches {*} } }}}} ontology term_definitions = < ["en"] = < items = < ["at0000"] = < text = <"Anatomical location"> description = <" Identification of a single anatomical structure, or area, of the human body“>> ["at0001"] = < text = <"Body site name"> description = <"Name of anatomical location, as specific as is possible.“> > ["at0002"] = < text = <"Body site description"> description = <"Description of anatomical location.“> > ["at0003"] = < text = <"Body side"> FOUNDATION 3: CIMI MODELLING PATTERNS CIMI Modelling Layers CLUSTER ENTRY SECTION COMPOSITION Implementation Purpose Context Laboratory Test Result Item API Laboratory Test Observation GUI Current Medication List in EHR Laboratory Report Message Care Setting Context Inpatient Laboratory Test Result Item Outpatient Laboratory Test Observation Outpatient Clinic Current Medication List Inpatient Laboratory Results Report Use Case Context Full Blood Count Test Result Item Current Medication List Full Blood Count Results Report Specialty Context Biochemistry Test Result Item Gas and Carbon Monoxide Panel Observation Microbiology Test Observation Cardiology Medication List Biochemistry Laboratory Results Report Clinical Models Laboratory Test Result Item, Refernce Range Laboratory Test Observation Medication List Laboratory Results Report Patterns Observable, Finding, Action, Material Entity Observation, Clinical Activity Request Clinical List Clinical Report Reference Model COMPOSITION modelling patterns COMPOSITION constrains Clinical Report CIMI-COMPOSITION.clinical_report class CIMI Core Model LOCATABLE LINK link meaning :TEXT source archetype_node_id :String target name :String 0..* archetype_details 0..1 ARCHETYPED archetype_id :String rm_version :String = 1.0.11 {readOnly} 1 participation CORE_LOCATABLE COMPOSITION category :CODED_TEXT language :CODED_TEXT jurisdiction :CODED_TEXT content 0..* CONTENT_ITEM constrains PARTICIPATION PARTY party function :CODED_TEXT 0..* details :ITEM [0..*] 1..1 details :ITEM [0..*] ENTRY modelling patterns ENTRY constrains Clinical Entry constrains constrains constrains Clinical Report Header Clinical Activity constrains Request constrains Observation Request Observation CIMI-ENTRY.clinical_entry class CIMI Core Model LOCATABLE LINK meaning :TEXT link source archetype_details archetype_node_id :String target name :String 0..* 0..1 ARCHETYPED archetype_id :String rm_version :String = 1.0.11 {readOnly} 1 PARTICIPATION participation function :CODED_TEXT 0..* details :ITEM [0..*] CONTENT_ITEM ENTRY PARTY party CORE_LOCATABLE data 1..* ITEM language :CODED_TEXT constrains 1..1 details :ITEM [0..*] CIMI-ENTRY.clinical_report_header ENTRY constrains Clinical Entry constrains CIMI-ENTRY.clinical_activity ENTRY constrains Clinical Entry constrains CIMI-ENTRY.request & observation_request ENTRY constrains Clinical Entry constrains Clinical Activity constrains constrains CIMI-ENTRY.observation ENTRY constrains Clinical Entry constrains CLUSTER modelling patterns CLUSTER constrains constrains constrains Observable Material Entity Finding Action CLUSTER modelling patterns CLUSTER constrains constrains constrains Observable Material Entity Finding Action constrains Finding Group Finding Item Request Action CIMI-CLUSTER.observable class CIMI Core Model LOCATABLE LINK link meaning :TEXT source archetype_node_id :String target name :String 0..* archetype_details 0..1 ARCHETYPED archetype_id :String rm_version :String = 1.0.11 {readOnly} 1 participation CORE_LOCATABLE PARTICIPATION ITEM 1..* item CLUSTER structure_type :CODED_TEXT [0..1] constrains PARTY party function :CODED_TEXT 0..* details :ITEM [0..*] 1..1 details :ITEM [0..*] CIMI-CLUSTER.finding class CIMI Core Model LOCATABLE LINK link meaning :TEXT source archetype_node_id :String target name :String 0..* archetype_details 0..1 ARCHETYPED archetype_id :String rm_version :String = 1.0.11 {readOnly} 1 participation CORE_LOCATABLE PARTICIPATION ITEM 1..* item CLUSTER structure_type :CODED_TEXT [0..1] constrains PARTY party function :CODED_TEXT 0..* details :ITEM [0..*] 1..1 details :ITEM [0..*] CIMI-CLUSTER.finding_group CLUSTER Finding constrains CIMI-CLUSTER.finding_item CLUSTER Finding constrains CIMI-CLUSTER.action CLUSTER constrains CIMI-CLUSTER.materal_entity CLUSTER constrains FOUNDATION 4: STYLE GUIDES CIMI Modelling Style Guides • • • • User Guide Editorial Guide Terminology Binding Guide Technical Guide User Guide • Introduction – – – – • Modelling Framework – – – – • Overview CIMI Reference Model Archetype Object Model CIMI Modelling Patterns Modelling Methodology – – – – – – – – – – • Background Definitions Objectives and Benefits Document Overview Analyse Source Clinical Models Identify Maximal Data Elements Remove Out of Scope Data Elements Identify Modelling Patterns Define CIMI Model Add Terminology Bindings Add Example Data Instances Technical Validation Clinical Validation Model Transformations Modelling Examples and Use Cases – Examples – Use Cases Editorial Guide • Introduction – – – – – • Modelling Principles – – – – – – – – – – • Background Definitions Modelling Framework Modelling Objectives and Benefits Document Overview General Principles Quality Criteria Scope of Models Granularity of Models Consistency and Reuse Context and Model Layers Isosemantic Models (boundary of structure and terminology) Representing the Subject of a Record Terminology Bindings Mappings and Transformations Modelling Patterns – – – – – Overview Composition Modelling Patterns Section Modelling Patterns Entry Modelling Patterns Cluster Modelling Patterns Terminology Binding Guide • Introduction – – – – – • Types of Terminology Bindings – – – – – – • Background Definitions Objectives and Benefits Terminology Binding Requirements Document Overview Overview Value Set Bindings Relationship Bindings Object Bindings Modifier Bindings Terminology Design Patterns (SNOMED CT) Terminology Binding Rules – – – – – – General Binding Rules Modifier Binding Rules Terminology Design Pattern Rules Model Specialisation Filling Model Slots and References Terminology Focal Nodes • Terminology Binding Patterns – – – – – • Overview Composition Binding Patterns Section Binding Patterns Entry Binding Patterns Cluster Binding Patterns Terminology Binding Examples and Use Cases – – Examples Use Cases Technical Guide • Introduction – – – – – • CIMI Reference Model – – – • • • • • Background Definitions Architectural Framework Objectives and Benefits Document Overview Core Reference Model Data Types Party Model Archetype Object Model Archetype Definition Language Archetype Modelling Language Model Instance Representation Model Transformation and Implementation COMPARATIVE ANALYSIS OF SOURCE MODELS Comparative Analysis Template • Purpose: To compare a set of existing clinical models, and identify the maximal set of data items to be included in the international CIMI models. In so doing, it also documents the high-level mapping from the CIMI data items to the source data models. The spreadsheet is divided into worksheets, where each worksheet refers to an individual, reusable data model that may be composed together to describe a more complex clinical concept (e.g. Laboratory Results Report, Immunisation Record, Vital Signs Summary) Comparative Analysis Template Comparative Analysis Template Comparative Analysis Template LABORATORY MODELS Submitted Models • • • • • • • • FHIR Intermountain NEHTA MOHH HL7 Netherlands (NFU) EN13606 Assoc Canada InfoWay Lab Report resource Standard Lab Obs Pathology Test Result Investigation Composition Clinical Care Document Lab Results Lab Test HL7 v3 POLB_MT004000UV Archetype Map for Laboratory Results Report Composition: Laboratory Results Report Archetype Map for Laboratory Results Report Laboratory Results Report Composition: Laboratory Report Header Entry: Patient Encounter Summary Laboratory Test Request Summary Laboratory Test Observation Archetype Map for Laboratory Results Report Laboratory Results Report Composition: Laboratory Report Header Patient Encounter Summary Entry: 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 Laboratory Results Report COMPOSITION constrains Clinical Report constrains Laboratory Results Report CIMI-COMPOSITION.laboratory_results_report COMPOSITION constrains Clinical Report constrains Entry Laboratory Report Header ENTRY constrains Clinical Entry constrains Clinical Report Header constrains Laboratory Report Header CIMI-ENTRY.laboratory_report_header ENTRY constrains Clinical Entry constrains Clinical Report Header constrains Entry Patient Encounter Summary ENTRY constrains Clinical Entry constrains Clinical Activity constrains Patient Encounter Summary CIMI-ENTRY.patient_encounter_summary ENTRY constrains Clinical Entry constrains Clinical Activity constrains Entry Laboratory Test Request Summary ENTRY constrains Clinical Entry constrains Clinical Activity constrains Request constrains Observation Request constrains Laboratory Test Request Summary CIMI-ENTRY.laboratory_test_request_ summary ENTRY constrains Clinical Entry constrains Clinical Activity constrains Request constrains Observation Request constrains Entry Laboratory Test Observation ENTRY constrains Clinical Entry constrains Observation constrains Laboratory Test Observation CIMI-ENTRY.laboratory_test_observation ENTRY constrains Clinical Entry constrains Observation constrains Archetype Map for Laboratory Results Report Laboratory Results Report Composition: Laboratory Report Header Patient Encounter Summary Entry: 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 Laboratory Test Observable CLUSTER constrains Observable constrains Laboratory Test Observable CIMI-CLUSTER. laboratory_test_observable CLUSTER constrains Observable constrains Cluster Laboratory Test Result Group CLUSTER constrains Finding constrains Finding Group constrains Laboratory Test Result Group CIMI-CLUSTER. laboratory_test_result_group CLUSTER constrains Finding constrains Finding Group constrains Cluster Laboratory Test Result Item CLUSTER constrains Finding constrains Finding Item constrains Laboratory Test Result Item CIMI-CLUSTER. laboratory_test_result_item CLUSTER constrains Finding constrains Finding Item constrains Cluster Reference Range CLUSTER constrains Finding constrains Finding Item constrains Reference Range CIMI-CLUSTER.reference_range CLUSTER constrains Finding constrains Finding Item constrains Cluster Specimen CLUSTER constrains Material Entity constrains Specimen CIMI-CLUSTER.specimen CLUSTER constrains Material Entity constrains Cluster Specimen Collection Site CLUSTER constrains Material Entity constrains Anatomical Location constrains Specimen Collection Site CIMI-CLUSTER.specimen_collection_site CLUSTER constrains Material Entity constrains Anatomical Location constrains CLUSTER Laboratory Actions 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 Cluster Laboratory Test Request Action CLUSTER constrains Action constrains Request Action constrains Laboratory Test Request Action CIMI-CLUSTER. laboratory_test_request_action CLUSTER constrains Action constrains Request Action constrains Cluster Approve Action CLUSTER constrains Action constrains Approve Action CIMI-CLUSTER.approve_action CLUSTER constrains Action constrains LABORATORY MODEL SPECIALISATIONS Laboratory Model Specialisations 1. Complete Blood Count with Manual Differential Panel 2. Complete Blood Count with Auto Differential Panel 3. Complete Blood Count without Differential 4. Gas and Carbon Monoxide Panel Complete Blood Count ENTRY constrains Clinical Entry constrains Observation constrains Laboratory Test Observation constrains Complete Blood Count Complete Blood Count Complete Blood Count Complete Blood Count Complete Blood Count Specialisations ENTRY constrains Clinical Entry constrains Observation constrains Laboratory Test Observation constrains Complete Blood Count constrains Complete Blood Count Without Differential constrains Complete Blood Count With Auto Differential constrains Complete Blood Count With Manual Differential Complete Blood Count Without Differential Complete Blood Count Without Differential Complete Blood Count With Manual Differential Complete Blood Count With Manual Differential Panel Complete Blood Count With Manual Differential Panel Complete Blood Count With Manual Differential Panel Complete Blood Count With Auto Differential Complete Blood Count With Auto Differential Panel Complete Blood Count With Auto Differential Panel Complete Blood Count With Auto Differential Panel Gas and Carbon Monoxide Panel DEMOGRAPHICS MODELS Participation & Party Reference Model class CIMI Core Model PARTICIPATION participation PARTY party CORE_LOCATABLE function :CODED_TEXT 0..* details :ITEM [0..*] 1..1 details :ITEM [0..*] class CIMI Participation Model «archetype_parent» LOCATABLE + + PARTY_RELATIONSHIP + + type :CODED_TEXT details :ITEM [0..*] archetype_node_id :String name :String +relationship 0..* +source PARTY +target + details :ITEM [0..*] 1..1 ROLE + type :CODED_TEXT ACTOR +role 0..* + type :CODED_TEXT When is demographics demographics? • Question: When is CIMI information modelled using the ‘PARTY’ model, and when is it modelled using the core reference model? • Proposed Criteria: – Does the information relate to a specific healthcare event or not? • Does it record the results of an observation, evaluation, assessment, or activity? • If yes, then use Core Reference Model • E.g. Age is specific to a point in time, Living Dependency is an assessment and Biologic Sex is an observation – Is this information only relevant to the Subject of Care, or do we need to record this about other Parties participating in the record as well? • If needed about other Parties, then usually use Party model • E.g. Address may be relevant for Next of Kin; Disability may be relevant for a Dependent – How is it commonly used in systems? • Source models are used to determine common implementation practice Demographics Source Models • • • • • • • • • • • HL7 v3 RIM NHS LRA NEHTA (Participation) FHIM (Federal Health Information Model) Demographics model HL7 FHIR (Organisation, Person, Patient, Agent, Group) openEHR ISO13606 (Standard and new draft) ISO-22220 MOHH (Singapore) DCM (The Netherlands) Intermountain Healthcare CIMI Demographics Models • CLUSTER – – – – Location Address Electronic Contact Party Name • PARTY – ACTOR • Person • Organisation – ROLE • Person Role • Healthcare Consumer • Healthcare Provider – Healthcare Provider Individual – Healthcare Provider Organisation Location CLUSTER constrains Address CLUSTER constrains Address Detailed CLUSTER constrains Address constrains Electronic Contact CLUSTER constrains Party Name CLUSTER constrains constrains Actor Name constrains Party Name Person Name constrains Party PARTY constrains Actor PARTY: ACTOR constrains Party constrains Person Party constrains Actor constrains Organisation Party constrains Actor constrains Role PARTY: ROLE constrains Party constrains Person Role Party constrains Role constrains Healthcare Consumer Party constrains Role constrains Person Role constrains Healthcare Provider Party constrains Role constrains Healthcare Provider Individual Party constrains Role constrains Healthcare Provider constrains Healthcare Provider Organisation Party constrains Role constrains Healthcare Provider constrains FUTURE WORK Future Work • Foundations – Reference model • – Archetype object model • – Laboratory Results models • – – Add instances, specialisations and complete terminology bindings Immunization models Temperature and other priorities Implementation – – – – • Complete content Models – • Documentation and terminology bindings Add new patterns to support new models Style guides • • Extensions to support terminology Modelling patterns • • – Documentation and implementation Generate ADL 1.5 for all modelling patterns and models Build modelling foundations in tooling infrastructure Create associated tooling, including instance generation and visualisations Create transformations to priority implementation formats Governance – Establish modelling development, review and publication processes and procedures 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/ QUESTIONS