Hl7 V3 Reference Models 20091123
-
Upload
abdul-malik-shakir -
Category
Technology
-
view
5.267 -
download
1
Transcript of Hl7 V3 Reference Models 20091123
Health Level Seven Version 3 Reference ModelsA Brief Introduction
Abdul-Malik ShakirPrincipal Consultant, Shakir Consulting
November 23, 2009
About Me
Abdul-Malik Shakir
• Principal Consultant with Shakir Consulting
• Information Management Strategist with City of Hope
• HL7 Member since 1991
• Co-Chair of the HL7 Education Workgroup
• Member of the HL7:
Architectural Review Board
Public Health and Emergency Response Workgroup
Regulated Clinical Research Information Management Workgroup
Modeling and Methodology Workgroup
HL7 v3.0 Foundational Artifacts
ReferenceInformation
Model
ReferenceInformation
Model
DatatypeSpecification
DatatypeSpecification
VocabularySpecificationVocabulary
Specification
Reference Models
The HL7 Reference Information Model is the information model from which all other information models and message specifications are derived.
The HL7 Vocabulary Specification defines the set of all concepts that can be taken as valid values in an instance of a coded attribute or data type property.
The HL7 Datatype Specification defines the structural format of the data carried in an attribute and influences the set of allowable values an attribute may assume.
HL7 Version 3.0 Reference Models
Reference Information ModelReference Information Model
Data TypeSpecification
Data TypeSpecification
VocabularySpecification
VocabularySpecification
HL7 Version 3.0 Reference Information Model
The HL7 Reference Information Model is the information model from which all other information models and message specifications are derived.
The HL7 Reference Information Model
• The HL7 Reference Information Model (RIM) is a static model of health and health care information as viewed within the scope of HL7 standards development activities.
• It is the combined consensus view of information from the perspective of the HL7 working group and the HL7 international affiliates.
• The RIM is the ultimate source from which the information-related content of all HL7 version 3.0 protocol specification standards is drawn.
• The RIM is modeled using the modeling syntax defined by the Object Management Group’s Unified Modeling Language (UML).
HL7 RIM Class Diagram
Reference Information Model History
• Development of the HL7 Reference Information Model began in April 1996.
• The first draft of the RIM was created by consolidating data models developed
by HL7 Technical Committees, contributed by HL7 Member Organizations,
and published by national and international standards organizations and
government bodies.
• The first release of the RIM (v0.80) was adopted by the HL7 Technical
Steering Committee at the January 1997 working group meeting.
• The next two working group meetings focused on gaining familiarity with the
draft RIM and implementing a process for obtaining and reconciling proposed
enhancements to the model.
• The RIM maintenance process became known as "RIM harmonization.” The
first RIM harmonization meeting was held July 1997 in Indianapolis, Indiana.
RIM Harmonization Illustration
Model I Model II Model III
B
X F
E
C A D
G
1
0..*
0..* 1 0..* 1
0..* 0..1 0..*1
A
C
B
0..*
0..*
0..* 1 X
C
B
0..*
0..*
0..* 1
D
A B0..* 0..*
0..*
1
HL7 RIM Normative Specification
• Nine harmonization meetings were held between 1998 and 2000 culminating in version 1.0 of the RIM ratified during the January 2001 HL7 Working Group Meeting.
• The RIM continues to be refined via ongoing harmonization meeting but has been extremely stable in its content since January 2001.
• Version 1.25 of the RIM was submitted for ballot in 2002.
• In June 2003 it was published as an American National Standard.
Major RIM Harmonization Themes
• Ensure coverage of HL7 version 2.x. This set of change proposals introduced content to the draft model to ensure that it included all the information content of HL7 version 2.x.
• Remove unsubstantiated content from the model. This set of change proposals focused on removing content from the draft model that the steward technical committee did not originate and could find no rationale for retaining.
• Unified service action model. This set of change proposals introduced a concise, well-defined set of structures and vocabularies that address the information needs of a wide variety of clinical scenarios. This collection of proposals, known as USAM, involved the combined effort of multiple technical committees.
• Ensure quality. This set of change proposals addressed inconsistencies in the draft model and conflicts between the model and the modeling style guide. It began the practice of recording and tracking open issues in the model.
• Address the "left hand side" of the model. This set of change proposals introduced powerful structures and vocabularies for the non-clinical portions of the model (patient administration, finance, scheduling). Like the unified service action model, this proposal involved the combined effort of multiple technical committees.
USAM’s Influence on the RIM
• The Universal Service Action Model (USAM) proposal was a major influence on the current style of the RIM
• USAM was a joint project involving multiple HL7 Technical Committees and Special Interest Groups
• The USAM Material / Service construct is the predecessor to the current RIM Entity / Act construct
• USAM introduced the concept of activity mood as a means of distinguishing between act instances, definition, plans, orders, and criterion.
• The RIM concepts of entity determiner and entity roles are based upon concepts first introduced in the USAM proposal.
The Unified Service Action Model
Observation
value : ANYinterpretationCode : SET<CE>methodCode : SET<CE>targetSiteCode : SET<CD>
SubstanceAdministration
routeCode : CEapproachSiteCode : SET<CD>doseQuantity : IVL<PQ>rateQuantity : IVL<PQ>doseCheckQuantity : SET<RTO>maxDoseQuantity : SET<RTO>
Procedure
methodCode : SET<CE>approachSiteCode : SET<CD>targetSiteCode : SET<CD>
Supply
quantity : PQexpectedUseTime : IVL<TS>
Diet
energyQuantity : PQcarbohydrateQuantity : PQ
Document
setId : IIversionNumber : INTcompletionCode : CEstorageCode : CEcopyTime : TS
Container
capacityQuantity : PQheightQuantity : PQdiameterQuantity : PQcapTypeCode : CEseparatorTypeCode : CEbarrierDeltaQuantity : PQbottomDeltaQuantity : PQ
Access
approachSiteCode : CDtargetSiteCode : CDgaugeQuantity : PQ
Device
manufacturerModelName : SCsoftwareName : SClocalRemoteControlStateCode : CEalertLevelCode : CElastCalibrationTime : TS
Employee
jobCode : CEjobTitleName : SCjobClassCode : CEsalaryTypeCode : CEsalaryQuantity : MOhazardExposureText : EDprotectiveEquipmentText : ED
LivingSubject
administrativeGenderCode : CEbirthTime : TSdeceasedInd : BLdeceasedTime : TSmultipleBirthInd : BLmultipleBirthOrderNumber : INTorganDonorInd : BL
Material
formCode : CE
LicensedEntity
recertificationTime : TSPlace
mobileInd : BLaddr : ADdirectionsText : EDpositionText : EDgpsText : ST
ManufacturedMaterial
lotNumberText : STexpirationTime : IVL<TS>stabilityTime : IVL<TS>
NonPersonLivingSubject
strainText : EDgenderStatusCode : CE
Patient
confidentialityCode : CEveryImportantPersonCode : CE
Organization
addr : BAG<AD>standardIndustryClassCode : CE
Account
name : STbalanceAmt : MOcurrencyCode : CEinterestRateQuantity : RTO<MO,PQ>allowedBalanceQuantity : IVL<MO>
Person
addr : BAG<AD>maritalStatusCode : CEeducationLevelCode : CEraceCode : SET<CE>disabilityCode : SET<CE>livingArrangementCode : CEreligiousAffiliationCode : CEethnicGroupCode : SET<CE>
WorkingList
ownershipLevelCode : CE
PublicHealthCase
detectionMethodCode : CEtransmissionModeCode : CEdiseaseImportedCode : CE
PatientEncounter
preAdmitTestInd : BLadmissionReferralSourceCode : CElengthOfStayQuantity : PQdischargeDispositionCode : CEspecialCourtesiesCode : SET<CE>specialAccommodationCode : SET<CE>acuityLevelCode : CE
Other
Acts
Infrastructure (Structured documents)
HEALTH LEVEL 7 REFERENCE INFORMATION MODEL VERSION 1.25 (RIM_0125)
Reflects changes to RIM in RIM Harmonization Through 06/30/2003.
Billboard produced by:Rochester Outdoor Advertising
Roles
DiagnosticImage
subjectOrientationCode : CE
QueryAck
queryResponseCode : CSresultTotalQuantity : INTresultCurrentQuantity : INTresultRemainingQuantity : INT
QueryContinuation
startResultNumber : INTcontinuationQuantity : INT
Table
summary : STwidth : STrules : CScellspacing : STcellpadding : STborder : INTframe : CS
TableStructure
char : STcharoff : SThalign : CSvalign : CS
TableColumnStructure
span : INTwidth : ST
TableCell
scope : CSabbr : STaxis : STcolspan : INTheaders : SET<ED>rowspan : INT
LocalAttr
name : STvalue : ST
LocalMarkup
descriptor : STrender : STignoreCode : CS
LinkHtml
href : EDname : STrel : SET<CE>rev : SET<CE>title : ST
ContextStructure
localId : ST
Infrastructure (Structured documents)
Infrastructure (Communications)
Enitites
Message Control
FinancialTransaction
amt : MOcreditExchangeRateQuantity : REALdebitExchangeRateQuantity : REAL
InvoiceElement
modifierCode : SET<CE>unitQuantity : RTO<PQ,PQ>unitPriceAmt : RTO<MO,PQ>netAmt : MOfactorNumber : REALpointsNumber : REAL
FinancialContract
paymentTermsCode : CE
RoleHeir
EntityHeir
SortControl
sequenceNumber : INTelementName : SCdirectionCode : CS
QuerySpec
modifyCode : CSresponseElementGroupId : SET<II>responseModalityCode : CSresponsePriorityCode : CSinitialQuantity : INTinitialQuantityCode : CEexecutionAndDeliveryTime : TS
0..n
1
0..n
1
RelationalExpression
elementName : SCrelationalOperatorCode : CSvalue : ST
QueryBySelectionSelectionExpression
0..n
1
0..n
1
LogicalExpression
relationalConjunctionCode : CS
0..n
0..1
userAsRight
0..n
rightSide 0..1
0..n
0..1
userAsLeft0..n
leftSide0..1
QueryByParameter
ParameterList
Parameter
id : II 0..n 0..10..n 0..1
0..1
0..n
0..1
0..n
ParameterItem
value : ANYsemanticsText : ST
DeviceTask
parameterValue : LIST<ANY>
ManagedParticipation
id : SET<II>statusCode : SET<CS>
ActHeir
ActRelationship
typeCode : CSinversionInd : BLcontextControlCode : CScontextConductionInd : BLsequenceNumber : INTpriorityNumber : INTpauseQuantity : PQcheckpointCode : CSsplitCode : CSjoinCode : CSnegationInd : BLconjunctionCode : CSlocalVariableName : STseperatableInd : BL
Act
classCode : 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
10..n1
outboundRelationship
0..n
source
1
Participation
typeCode : CSfunctionCode : CDcontextControlCode : CSsequenceNumber : INTnegationInd : BLnoteText : EDtime : IVL<TS>modeCode : CEawarenessCode : CEsignatureCode : CEsignatureText : EDperformInd : BLsubstitutionConditionCode : CE
0..n 10..n 1
RoleLink
typeCode : CSeffectiveTime : IVL<TS>
Role
classCode : 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
outboundLink
0..n
source
1 0..n1
inboundLink
0..n
target
1
LanguageCommunication
languageCode : CEmodeCode : CEproficiencyLevelCode : CEpreferenceInd : BL
AttentionLine
keyWordText : SCvalue : ST
Entity
classCode : 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
Transmission
id : IIcreationTime : TSsecurityText : ST
0..n
1
0..n
1
CommunicationFunction
typeCode : CStelecom : TEL
1..n
0..*
1..n
0..*1..*
0..*
1..*
0..* InfrastructureRoot
templateId : SET<OID>realmCode : SET<CS>typeID : SET<OID>nullFlavor : CS
QueryEvent
queryId : IIstatusCode : CS
ControlAct
0..1
1
0..1
1
Message
versionCode : CSinteractionId : IIprofileId : SET<II>processingCode : CSprocessingModeCode : CSacceptAckCode : CSattachmentText : SET<ED>responseCode : CSsequenceNumber : INT
0..1
0..n
0..1
payload
0..n
Acknowledgement
typeCode : CSmessageWaitingNumber : INTmessageWaitingPriorityCode : CEexpectedSequenceNumber : INT
0..n
1
acknowledgedBy0..n
acknowledges1
0..1
1
conveyedAcknowledgement 0..1
conveyingMessage1
AcknowledgementDetail
typeCode : CScode : CEtext : EDlocation : SET<ST>
1
0..n
1
0..n
Batch
referenceControlId : IIname : SCbatchComment : SET<ST>transmissionQuantity : INTbatchTotalNumber : SET<INT>
0..1
0..n
0..1
0..n
RoleEntity
Participation
Acts
The RIM After USAM
Infrastructure
Entity and Act
• Entity
a physical thing or an organization/group of physical things capable of participating in Acts. This includes living subjects, organizations, material, and places.
• Act
a discernible action of interest in the healthcare domain. An instance of Act is a record of that action. Acts definitions (master files), orders, plans, and performance records (events) are all represented by an instance of Act.
Entity Act
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
RIM Core Classes
• Entity - a physical thing or an organization/group of physical things capable of participating in Acts. This includes living subjects, organizations, material, and places.
• Act – a discernible action of interest in the healthcare domain. An instance of Act is a record of that action. Acts definitions (master files), orders, plans, and performance records (events) are all represented by an instance of Act.
0..* 0..*
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Role
classCode : CScode: CEeffectiveTime : IVL<TS>statusCode : CSid : II
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
RIM Core Classes
0..* 0..*1 0..*plays
0..10..*
0..10..*
plays
scopes
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Role
classCode : CScode: CEeffectiveTime : IVL<TS>statusCode : CSid : II
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
RIM Core Classes
• Role – a classification/specialization of an Entity defined by the relationship of the playing Entity to a scoping Entity. An example of Role is “Employee”. An employee is a classification attributed to a person which has an employment relationship with an organization (Employer).
0..* 0..*
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Role
classCode : CScode: CEeffectiveTime : IVL<TS>statusCode : CSid : II
Participation
typeCode : CStime : IVL<TS>statusCode : CS
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
0..1
0..* 1
0..*
1
0..*
RIM Core Classes
• Participation – an association between a Role and an Act representing the function assumed by the Role within the context of the Act. A single Role may participate in multiple Acts and a single Act may have multiple participating Roles. A single Participation is always an association between a particular Role and a particular Act.
0..1
0..*
plays
scopes
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Role
classCode : CScode: CEeffectiveTime : IVL<TS>statusCode : CSid : II
Participation
typeCode : CStime : IVL<TS>statusCode : CS
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
0..1
0..*1
0..*
1
0..*
Act Relationship
typeCode : CS
1 1
0..* 0..*
RIM Core Classes
• Act relationship – an association between two Acts. This includes Act to Act associations such as collector/component, predecessor/successor, and cause/outcome. The semantics of the association is captured by the Act Relationship attributes.
0..1
0..*
plays
scopes
• Role Link – An association between two Roles. It is used to capture relationships that exists between Entities other than the scoping relationships. A
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Role
classCode : CScode: CEeffectiveTime : IVL<TS>statusCode : CSid : II
Participation
typeCode : CStime : IVL<TS>statusCode : CS
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
0..1
0..*1
0..*
1
0..*
Role Link
typeCode : CSeffectiveTime : IVL<TS>
Act Relationship
typeCode : CS
RIM Core Classes
0..1
0..*
plays
scopes
single Role may have a Role Link with multiple other Roles. A single Role Link is always between two distinct instances of Role.
1 1
0..* 0..*
1 1
0..* 0..*
Definition of RIM Core Classes
• Act – a discernible action of interest in the healthcare domain. An instance of Act is a record of that action. Acts definitions (master files), orders, plans, and performance records (events) are all represented by an instance of Act.
• Act relationship – an association between two Acts. This includes Act to Act associations such as collector/component, predecessor/successor, and cause/outcome. The semantics of the association is captured by the Act Relationship attributes.
• Entity - a physical thing or an organization/group of physical things capable of participating in Acts. This includes living subjects, organizations, material, and places.
• Participation – an association between a Role and an Act representing the function assumed by the Role within the context of the Act. A single Role may participate in multiple Acts and a single Act may have multiple participating Roles. A single Participation is always an association between a particular Role and a particular Act.
• Role – a classification/specialization of an Entity defined by the relationship of the playing Entity to a scoping Entity. An example of Role is “Employee”. An employee is a classification attributed to a person which has an employment relationship with an organization (Employer).
• Role Link – An association between two Roles. It is used to capture relationships that exists between Entities other than the scoping relationships. A single Role may have a Role Link with multiple other Roles. A single Role Link is always between two distinct instances of Role.
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Role
classCode : CScode: CEeffectiveTime : IVL<TS>statusCode : CSid : II
Participation
typeCode : CStime : IVL<TS>statusCode : CS
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
0..1
0..*1
0..*
1
0..*
Role Link
typeCode : CSeffectiveTime : IVL<TS>
Act Relationship
typeCode : CS
RIM Backbone Classes
0..1
0..*
plays
scopes
1 1
0..* 0..*
1 1
0..* 0..*
RIM Backbone Classes
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Role
classCode : CScode: CEeffectiveTime : IVL<TS>statusCode : CSid : II
Participation
typeCode : CStime : IVL<TS>statusCode : CS
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
0..1
0..*1
0..*
1
0..*
0..1
0..*
plays
scopes
RIM Backbone Classes
Entity
classCode : CSdeterminerCode: CScode: CEstatusCode : CSid : II
Role
classCode : CScode: CEeffectiveTime : IVL<TS>statusCode : CSid : II
Participation
typeCode : CStime : IVL<TS>statusCode : CS
Act
classCode : CSmoodCode: CScode: CDstatusCode : CSeffectiveTime : GTSid : II
1
0..*1
0..*
1
0..*
1
0..*
plays
scopes
Living Subject
Place
Organization
Material
Licensed Entity
Patient
Access
Employee
Managed Participation
Observation
Supply
Patient Encounter
Procedure
Device Task
Substance Administration
Financial Transaction
Invoice Element
Financial Contract
Account
Working List
Control Act
HL7 RIM Class Diagram
Entity
classCode : CCdeterminerCode : CSstatusCode : CScode: CE
Role
classCode : CSeffectiveTime : IVL<TS>code: CE
Participation
typeCode : CStime : IVL<TS>statusCode : CS
Act
classCode : CCmoodCode : CSstatusCode : CScode: CDeffectiveTime : GTS
0..1
0..* 1
0..*
1
0..*
RIM Core Attribute Value Sets
EntityClass Code
• Living Subject• Person• Organization• Material• Place• ...
RoleClass Code
• Patient• Provider• Employee• Specimen• Certified Practitioner• ...
ParticipationType Code
• Performer• Author• Witness• Subject• Destination• ...
ActMood Code
• Definition• Intent• Order• Event• Criterion• ...
ActClass Code
• Observation• Procedure• Supply• Substance Admin• Financial• ...
EntityDeterminerCode
• Kind• Instance• Quantified
Group
0..1
0..*
plays
scopes
Act.classCode
3.1.1.1 Act.classCode :: CS (1..1) Mandatory
Vocabulary domain: ActClass (CNE)
Attribute description:
A code specifying the major type of Act that this Act-instance represents.
Constraints:
The classCode domain is a tightly controlled vocabulary, not an external or user-defined vocabulary.
Every Act-instance must have a classCode. If the act class is not further specified, the most general Act.classCode (ACT) is used.
The Act.classCode must be a generalization of the specific Act concept (e.g., as expressed in Act.code), in other words, the Act concepts conveyed in an Act must be specializations of the Act.classCode. Especially, the classCode is not a "modifier" or the Act.code that can alter the meaning of a class code. (See Act.code for contrast.)
Act.moodCode
3.1.1.2 Act.moodCode :: CS (1..1) Mandatory
Vocabulary domain: ActMood (CNE)
Attribute description:
A code distinguishing whether an Act is conceived of as a factual statement or in some other manner as a command, possibility, goal, etc.
Constraints:
An Act-instance must have one and only one moodCode value. The moodCode of a single Act-instance never changes. Mood is not state. To describe the progression of a business activity from defined to planned to executed, etc. one must instantiate different Act-instances in the different moods and link them using ActRelationship of general type "sequel". (See ActRelationship.typeCode.)
Discussion:
The Act.moodCode includes the following notions: (1) event, i.e., factual description of an actions that occurred; (2) definition of possible actions and action plans (the master file layer); (3) intent, i.e., an action plan instantiated for a patient as a care plan or order; (4) goal, i.e., an desired outcome attached to patient problems and plans; and (5) criterion, i.e., a predicate used to evaluate a logical expression
Act.code
3.1.1.4 Act.code :: CD (0..1)
Vocabulary domain: ActCode (CWE)
Attribute description:
A code specifying the particular kind of Act that the Act-instance represents within its class.
Constraints:
The kind of Act (e.g. physical examination, serum potassium, inpatient encounter, charge financial transaction, etc.) is specified with a code from one of several, typically external, coding systems. The coding system will depend on the class of Act, such as LOINC for observations, etc. Conceptually, the Act.code must be a specialization of the Act.classCode. This is why the structure of ActClass domain should be reflected in the superstructure of the ActCode domain and then individual codes or externally referenced vocabularies subordinated under these domains that reflect the ActClass structure.
ActRelationship.typeCode
3.1.2.1 ActRelationship.typeCode :: CS (1..1) Mandatory
Vocabulary domain: ActRelationshipType (CNE)
Attribute description:
A code specifying the meaning and purpose of every ActRelationship instance. Each of its values implies specific constraints to what kinds of Act objects can be related and in which way.
Discussion:
The types of act relationships fall under one of 5 categories:
1.) (De)-composition, with composite (source) and component (target).
2.) Sequel which includes follow-up, fulfillment, instantiation, replacement, transformation, etc. that all have in common that source and target are Acts of essentially the same kind but with variances in mood and other attributes, and where the target exists before the source and the source refers to the target that it links back to.
3.) Pre-condition, trigger, reason, contraindication, with the conditioned Act at the source and the condition or reason at the target.
4.) Post-condition, outcome, goal and risk, with the Act at the source having the outcome or goal at the target.
5.) A host of functional relationships including support, cause, derivation, etc. generalized under the notion of "pertinence".
Participation.typeCode
3.1.3.1 Participation.typeCode :: CS (1..1) Mandatory
Vocabulary domain: ParticipationType (CNE)
Attribute description:
A code specifying the kind of Participation or involvement the Entity playing the Role associated with the Participation has with regard to the associated Act.
Constraints:
The Participant.typeCode contains only categories that have crisp semantic relevance in the scope of HL7. It is a coded attribute without exceptions and no alternative coding systems allowed.
Entity.classCode
3.2.1.1 Entity.classCode :: CS (1..1) Mandatory
Vocabulary domain: EntityClass (CNE)
Attribute description:
An HL7 defined value representing the class or category that the Entity instance represents.
Examples:
Person, Animal, Chemical Substance, Group, Organization
Rationale:
Due to the extremely large number of potential values for a code set representing all physical things in the universe, the class code indicates both the subtype branch of the Entity hierarchy used as well as a high level classifier to represent the instance of Entity. This can be used to constrain the eligible value domains for the Entity.code attribute.
Entity.determinerCode
3.2.1.2 Entity.determinerCode :: CS (1..1) Mandatory
Vocabulary domain: EntityDeterminer (CNE)
Attribute description:
An HL7 defined value representing whether the Entity represents a kind-of or a specific instance.
Examples:
1 human being (an instance), 3 syringes (quantified kind) or the population of Indianapolis (kind of group)
Rationale:
An Entity may at times represent information concerning a specific instance (the most common), a quantifiable group with common characteristics or a general type of Entity. This code distinguishes these different representations.
Entity.code
3.2.1.4 Entity.code :: CE (0..1)
Vocabulary domain: EntityCode (CWE)
Attribute description:
A value representing the specific kind of Entity the instance represents.
Examples:
A medical building, a Doberman Pinscher, a blood collection tube, a tissue biopsy.
Rationale:
For each Entity, the value for this attribute is drawn from one of several coding systems depending on the Entity.classCode, such as living subjects (animal and plant taxonomies), chemical substance (e.g., IUPAC code), organizations, insurance company, government agency, hospital, park, lake, syringe, etc. It is possible that Entity.code may be so fine grained that it represents a single instance. An example is the CDC vaccine manufacturer code, modeled as a concept vocabulary, when in fact each concept refers to a single instance.
Role.classCode
3.3.1.1 Role.classCode :: CS (1..1) Mandatory
Vocabulary domain: RoleClass (CNE)
Attribute description:
A code specifying the major category of a Role as defined by HL7 vocabulary.
Role.code
3.3.1.3 Role.code :: CE (0..1)
Vocabulary domain: RoleCode (CWE)
Attribute description:
A code further specifying the kind of Role.
Discussion:
The Role.code must conceptually be a proper specialization of Role.classCode. Role.code does not modify Role.classCode. Rather, each is a complete concept or a Role-like relationship between two Entities, but Role.code may be more specific than Role.classCode.
The Role.code may not be coded if only an un-coded name for the type of role is commonly used.
RoleLink.typeCode
3.3.2.1 RoleLink.typeCode :: CS (1..1) Mandatory
Vocabulary domain: RoleLinkType (CNE)
Attribute description:
A code specifying the kind of connection represented by this RoleLink, e.g., has-part, has-authority.
HL7 Version 3.0 Data Type Specification
The HL7 v3 Abstract Datatype Specification defines the structural format of the data carried in an attribute and influences the set of allowable values an attribute may assume.
HL7 Version 3.0 Data Types
• HL7 data types define the structure and constrain the allowable values of attributes in the RIM.
• The HL7 v3 abstract data type specification declares the set of data types, identifies components of complex types, and defines relationships between data types.
• The HL7 data type implementation technology specification defines constraints and operations for data types and describes how data types are to be represented in XML.
• Data types are reusable atomic building blocks used to create all HL7 V3 information structures.
• Each RIM attribute is assigned one data type; each data type is assigned to zero, one, or more RIM attribute.
HL7 Version 3.0 Data Types (Release 1)
• AD: Postal Address
• ANY: DataValue
• BAG: Bag
• BL: Boolean
• CD: Concept Descriptor
• CE: Coded With Equivalents
• CS: Coded Simple Value
• ED: Encapsulated Data
• EN: Entity Name
• GTS: General Timing Specification
• HIST: History
• II: Instance Identifier
• INT: Integer Number
• IVL: Interval
• LIST: Sequence
• MO: Monetary Amount
• ON: Organization Name
• PN: Person Name
• PPD: Parametric Probability Distribution
• PQ: Physical Quantity
• REAL: Real Number
• RTO: Ratio
• SC: Character String with Code
• SET: Set
• ST: Character String
• TEL: Telecommunication Address
• TN: Trivial Name
• TS: Point in Time
• UVP: Uncertain Value - Probabilistic
HL7 Data Type Packages
AddressDataTypes
+ AddressPart : ADXP+ PostalAndResidentialAddress : AD+ TelecommunicationAddress : TEL+ UniversalResourceLocator : URL
CharacterStringDatatypes
+ CharacterString : ST+ EncapsulatedData : ED
+ StringWithCode : SC
ConceptDescriptorDataTypes
+ CodedSimpleValue : CS+ CodedValue : CV
+ CodedWithEquivalents : CE+ ConceptDescriptor : CD
+ ConceptRole : CR
AnyDataType
+ DataValue : ANY
ParameterizedDataTypes
+ Bag : BAG+ Interval : IVL
+ Sequence : LIST+ Set : SET
IdentifierDataTypes
+ ISOObjectIdentifier : OID+ InstanceIdentifier : II
EntityNameDataTypes
+ EntityName : EN+ EntityNamePart : ENXP+ OrganizationName : ON+ PersonNameType : PN
+ TrivialName : TN
QuantityDataTypes
+ BinaryData : BIN+ Boolean : BL
+ IntegerNumber : INT+ MonetaryAmount : MO+ PhysicalQuantity : PQ
+ Quantity : QTY+ Ratio : RTO
+ RealNumber : REAL
TimingExpressionDatatypes
+ GeneralTimingSpecification : GTS+ GeneralTimingSpecificationTerm
+ PointInTime : TS
HL7 Version 3.0 Vocabulary Specification
The HL7 Vocabulary Specification defines the set of all concepts that can be taken as valid values in an instance of a coded attribute or message element.
HL7 V3 Vocabulary Specification
• The HL7 V3 Vocabulary Specification defines vocabulary domains used in RIM coded Attributes and coded data type properties.
• A vocabulary domain is an abstract collection of interrelated concepts. It describes the purpose or intent of a coded attribute.
• A value set is a collection of coded concepts drawn from one or more code systems. A vocabulary domain may be associated with many value sets (e.g. for use in different countries).
• A context expression provides a means of designating which value set for a given domain are applicable for a given usage context.
• A coded concept has a concept code assigned by the coding system and a concept designation which names the referenced concept.
• A coded concept may be a parent concept for a collection of additional concepts within the same code system.
HL7 V3 Vocabulary Specification Conceptual Model
ParentConcept
VocabularyDomain
name : Stringdescription : String
CodedConcept
conceptCode : StringconceptDesignation : String
0..*0..*
ValueSet
name : Stringdescription : StringdefiningExpression : String
0..*
0..*
0..*
0..*0..*
0..*0..*
0..*
includes
CodeSystem
identifier : OIDname : Stringdescription : String
0..*0..*
0..*
0..1
0..*
0..1
based on
ValueSetContext
contextExpression : String
Vocabulary TermsInformation Model
Vocabulary Binding
Class
1
0..* 0..*
1
Vocabulary Binding
Vocabulary Domain
Value Set
0..*
0..1
0..10..*
0..*
0..*
0..* 0..*
0..*
0..1
Attribute CodedConcept
CodeSystem
Coded “Structural” Attributes
• Act.classCode
• Act.moodCode
• Act.statusCode
• ActRelationship.checkpointCode
• ActRelationship.conjunctionCode
• ActRelationship.joinCode
• ActRelationship.splitCode
• ActRelationship.Type
• ActRelationship.contextControlCode
• Entity.classCode
• Entity.determinerCode
• Entity.statusCode
• ManagedParticipation.statusCode
• Participation.contextControlCode
• Participation.typeCode
• Role.classCode
• Role.statusCode
• RoleLink.typeCode
HL7 Version 3.0 Message Development
Framework
HL7 V3 Message Constrained Information Models
• RIM: Reference Information Model
• D-MIM: Domain Message Information Model
• R-MIM: Refined Message Information Model
• HMD: Hierarchical Message Definition
RIM
Restrict
R-MIM
Serialize
HMD
D-MIM
Derive
HL7 V3 Message Development Framework
Use Case Modeling
Interaction Modeling
Message Design
Information Modeling
RIM
Restrict
R-MIM
Serialize
HMD
Restrict
MessageType
Example
Storyboard
StoryboardExample
D-MIM
Derive
ApplicationRole
Sender Receiver
TriggerEvent
Triggers
Content
InteractionReferences
Components of an HL7 Constrained Information Model
• The HL7 v3 methodology specifies the information content of transport datasets (messages or documents) as constrained information models (CIM).
• Each CIM is comprised of clone classes derived from HL7 RIM classes.
• Clone classes are associated with attributes and relationships also derived from corresponding RIM model elements.
• A CIM may include a choice structure derived from a root RIM class.
• Relationships in the CIM are composed of two traversal paths, each derived from association ends in RIM class relationships.
• Controlling attributes in clone classes are used to identify the specific specialization of the RIM class used to derive the CIM clone class.
Sample HL7 Constrained Information Model
A_AbnormalityAssessment(COCT_RM420000UV)
Description: assessment of clinical findings, including lab test results,for indications of the presence and severity of abnormal conditions
AbnormalityAssessment
classCode*: = "OBS"moodCode*: = "EVN"code*: CD CWE [1..1] <= V:ObservationType ("ADVERSE_REACTION")statusCode*: CS CNE [1..1] <= V:ActStatusAbortedCancelledCompletedactivityTime*: TS.DATETIME [1..1]value: CD CWE [0..1] <= V:AbnormalityAssessmentValuemethodCode: SET<CE> CWE [0..*] <= V:AbnormalityAssessmentMethod
1..* assessmentOutcome *
typeCode*: = "OUTC"contextConductionInd*: BL [1..1] ="true"
outcome
AssessmentException
classCode*: = "OBS"moodCode*: = "EVN"code*: CD CWE [1..1] <= V:ObservationType ("ASSERTION")value*: SC CWE [1..1] <= V:AssessmentExceptionValue
AbnormalityGrade
classCode*: = "OBS"moodCode*: = "EVN"code*: CD CWE [1..1] <= V:ObservationType ("SEV")uncertaintyCode: CE CNE [0..1] <= V:ActUncertaintyvalue*: CD CWE [1..1] <= V:AbnormalityGradeValue
AssessmentOutcome
0..* assessmentOutcomeAnnotation
typeCode*: = "APND"contextConductionInd*: BL [1..1] ="true"
appendageOf
AssessmentOutcomeAnnotation
classCode*: = "OBS"moodCode*: = "EVN"code*: CD CWE [1..1] <= V:ObservationType ("ASSERTION")value*: SC CWE [1..1] <= V:AssessmentOutcomeAnnotationValue
HL7 Constrained Information Model
«clone»Class
localName: charfixedName: charbusinessName: charcomment: AnnotationisEntryPointIndicator: booleanisStubIndicator: boolean
«RIM»Class
name: chardescription: Annotation
«clone»Attribute
businessName: chardatatype: DataTypecardinality: Cardinalityconformance: Conformancecomment: AnnotationinitialValue: charinitialValueRole: ValueRolemaximumLength: int
«RIM»Attribute
name: chardatatype: DataTypecardinality: CardinalitymandatoryInclusionIndicator: booleandescription: Annotation
«RIM»Relationship
name: charrelationshipType: RelationshipType
«clone»Relationship
ConstrainedInformationModel
name: chardescription: AnnotationmodelType: ModelType
ControllingAttribute
constraints{datatype = CS}{cardinality = (1..1)}{conformance = Mandatory}{codingStrength = CNE}{terminologyReference = CodeSystem}
«RIM»AssociationEnd
roleName: charmultiplicity: Cardinalitynavigabil ityIndicator: boolean
«clone»Trav ersalPath
name: charenabledIndicator: booleanrequiredIndicator: booleanmandatoryIndicator: booleanmultiplicity: Cardinality
«enumeration»Cardinality
0..10..n0..*11..11..n1..*n..mn..*
«enumeration»RelationshipType
GeneralizationAssociationCompositionAggregation
«clone»Choice
name: charnameExtension: char
«enumeration»Conformance
OptionalRequiredMandatory
«enumeration»ValueRole
FixedDefault
«enumeration»ModelType
DMIM = Domain Message ...RMIM = Refined Message...CMET = Common Message ...HMD = Hierarchical Me...
0..*
associates source
1
«restrict»
1..*
0..*
associates target
1
0..*
associates target
1
0..*
associates source
1
0..*
isDerivedFrom
1
0..*{ordered}
1..*{ordered}
0..*
isDerivedFrom
1
0..*
isDerivedFrom
1
0..*
isDerivedFrom
root1
1..*
0..10..*
isDerivedFrom
1
2
2
CIM Terminology and Datatype Components
• Datatypes and terminology bindings are used to further describe CIM and RIM attributes.
• Attributes may be bound to a terminology reference (vocabulary domain, code system, or value set).
• A code system is composed of one or more code system terms.
• Code system terms may be aggregated as members of one or more value set.
• Code system terms may also be aggregated as subkinds of one or more parent code system term.
• Datatypes are may be composed of one or more datatype attributes.
• Datatype attributes may be bound to a terminology reference.
• Datatypes may be aggregated as subkinds of a parent datatype.
HL7 CIM Terminology and Datatype
«clone»Attribute
businessName: chardatatype: DataTypecardinality: Cardinalityconformance: Conformancecomment: AnnotationinitialValue: charinitialValueRole: ValueRolemaximumLength: int
«RIM»Attribute
name: chardatatype: DataTypecardinality: CardinalitymandatoryInclusionIndicator: booleandescription: Annotation
ControllingAttribute
constraints{datatype = CS}{cardinality = (1..1)}{conformance = Mandatory}{codingStrength = CNE}{terminologyReference = CodeSystem}
«RIM»TerminologyBinding
codingStrength: CodingStrength
«clone»TerminologyBinding
codingStrength: CodingStrength
TerminologyReference{abstract}
name: chardescription: Annotation
VocabularyDomain
ValueSet
conceptIdentifier: char
CodeSystem
objectIdentifier: charreleaseIdentifier: charisExternalIndicator: boolean
CodeSystemTerm
code: char [0..1]designation: chardescription: AnnotationinternalIdentifier: char
DataType
longName: charshortName: chardescription: Annotation
DatatypeAttribute
name: chardatatype: DataTypedescription: Annotation
ParentDatatype
«datatype»TerminologyBinding
codingStrength: CodingStrength
Annotation{abstract}
«enumeration»CodingStrength
CNECWE
ParentCodeSystemTerm
AnnotationSection
sectionRole: AnnotationSectionRolesectionText: char
«enumeration»AnnotationSectionRole
DescriptionRationaleDesign CommentIssueImplementation NoteHistoryMapping
0..*
binds
1
0..1
binds
1
0..1
binds
1
0..*
isDerivedFrom
1
«restrict»
0..*
isDerivedFrom
10..*
binds
1
1..*
subkind1..*
0..*
0..*
binds
1
0..1
binds
1
0..*
0..*
isBoundTo
1
member
1..*0..*
1..*
subkind1..*
0..1
HL7 Version 3.0 Reference Models
Reference Information ModelReference Information Model
Data TypeSpecification
Data TypeSpecification
VocabularySpecification
VocabularySpecification
HL7 Version 3.0 Reference Models
Account
name : STbalanceAmt : MOcurrencyCode : CEinterestRateQuantity : RTO<MO,PQ>allowedBalanceQuantity : IVL<MO>
DeviceTask
parameterValue : LIST<ANY>
DiagnosticImage
subjectOrientationCode : CE
Diet
energyQuantity : PQcarbohydrateQuantity : PQ
FinancialContract
paymentTermsCode : CE
FinancialTransaction
amt : MOcreditExchangeRateQuantity : REALdebitExchangeRateQuantity : REAL
InvoiceElement
modifierCode : SET<CE>unitQuantity : RTO<PQ,PQ>unitPriceAmt : RTO<MO,PQ>netAmt : MOfactorNumber : REALpointsNumber : REAL
ManagedParticipation
id : SET<II>statusCode : SET<CS>
Observation
value : ANYinterpretationCode : SET<CE>methodCode : SET<CE>targetSiteCode : SET<CD>
PatientEncounter
preAdmitTestInd : BLadmissionReferralSourceCode : CElengthOfStayQuantity : PQdischargeDispositionCode : CEspecialCourtesiesCode : SET<CE>specialAccommodationCode : SET<CE>acuityLevelCode : CE
Procedure
methodCode : SET<CE>approachSiteCode : SET<CD>targetSiteCode : SET<CD>
PublicHealthCase
detectionMethodCode : CEtransmissionModeCode : CEdiseaseImportedCode : CE
SubstanceAdministration
routeCode : CEapproachSiteCode : SET<CD>doseQuantity : IVL<PQ>rateQuantity : IVL<PQ>doseCheckQuantity : SET<RTO>maxDoseQuantity : SET<RTO>substitutionCode : CE
Supply
quantity : PQexpectedUseTime : IVL<TS>
WorkingList
ownershipLevelCode : CE
Container
capacityQuantity : PQheightQuantity : PQdiameterQuantity : PQcapTypeCode : CEseparatorTypeCode : CEbarrierDeltaQuantity : PQbottomDeltaQuantity : PQ
Device
manufacturerModelName : SCsoftwareName : SClocalRemoteControlStateCode : CE...alertLevelCode : CElastCalibrationTime : TS
LivingSubject
administrativeGenderCode : CEbirthTime : TSdeceasedInd : BLdeceasedTime : TSmultipleBirthInd : BLmultipleBirthOrderNumber : INTorganDonorInd : BL
ManufacturedMaterial
lotNumberText : STexpirationTime : IVL<TS>stabilityTime : IVL<TS>
Material
formCode : CENonPersonLivingSubject
strainText : EDgenderStatusCode : CE
Organization
addr : BAG<AD>standardIndustryClassCode : CE
Person
addr : BAG<AD>maritalStatusCode : CEeducationLevelCode : CEraceCode : SET<CE>disabilityCode : SET<CE>livingArrangementCode : CEreligiousAffiliationCode : CEethnicGroupCode : SET<CE>
Place
mobileInd : BLaddr : ADdirectionsText : EDpositionText : EDgpsText : ST
Access
approachSiteCode : CDtargetSiteCode : CDgaugeQuantity : PQ
Employee
jobCode : CEjobTitleName : SCjobClassCode : CEsalaryTypeCode : CEsalaryQuantity : MOhazardExposureText : EDprotectiveEquipmentText : ED
LicensedEntity
recertificationTime : TS
Patient
confidentialityCode : CEveryImportantPersonCode : CE
ActRelationship
typeCode : CSinversionInd : BLcontextControlCode : CScontextConductionInd : BLsequenceNumber : INTpriorityNumber : INTpauseQuantity : PQcheckpointCode : CSsplitCode : CSjoinCode : CSnegationInd : BLconjunctionCode : CSlocalVariableName : STseperatableInd : BL
Act
classCode : 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..n
1
outboundRelationship
0..n
source1
0..n
1
inboundRelationship
0..n
target
1
LanguageCommunication
languageCode : CEmodeCode : CEproficiencyLevelCode : CEpreferenceInd : BL
Participation
typeCode : CSfunctionCode : CDcontextControlCode : CSsequenceNumber : INTnegationInd : BLnoteText : EDtime : IVL<TS>modeCode : CEawarenessCode : CEsignatureCode : CEsignatureText : EDperformInd : BLsubstitutionConditionCode : CE...
0..n
1
0..n
1
Entity
classCode : CSdeterminerCode : CSid : SET<II>code : CEquantity : SET<PQ>name : BAG<EN>desc : EDstatusCode : SET<CS>existenceTime : IVL<TS>telecom : BAG<TEL>riskCode : CEhandlingCode : CE
1
0..n
1
0..n
RoleLink
typeCode : CSeffectiveTime : IVL<TS>
Role
classCode : CSid : SET<II>code : CEnegationInd : BLaddr : BAG<AD>telecom : BAG<TEL>statusCode : SET<CS>effectiveTime : IVL<TS>certificateText : EDquantity : RTOpositionNumber : LIST<INT>
0..n
1
0..n
10..n0..1
playedRole0..n
player
0..1
0..n0..1
scopedRole
0..n
scoper
0..1
0..n
1
outboundLink 0..n
source1
0..n
1
inboundLink0..n
target1
ParentConcept
VocabularyDomain
name : Stringdescription : String
CodedConcept
conceptCode : StringconceptDesignation : String
0..*0..*
ValueSet
name : Stringdescription : StringdefiningExpression : String
0..*
0..*
0..*
0..*0..*
0..*0..*
0..*
includes
CodeSystem
identifier : OIDname : Stringdescription : String
0..*0..*
0..*
0..1
0..*
0..1
based on
ValueSetContext
contextExpression : String
T
Sequence : LIST
T
Set : SET
T
Bag : BAG
Quantity : QTY
IntegerNumber : INT
RealNumber : REAL
PhysicalQuantity : PQ
MonetaryAmount : MO
Ratio : RTO
PointInTime : TS
Boolean : BL
CharacterString : ST
ConceptDescriptor : CD
CodedValue : CV
InstanceIdentifier : II
TelecommunicationAddress : TEL
T
Interval : IVL
DataValue : ANY
BinaryData : BIN
List_of_Boolean : LIST<BL>
<<extends>>
EncapsulatedData : ED
<<extends>>
ConceptRole : CR
CodedSimpleValue : CS
<<restricts>>
CodedWithEquivalents : CE
ISO_object_identifier : OID
List_ADXP : LIST<ADXP>
PostalAndResidentialAddress : AD
<<extends>>
AddressPart : ADXP
PersonNameType : PN
List_ENXP : LIST<ENXP>
EntityNamePart : ENXP
T
PeriodicIntervalOfTime : PIVL
T
EventRelatedPeriodicIntervalOfTime : EIVL
GeneralTimingSpecification : GTS
Set_of_TS : SET<TS>
<<extends>>
T : T
T
Annotated : ANT
T
History_item : HXIT
T
History : HIST
Set_of_HXIT : SET<HXIT<T>>
T
UncertainValueNarrative : UVN
<<extends>>
T
UncertainValueProbabilistic : UVP
T
NonParametricProbabilityDistribution : NPPD
Set_UVP : SET<UVP<T>>
T
ParametricProbabilityDistribution : PPD
UniversalResourceLocator : URL
<<extends>>
OrganizationName : ON
<<extends>>
<<extends>><<extends>>
<<extends>><<extends>>
<<extends>>
<<extends>>
<<extends>>
<<extends>>
<<extends>>
<<extends>>
<<restricts>>
<<restricts>>
<<restricts>>
<<extends>>
<<extends>>
<<extends>><<extends>>
<<extends>><<extends>>
<<extends>><<extends>>
<<extends>><<extends>>
<<restricts>>
<<extends>>
<<extends>><<extends>>
<<extends>> <<extends>>
<<extends>>
Questions / Discussion / Feedback
Thank You
Abdul-Malik ShakirPrincipal Consultant
Shakir Consulting1407 Foothill Blvd., Suite 145
La Verne, CA 91750
Office: (909) 596-6790 Mobile: (626) 644-4491Email: [email protected]
Abdul-Malik Shakir Information Management Strategist
City of Hope1500 East Duarte RoadDuarte, CA 91010-3000
Office: (626) 256-4673 Mobile: (626) 644-4491Email: [email protected]