Title: A brief HL7 Version 3 Introduction for CIMI
1A brief HL7 Version 3 Introduction for CIMI
- Mark Shafarman
- Past Chair HL7
- with additional HL7 roles of
- past co-chair International Council
- past co-chair Control/Query TC
- past member Architectural
- Review Board
- co-chair Templates WG
CEO Chief Information Architect Shafarman
Consulting, Inc. mark.shafarman_at_earthlink.net 1
510 593 3483
2Agenda
- Brief overview of the HL7 v 3 Reference
Information Model - The HL7 RIM model of clinical information
content - Some examples from the 2011 Normative edition
- Discussion/Questions
3Core concepts of HL7 v3 RIM
- The Act class and its specializations represent
every action of interest in health care. - Specifically an action of interest that has
happened, can happen, is happening, is intended
to happen, or is requested/demanded to happen. An
act is an intentional action in the business
domain of HL7. Healthcare (and any profession or
business) is constituted of intentional actions.
An HL7 Act instance is a record of such an
intentional action.
4Core concepts of RIM
- Every happening is an Act
- Procedures, observations, medications, supply,
registration, etc. - Acts are related through an Act_relationship
- 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,
healthcare facility etc. - Roles are played by Entities
- persons, organizations, material, places,
devices, etc.
5RIM Core Classes
Entity
Participation
Role
Adminis- trativeActs
FinancialActs
Clinical Acts
Observation Procedure Supply Substance Adm
Performer Author Witness Subject Destination ...
Living Subject Person Organization Material Place
...
Patient Employee Assigned Entity Certified
Entity Guarantor ...
Account, Invoice Element, Financial
Contract, Financial Transaction
Patient Encounter, Registry
6How does HL7 manage this abstraction?
- In the first HL7 RIM models, each concept had a
visible (physical) class or association to
represent it - In current RIM
- We only include a class when it adds new
attributes and associations - for the rest, use coded structural attributes
- class or type codes
- mood or determiner codes
7Structural metadata
- Why are these named structural attributes?
- because they use codes to represent concepts that
would previously have been part of the model
structure - Each structural attribute has a specific HL7
concept domain with an HL7-defined fixed value
set. - In an ontological context, the formal code sets
for the structural attributes form the RIM
metadata ontology. - Note that this now has a parallel in SNOMED CT,
which also has a formal metadata ontology.
8The RIM is an extensional model
- But it also has the ability to have formal
healthcare ontologies bound to specific
attributes (linked to Intentional model world). - For SNOMED CT there is the Terminfo
implementation guide. - LOINC is another standard terminology/ontology
that is commonly bound to RIM models. - These two aspects support applying description
logic to the analysis of RIM model instances.
9RIM Core Classes Attributes
Entity
Role
Participation
Act
classCode CS code CD determinerCode
CS statusCode CS
classCode CS code CE effectiveTime IVLltTSgt
typeCode CS time IVLltTSgt
classCode CS code CD moodCode CS statusCode
CS activityTime GTS
1
plays
0..
1
scopes
0..
Six kinds of attributes define semantics of each
backbone class typeCode(classCode), code,
time, mood(determiner), status, id
10RIM Core Structural Attribute Value Sets
Entity
Role
Participation
Act
classCode CS code CD determinerCode
CS statusCode CS
classCode CS code CE effectiveTime IVLltTSgt
typeCode CS time IVLltTSgt
classCode CS code CD moodCode CS statusCode
CS activityTime GTS
1
plays
0..
1
validates
0..
11E.g. Value Set for moodCode (a Structural
Attribute)
3 instances of Act, specialization OBServation,
act.code attribute wbc (actually the
corresponding LOINC code for White Blood Count)
moodCodeEVN effectiveTime 10/1/07_at_
1pm PST (Observation) Valuexxx
moodCodeRQO effectiveTime 12/12/07_at_
2pm PST (No Value Attribute in this model)
moodCodeGoal effectiveTime
11/1/07 (Goal) Valueyyy
Wbc Observation of xxx made on 10/1/07_at_1pmPST
Wbc Order (Request) to occur on 12/12/07_at_2pmPST
Wbc goal of specific value of yyy to be
attained by 11/1/07
12Person (in role of Patient) participates as
subject of an Observation (lab test, performed)
Entity
Role
Participation
Act
classCode CS code CD determinerCode
CS statusCode CS
classCode CS code CE effectiveTime IVLltTSgt
typeCode CS time IVLltTSgt
classCode CS code CD moodCode CS statusCode
CS activityTime GTS
1
plays
0..
1
validates
0..
13Person in role of physician ltassigned entitygt
participates as author of an Observation (lab
test order)
Entity
Role
Participation
Act
classCode CS code CD determinerCode
CS statusCode CS
classCode CS code CE effectiveTime IVLltTSgt
typeCode CS time IVLltTSgt
classCode CS code CD moodCode CS statusCode
CS activityTime GTS
1
plays
0..
1
validates
0..
14A single act may have multiple participations
Participation
Role
Entity
typeCode CS time IVLltTSgt
classCode CS code CE effectiveTime IVLltTSgt
classCode CS code CD determinerCode
CS statusCode CS
1
0..
plays
0..
1
scopes
Person in role of physician ltassigned entitygt
participates as author of an Observation (lab
test order)
1
Act
classCode CS code CD moodCode CS statusCode
CS activityTime GTS
Entity
Role
Participation
classCode CS code CD determinerCode
CS statusCode CS
typeCode CS time IVLltTSgt
1
classCode CS code CE effectiveTime IVLltTSgt
0..
plays
1
0..
scopes
Person (in role of Patient) participates as
subject of an Observation Order (lab test order)
15RIM Core Classes Attributes
- We have shown parts of some of the basic HL7
defined value sets for structural attributes, but
entity.code, role.code, and act.code are key
attributes that use non-HL7 standard
terminologies. - E.g. for act.code, LOINC and SNOMED-CT, are key
value sets for observation and procedure concept
domains.
Entity
Role
Participation
Act
classCode CS code CD determinerCode
CS statusCode CS
classCode CS code CE effectiveTime IVLltTSgt
typeCode CS time IVLltTSgt
classCode CS code CD moodCode CS statusCode
CS activityTime GTS
1
plays
0..
1
scopes
0..
- Six kinds of attributes define semantics of
each backbone class typeCode(classCode), code,
time, mood(determiner), status, id
16Two other critical RIM classes
- ActRelationship creates formal relationships
between acts, such as - E.g. (structural) Comp, component,
- As in a CBC observation (complete blood count)
has component acts RBC (red blood cell count)
WBC, white blood cell count etc. - E.g. (causal) RSON, reason CIND
contraindication PRCN, precondition - And several types of qualifiers and modifiers
17Two other critical RIM classes
- RoleLink A ltrarely usedgt connection between two
roles expressing a dependency between those roles
and permitting the authorization or nullification
of a dependent role based on status changes in
its causal or directing role. - E.g. A role of assignment or agency depends on
another role of employment, such that when the
employment role is terminated, the assignments
are terminated as well.
18(No Transcript)
19RIMBAA note
The previous diagram, the RIM on (just) one
page. Is the basic SQL design for RIMBAA
systems. But this requires (see below) using the
structural variables to navigate the RIM models.
(another presentation)
20V3 and physical data
- Act, specialization observation
- Act.classOBS
- Act.codeltcode for observation typegt
- E.g. LOINC, SNOMED, etc. (per HL7 realm)
- Act.mood
- Event for actual measurement
- Request for order/request for measurement
- Act.IDinstance identifier for the measurement
- Act.value the physical observation
- DataType of act.value is, as in v 2.x, allowed to
be any appropriate datatype (usually PQ, physical
quantity may be Set(PQ). - Act.effectiveTime physiologically relevant time
of observation (e.g. when in the patients life
the observation was made)
21V3 and physical data
- Act/observation continued
- interpretationCode (SETltCEgt)
- One or more codes specifying a rough qualitative
interpretation of the observation, such as
"normal", "abnormal", "below normal", "change
up", "resistant", "susceptible", etc - Act/observation continued
- methodCode (SETltCEgt)
- Examples Blood pressure measurement method
arterial puncture vs. sphygmomanometer
(Riva-Rocci), sitting vs. supine position, etc.
22V3 and physical data
- Act/observation continued
- targetSiteCode (SETltCDgt)
- A code specifying detail about the anatomical
site or system that is the focus of the
observation if this information is not already
implied by the observation definition or
Act.code. - Constraints The targetSiteCode value, if
specified, must not conflict with what is implied
about the target site or system from the
observation definition and the Act.code.
23(No Transcript)
24Summary
- We have briefly reviewed
- an introduction to the RIM
25Further Discussion
- Other topics?...
- Questions?...