CIMI (Core) Reference Model & Data Types Proposed Changes...

22
The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012 1 / 22 CIMI (Core) Reference Model & Data Types Proposed Changes as Discussed @ github and the google modelling taskforce list Rockville F2F sept-2012 www.github.org for issues distilled from the discussions [cimi-modelling-taskforce] google groups list for general discussions https://groups.google.com/d/forum/cimi-modelling-taskforce

Transcript of CIMI (Core) Reference Model & Data Types Proposed Changes...

Page 1: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20121 / 22

CIMI (Core) Reference Model & Data TypesProposed Changes as Discussed @ github

and the google modelling taskforce list

Rockville F2F sept-2012

www.github.org for issues distilled from the discussions[cimi-modelling-taskforce] google groups list for general discussions

https://groups.google.com/d/forum/cimi-modelling-taskforce

Page 2: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20122 / 22

Tesler's LawLaw of Conservation of Complexity

“Every application is complex, the question is were is the complexity solved, if not in the UI

then the back-end needs to handle it.”

– Tesler (Apple Design Guru)

Page 3: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20123 / 22

Some rules

● As a general rule we want to minimise complexity● e.g. recursion, deep nesting and abstract anti-patterns

● Each element in the model should have a use-case, if not, then remove the element

Page 4: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20124 / 22

Recap of work

● Create the CIMI RM in UML using EA● Import the OpenEHR RM XMI as starting point

● Discuss RM “issues” via GitHub● Some issues were caused by importing the OpenEHR RM XMI in EA● Most issues were in the Data Value Types

● Documentation clarifications● Valuesets are documented but missing in the model → enumerations

● Use the ADL Workbench as a tool for the Clinical Models● requires a BMM (Basic Meta-Model) “config” file● auto-generated from the CIMI RM UML

Page 5: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20125 / 22

The Parts of the CIMI RM

● The full CIMI Reference Model consists of● Core Reference Model● Data Type Value Types● Demographics Model● Supporting Classes● Assumed Types ← the primitive types

Page 6: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20126 / 22

COMPOSITION

+ category: CODED_T EXT+ language: CODED_T EXT+ terri to ry: CODED_T EXT

CONTENT_ITEM

ENTRY

+ language: CODED_T EXT

SECTION

ARCHETYPED

«is_ im _infrastructure»+ archetype_ id : ARCHET YPE_ID+ tem pla te_id: T EM PLAT E_ID [0..1]+ rm _version: String

«archetype_parent»LOCATABLE

+ nam e: T EXT

«is_im _infrastructure»+ archetype_node_id : String+ u id: UID_BASED_ID [0..1]

LINK

+ m eaning: T EXT+ target: EHR_URI+ type: T EXT

ITEM

ELEMENT

+ nul l_ flavor: CODED_T EXT [0 ..1 ]

CLUSTER

+ structure_type: CODED_T EXT [0..1]

DATA_VALUE

PARTICIPATION

+ function: CODED_T EXT+ m ode: CODED_T EXT

«is_im _runtim e»+ tim e: INT ERVAL<DAT E_T IM E> [0 ..1]

PARTY_PROXY

+participa tion

0..*

+value 0..1

1

+i tem s0..*

+data1..*

+content 0..*

+l inks

0..*

+i tem s1..*

+party

1..1

+archetype_detai ls« is_im _in frastructure»

0..1

Core Reference Model 1.0.5

Page 7: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20127 / 22

CLUSTER, ITEM

● #1 CLUSTER.value: what is it + do we need it?#2 Is ITEM the correct level for ‘null_flavour’?→ No real use-cases so far, revert back the the original OpenEHR specs.

ITEM

ELEMENT

+ nul l_flavor: CODED_T EXT [0..1]

CLUSTER

+ structure_type: CODED_T EXT [0..1]

DATA_VALUE

+value 0..1

1

+i tem s1..*

Page 8: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20128 / 22

YESNO

+ value: Boolean

DATA_VALUE

IDENTIFIER

+ id: String+ type: CODED_T EXT+ issuer: String

ENCAPSULATED

MULTIMEDIA

+ al terna te_text: String [0..1]+ m edia_type: CODED_T EXT+ uri : URI [0..1]

« is_im _runtim e»+ data: Byte [0..*] (Array)+ integri ty_check: Byte [0..*] (Array)

PARSABLE

+ form al ism : CODED_T EXT+ value: String

COUNT

+ m agni tude: Integer

QUANTITY

+ m agni tude: Double+ uni ts: CODED_T EXT+ precision: Integer [0..1]

PROPORTION

+ num erator: Real+ denom inator: Rea l+ precision: In teger [0..1]+ type: CODED_T EXT

ORDINAL

+ sym bol : CODED_T EXT+ value: Integer

DV_ORDERED

QUANTIFIED

+ m agni tude_status: String [0 ..1]

AMOUNT

+ accuracy: Real [0..1]+ accuracy_is_percent: Boolean [0..1]

ABSOLUTE_QUANTITY

DATE

+ value: String+ m agni tude: Integer [0 ..1]

TIME

+ value: String+ m agn i tude: Double [0..1]

DATE_TIME

+ value: String+ m agni tude: Double [0..1]

DURATION

+ value: String+ m agni tude: Double [0..1 ]

TEMPORAL

TEXT

+ value : String+ language: CODED_T EXT [0..1]

URI

+ value: String

CODED_TEXT

+ code_string: String+ term inology_id: T ERM INOLOGY_ID+ term inology_version: String [0 ..1]+ term : String [0..1]+ term _id: String [0..1]

EHR_URI

T:DV_ORDERED

DV_INTERVAL

+ upper_unbounded: Boolean+ lower_unbounded: Boolean+ upper_included: Boo lean+ lower_included: Boolean

TERM_MAPPING

+ m atch: Character+ purpose: CODED_T EXT [0..1]

PLAIN_TEXT

+upper0..1

+m appings

0..*

+lower

0..1

+target 1..1

Data Value Types 1.0.5Was CODE_PHRASE

Page 9: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 20129 / 22

QUANTIFIED types

COUNT

+ m agni tude: Integer

QUANTITY

+ m agni tude: Double+ un i ts: CODED_T EXT+ precision: Integer [0 ..1]

PROPORTION

+ num erator: Real+ denom inator: Real+ precision: Integer [0..1 ]+ type: CODED_T EXT

QUANTIFIED

+ m agni tude_status: S tring [0 ..1 ]

AMOUNT

+ accuracy: Rea l [0 ..1 ]+ accuracy_is_percent: Boolean [0..1]

DURATION

+ va lue: String+ m agn itude: Doub le [0..1 ]

Page 10: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201210 / 22

QUANTIFIED types

● #5 ABSOLUTE_QUANTITY.accuracy is of abstract type AMOUNT → accuracy is removed

● #25 Are COUNT.magnitude and .accuracy correctly defined? → magnitude is moved to the concrete classes

● #24 How is QUANTIFIED.magnitude_status '~' related to AMOUNT.accuracy? → technically insolvable, this requires clinical validation

● #3 QUANTIFIED.magnitude is of abstract type DATA_VALUE → import error, fixed● #27 Documentation required for QUANTITY.precision → done● #29 Must PROPORTION.numerator and .denominator have the same precision? →

only one precision required● #28 PROPORTION.type → needs a value set

Page 11: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201211 / 22

DURATION, TIME

● #26 How are DURATION.value strings formatted?#31 Which ISO-8601 date formats are required?→ ISO8601 format will come up when we do example instances

● #30 When is TIME used in a model? → TIME is used for reporting things in the past or “I feed the baby at 4 am and 6 am”

DATE

+ va lue: S tring+ m agni tude: In teger [0 ..1 ]

TIME

+ va lue : String+ m agn itude: Double [0 ..1 ]

DATE_TIME

+ va lue: String+ m agni tude: Double [0 ..1 ]

DURATION

+ va lue: String+ m agni tude: Double [0..1 ]

TEMPORAL

Page 12: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201212 / 22

DATE FORMAT

● ISO8601● Machine readable (20120921100) vs human readable

(2012-sep-21 11:00 AM) and the other 10 human readable forms ;-) and not to forget the country forms

● Propose CIMI native format machine readable and then transformation to e.g. HTML for human readability

Page 13: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201213 / 22

URI, IDENTIFIER, INTERVAL

● #9 EHR_URI: can this be deleted? → this is used in the LINK.target to make explicit that it is inside the EHR

● #8 What the limitations of the URI.value type are. is it only for the www? → no limitations

● #12 Should we remove IDENTIFIER.assigner?, #10 Does IDENTIFIER requires further substructure? → issues scopes the id, assigner is a runtime thing, so assinger is removed and no more substructure

● #11 IDENTIFIER.type should be changed to CODED_TEXT → changed, needs valueset

● #23 Does INTERVAL need upper and lower closed flags? → added● #4 INTERVAL is not typed (aka INTERVAL<T>) → done

Page 14: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201214 / 22

MULTIMEDIA, PARSABLE, TEXT

● #16 Do we need MULTIMEDIA.thumbnail to define a clinical model? → a thumbnail is not used in a clinical model, this is a UI thing, removed

● #14 The definition of MULTIMEDIA.data needs fixing → done● #15 MULTIMEDIA.media_type change to CODED_TEXT, needs a valueset● MULTIMEDIA.data & integrity_check cardinality[0..1] → [0..*] &

is_im_runtime● #13 Should PARSABLE.formalism be a CODED_TEXT? → changed to

CODED_TEXT, needs a valueset● #17 TEXT documentation needs to be updated → done

Page 15: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201215 / 22

TERM_MAPPING

● #6 TERM_MAPPING.match should not be 'any char' → needs a valueset in the model, is documented

● #22 Definitions of `CODED_TEXT` properties should be improved → done

● #21 Definition of `CODEABLE_TEXT` should be improved → model revised

● #19 Should TERM_MAPPING.purpose be changed to a CODED_TEXT? → done

● #3 Should TERM_MAPPING --> CODE_PHRASE be a "compose"? → done

● CODE_PHRASE renamed to CODED_TEXT

Page 16: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201216 / 22

TEXT...

TEXT

+ va lue: String+ language: CODED_T EXT [0..1 ]

CODEABLE_TEXT

CODED_TEXT

+ code_string: String+ term inology_id: T ERM INOLOGY_ID+ term inology_version: String [0 ..1 ]+ term : String [0..1]+ term _id: String [0..1]

TERM_MAPPING

+ m atch: Character+ purpose: CODED_T EXT [0..1]

PLAIN_TEXT

+m appings0..*

+target 1..1

DATA_VALUETEXT

+ va lue: String+ language: CODED_TEXT [0..1]

CODED_TEXT

+ code_string: String+ term inology_id: T ERM INOLOGY_ID+ term inology_version: String [0..1]+ term : String [0 ..1]+ term _id: String [0..1 ]

TERM_MAPPING

+ m atch: Character+ purpose: CODED_T EXT [0..1]

PLAIN_TEXT

+m app ing

0..*

+target1

Current Simpler Model

Previous Model

Page 17: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201217 / 22

Text-based Information

● The CIMI reference model provides 3 concrete data types to capture text-based information:● PLAIN_TEXT: A string of characters, written in a particular language, without

any associated coding or mappings. (i.e. no codes, no mappings)● CODED_TEXT: A text item that has been coded from a given terminology,

with optional term mappings (i.e. mandatory code, optional mapping)● CODEABLE_TEXT: A text item, which may either be:

(a) an uncoded string value, with optional term mappings, or(b) a text item that has been coded from a given terminology, with optional term mappings (i.e. a CODED_TEXT)(i.e. optional code, optional mapping)

Page 18: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201218 / 22

PLAIN TEXT use

● “annotations”, “comments”, “remarks”, “descriptions”e.g.● lab result comment● specimen description● tissue macro description● radiology report● medication directions● medication reason for prescription

● Use as escape when there is not code available

Page 19: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201219 / 22

Minor issues in the CIMI RM

● Renamed to YESNO because of name clash with BOOLEAN Data Value Type

● Default container-type to List only Array for MULTIMEDIA Byte

● Stereotype on LOCATABLE needed for BMM generation

Page 20: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201220 / 22

Next steps

● ADL Workbench● BMM + Example ADL's on OpenEHR SubVersion● Minor changes needed

● XMI for EA and MDHT● Test the model and create/discuss issues based on those

models in GitHub

Page 21: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201221 / 22

Page 22: CIMI (Core) Reference Model & Data Types Proposed Changes ...informatics.mayo.edu/CIMI/images/1/1a/CIMI_RM... · The CIMI Modeling TF / mvdzel @ results4care.nl – september 2012

The CIMI Modeling TF / mvdzel @ results4care.nl – september 201222 / 22

Example Values vs Instances

● Where to put the example values● Coherent example instance● You can create an example instance in UML as an Object Diagram with values in

Run-State● (1) Data Instance:

● Expressed in ? mindmap ? UML ? some ADL form?● (2) Implementation Instance:

● DCM > HL7 v3 Example Instances from UML● OpenEHR, FHIR● XML, RDF, OWL (is OWL implementable? for reasoning.. yes!)

● Mail:● Examples (was RE: Reference Model Review) 2012-jul-25 Linda