Introduction to HL7 Version 3 Louise Brown, HL7 Consultant October - - PowerPoint PPT Presentation

introduction to hl7 version 3
SMART_READER_LITE
LIVE PREVIEW

Introduction to HL7 Version 3 Louise Brown, HL7 Consultant October - - PowerPoint PPT Presentation

Introduction to HL7 Version 3 Louise Brown, HL7 Consultant October 14, 2004 Message Development Methodology Stage I Use Case Analysis Scope identification Business model development Use case definition Stage II


slide-1
SLIDE 1

Introduction to HL7 Version 3

Louise Brown, HL7 Consultant October 14, 2004

slide-2
SLIDE 2

Message Development Methodology

Stage I – Use Case Analysis

Scope identification Business model development Use case definition

Stage II – Interaction Design

Definition of information flows needed to support functional requirements Identification of trigger events and application roles

Stage III – Information Analysis

Data requirements analysis Creation of Information Models (derived from the RIM)

Stage IV – Message Design/Specification

Creation of Hierarchical Message Definition Generation of XML Message Schema

slide-3
SLIDE 3
slide-4
SLIDE 4

Version 3 Artifacts

NOTE: Within the HL7 V3 standards the components that make up the documentation are each referred to as ‘artifacts’. Stage I – Use Case Analysis

Storyboards

Stage II – Interaction Design

Interaction Models (Message Types, Trigger Events, Application Roles)

Stage III – Information Analysis

Domain Message Information Model Refined Message Information Models

Stage IV – Message Design/Specification

Hierarchical Message Definition XML Message Schema

slide-5
SLIDE 5

Storyboard

  • Mr. Adam Everyman was admitted on Monday to the Good Health

Hospital Inpatient Unit for his hip replacement surgery with Dr. Sara Specialize as his attending practitioner. Dr. Specialize was called out

  • f town on a family emergency before arriving at the hospital on

Tuesday morning. The active attending practitioner for Mr. Everyman's encounter was changed from Dr. Sara Specialize to Dr. Aaron Attending as of Tuesday morning, 7am [Interaction Attending Practitioner Changed].

A storyboard depicts a story using a series of "snapshots" or events in chronological sequence; Each snapshot illustrates the key participants in the storyboard and their interaction with other players;

slide-6
SLIDE 6

Version 3 Artifacts

Stage I – Use Case Analysis

Storyboards

Stage II – Interaction Design

Interaction Models (Message Types, Trigger Events, Application Roles)

Stage III – Information Analysis

Domain Message Information Model Refined Message Information Models

Stage IV – Message Design/Specification

Refined Message Information Models Hierarchical Message Definition XML Message Schema

slide-7
SLIDE 7

Interaction Model

The interaction model defines the specific information flows that are needed to support the functional requirements. Interactions are at the heart of messaging. An Interaction is a unique association between a specific Message Type (information transfer), a particular Trigger Event that initiates or "triggers" the transfer, and the Application Roles that send and receive the message type. It is a unique, one-way transfer of information.

slide-8
SLIDE 8

Interaction Model

Sending Sending Application Application Role Role Message Type Message Type Trigger Event Trigger Event Receiving Receiving Application Application Role Role

slide-9
SLIDE 9

State Transition Diagram

The change in state (state transition) is associated with a trigger event that causes the transition.

slide-10
SLIDE 10

Version 3 Artifacts

Stage I – Use Case Analysis

Storyboards

Stage II – Interaction Design

Interaction Models (Message Types, Trigger Events, Application Roles)

Stage III – Information Analysis

Domain Message Information Model Refined Message Information Models

Stage IV – Message Design/Specification

Hierarchical Message Definition XML Message Schema

slide-11
SLIDE 11

Reference Information Model (RIM)

Defines all the information from which the data content of HL7 messages are drawn Follows object-oriented modeling techniques, where the information is organized into classes that have attributes and that maintain associations with other classes Forms a shared view of the information domain used across all HL7 messages independent of message structure Provides a means for discovering and reconciling differences in data definition

slide-12
SLIDE 12

RIM Core Classes

4 structural attributes:

classCode, typeCode, moodCode, determinerCode

Entity

classCode determinerCode id code statusCode

Role

classCode id code statusCode effectiveTime

Participation

typeCode time

Act

classCode moodCode id code statusCode effectiveTime

1 0..* 1 0..*

Role Link

typeCode effectiveTime

Act Relationship

typeCode

0..* 0..* 0..1 0..1 0..* 0..* 0..1 0..1

plays scopes

1 0..* 1 0..*

Source: HL7, Woody Beeler

slide-13
SLIDE 13

RIM Core Class Definitions

Act - represents the actions that are executed and must be documented as health care is managed and provided. Participation - expresses the context for an act in terms such as who performed it, for whom it was done, where it was done, etc. Role Link - which represents relationships between individual roles. Role - establishes the roles that entities play as they participate in health care acts. Entity - represents the physical things and beings that are of interest to, and take part

in health care.

Ent it y Ent it y P art icipat ion P art icipat ion Act Act Role Role Role Role Link Link

Act Relationship - represents the binding of one act to another, such as the relationship between an order for an observation and the observation event as it

  • ccurs.

Act Act Relat ionship Relat ionship

slide-14
SLIDE 14

RIM Continued

Entity

classCode determinerCode id code statusCode

Role

classCode id code statusCode effectiveTime

Participation

typeCode time

Act

classCode moodCode id code statusCode effectiveTime

1 0..* 1 0..*

plays scopes

1 0..* 1 0..*

Entity Class Code

  • Living Subject
  • Person
  • Organization
  • Material
  • Place
  • ...

Participation Type Code

  • Performer
  • Author
  • Witness
  • Subject
  • Destination
  • ...

Act Class Code

  • Observation
  • Procedure
  • Supply
  • Medication
  • Financial
  • ...

Act Mood Code

  • Definition
  • Intent
  • Order
  • Event
  • Criterion
  • ...

Role Class Code

  • Patient
  • Provider
  • Employee
  • Specimen
  • Practitioner
  • ...

Entity Determiner Code

  • Kind
  • Instance
  • (Qualified

Group)

Source: HL7, Woody Beeler

slide-15
SLIDE 15 1 returns_to 1..* 1..* 1 1 1 1 1 1 0..* specifies_ability_in 0..* 1 1 1 can_accompany 1 1..* 1 1..* 1 0..* 0..* is_managed_by 0..* 0..*

Message Message control control

Participation Participation

Act Act

HL7 RIM

Role Role

Entity Entity

Structured Structured Documents Documents

slide-16
SLIDE 16

Acts and Participation

slide-17
SLIDE 17

Entities

slide-18
SLIDE 18

Roles

slide-19
SLIDE 19

Message Control

slide-20
SLIDE 20

Information Modeling

slide-21
SLIDE 21

HL7 Domains

slide-22
SLIDE 22

Domain Models

The Domain Message Information Model (D-MIM) is a subset of the RIM that includes a fully expanded set of class clones, attributes and relationships that are used to create messages for any particular domain. For example, the set of classes that are used by the Laboratory domain is quite different from that used by the Patient Administration domain. The D-MIMs for these two domains, then, will be quite different, although both will be derived from the RIM.

slide-23
SLIDE 23

Patient Administration DMIM

slide-24
SLIDE 24

Refined Message Information Models

Refined Message Information Models (R-MIMs) are used to express the information content for one

  • r more messages within a Domain.

Each R-MIM is a subset of the D-MIM and contains

  • nly those classes, attributes and associations

required to compose the set of messages.

slide-25
SLIDE 25

A closer look at the DMIM…

slide-26
SLIDE 26

Refined Message Information Model

slide-27
SLIDE 27

Version 3 Artifacts

Stage I – Use Case Analysis

Storyboards

Stage II – Interaction Design

Interaction Models (Message Types, Trigger Events, Application Roles)

Stage III – Information Analysis

Domain Message Information Model Refined Message Information Models

Stage IV – Message Design/Specification

Hierarchical Message Definition XML Message Schema

slide-28
SLIDE 28

Hierarchical Message Definitions

An HMD is a tabular representation of the sequence

  • f elements (i.e., classes, attributes and associations)

represented in an R-MIM. A Message Type represents a unique set of constraints applied against a common message.

slide-29
SLIDE 29

Hierarchical Message Definition

The HMD and its contained message types may be downloaded as an Excel spreadsheet.

slide-30
SLIDE 30

Schema

The schema is used to validate all XML messages that conform to the particular message type.

slide-31
SLIDE 31

Tooling

Stage I – Use Case Analysis

Scope identification Business model development Use case definition

Stage II – Interaction Design

Definition of information flows needed to support functional requirements Identification of trigger events and application roles

Stage III – Information Analysis

Data requirements analysis Creation of DMIM/RMIMs (derived from the RIM)

Stage IV – Message Design/Specification

Creation of HMD Generation of XML Message Schema

RMIM Designer* Word, Visio etc. Schema Generator Rosetree Repository Word, Visio etc.

slide-32
SLIDE 32

Structure of an HL7 Message

Transport Wrapper [ e.g. MCCI_MT000101 ] (always) Trigger Event Control Act Wrapper [ e.g. MFMI_MT700701 ] (conditional) Message Payload [ e.g. PRPA_MT030000 ] (required for each trigger event)

Sender, Receiver, Message Handling Convey Status or Commands Add Client Message

slide-33
SLIDE 33

Version 3 Ballot Material

slide-34
SLIDE 34

Structure of Version 3 Ballot Material

The following is the structure of the table of contents for each of the domains.

slide-35
SLIDE 35

Artifact Naming

Each artifact is submitted by a Technical Committee and given a unique identifier that is assigned by concatenating the Sub-Section, Domain and Artifact code with a 6-digit, non-meaningful number.

slide-36
SLIDE 36

Naming Convention

UUDD_AAnnnnnnRRvv

UU = Sub-Section code DD = Domain code AA = Artifact or Document code nnnnnn = Six digit zero-filled number

RR = Realm Code (Currently only UV is supported) vv = Version Code

Example:

PRPA_AR00001UV00 Practice Sub-Section, Patient Administration Domain, Application Role Artifact number 000001, Universal Realm, Version 00.

slide-37
SLIDE 37

Naming Convention Continued

slide-38
SLIDE 38

Storyboard to RMIM Example

slide-39
SLIDE 39

Storyboard

Scenario: A client relocates to a new jurisdiction. An individual relocates from Prince Edward Island to Ontario. Upon arrival in the new jurisdiction, the individual seeks medical care from a provider at a walk-in clinic. The receptionist searches to see if the person already exists in the jurisdictional registry. No matched records are found. The person is added to the source system. A unique client identifier is assigned and the former jurisdictional unique identifier and current demographic information is entered. A notification indicating a new client has been added is sent to the jurisdictional registry.

slide-40
SLIDE 40

Identify relevant information

An individual relocates from Prince Edward Island to Ontario. Upon arrival in the new jurisdiction, the individual seeks medical care from a provider at a walk-in clinic. The receptionist searches to see if the person already exists in the jurisdictional registry. No matched records are found. The person is added to the source system. A unique client identifier is assigned, the former jurisdictional unique identifier and current demographic information is entered. A notification indicating a new client has been added is sent to the jurisdictional registry.

slide-41
SLIDE 41

An individual relocates from PEI to Ontario. Upon arrival in the new jurisdiction, the individual seeks medical care from a provider at a walk-in clinic. The receptionist searches to see if the person already exists in the jurisdictional registry. No matched records are found. The person is added to the source system. A unique client identifier is assigned, the former jurisdictional unique identifier and current demographic information is entered. A notification indicating a new client has been added is sent to the jurisdictional registry.

Notification Client Source system Person is added Registry Searches Receptionist Clinic Provider Ontario Prince Edward Island Individual

Identify relevant information

slide-42
SLIDE 42

An individual relocates from PEI to Ontario. Upon arrival in the new jurisdiction, the individual seeks medical care from a provider at a walk-in clinic. The receptionist searches to see if the person already exists in the jurisdictional registry. No matched records are found. The person is added to the source system. A unique client identifier is assigned, the former jurisdictional unique identifier and current demographic information is entered. A notification indicating a new client has been added is sent to the jurisdictional registry.

Notification Client Source system Person is added Registry Searches Receptionist Clinic Provider Ontario Prince Edward Island Individual

  • 1. No need to communicate with former registry
  • 2. Communication only with jurisdictional registry so no need to

specifically identify

  • 3. Identification of Provider not relevant
  • 4. Clinic may only be relevant to ensure access to

registry (not in scope?)

  • 5. Identification of receptionist not relevant
  • 6. Source system not relevant (not in scope)

Identify relevant information

slide-43
SLIDE 43
  • 4. Categorize/classify information

Notification Client Registry Searches Individual Interaction Role Entity Interaction Entity Person is added Trigger

An individual relocates from PEI to Ontario. Upon arrival in the new jurisdiction, the individual seeks medical care from a provider at a walk-in clinic. The receptionist searches to see if the person already exists in the jurisdictional registry. No matched records are found. The person is added to the source system. A unique client identifier is assigned, the former jurisdictional unique identifier and current demographic information is entered. A notification indicating a new client has been added is sent to the jurisdictional registry.

Identify RIM Classes

slide-44
SLIDE 44

Identify Attributes

Interaction Notification ID Role Client Trigger Person is added ID, Name Entity Registry Name, Address, Gender, DOB, ID Interaction Searches Name, Address, Gender, DOB, Death Ind, Tel Entity Individual

An individual relocates from PEI to Ontario. Upon arrival in the new jurisdiction, the individual seeks medical care from a provider at a walk-in clinic. The receptionist searches to see if the person already exists in the jurisdictional registry. No matched records are found. The person is added to the source system. A unique client identifier is assigned, the former jurisdictional unique identifier and current demographic information is entered. A notification indicating a new client has been added is sent to the jurisdictional registry.

slide-45
SLIDE 45

Create Query RMIM

QueryByParameter (QueryByParameter)

queryId: statusCode: CS CNE [1..1] <= QueryEventStatus responseElementGroupId: (Search Method) initialQuantity: (Record Count Value) initialQuantityCode: (Units)

Person.name (ParameterItem)

value*: PN [1..1] semanticsText:

Person.addr (ParameterItem)

value*: AD [1..1] semanticsText:

Person.birthTime (ParameterItem)

value*: TS [1..1] 1..* person.name 0..* person.addr 0..1 person.Gender

Query Client

(PRPA_RM010000 )

Entry point for Query Client message. Control Act Wrapper: QUQI_RM020000

Client.id (ParameterItem)

value*: II [1..1] 0..* client.id

Person.Gender (ParameterItem)

value*: CE [1..1] 0..1 person.birthTime

The receptionist searches to see if the person already exists in the jurisdictional registry. No matched records are found.

Name, Address, Date of Birth Gender Interaction Searches

slide-46
SLIDE 46

Create Add Client RMIM

1..1 citizenPerson * 0..1 politicalRegistryOrganization *

Client

classCode*: <= CIT id*: LIST<II> [1..*]

Person

classCode *: <= PSN determinerCode *: <= INSTANCE name*: LIST<PN> [1..*] telecom*: administrativeGenderCode*: CS CNE [1..1] <= AdministrativeGender birthTime*: [1..1] (Not always known.) deceasedInd: BL [0..1] deceasedTime*: TS [0..1] addr*: LIST<AD> Note: Use case: Missing names and names not yet selected will be represented by values: UNK - name unknown, NAV - name temporarily unavailable

RegistryOrganization

classCode*: <= ORG determinerCode *: <= INSTANCE id*: II [1..1] name*: TN [0..1] (Only used to cross-reference ID.)

Add Client

(PRPA_RM030000 )

Entry point for Add Client message. Note: Client should not be added to a CR with an ID in the notification message.

  • 7. Create Message Info. Models

ID Role Client ID, Name Entity Registry Name, Address, Gender, Date of Birth, Telephone Entity Individual

slide-47
SLIDE 47

Interaction Model

  • 8. Create Interaction diagram

Add New Client Notification

Source System (Informer) Query Client Request Client Registry (Tracker) Query parameter value definition Query processing Query Response - No Matches New Client Registration Add Client Notification System Receipt of Message Query Response - Candidate List Message ACK

An individual relocates from PEI to Ontario. Upon arrival in the new jurisdiction, the individual seeks medical care from a provider at a walk-in clinic. The receptionist searches to see if the person already exists in the jurisdictional registry. No matched records are found. The person is added to the source system. A unique client identifier is assigned, the former jurisdictional unique identifier and current demographic information is entered. A notification indicating a new client has been added is sent to the jurisdictional registry.

slide-48
SLIDE 48

To complete the development process…

Refine RMIMs and save to Repository Create Hierarchical Message Definitions (HMD) from RMIM Create Message Type from HMD Create payload XML Schema from Message Type Stitch together with Wrappers

slide-49
SLIDE 49

Thank you for your time!

Questions? Louise.brown@tntglobal.ca