www.HL7.org
HL7 Version 3 Basics: RIM to Message Design
George W. Beeler, Jr. Ph.D.Co-Chair, HL7 Modeling &
Methodology CommitteePrincipal, Beeler Consulting LLC
Interoperability – HL7’s mission“To provide a comprehensive framework and related standards for the exchange, integration, sharing, and retrieval of electronic health information that supports clinical practice and the management, delivery and evaluation of health services. Specifically, to create flexible, cost effective standards, guidelines, and methodologies to enable healthcare information system interoperability and sharing of electronic health records.”(Source: HL7 Mission statement, revised 2001)
Semanticinteroperability
Functionalinteroperability
Interoperability• Main Entry: in·ter·op·er·a·bil·i·ty
Function: nounDate: 1977: ability of a system (as a weapons system) to use the parts or equipment of another system
Source: Merriam-Webster web site
• interoperability: ability of two or more systems or components to
exchange information and to use the information that has been exchanged.
Source: IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries, IEEE, 1990]
Core requirements for standard exchanges
• Nouns –items we communicate about– Typically actions and physical things (persons,
places, etc.)• Verbs - the essential bindings between nouns
– An action happens to a person– One action causes another– A person performs an action
• Vocabulary & model – common definitions– Assure common perspective– Prescribe the nouns and verbs we can use
Observationvalue : ANYinterpretationCode : SET<CE>methodCode : SET<CE>targetSiteCode : SET<CD>
SubstanceAdministrationrouteCode : CEapproachSiteCode : SET<CD>doseQuantity : IVL<PQ>rateQuantity : IVL<PQ>doseCheckQuantity : SET<RTO>maxDoseQuantity : SET<RTO>
ProceduremethodCode : SET<CE>approachSiteCode : SET<CD>targetSiteCode : SET<CD>
Supplyquantity : PQexpectedUseTime : IVL<TS>
DietenergyQuantity : PQcarbohydrateQuantity : PQ
ContainercapacityQuantity : PQheightQuantity : PQdiameterQuantity : PQcapTypeCode : CEseparatorTypeCode : CEbarrierDeltaQuantity : PQbottomDeltaQuantity : PQ
AccessapproachSiteCode : CDtargetSiteCode : CDgaugeQuantity : PQ
DevicemanufacturerModelName : SCsoftwareName : SClocalRemoteControlStateCode : CEalertLevelCode : CElastCalibrationTime : TS
EmployeejobCode : CEjobTitleName : SCjobClassCode : CEsalaryTypeCode : CEsalaryQuantity : MOhazardExposureText : EDprotectiveEquipmentText : ED
LivingSubjectadministrativeGenderCode : CEbirthTime : TSdeceasedInd : BLdeceasedTime : TSmultipleBirthInd : BLmultipleBirthOrderNumber : INTorganDonorInd : BL
MaterialformCode : CE
LicensedEntityrecertificationTime : TS
PlacemobileInd : BLaddr : ADdirectionsText : EDpositionText : EDgpsText : ST
ManufacturedMateriallotNumberText : STexpirationTime : IVL<TS>stabilityTime : IVL<TS>
NonPersonLivingSubjectstrainText : EDgenderStatusCode : CE
PatientconfidentialityCode : CEveryImportantPersonCode : CE
Organizationaddr : BAG<AD>standardIndustryClassCode : CE
Accountname : STbalanceAmt : MOcurrencyCode : CEinterestRateQuantity : RTO<MO,PQ>allowedBalanceQuantity : IVL<MO>
Personaddr : BAG<AD>maritalStatusCode : CEeducationLevelCode : CEraceCode : SET<CE>disabilityCode : SET<CE>livingArrangementCode : CEreligiousAffiliationCode : CEethnicGroupCode : SET<CE>
WorkingListownershipLevelCode : CE
PublicHealthCasedetectionMethodCode : CEtransmissionModeCode : CEdiseaseImportedCode : CE
PatientEncounterpreAdmitTestInd : BLadmissionReferralSourceCode : CElengthOfStayQuantity : PQdischargeDispositionCode : CEspecialCourtesiesCode : SET<CE>specialAccommodationCode : SET<CE>acuityLevelCode : CE
DiagnosticImagesubjectOrientationCode : CE
FinancialTransactionamt : MOcreditExchangeRateQuantity : REALdebitExchangeRateQuantity : REAL
InvoiceElementmodifierCode : SET<CE>unitQuantity : RTO<PQ,PQ>unitPriceAmt : RTO<MO,PQ>netAmt : MOfactorNumber : REALpointsNumber : REAL
FinancialContractpaymentTermsCode : CE
DeviceTaskparameterValue : LIST<ANY>
ManagedParticipationid : SET<II>statusCode : SET<CS>
ActRelationshiptypeCode : CSinversionInd : BLcontextControlCode : CScontextConductionInd : BLsequenceNumber : INTpriorityNumber : INTpauseQuantity : PQcheckpointCode : CSsplitCode : CSjoinCode : CSnegationInd : BLconjunctionCode : CSlocalVariableName : STseperatableInd : BL
ActclassCode : CSmoodCode : CSid : SET<II>code : CDnegationInd : BLderivationExpr : STtext : EDstatusCode : SET<CS>effectiveTime : GTSactivityTime : GTSavailabilityTime : TSpriorityCode : SET<CE>confidentialityCode : SET<CE>repeatNumber : IVL<INT>interruptibleInd : BLlevelCode : CEindependentInd : BLuncertaintyCode : CEreasonCode : SET<CE>languageCode : CE
0..n1
inboundRelationship
0..n
target
1
0..n1
outboundRelationship
0..n
source
1
ParticipationtypeCode : CSfunctionCode : CDcontextControlCode : CSsequenceNumber : INTnegationInd : BLnoteText : EDtime : IVL<TS>modeCode : CEawarenessCode : CEsignatureCode : CEsignatureText : EDperformInd : BLsubstitutionConditionCode : CE
0..n 10..n 1
RoleLinktypeCode : CSeffectiveTime : IVL<TS>
RoleclassCode : CSid : SET<II>code : CEnegationInd : BLaddr : BAG<AD>telecom : BAG<TEL>statusCode : SET<CS>effectiveTime : IVL<TS>certificateText : EDquantity : RTOpositionNumber : LIST<INT>
0..n1 0..n1
0..n1
outboundLink0..n
source
1
0..n1inboundLink
0..ntarget1
LanguageCommunicationlanguageCode : CEmodeCode : CEproficiencyLevelCode : CEpreferenceInd : BL
EntityclassCode : CSdeterminerCode : CSid : SET<II>code : CEquantity : SET<PQ>name : BAG<EN>desc : EDstatusCode : SET<CS>existenceTime : IVL<TS>telecom : BAG<TEL>riskCode : CEhandlingCode : CE
0..n0..1
playedRole
0..n
player
0..1
0..n0..1
scopedRole
0..n
scoper
0..1
10..n 10..n
ControlAct
RoleEntity
Participation
Acts
Class Diagram – Normative RIM Release 1
• 4 Primary Subject Areas• 35 Classes • 181 Attributes• 9 Associations• 28 Generalizations
Action – the focus of health care messaging
• The reason we want to automate health care data is to be able to document the actions taken to treat a patient:– A request or order for a test is an action– The report of the test result is an action– Creating a diagnosis based on test results is an action– Prescribing treatment based on the diagnosis is an action
• In simple terms, a medical record is a record of each of the individual actions that make up the diagnosis, treatment and care of a patient.
Five core concepts of the RIM
• Every happening is an Act– Procedures, observations, medications, supply,
registration, etc.• Acts are related through an ActRelationship
– composition, preconditions, revisions, support, etc.• Participation defines the context for an Act
– author, performer, subject, location, etc.• The participants are Roles
– patient, provider, practitioner, specimen, employee etc.• Roles are played by Entities
– persons, organizations, material, places, devices, etc.
1
0..*
plays
1
0..*
scopes
0..*
1 0..*
1
RIM Core Classes
EntityEntity ParticipationParticipation ActAct
RoleRoleLinkLink
0..* 0..*
1 1
ActActRelationshipRelationship
1 1
0..* 0..*
ProcedureObservationPatient Enc’nt’rSubstance AdmSupplyReferralFinancial actWorking listAccount
OrganizationLiving SubjectPersonMaterialPlace
PatientEmployeeLicensedEntityAccess
RoleRole
Is “Act” sufficient?• How can a single act class represent all of
the elements of clinical action – their definition, request, order, report?
• Answer: the Act “mood” code –“A code specifying whether the Act is an activity that has happened, can happen, is happening, is intended to happen, or is requested/demanded to happen.
Principle Act ‘moods’definition (DEF) – Definition of an act, formerly a “master file”intent (INT) – an intention to plan or perform an actrequest (RQO) – a request or order for a service from a request “placer”
to a request “fulfiller”promise (PRMS) – intent to perform that has the strength of a
commitmentconfirmation (CNF) – promise that has been solicited via an orderevent (EVN) – an act that actually happens, includes the documentation
(report) of the event
Critical concept – “Mood” is not a status code. Each instance of the Act class may have one and only one value for ‘mood’ Thus, an act in “order” mood that orders an act in definition mood and results in an Act in ‘event’ mood are three different acts, related through the act relationship.
Mood code example
ActclassCode : CS = ??moodCode : CS = ??id : II = ??otherAttributes
Abstract
Type knownMood abstract
Defines a specific kind of observation
Orders a defined kind of observationto be performed
Performs the definedobservation to fulfill the order
instantiates
fulfills
ObservationDefinitionclassCode : CS = OBSmoodCode : CS = DEFid : II = 123otherAttributes
ObservationEventclassCode : CS = OBSmoodCode : CS = EVNid : II = 7986otherAttributes
ObservationRequestclassCode : CS = OBSmoodCode : CS = RQOid : II = O-02-35otherAttributesObservation
classCode : CS = OBSmoodCode : CS = ??id : II = ??otherAttributes
1
0..*
plays
1
0..*
scopes
0..*
1 0..*
1
RIM Core Classes
EntityEntity ParticipationParticipation ActAct
RoleRoleLinkLink
0..* 0..*
1 1
ActActRelationshipRelationship
1 1
0..* 0..*
ProcedureObservationPatient Enc’nt’rSubstance AdmSupplyReferralFinancial actWorking listAccount
OrganizationLiving SubjectPersonMaterialPlace
PatientEmployeeLicensedEntityAccess
RoleRole
How is Version 3 “better”?
• Conceptual foundation – a single, common reference information model to be used across HL7
• Semantic foundation – in explicitly defined concept domains drawn from the best terminologies
• Abstract design methodology that is technology-neutral – able to be used with whatever is the technology de jour
• Maintain a repository (database) of the semantic content to assure a single source, and enable development of support tooling
The “essence” of Version 3
• Apply the ‘best practices’ of software development to developing standards – a model-based methodology
• Predicate all designs on two semantic foundations – a reference information model and a complete, carefully-selected set of terminology domains
• Require all Version 3 standards to draw from these two common resources
• Use software-engineering style tools to support the process.
The problem
Storyboard: A clinician, using a local medical office support system, orders a lab test for one of her patients. The test will be performed on a specimen collected at her office. She will send the specimen by courier, and expects to receive a confirmation that the test will be performed, and a result of the test.
What do we need?
• Act (order) – Order– Participation – Author
• Role - Physician– Entity - Dr. Smith in the MD office
– Participation – Performer• Role – Laboratory
– Entity - The lab that will perform the test– Participation – Subject
• Role – Specimen– Participation – Record target
• Role – Patient in whose record the result goes– Act relationship – Definition
• Act (definition) – Ordered Test
HL7 Graphic representation
• Foundation of HL7 modeling is defined in a UML profile, but we use an alternate graphic representation that better represents our “sentences”
• Nouns are in “square boxes”– All attributes shown– All constraints shown on the diagram
• Verbs are shown as “Arrows” linking nouns– All attributes shown– All constraints shown on the diagram
Demo Example – POLB_RM992100
OrderOrder
PhysicianPhysician
PerformerPerformer LaboratoryLaboratory
SubjectSubjectSpecimenSpecimen
Record targetRecord target PatientPatient
DefinitionDefinition
Ordered TestOrdered Test
AuthorAuthor
Demo Example – POLB_RM992100
OrderOrder
PhysicianPhysician
PerformerPerformer LaboratoryLaboratory
SubjectSubjectSpecimenSpecimen
Record targetRecord target PatientPatient
DefinitionDefinition
Ordered TestOrdered Test
AuthorAuthor1
2
46
8
3
5
7
9
10
11
Demo Example – POLB_RM992100Order
Definition
Performer
Author
Record target
Patient
Laboratory
Physician
Ordered test
Subject
Specimen
Demo Example – POLB_RM992100Order
Definition
Performer
Author
Record target
Patient
Laboratory
Physician
Ordered test
Subject
Specimen
Demo Example – POLB_RM992100Order
Definition
Performer
Author
Record target
Patient
Laboratory
Physician
Ordered test
Subject
Specimen
The essence of Version 3
• A family of specifications• Built upon a single model of
– How we construct our utterances– The domain of discourse– The attributes used
• Constructed in a fashion to rapidly develop a comprehensive, fully constrained specification in XML
Bringing it together
• One Reference Model, one set of tools, one process produce– The mundane – a Common element for patient– The complex – a specification to communicate
annotated ECGs for clinical trials– Large, rich sets – electronic claims, clinical trial data– The esoteric – clinical genomics– The basics – message control (headers)
• All taken from RIM to schemas, and publishedwith a single set of effective tools
Top Related