HL7 Version 3 Basics: RIM to Message Designyarmanmh/Recommended/HL7V3Basics.pdf · HL7 Version 3...

30
www.HL7.org HL7 Version 3 Basics: RIM to Message Design George W. Beeler, Jr. Ph.D. Co-Chair, HL7 Modeling & Methodology Committee Principal, Beeler Consulting LLC [email protected] 507-254-4810

Transcript of HL7 Version 3 Basics: RIM to Message Designyarmanmh/Recommended/HL7V3Basics.pdf · HL7 Version 3...

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

[email protected]

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

Building our sentences - nouns

Building our sentences – basis

Building our sentences – contextual verbs

Building our sentences – relational verb

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 Message Type constraints

Our example schema

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