HL7 RIM June 2010 Entity class_cd : CS cd: CE determiner_cd : CS status_cd : CS id : II Role class_cd : CS cd: CE effective_time : IVL status_cd : CS id : II Participation type_cd : CS time : IVL status_cd : CS Act class_cd : CS cd: CD mood_cd : CS status_cd : CS effective_time : GTS id : II * 1 1 Role Link type_cd : CS effective_time : IVL Act Relationship type_cd : CS * plays scopes * 1 1
Organization classCode* <=ORG determinerCode* <= INSTANCE Id*: II[1..1] ObservationEvent classCode* <=OBS moodCode* <= EVN Id*: II[1..1] code*: CV CNE[1..1] < ObservationType effective Time*: TS[1..1] Person classCode* <=PSN determinerCode* <= INSTANCE name: PN[0..1] Patient classCode* <=PAT Id*: II[1..1] Agent classCode* <=AGNT Id*: II[1..1] subject typeCode* <=SBJ author typeCode* <=AUT Time*: TS [1..1] component typeCode* <=COMP component typeCode* <=COMP ObservationEvent classCode* <=OBS moodCode* <= EVN Id*: SET II[1..1] code*: CV CNE[1..1] < CPT4 value*: ST[1..1] ObservationEvent classCode* <=OBS moodCode* <= EVN Id*: SET II[1..1] code*: CV CNE[1..1] < CPT4 value*: ST[1..1] 1..1 providerOrganization 0..1 patientPerson HL7 RIM: Sample Observation
Observation classCode* <=OBS moodCode* <= EVN Id*: II[1..1] code*: CV CNE[1..1] < ObservationType effective Time*: TS[1..1] Value*: Person classCode* <=PSN determinerCode* <= INSTANCE Patient classCode* <=PAT Id*: II[1..1] subject typeCode* <=SBJ 0..1 patientPerson HL7 RIM: Simple Observation
Mapping CDE to RIM: Ex 1 Data Element Data Element Concept Value Domain Object Class Property Conceptual domain Representation class Data type (added) Unit of measure (added) Value meanings (added) ASSESS_RESULTS N/A Number mmHg C25509:C69319:C First Dinamap Oscillometric Measurement Assessment: C25367C Diastolic Blood Pressure: C25299C Diastolic Blood Pressure 10 Diastolic Blood Pressure First Dinamap Oscillometric Measurement Measurement: Oscillometric Blood Pressure Monitor : First
Mapping to RIM Construct11179 ValueRIM Construct RIM Value Object ClassDiastolic Blood Pressure OBS:classCode OBS:code OBS ObservationType (CD) PropertyAssessment?? Conceptual DomainASSESS_RESULTS Representation ClassN/A Data TypeNumber Unit of MeasuremmHg Value MeaningC25509:C69319: C25209 (Measurement: Oscillometric Blood Pressure Monitor : First)
Problems with Ex 1 The property Assessment does not really have any useful semantics – dangling concept No context information – cannot infer entity, role and participation “Measurement: Oscillometric Blood Pressure Monitor : First” – has to be parsed Not easy to convert into a terminology expression Hard to derive from the concept derivation rule that oscillometric blood pressure monitor is the methodCode Leveling and context of information changes from CDE to CDE
Data Element Data Element Concept Value Domain Object Class Property Conceptual domain Representation class Data type (added) Unit of measure (added) Value meanings (added) AE_RESULTS N/A Number mmHg N/A 6 Assessment: C25367C Person Blood Pressure: C25190:C Person Blood Pressure 10 ??Person Blood Pressure Mapping CDE to RIM: Ex 2
11179 Construct11179 ValueRIM Construct RIM Value Object ClassPerson Blood Pressure ENT:LIV:POSN OBS:classCode OBS:code OBS ObservationType (CD) PropertyAssessment?? Conceptual DomainASSESS_RESULTS Representation ClassN/A Data TypeNumber Unit of MeasuremmHg Value MeaningN/A Mapping to RIM
Problems with Ex 2 The property Assessment is hard to map Assessment is used to reference blood pressure but the concept itself links to “assessment” semantics of assessment seam irrelevant Leveling and context of information changes from CDE to CDE
Data Element Data Element Concept Value Domain Object Class Property Conceptual domain Representation class Data type (added) Unit of measure (added) Value meanings (added) ASSESS_RESULTS N/A Time N/A C25529:C48154:C Hour Minute Time Begin Measurement : C25431:C Blood Pressure : C Blood Pressure Start Measurement 10 Blood Pressure Start Measurement Hour Minute Time ENT:LIV:POSN.ROL:PAT.DIR:SBJ.ACT:OBS: CODE ENT:LIV:POSN.ROL:PAT.DIR:SBJ.ACT:OBS: EFFECTIVETIME ObservationEvent classCode* <=OBS moodCode* <= EVN Id*: II[1..1] code*: CV CNE[1..1] < ObservationType effective Time*: TS[1..1] methodCode*: Mapping CDE to RIM: Ex 3
Problems with Ex 3 The property Assessment is hard to map Assessment is used to reference blood pressure but the concept itself links to “assessment” semantics of assessment seam irrelevant Mapping Time interval is challenging Leveling and context of information changes from CDE to CDE
Data Element Data Element Concept Value Domain Object Class Property Conceptual domain Representation class Data type (added) Unit of measure (added) Value meanings (added) ASSESS_RESULTS C38147 CHARACTER N/A CL307587, CL Assessments Ind-2 Blood Pressure Assessment : C54706:C Dental Professional Practice: C41136:C Dental Professional Practice Blood Pressure Assessment Ind-2 ENT:LIV:POSN.ROL:PAT.DIR ENT:LIV:POSN.ROL:PAT.DIR:SBJ.ACT:OBS: CODE ObservationEvent classCode* <=OBS moodCode* <= EVN Id*: II[1..1] code*: CV CNE[1..1] < ObservationType effective Time*: TS[1..1] methodCode*: Dental Professional Practice Blood Pressure Assessment Mapping CDE to RIM: Ex 4
Mapping Challenges and Risks Every mapping is a custom problem Inferencing using concepts doesn’t work as same concepts are used differently Context has to be provided manually in many cases Post migration verification will take a lot of time and effort - as losing information will not be acceptable All the CDE administrative constructs for lifecycle management have to be migrated – no placeholder in RIM Creating forward and reverse transforms is not feasible – as the view will change from element to element Identifying simple, medium and hard CDEs will require manual work as tooling cannot infer from the information