T Beale, Joey Coyle CIMI meeting Sep 2012 Copyright 2012 Ocean Informatics
Brief pictorial representation of CEMs CEM archetype conversion architecture Issues to do with transformation ◦ Reference model ◦ Data types ◦ Formalism ◦ ‘style’ issues Copyright 2012 Ocean Informatics
Statement > Data StandardLabObs Quantitative e.g. PQ Statement > Data SodiumSCncPt SerPlasBldQnLabObs PQ; mmol/l; labNullFlavor > Attribution > Attribution > Qualifier > Item Statement > Qualifier > Qualifier > Mod > Attribution StandardLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data
> Attribution > Attribution > Qualifier > Item Statement > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item!
> Attribution > Attribution > Qualifier > Item State ment > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item! > Attribution > Attribution > Qualifier > Item State ment > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item! > Attribution > Attribution > Qualifier > Item State ment > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item! > Attribution > Attribution > Qualifier > Item State ment > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item! Na + K+K+ HCO 3 - etc > Attribution > Attribution > Qualifier > Item State ment > Qualifier > Qualifier > Mod > Attribution StandardLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data > Attribution > Attribution > Qualifier > Item > panel > Qualifier > Qualifier > Mod > Attribution StandardLabPanel Subject > Qualifier > Data > Qualifier > Data > Item > Item items AccessionNumber; ReportingPriority; TestStatus; PlacerOrderNumber; ResultCopiesTo SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Card (0..*) ~3,000 of these!
> Attribution > Attribution > Qualifier > Item State ment > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item! > Attribution > Attribution > Qualifier > Item State ment > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item! > Attribution > Attribution > Qualifier > Item State ment > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item! > Attribution > Attribution > Qualifier > Item State ment > Data > Qualifier > Qualifier > Mod > Attribution SodiumSCncPt SerPlasBldQnLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item PQ; mmol/l AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Everything eventually turns into Data & Item! Na + K+K+ HCO 3 - etc > Attribution > Attribution > Qualifier > Item State ment > Qualifier > Qualifier > Mod > Attribution StandardLabObs Subject > Qualifier > Data > Qualifier > Data > Item > Item AccessionNumber; ReportingPriority; ResultStatus; PerformingLaboratory; ResponsibleObserver SpecimenCollected; SpecimenReceivedByLab; Resulted; Verified... > Data > Data Electrolytes archetype Lab archetype Lipids archetype LFT archetype etc e.g. Chem20 panel template Archetypes are governance units Templates are the actual models – data sets
Issue areas: ◦ Reference model differences, including data types ◦ CDL / ADL formalism differences ◦ Model style: granularity, factoring, element classification, structuring ◦ Terminology approach
CDL ADL converter Arche type Temp late CEM IHC Terminology direct coding Canonical CEM test library CEM CEM CEM restyler Restyling to obtain consistency IHC Terminology direct coding IHC Terminology binding
CEM Reference model ◦ Minimalist, ‘RISC’ approach Statement / Component / Item; Association / Panel /... ◦ Assumes CEMs will do more of the work openEHR Reference Model ◦ Larger, ‘CISC’ approach ◦ More higher level classes ◦ Archetypes do less work
CEMs based on modified/simplified HL7 data types Data type mapping analysis performed ◦ ~ 1:1 match with openEHR ◦ Particular issues: Some things don’t exist in openEHR PQ.originalText CD.codingRationale, CO.codingRationale
Generally: similar power to ADL but: ◦ Not block-structured Uses recursive inclusion only ◦ No languages (not needed) ◦ Binding to multiple terminologies not native in CDL - requires using external terminology server (doesn’t have to be IHC) ◦ No multi-attribute (co-occurrence) constraints. ◦ Context-conduction probably too difficult for modellers to reason about; complicates software... My (TB) personal view Joey Coyle: this only occurs from panel to statements. The modeller models the statements first!, optional panels come later… no reasoning when building a panel… if qualifier is common to all children in a panel, then makes sense to this simple farm boy that it could go in the panel. ◦ Does templating as single files allowing anonymous constraint types. ADL 1.5 has same semantics but uses multiple files; needs to be more like CDL
The following slides are early analysis on my part (TB) ◦ May contain errors Partly corrected by Joey Coyle ◦ Not criticisms of CEM model base ◦ Many true of CKM model base ◦ Possible risks for any model base, including CIMI
A. Inconsistent style across model base ◦ E.g. Inheritance used in models such as lab and order CEMs but not in others such as measurements and assertions. B. Legacy structuring due to: ◦ Earlier modelling styles now deemed obsolete ◦ Limitations of ASN.1, CEML and/or previous tooling C. Undesirable structures/patterns due to perceived tooling / CDL limitations D. Style that is consciously or unconsciously due to implementation needs E. Patterns due to Ref Model structure (applies to more hard-wired RMs than Intermountain)
F. Conscious ‘good style’ ◦ There today and intended to be preserved G. Further ‘good style’ ideas ◦ described but not yet implemented on model base H. As yet undescribed limitations, poor or missing patterns
Probably due to ◦ organic growth of models over time ◦ lack of integrated analysis tools (some exist for ASN.1 model and other CEM representations) ◦ Lack of fully described modelling methodology, and different modellers following different styles. Is avoiding this ever possible? ;-) Examples: ◦ Inheritance is used in StandardLabObs hierarchy, … but not in clinical measurements. ◦ Unclear how much re-use actually exists i.e. are there leaf models that should be incorporated into parents? requires analytical tool like slot analysis ◦ Qualifiers classification – objective rules?
Due to previous incarnations of models Example: ◦ Address sub-items AddressLine1, AddressLine2, etc are separate models due to in ability of ASN.1 to conveniently do nesting. CEML (generation 2) was created to solve this ◦ Nesting now available in CDL – anonymous inline models, but not always used because models have not been converted ◦ child ‘models’ should be incorporated into parent, e.g. Move addressLine1.. N CEM into Address CEM
CDL may not provide everything that is needed Example: ◦ There is no Chem20 or Chem7 panel CEM Note: they are technically possible, just not there ◦ Don’t add any value in Intermountain because all context items are defined on leaf level atoms anyway, but on other RMs this would not be true
CDL may not provide everything that is needed – do modellers compensate? Example: ◦ No way to express co-occurrences, e.g. existence of one field depends on value of others. ◦ Others - TBC
Examples: ◦ A number of Qualifiers appear on single analyte models that only sensibly apply to whole panel, even in the case where panel contains one item E.g. PlacerOrderNumber, FillerOrderNumber, AccessionId, ResultStatus ◦ These have the appearance of being repeated on all analytes in a panel. In fact they are not repeated on all analytes in a panel - analytes are modeled completely free from a panel, and if a panel is then later modelled, then common qualifiers among the analytes are also modeled into the panel (Q: is this actually always done?) ◦ The panel model includes some duplicate items
Some elements appear to be always the same, and could be included in reference model or ‘reference archetype’ aka ‘base models’ ◦ E.g. An Observation with ‘subject’, ‘info provider’
Use of inheritance e.g. StandardLabObs, Order, Attribution.
Possible additions ◦ ‘archetype-CEMs’ Add ‘governance unit’ models like archetypes that group things based on topic Add actual panel/data-set models that inherit from archetype-CEMs and remove unwanted stuff ◦ Separate out process data points from clinical data points Typically very local, e.g. Workflow ids, order management elements etc