T Beale, Joey Coyle CIMI meeting Sep 2012 Copyright 2012 Ocean Informatics.

Slides:



Advertisements
Similar presentations
# 1 Practical modeling issues: Representing coded and structured patient data in EHR systems AMIA Fall Conference Novermber 13, 2010 Stanley M Huff, MD.
Advertisements

Semantics Static semantics Dynamic semantics attribute grammars
CSE341: Programming Languages Lecture 2 Functions, Pairs, Lists Dan Grossman Winter 2013.
Topics in OO, Design Patterns, Reasoning About Program Behavior... (part 4) Neelam Soundarajan Computer Sc. & Eng.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Laboratory Panels &Tests Discussions (a.k.a. Observation Groups verses Atomic Observations)
Thomas Beale CTO, Ocean Informatics Copyright 2012 Ocean Informatics Tromso 27 May 2014.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
CIMI Modelling Taskforce Progress Report
Guoqian Jiang, MD, PhD Mayo Clinic
CSE341: Programming Languages Lecture 2 Functions, Pairs, Lists Dan Grossman Fall 2011.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
ONC JASON report hearing 31 July 2014 Thomas Beale - openEHR Foundation.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Chapter 10 Class and Method Design
CIMI/IHTSDO DCM tooling ecosystem thoughts
Slide 1 Chapter 10 Class and Method Design. Slide 2 REVISITING THE BASIC CHARACTERISTICS OF OBJECT-ORIENTATION.
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. All rights reserved..
NHS CFH Approach to HL7 CDA Rik Smithies Chair HL7 UK NProgram Ltd.
XML Signature Prabath Siriwardena Director, Security Architecture.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 10: Class and Method.
CIMI + FHIR Grahame Grieve 10-August 2015 Salt Lake City.
National Institute of Standards and Technology Technology Administration U.S. Department of Commerce 1 Patient Care Devices Domain Test Effort Integrating.
Modeling Options HSPC Meeting June 17, 2015 Washington DC.
Avoid using attributes? Some of the problems using attributes: Attributes cannot contain multiple values (child elements can) Attributes are not easily.
Comments on doing a CIM Project
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Web Usage Mining for Semantic Web Personalization جینی شیره شعاعی زهرا.
Chapter 7 System models.
The SCORM Runtime Environment Chris Poole: Senior Content Developer The Scorm Runtime Environment An Overview By Chris Poole.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Requirements for RDF Validation Harold Solbrig Mayo Clinic.
Archetype Modeling Language (AML) for CIMI UML for Archetypes Status update April 11, 2013.
ITB Web programming for E- Commerce 1 ITB6227 Programming for E-COMMERCE Lecture Presentation of XML Documents.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 10: Class and Method.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Modeling Issues for Data Warehouses CMPT 455/826 - Week 7, Day 1 (based on Trujollo) Sept-Dec 2009 – w7d11.
REFACTORINGREFACTORING. Realities Code evolves substantially during development Requirements changes 1%-4% per month on a project Current methodologies.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
STEP Tutorial: “ Fundamentals of STEP” David Briggs, Boeing January 16, 2001 ® PDES, Inc NASA STEP Workshop step.nasa.gov.
Doing a CIM Project. 22 CIM Design Center  A rule I learned about applying technology:  Understand the design center of the technology.  Use extreme.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
SEG 4110 – Advanced Software Design and Reengineering Topic T Introduction to Refactoring.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
CIMI/IHTSDO DCM tooling ecosystem thoughts Thomas Beale Stan Huff.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Subtopics: 1. Frameworks :Reusable systems 2. Design Patterns 1.
Transforming CIMI into SNOMED expressions Source model Target model Model mapping Source file Target file XSLT Issues.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
Jun Tatemura NEC Laboratories Amercia GGF10, March 2004
Systems Analysis and Design
Abstract descriptions of systems whose requirements are being analysed
Logical architecture refinement
Chapter 11 Describing Process Specifications and Structured Decisions
Systems Analysis and Design with UML Version 2.0, Second Edition
Task 34 Scope – LTP Port (L=Nigel Davis)
Presentation transcript:

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