V26 CH02 Control
V26 CH02 Control
Control
Chapter Chair Grahame Grieve
Kestral Computing Pty Ltd.
Chapter Chair and Editor: (2) Anthony Julian
Mayo Clinic
Chapter Chair Scott Robertson
Kaiser Permanente
Chapter Chair and Editor (2A) Doug Pratt
Siemens Medical Solutions Health Services
Chapter Chair René Spronk
Ringholm GmbH
Implementation/Conformance TC Lisa Carnahan
Co-Chair National Institute of Standards and Technology (NIST)
Implementation/Conformance TC Frank Oemig
Co-Chair Agfa HealthCare GmbH
Implementation/Conformance TC Charlie McCay
Co-Chair Ramsey Systems
Implementation/Conformance TC John Lyons
Co-Chair Siemens Medical Solutions Health Services
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 1
Final Standard. October 2007.
Chapter 2: Control
2.2 INTRODUCTION
The Control chapter of this Standard defines the generic rules that apply to all messages.
Subsequent sections define functionally specific messages to be exchanged among certain
applications. The specific aspects of message definition that are addressed herein are:
a) the form to be used in functional chapters for describing messages. This includes their purpose,
their contents, and the interrelationships among them. This form is called an abstract message
definition because it is purely a level 7 (application) definition.
b) the HL7 encoding rules for converting an abstract message into a string of characters that
comprises an actual message.
c) the programming procedures required to exchange messages using the HL7 specifications.
d) the anticipated relationship with lower level protocols.
e) certain message segments that are components of all messages.
f) a single message, the acknowledgment message, that may be used unchanged in multiple
applications.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 3
Final Standard. October 2007.
Chapter 2: Control
Note: No assumption is made about the design or architecture of the application system creating the unsolicited
update. The scope of HL7 is restricted to the specification of messages between application systems and the events
triggering them.
HL7 allows the use of trigger events at several different levels of data granularity and inter-relationships.
For example, most Patient Administration (ADT) trigger events concern single objects (such as an admit
event, which creates a message that contains data about a single person and/or account). Other ADT trigger
events are concerned with relationships between more than one object (e.g., the merge events, which
specify patient or account merges). Some ADT trigger events pertain to a collection of objects that may
have no significant inter-relationships (e.g., a record-oriented location-based query, whose response
contains data about a collection of inpatients who are related only temporarily, by local geography).
2.3.4 Queries
Query documentation including messages, segments, special protocols, implementation considerations and
examples have been moved to chapter 5. The unsolicited display messages were also moved because their
message syntax is query-like in nature.
Page 4 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 5
Final Standard. October 2007.
Chapter 2: Control
2.5.1 Messages
A message is the atomic unit of data transferred between systems. It is comprised of a group of segments in
a defined sequence. Each message has a message type that defines its purpose. For example the ADT
Message type is used to transmit portions of a patient's Patient Administration (ADT) data from one system
to another. A three-character code contained within each message identifies its type. These are listed in the
Message Type list, Appendix A.
The real-world event that initiates an exchange of messages is called a trigger event. See Section 2.3.1,
"Trigger events," for a more detailed description of trigger events. Refer to HL7 Table 0003 – Event type for
a listing of all defined trigger events. These codes represent values such as A patient is admitted or An
order event occurred. There is a one-to-many relationship between message types and trigger event codes.
The same trigger event code may not be associated with more than one message type; however a message
type may be associated with more than one trigger event code.
All message types and trigger event codes beginning with the letter "Z" are reserved for locally defined
messages. No such codes will be defined within the HL7 Standard.
Page 6 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
2.5.3 Fields
Definition: A field is a string of characters. Fields for use within HL7 segments are defined by HL7. A
comprehensive data dictionary of all HL7 fields is provided in Appendix A.
HL7 does not care how systems actually store data within an application. When fields are transmitted, they
are sent as character strings
A field may exist in one of three population states in an HL7 message:
Populated. (Synonyms: valued, non-blank, not blank, not empty.) The sending system sends a value in the
field. For example, if a sending system includes medical record number, that would be communicated as
|1234567^^^MR^KP-CA|. Note that the field might be populated with a code that means "no information"
or "unknown".
Not populated. (Synonyms: unpopulated, not valued, unvalued, blank, empty, not present, missing.) The
sending system does not supply a value for the field. The Sender might or might not have a value for the
field. The receiving system can make no inference regarding the absence of an element value if there is not
a conformance profile governing the implementation. However, if there is a Conformance Message Profile
in effect, then special rules apply; see section 2.B, "Conformance Using Message Profiles".
Null. Any existing value for the corresponding data base element in the receiving application should be
deleted. This is symbolically communicated as two double-quotes between the delimiters (i.e.,
|""|).Employing consecutive double quote characters as the only content of a field for other purposes is
prohibited.
Refer to Section 2.6, "Message Construction Rules" for information on data fields with a null value.
Refer to section 2.10.4, "Protocol for interpreting repeating segments or segment groups in an update
Message" for information on updating records in a database.
Version control rules regarding fields can be found in section 2.8, "Version compatibility definition".
Local extension rules regarding fields can be found in section 2.11, "Local Extension".
The various chapters of the Standard contain segment attribute tables. These tables list and describe the data
fields in the segment and characteristics of their usage. In defining a segment, the following information is
specified about each field:
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 7
Final Standard. October 2007.
Chapter 2: Control
Page 8 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
W - withdrawn
Note: For Versions 2.3 and higher: the optionality of fields should be explicitly documented in the segment field
definitions that follow each segment definition table; if the optionality of fields within a segment changes depending on
the trigger event, that optionality should also be explicitly documented.
For version 2.5 and higher, the optionality, table references, and lengths of data type components are
supplied in component tables of the data type definition. The component definitions that follow the
component table will elaborate on the optionality and table references. Where needed, additional detailed
field definitions will follow the formal segment attribute tables. (See also Sections 2.5.4, "Message
delimiters," 2.6, "Message construction rules," 2.15, "Data types").
2.5.3.5 Repetition
Definition: Whether the field may repeat. The value that appears in the repetitions column is the maximum
number of allowed occurrences, e.g., a value of '3' would mean that the field can have '3 occurrences'; if
unspecified, there is only one occurrence, i.e., cannot repeat.
In the segment attribute tables this information is provided in the column labeled RP/#.
The designations for Repetition are:
N or blank - no repetition
Y - the field may repeat an indefinite or site-determined number of times
(integer) - the field may repeat up to the number of times specified by the
integer
Each occurrence may contain the number of characters specified by the field's maximum length. See
Section 2.5.3.2, "Maximum length".
Usage Note: For improved readability some technical committees opt to leave the Repetition fields blank to
indicate that the field may NOT repeat. A blank may NOT be construed to mean that the field may
optionally repeat.
As of v2.5 the Repetition column is to be left blank if the field may NOT repeat.
2.5.3.6 Table
Note: The Vocabulary T.C. is the steward of this section.
Definition: The table attribute of the data field definition specifies the HL7 identifier for a set of coded
values.
In the segment attribute tables, the table identifier is provided in the column labeled TBL#. If this attribute
is not valued or blank, there is not a table of values defined for the field.
A number of conventions have been applied to this attribute of the data field definition.
a) If more than one table is applicable, the format xxxx/yyyy will be used to so designate multiple
tables. Details on multiple tables will be specified in field or data type notes.
b) If the field is of data type ID or IS a table number will be allocated even if, in the case of IS, there
may be a notation "No Suggested values".
c) If the field is of data type CF, CNE or CWE and one or more externally or locally defined tables
may be used, the symbolic number 9999 will appear in the column. This is to indicate that table
values are used, but no HL7/User-defined table can be allocated. The narrative may constrain
which external tables can be used.
d) Tables embedded in field components or subcomponents will not be cited in the attribute column.
1) Tables embedded in data types are defined, save for the exceptions in point 2 below, in the data
type's component table in section 2.A Data Types. They may, however, be constrained in the
field note section. The field note definition supersedes the definition in the data type section.
2) Tables embedded in fields with a data type of CF, CNE, or CWE are only defined in the field
notes section.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 9
Final Standard. October 2007.
Chapter 2: Control
e) Values for HL7 tables shall not contain the embedded "suggested delimiters" delineated in section,
2.5.4, "Message delimiters".
HL7 defines four table types, reflecting content ownership: HL7 defined, User-defined, Imported and
Externally defined. Local implementation may further constrain the table.
User-defined Tables: A user-defined table is a set of values that are locally or site defined. This
accommodates certain fields, like PV1-3 - Assigned patient location, that will have values that vary from
institution to institution. Even though these tables are not defined in the Standard, they are given a user-
defined table number to facilitate implementations. HL7 sometimes publishes suggested values that a site
may use as a starter set (e.g., Table 0001- Sex). The IS data type is often used to encode values for these
tables. Note that some of these tables (e.g., Table 0302 - Point of care) may reference common master files.
There are some user-defined tables that contain values that might be standardized across institutions but for
which no applicable official standard exists. For these a set of suggested values may be listed in Appendix
A. These suggested values appear in the text in a standard box format (e.g., HL7 Table 0062 - Event Reason
in Section 3.4.1.4, "Event reason code"). It is recommended that these values be used where applicable
within an institution and serve as a basis for extensions as required. These values may, however, be
redefined locally. The appropriate functional committee within HL7 solicits suggestions for additional
values from institutions that are applying the Standard.
HL7 Tables: An HL7 table is a set of values defined and published by HL7. They are a part of the HL7
Standard because they affect the interpretation of the messages that contain them. These values may not be
redefined locally; however, the table itself may be extended to accommodate locally defined values. This is
particularly applicable in the case of HL7 table 0003 – Event Type. The ID data type is most often used to
encode values for HL7 tables. The values are listed in Appendix A. These HL7 tables also appear in the text
in a standard box format (e.g., HL7 table 0003 Event Type).
External Tables: An External table is a set of coded values defined and published by another standards
organization. External tables are used to populate fields like FT1-19-Diagnosis Code - FT1. Another
example is the encoding of clinical observations using LOINC codes. The CF, CNE and CWE data type are
used to represent values for these fields.
External tables arise from applications where the concepts and possibly the codes are established by
external agencies due to regulatory requirements or agreements between HL7 and other Standards
Developing Organizations..
For user convenience, an External table will be assigned a number by HL7. Although the set of allowable
codes (the code sets) are supplied by an external organization, the coding system code is assigned by HL7
in HL7 Table 0396 - Coding System. When the value is an HL7 extension to the table, the HL7 number
should be used as the coding scheme.
The data type for the field will be CWE if 1) other tables are allowed in the field or 2) the external table
may be locally extended or 3) when the code may be replaced by local text.
The data type for the field will be CNE if 1) no other table is allowed in the field and 2) the external table
may not be locally extended and 3) text may not replace the code. A CNE field must have an HL7 defined
or external table associated with it. A CNE field may be context sensitive such that a choice of explicit
coding systems or value sets might be designated.
Imported Tables: An Imported table is a set of coded values defined and published by another standards
organization. Imported tables are published by HL7 on behalf of other organizations. Their contents are not
subject to approval by HL7 ballot. Such tables will be published with HL7 Standards. However, they may
be updated more frequently than HL7 Standards.
Imported tables differ from External tables in that they have been imported into the HL7 standard subject to
specific license or copyright requirements of the supplier/author. HL7 users will need to abide by the
licensing and copyright requirements of the source when applicable.
For user convenience, an Imported table will be assigned a number by HL7. However, the coding system
will be designated as that assigned by the supplier, and will be a member of HL7 Table 0396 - Coding
Page 10 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
System. An exception to this convention occurs when the value is an HL7 extension to the table; in that case
the HL7 number should be used as the coding scheme.
Table 0292 - Vaccines administered is an example of an Imported table.
The data type rules apply as defined for the External table.
Local Tables: A local table is a table with a non-HL7 assigned table identifier and which contains a set of
locally or site defined values. It may be locally assigned to local fields in Z segments or to HL7 fields
having a CWE data type.
2.5.3.7 ID number
Definition: a small integer that uniquely identifies the data item throughout the Standard. In the segment
definition this information is provided in the column labeled ITEM #.
2.5.3.8 Name
Definition: Descriptive name for the data item. In the segment attribute tables this information is provided
in the column labeled ELEMENT NAME.
When the same name is used in more than one segment, it must have the same data type and semantic
meaning in each segment as well as the same ID number. To deal with any ambiguities arising from this
convention, whenever a field is referenced herein, the segment name and position must always be included.
Warning: Receivers should be made aware that while it is not best practice, the sender may omit the escape and
subcomponent delimiters.
Segment Terminator <cr> - Terminates a segment record. This value cannot be changed by implementers.
Field Separator | - Separates two adjacent data fields within a segment. It also separates the segment
ID from the first data field in each segment.
Component Separator ^ 1 Separates adjacent components of data fields where allowed.
Repetition Separator ~ 2 Separates multiple occurrences of a field where allowed.
Escape Character \ 3 Escape character for use with any field represented by an ST, TX or FT data type,
or for use with the data (fourth) component of the ED data type. If no escape
characters are used in a message, this character may be omitted. However, it must
be present if subcomponents are used in the message. Best practice is to always
include this character.
Subcomponent & 4 Separates adjacent subcomponents of data fields where allowed. If there are no
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 11
Final Standard. October 2007.
Chapter 2: Control
Separator subcomponents, this character may be omitted. Best practice is to always include
this character.
return;
}
get_subcomponent_data( component );
return;
}
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 13
Final Standard. October 2007.
Chapter 2: Control
for (eachSegment)
for (eachField)
for (eachFieldOcc)
ConstructFieldOcc
No
loop
Yes
loop
No
loop
Stop
Page 14 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
ConstructFieldOcc
for (eachComponent)
for (eachSubComponent)
No
Yes
loop
Yes
loop
Return
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 15
Final Standard. October 2007.
Chapter 2: Control
Page 16 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
2.7.3 Highlighting
In designating highlighting, the sending application is indicating that the characters that follow somehow
should be made to stand out, but leaving the method of doing so to the receiving application. Depending on
device characteristics and application style considerations, the receiving application may choose reverse
video, boldface, underlining, blink, an alternate color or another means of highlighting the displayed data.
For example the message fragment:
DSP| TOTAL CHOLESTEROL \H\240*\N\ [90 - 200]
might cause the following data to appear on a screen or report:
TOTAL CHOLESTEROL 240* [90 - 200]
whereas another system may choose to show the 240* in red.
2.7.5 Hexadecimal
When the hexadecimal escape sequence (\Xdddd...\) is used the X should be followed by 1 or more pairs of
hexadecimal digits (0, 1, . . . , 9, A, . . . , F). Consecutive pairs of the hexadecimal digits represent 8-bit
binary values. The interpretation of the data is entirely left to an agreement between the sending and
receiving applications that is beyond the scope of this Standard.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 17
Final Standard. October 2007.
Chapter 2: Control
2.7.7 Local
When the local escape sequence (\Zdddd...\) is used the Z should be followed by characters that are valid in
a TX field. The interpretation of the data is entirely left to an agreement between the sending and receiving
applications that is beyond the scope of this Standard.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 19
Final Standard. October 2007.
Chapter 2: Control
2) For existing fields in existing segments, data types may be changed if the leftmost (prior
version) part of the field has the same meaning as it had in the prior version of HL7. This is in
accordance with the rules governing the addition of new components and subcomponents
described in the section above. In other words, if the new parts of the field (those that are part
of the new data type) are ignored, what remains is the old field (defined by the old data type),
which has the same meaning as it had in the prior version of HL7.
3) If a data type component has its data type changed, the structure and interpretation must
remain the same as the pre-existing component. Any new component is added at the end of the
data type.
c) The optionality of a message constituent may be changed. A sending system should be able to send
the modified field; the receiver, regardless of its version level, should be able to understand the
message. This pertains as follows:
1) Existing optional segment groups may be made required.
2) Existing optional segments may be made conditional or required.
3) Existing optional fields may be made conditional or required.
4) Existing required fields may be made conditional if a new trigger event has been applied. The
condition must be specified such that the field remains required for the pre-existing trigger
events.
5) Existing optional components of a data type may be made conditional or required.
d) The repeatability of a message constituent may be changed. A sending system should be able to
send the modified message constituent; the receiver, regardless of its version level, should be able
to understand the message. Note that if a non-repeating message constituent is made repeating,
information sent in the new repetitions may be lost to the recipient who is not expecting them.
If HL7 has given, or will give, semantic meaning to the first instance, to allow backward
compatibility, the first instance of the repeating constituent shall have the same meaning as the non-
repeating constituent had in the prior version of HL7. In this way, a receiving application that
interprets the message based upon the prior standard would continue to find the same intent
communicated in the message.
If HL7 has not given, and will/can not give, semantic meaning to the first instance, and one or more
implementation-applied business rules exist to select one of several occurrences to populate a non-
repeating constituent, those same rules should be applied when a newer version of the standard
allows for repetition of the constituent. By applying the prior business rules to determine the first
occurrence of a repeating constituent, a receiving application that interprets the message based
upon the prior standard would continue to find the same intent communicated in the message.
If, in the judgment of the owner/author of the standard section in question, changing a message
constituent from non-repeating to repeating poses logical, parsing, business, or other compatibility
issues, the owner/author may elect to create a new structure to eliminate the compatibility concern.
For example, if allowing a segment to repeat implies a change to the business intent of the
message, the technical committee responsible can elect to define a new message structure (as a new
message/trigger) and retain the old structure for backward compatibility.
This pertains as follows:
1) A segment group may change from non-repeating to repeating, subject to the backward
compatibility concerns expressed above.
2) A segment group may NOT be changed from repeating to non-repeating.
3) A segment may be changed from non-repeating to repeating, subject to the backward
compatibility concerns expressed above.
4) A segment may NOT be changed from repeating to non-repeating.
Page 20 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
5) A field may be changed from non-repeating to repeating, subject to the backward compatibility
concerns expressed above. A field may NOT be changed from repeating to non-repeating.
e) The length of a field, data type or data type component may be increased.
f) Table definition may change.
1) A table may be changed from user-defined to HL7 defined or externally defined.
2) A table may be changed from HL7 defined to an externally defined table. When this occurs,
the data type of the field should be changed to a CNE or CWE.
a) A message constituent may be immediately removed from the standard based on the following
criteria (immediately means in the same version in which the criteria are met.).
1) A message structure may be removed immediately provided no message references it in the
standard. Care must be taken lest a message structure is prematurely removed if the associated
trigger event that contributed to its name is removed. For example, if a message structure
ABC_D01 is associated with trigger events D01, D02 and D03 and D01 is changed and
becomes associated with another existing message structure DEF_E01, the message structure
ABC_D01 is still active and valid for trigger events D02 and D03.
2) A segment may be removed immediately provided no message references it in the standard.
3) A data type may be removed immediately provided no fields reference it. This occurs when the
data type for a field is changed to a new data type that incorporates the components of the old
one.
4) A table may be removed provided all fields and components, where the table has been used
have been removed. This applies to HL7, user-defined and external tables. It is recognized that
this might have a ripple effect.
b) A message constituent, except as noted in points c, d and e below, will be withdrawn and removed,
no sooner than, after 2 versions in a deprecated state. For example, if a message was originally
deprecated in v 2.3.1, its definition can be removed when v 2.6 is published.
1) A message type and its definition may be removed.
2) A trigger event and its definition may be removed.
3) A segment group in an existing message may be removed.
4) A segment in an existing message may be removed.
c) A deprecated field in an existing segment may NOT be removed from the standard. However, no
sooner than, after 2 versions in a deprecated state, the field will be marked as withdrawn and all
explanatory narrative will be removed
d) A deprecated component in an existing data type may NOT be removed from the standard.
However, no sooner than, after 2 versions in a deprecated state, the component will be marked as
withdrawn and all explanatory narrative will be removed.
e) A deprecated member of an existing HL7 table may NOT be removed from the standard. However,
no sooner than, after 2 versions in a deprecated state, the table member will be marked as
withdrawn and all explanatory narrative will be removed from the description and comment
column.
f) Erroneous/misleading descriptions
Message Exchange
Step Process Comment
MSH-3-sending application
MSH-4-sending facility
MSH-5-receiving application
MSH-6-receiving facility
MSH-7-date/time of message
MSH-9-message type
MSH-10-message control ID Unique identifier used to relate the response to the initial
message.
MSH-11-processing ID
MSH-12-version ID
MSH-13-sequence number
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 23
Final Standard. October 2007.
Chapter 2: Control
Field Notes
Page 24 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 25
Final Standard. October 2007.
Chapter 2: Control
The MSH segment in the response is constructed anew following the rules used to create the initial message
described above. In particular, MSH-7-date/time of message and MSH-10-message control ID refer to the
response message; they are not echoes of the fields in the initial message. MSH-5-receiving application,
MSH-6-receiving facility, and MSH-11-processing ID contain codes that are copied from MSH-3-sending
application, MSH-4-sending facility and MSH-11-processing ID in the initiating message.
For this response, the following values are put in the MSA segment. Note that the field definitions for the
MSA segment fields are in Section 2.14.8, 'MSA - message acknowledgment segment":
Field Notes
Note: MSH-15-accept acknowledgment type and MSH-16-application acknowledgment type are not valued (not
present or null). At this point, the accept portion of this message exchange is considered complete.
MSA-2-message control ID Identifies the initial message from the original initiating
system as defined in Section 2.9.1, "Message initiation".
Page 26 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
a) initial conditions:
1) the system receiving the data stream is expected to store the sequence number of the most
recently accepted transaction in a secure fashion before acknowledging that transaction. This
stored sequence number allows comparison with the next transaction's sequence number, and
the implementation of fault-tolerant restart capabilities.
2) the initiating system keeps a queue of outgoing transactions indexed by the sequence number.
The length of this queue must be negotiated as part of the design process for a given link. The
minimum length for this queue is one.
3) the sequence number is a positive (non-zero) integer; and it is incremented by one (by the
initiating system) for each successive transaction.
b) starting the link:
1) the value of 0 (zero) for a sequence number is reserved: it is allowed only when the initiating
system (re-)starts the link.
2) if the receiving system gets a transaction with a 0 (zero) in the sequence number field, it should
respond with a general acknowledgment message whose MSA contains a sequence number one
greater than the sequence number of the last transaction it accepted in the Expected Sequence
Number field. If this value does not exist (as on the first startup of a given link), the MSA
should contain a sequence number of -1, meaning that the receiving system will use the
positive, non-zero sequence number of the first transaction it accepts as its initial sequence
number (see re-synching the link, item e below).
3) the initiating system then sends the transaction indexed by the expected sequence number (if
that expected transaction is still on its queue). Otherwise the link is frozen until an operator
intervenes.
c) normal operation of the link:
As it accepts each transaction, the receiving system securely stores the sequence number (which agrees
with its expected sequence number), and then acknowledges the message by echoing the sequence
number in MSA-4-expected sequence number.
d) error conditions (from point of view of initiating system). These are generated by the receiving
system, by its comparison of the sequence number sent out (with the MSH in MSH-13-sequence
number) with the expected sequence number (MSA-4-expected sequence number received with the
MSA).
1) expected sequence number is one greater than current value. The previous acknowledgment
was lost. That transaction was sent again. Correct by sending next transaction.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 27
Final Standard. October 2007.
Chapter 2: Control
2) expected sequence number less than current value. Initiating system can try starting again by
issuing a transaction with a sequence number of zero; or freeze the link for operator
intervention.
3) other errors: freeze the link for operator intervention
e) forcing resynchronization of sequence numbers across the link. The value of -1 for a sequence
number is reserved: it is allowed only when the initiating system is re-synchronizing the link. Thus
if the receiving system gets a value of -1 in the sequence number field, it should return a general
acknowledgment message with a -1 in the expected sequence number field. The receiving system
then resets its sequence number, using the non-zero positive sequence number of the next
transaction it accepts.
f) notes
When the initiating system sends a message with a sequence number of 0 or -1 (see b or e above),
the segments beyond the MSH need not be present in the message, or, if present, all fields can be
null. In terms of the responding system, for these two cases, only a General acknowledgment
message is needed.
Page 28 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
A|1
B|2
C|345|678|90
D|1
Note that the "|" at the end of the first ADD segment is part of the value, while the first "|" of each ADD is
not.
2.10.2.2 Segment fragmentation/continuation using the DSC segment
When a message itself must be fragmented and sent as several HL7 messages, the DSC segment is used.
a) First, the logical message is broken after an arbitrary segment.
b) Next, a DSC segment is sent. The DSC-1-Continuation pointer field will contain a unique value
that is used to match a subsequent message with this specific value.
c) The DSC terminates the first fragment of the logical message.
d) A subsequent message will contain in MSH-14-Continuation pointer, a value that matches the value
from DSC-1. (The presence of a value in MSH-14 indicates that the message is a fragment of an
earlier message.). Each subsequent message will have its own unique value for MSH-10-Message
control ID. Coordination between DSC-1-Continuation pointer and the subsequent message's
MSH-14-Continuation pointer is used to link the fragments in their proper order.
e) The logical message is the concatenation of the contents of the first message (which while having
no value in MSH-14, did end with DSC, and hence was actually a message fragment), plus all
subsequent fragments (as identified by values in MSH-14).
f) If enhanced mode acknowledgments are used to request an accept ACK, then the receiver will
acknowledge each fragment with an ACK message. Since each fragment has its own Message
Control ID, each fragment level accept ACK will use the Message Control ID from the fragment it
is acknowledging.
g) If enhanced mode acknowledgments are used to request an application level ACK, then the receiver
will send an acknowledgment after receiving the final fragment.
Note: The application level ACK should refer to the message by the Message Control ID of the first fragment.
Note: The receiver can tell that a given incoming message is a fragment by the presence of the trailing DSC.
Subsequent HL7 messages are identified as fragments by the presence of an MSH-14 value. The presence of a DSC
in a fragment indicates that more fragments are to follow.
It is a protocol error to end a message with DSC, and then never send a fragment.
For example, a single logical message may be fragmented into three HL7 messages:
---- Sender HL7 message (incomplete,fragment1)---
MSH|||||||||1001||2.4|123||..
A|...
B|...
DSC|W4xy
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 29
Final Standard. October 2007.
Chapter 2: Control
MSH|...|2.4|123||..
A|...
B|...
C|...
D|...
E|...
Page 30 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Note: This second message could itself be continued with a second DSC and (if needed) a second ADD segment
prior to it.
MSH (General acknowledgment)
[ { SFT } ]
MSA
[ { ERR } ]
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 31
Final Standard. October 2007.
Chapter 2: Control
c) the acknowledgment of a batch is described in this chapter (see Section 2.10.3.3, "Acknowledging
Page 32 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
batches").
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 33
Final Standard. October 2007.
Chapter 2: Control
Page 34 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
MSH||||||||BAR^P05^BAR_P05|...<cr>
EVN|
PID|
IN1|1|A357|1234|BCMD
IN2|
IN3|
IN1|2|C45|6789|VGMC
IN2|
IN3|
It is later discovered that the patient is not covered by either plan and now has no insurance at all. A
BAR^P05 is again sent. In accordance with chapter 6, this can be signaled by showing Null in the plan
field.
MSH||||||||BAR^P05^BAR_P05|...<cr>
EVN|
PID|
IN1|""|""
If, on the other hand, the patient still had his coverage, and only the wife's insurance had been dropped, a
fully populated IN1 segment group would be transmitted. The presence of only one IN1 in a subsequent
message conveys the "full group replacement" notion. The BAR^P05 would be transmitted and would be
interpreted to mean "retain plan A357; delete and other plans":
MSH||||||||BAR^P05^BAR_P05|...<cr>
EVN|
PID|
IN1|1|A357|1234|BCMD
IN2|
IN3|
The unique identifier unambiguously identifies one of multiple repetitions of the repeating segment or
segment group in a way that does not change over time. It is not dependent on any particular message
identifier level (MSH) fields; it functions across messages, not just within a message. For a single segment
repetition, the unique identifier may be an explicit field (e.g., IAM-7 Allergy Unique Identifier) or a
combination of fields (IAM suggests IAM-3 Allergen Identifier in the context of the particular patient). For
a repeating segment group, an identifier in the anchoring segment would identify the repeating set. For
MFN messages, MFI-1 Master File Identifier and MFE-4 Primary Key Value identify the particular table
and record.
Example 1: If a patient is allergic to penicillin and shellfish, the following message would be sent showing
an Action code of "A(dd) in IAM-6:
MSH|||||||||ADT^A60^ADT_A60|...<cr>
EVN|...<cr>
PID|...<cr>
IAM|1||peni|||A<cr>
IAM|2||shell||A<cr>
Subsequently, if it is learned that the patient is not allergic to shellfish, the following message would be sent
showing an Action code of "D(elete) in IAM-6:
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 35
Final Standard. October 2007.
Chapter 2: Control
MSH|||||||||ADT^A60^ADT_A60|...<cr>
EVN|...<cr>
PID|...<cr>
IAM|1||shell||D<cr>
Some messages, Orders and Observations, in particular, do not use table 0206. Order control codes are used
to unambiguously specify the action to be taken.
Example 2: if a set of orders had been sent as
MSH|||||||||OML^O21^OML_O21|...<cr>
PID|...
ORC|NW|987654^CIS|...<cr>
ORC|NW|876543^CIS|...<cr>
ORC|NW|765432^CIS|...<cr>
and subsequently order 876543 was cancelled, the following message would target that specific segment
instance without affecting the other orders. ORC-1 contains order control code "CA" for cancel. ORC-2
identifies the specific order number.
MSH|||||||||OML^O21^ OML_O21|...<cr>
PID|
ORC|CA|876543^CIS|...<cr>
Example 3: Add staff person to Provider master:
MSH|^~\&|HL7REG|UH|HL7LAB|CH|200102280700||MFN^M02^MFN_M02|MSGID002|P|2.5|||AL|NE
MFI|PRA^Practitioner Master File^HL70175||UPD|||AL
MFE|MAD|U2246|200102280700|PMF98123789182^^PLW
STF|PMF98123789182^^PLW|U2246^^^PLW
|SEVEN^HENRY^L^JR^DR^M.D.|P|M|19511004|A|^ICU|^MED|(555)555-
1002X345CO~(955)555-1002CH(206)689-1345X789CB|1002 Healthcare Drive^SUITE
227^AnnArbor^MI^48104^H~1012 Healthcare Drive^^AnnArbor, MI^48104^O
|19890125^GHH&Good Health
Hospital&L01||PMF88123453334|[email protected]|B
The birth date was discovered to be in error. An MFN^M02 message is sent with the MFE-1 having a value
of MUP for Update Record for master File. The corrected birth date (19521004) appears in STF-6:
MSH|^~\&|HL7REG|UH|HL7LAB|CH|200102280700||MFN^M02^MFN_M02|MSGID002|P|2.5|||AL|NE
MFI|PRA^Practitioner Master File^HL70175||UPD|||AL
MFE|MUP|U2246|200102280700|PMF98123789182^^PLW
STF|PMF98123789182^^PLW|U2246^^^PLW
|SEVEN^HENRY^L^JR^DR^M.D.|P|M|19521004|A|^ICU|^MED|(555)555-
1002X345CO~(955)555-1002CH(206)689-1345X789CB|1002 Healthcare Drive^SUITE
227^AnnArbor^MI^48104^H~1012 Healthcare Drive^^AnnArbor, MI^48104^O
|19890125^GHH&Good Health
Hospital&L01||PMF88123453334|[email protected]|B
Page 36 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Example: Repeating field of data type ID or IS: A patient is added to the Master Patient Index. The patient
has two specific living conditions: "spouse dependent" and "medical supervision required". This is
transmitted as:
MSH|^~\&||||||||ADT^A28^ADT_A05|1|P|2.6...<cr>
EVN|...<cr>
PID|||1234567^^^^MRN| <cr>
PV1|...<cr>
PD1|S~M|
Subsequently, the "medical supervision required" living condition is dropped.
MSH|^~\&||||||||ADT^A31^ADT_A31|1|P|2.6...<cr>
EVN|...<cr>
PID|||1234567^^^^MRN|<cr>
PV1|...<cr>
PD1|S||||||||||||||||||||||
The data type for PD1-1 is a data types without components. There is no way to tie the Null value to an
actual element instance in the persistent data store. Therefore the following is ambiguous and not good
practice.
MSH|^~\&||||||||ADT^A31^ADT_A31|1|P|2.6...<cr>
EVN|...<cr>
PID|||1234567^^^^MRN|<cr>
PV1|...<cr>
PD1|S~""||||||||||||||||||||||
2.11.1 Messages
Messages may be locally extended as follows:
a) Users may develop local Z messages to cover areas not already covered by existing HL7 messages.
These should be composed of HL7 segments where possible.
b) A local Z message may consist entirely of Z segments except that it must begin with a MSH
segment.
c) A local Z Acknowledgement message must begin with an MSH segment followed by an MSA
segment, an optional SFT segment and a conditional ERR segment.
d) Users may develop Z segments and add them to Z messages.
e) Users may develop Z segments and add them to HL7 messages. The trigger event may remain the
same if the intent of the message has remained unchanged.
f) The practice of adding additional HL7 segments, like NTE, to existing HL7 messages locally is ill-
advised. HL7 may move or change the segment in a future release; this will render the message
unparsible.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 37
Final Standard. October 2007.
Chapter 2: Control
Page 38 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
<GROUP1>
<ABC/>
<DEF/>
<GHI/>
</GROUP1>
c) A segment group can repeat locally. The 1st repetition needs to mean what it does in HL7
d) The practice of incorporating a Z segment into a segment group locally is allowed.
2.11.4 Segments
2.11.4.1 Local extension rules for segments
Users may not modify an existing segment, except as specified in section 2.8.2.
Locally defined fields may be defined for use in locally defined segments, although HL7 defined fields are
a better choice when available. The practice of extending an HL7 segment with locally defined fields, while
not prohibited, is ill-advised.
HL7 also recognizes that sites may have locally defined fields where the users believe the enhancement
may be of interest to the HL7 community as a whole and are moving forward with a proposal to HL7.
2.11.4.2 Caveats for locally extending segments
Locally extending an HL7 segment with locally defined fields will likely cause conformance problems with
the next release of the HL7 standard. There are, however, certain circumstances where HL7 has, itself,
directed the membership to add Z fields as an interim measure between versions to accommodate
regulatory agency requirements. These are fields that HL7 has reserved for official introduction in the next
release.
If the local site intends to add a proposed field early, there is a risk that it may collide with another field
when HL7 officially approves or rejects the proposed additions. Some sites have employed the practice of
assigning a high sequence number locally, i.e., leaving a gap between the last official HL7 field and the
proposed new field. The user–defined fields should be deleted or deprecated when HL7 officially approves
or rejects the proposed additions so that the fields do not collide. It must be understood that the local
implementation will have to adjust if a collision occurs and they want to conform.
2.11.6 Tables
Rules for locally extending tables are the same as discussed in section 2.5.3.6, "Table":
a) Users may redefine suggested values in User-defined tables.
b) Local tables may be defined for Z fields.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 39
Final Standard. October 2007.
Chapter 2: Control
c) Local tables may be assigned to HL7 fields with data type CWE.
Page 40 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 41
Final Standard. October 2007.
Chapter 2: Control
If the widget committee determined that at least one pair of WPN and WPD segments must follow a WDN,
then the notation would be as shown in Figure 2-7.
Note: For the general acknowledgment (ACK) message, the value of MSH-9-2-Trigger event is equal to the value of
MSH-9-2-Trigger event in the message being acknowledged. The value of MSH-9-3-Message structure for the
general acknowledgment message is always ACK.
Page 42 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
The segments in this section are listed in alphabetical order. The following chart shows a
summary of the segments listed by category.
Figure 2-8. HL7 message segments
Segment Category Segment Name HL7 Section Reference
Control
ADD 2.14.1
BHS 2.14.2
BTS 2.14.3
DSC 2.14.4
ERR 2.14.5
FHS 2.14.6
FTS 2.14.7
MSA 2.14.8
MSH 2.14.9
General Purpose
NTE 2.14.10
OVR 2.14.10.5
SFT 2.14.12
UAC 2.14.13
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 43
Final Standard. October 2007.
Chapter 2: Control
Definition: This field uniquely identifies the sending application among all other applications within the
network enterprise. The network enterprise consists of all those applications that participate in the exchange
of HL7 messages within the enterprise. Entirely site-defined.
2.14.2.4 BHS-4 Batch Sending Facility (HD) 00084
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: This field contains the address of one of several occurrences of the same application within the
sending system. Absent other considerations, the Medicare Provider ID might be used with an appropriate
sub-identifier in the second component. Entirely site-defined.
2.14.2.5 BHS-5 Batch Receiving Application (HD) 00085
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: This field uniquely identifies the receiving applications among all other applications within the
network enterprise. The network enterprise consists of all those applications that participate in the exchange
of HL7 messages within the enterprise. Entirely site-defined.
2.14.2.6 BHS-6 Batch Receiving Facility (HD) 00086
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: This field identifies the receiving application among multiple identical instances of the
application running on behalf of different organizations. See comments BHS-4-batch sending facility.
Entirely site-defined.
2.14.2.7 BHS-7 Batch Creation Date/Time (DTM) 00087
Definition: This field contains the date/time that the sending system created the message. If the time zone is
specified, it will be used throughout the message as the default time zone.
Page 44 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Definition: Identifier of the network location the message was transmitted from. Identified by an OID or
text string (e.g., URI). The reader is referred to the "Report from the Joint W3C/IETF URI Planning
Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs):
Clarifications and Recommendations".1
As with the Sending/Receiving Responsible Organization, the Sending Network Address provides a more
detailed picture of the source of the message. This information is lower than the application layer, but is
often useful/necessary for routing and identification purposes. This field should only be populated when the
underlying communication protocol does not support identification of sending network locations.
The specific values and usage must be site negotiated
2.14.2.14 BHS-14 Batch Receiving Network Address (HD) 02272
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: Identifier of the network location the message was transmitted to. Identified by an OID or text
string. (e.g., URL).
This is analogous with the Sending Network Address, however in the receiving role.
This field should only be populated when the underlying communication protocol does not support
identification receiving network locations.
1
The URI is: http://www.ietf.org/rfc/rfc3305.txt. Note: All IETF documents are available online, and RFCs are available through URIs
using this format.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 45
Final Standard. October 2007.
Chapter 2: Control
Page 46 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
is sent. Upon receipt, the sending application can display both, including the appropriate severity, to the
user.
Application Error Code: A receiving application generates an error that reports an application error code
and returns this information in its response. This code in turn is used by helpdesk staff to pinpoint the exact
cause of the error, or by the application to prompt an appropriate response from the user. (Ex. Deceased
date must be greater than or equal to birth date).
Application Error Parameter: A receiving application encounters an error during processing of a
transaction. In addition to an error code, the application provides an error parameter that gives greater detail
as to the exact nature of the error. The receiving application looks up the message corresponding to the
error code, substitutes in the parameter, and displays the resulting message to the user.
Diagnostic Information: While processing a transaction, a receiving application encounters an exception.
When the exception is thrown, it provides a volume of detailed information relating to the error
encountered. The receiving application captures the information and sends it in its response. The user
reports the error to the help desk, and on request, faxes a copy of the diagnostic information to assist
analyzing the problem.
User Message: A user executes an application function that generates a transaction that is sent to another
application for further processing. During this processing, the receiving application encounters an error
and, as part of the error handling routine, retrieves a User Message that it returns in its response. The
originating application receives the error and displays it to the end user with the intent that the error
condition can be resolved and the user can re-execute the function without error.
Inform Person Code: After submitting a dispense transaction, a response is returned to the user indicating
that the patient may be abusing drugs. Given the sensitivity of this warning, the error is returned with an
indicator stating that the patient should not be informed of the error with the implication that steps should
be taken to rule out or confirm the warning.
Override Type: If a business rule states that a prescription on hold cannot be dispensed, an override type
might be "Dispense Held Prescription" to allow the prescription to be dispensed in exception to the rule.
Override Reason Codes: A patient is given a prescription; however, before completing the prescription, the
remaining pills are spoiled. The patient returns to their pharmacy and explains the situation to their
pharmacist. The pharmacist decides to replace the spoiled drugs; however, when attempting to record the
event, a message is returned indicating that the dispense would exceed the maximum amount prescribed.
The pharmacist overrides the rule and specifies an Override Reason Code indicating a replacement of lost
product.
Help Desk Contact: Help desk contact information is stored in a database. When an application error is
encountered, the database is queried and the most current help desk contact information is returned in the
error message. This is displayed to the user by the receiving application.
Better Error Location Information: Receiving system detects an error with the 3rd repetition of the ROL.4
(Role Person - XCN).16 (Name Context – CE).4(Alternate Identifier – IS). The application identifies the
specific repetition and component when raising the error, simplifying diagnosis of the problem.
Support for multiple Error Locations: Two fields are marked as conditional, with the condition that one of
the two must be specified. The sending application leaves both blank. The receiving application detects the
problem, and sends back a single error indicating that one of the fields must be filled in. The ERR segment
identifies both positions within the message that relate to the error.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 47
Final Standard. October 2007.
Chapter 2: Control
Definition: This field identifies an erroneous segment in another message. Retained for backward
compatibility only as of v 2.5; refer to ERR-2 and ERR-3 instead.
Refer to HL7 Table 0357 - Message Error Condition Codes for valid values.
2.14.5.2 ERR-2 Error Location (ERL) 01812
Components: <Segment ID (ST)> ^ <Segment Sequence (NM)> ^ <Field Position (NM)> ^
<Field Repetition (NM)> ^ <Component Number (NM)> ^ <Sub-Component Number
(NM)>
Definition: Identifies the location in a message related to the identified error, warning or message. If
multiple repetitions are present, the error results from the values in a combination of places.
2.14.5.3 ERR-3 HL7 Error Code (CWE) 01813
Components: <Identifier (ST)> ^ <Text (ST)> ^ <Name of Coding System (ID)> ^
<Alternate Identifier (ST)> ^ <Alternate Text (ST)> ^ <Name of Alternate
Coding System (ID)> ^ <Coding System Version ID (ST)> ^ <Alternate Coding
System Version ID (ST)> ^ <Original Text (ST)>
Definition: Identifies the HL7 (communications) error code. Refer to HL7 Table 0357 – Message Error
Condition Codes for valid values.
Definition: Application specific code identifying the specific error that occurred. Refer to User-Defined
Table 0533 – Application Error Code for suggested values.
If the message associated with the code has parameters, it is recommended that the message be indicated in
the format of the java.text.MessageFormat approach.2 This style provides information on the parameter
type to allow numbers, dates and times to be formatted appropriately for the language.
2
Details on MessageFormat can be found at http://java.sun.com/products/jdk/1.2/docs/api/java/text/MessageFormat.html.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 49
Final Standard. October 2007.
Chapter 2: Control
Example:
|This program is having trouble communicating with another system. Please contact
the help desk.|
This differs from the actual error code and may provide more diagnostic information.
2.14.5.9 ERR-9 Inform Person Indicator (IS) 01819
Definition: A code to indicate who (if anyone) should be informed of the error. This field may also be used
to indicate that a particular person should NOT be informed of the error (e.g., Do not inform patient). Refer
to User-defined table 0517- Inform Person Code for suggested values.
Definition: Identifies what type of override can be used to override the specific error identified. Refer to
User-defined table 0518 Override Type for suggested values.
Definition: Provides a list of potential override codes that can be used to override enforcement of the
application rule that generated the error. Refer to User-defined table 0519 – Override Reason for suggested
values.
Page 50 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Subcomponents for Expiration Reason (CWE): <Identifier (ST)> & <Text (ST)> & <Name of
Coding System (ID)> & <Alternate Identifier (ST)> & <Alternate Text (ST)>
& <Name of Alternate Coding System (ID)> & <Coding System Version ID (ST)>
& <Alternate Coding System Version ID (ST)> & <Original Text (ST)>
Subcomponents for Protection Code (CWE): <Identifier (ST)> & <Text (ST)> & <Name of
Coding System (ID)> & <Alternate Identifier (ST)> & <Alternate Text (ST)>
& <Name of Alternate Coding System (ID)> & <Coding System Version ID (ST)>
& <Alternate Coding System Version ID (ST)> & <Original Text (ST)>
Subcomponents for Shared Telecommunication Identifier (EI): <Entity Identifier (ST)>
& <Namespace ID (IS)> & <Universal ID (ST)> & <Universal ID Type (ID)>
Definition: Lists phone, e-mail, fax, and other relevant numbers for helpdesk support related to the
specified error.
Definition: This field has the same definition as the corresponding field in the MSH segment.
2.14.6.4 FHS-4 File Sending Facility (HD) 00070
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: This field has the same definition as the corresponding field in the MSH segment.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 51
Final Standard. October 2007.
Chapter 2: Control
Definition: This field has the same definition as the corresponding field in the MSH segment.
2.14.6.6 FHS-6 File Receiving Facility (HD) 00072
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: This field has the same definition as the corresponding field in the MSH segment.
2.14.6.7 FHS-7 File Creation Date/Time (DTM) 00073
Definition: This field has the same definition as the corresponding field in the MSH segment.
2.14.6.8 FHS-8 File Security (ST) 00074
Definition: This field has the same definition as the corresponding field in the MSH segment.
2.14.6.9 FHS-9 File Name/ID (ST) 00075
Definition: This field can be used by the application processing file. Its use is not further specified.
2.14.6.10 FHS-10 File Header Comment (ST) 00076
Definition: This field contains the free text field, the use of which is not further specified.
2.14.6.11 FHS-11 File Control ID (ST) 00077
Definition: This field is used to identify a particular file uniquely. It can be echoed back in FHS-12-
reference file control ID.
2.14.6.12 FHS-12 Reference File Control ID (ST) 00078
Definition: This field contains the value of FHS-11-file control ID when this file was originally transmitted.
Not present if this file is being transmitted for the first time.
2.14.6.13 FHS-13 File Sending Network Address (HD) 02269
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: Identifier of the network location the message was transmitted from. Identified by an OID or
text string (e.g., URI). The reader is referred to the "Report from the Joint W3C/IETF URI Planning
Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs):
Clarifications and Recommendations".3
2.14.6.14 FHS-14 File Receiving Network Address (HD) 02270
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: Identifier of the network location the message was transmitted to. Identified by an OID or text
string. (e.g., URL).
This is analogous with the Sending Network Address, however in the receiving role.
This field should only be populated when the underlying communication protocol does not support
identification receiving network locations.
3
The URI is: http://www.ietf.org/rfc/rfc3305.txt. Note: All IETF documents are available online, and RFCs are available through URIs using this
format.
Page 52 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 53
Final Standard. October 2007.
Chapter 2: Control
Definition: This field allows the acknowledging system to use a user-defined error code to further specify
AR or AE type acknowledgments.
The MSA-6 was deprecated as of v2.4. The reader is referred to the ERR segment. The ERR segment
allows for richer descriptions of the erroneous conditions.
Editors Note: In the original 2.6 document the datatype for this field was changed to CWE. Since the
MSA-6 was deprecated in V2.4, the datatype change from CE to CWE cannot be done.
Refer to HL7 Table 0357 - Message Error Condition Codes for valid values.
2.14.8.7 MSA-7 Message Waiting Number (NM) 01827
Definition: If present, indicates the number of messages the Acknowledging Application has waiting on a
queue for the Requesting Application. These messages would then need to be retrieved via a query. This
facilitates receiving applications that cannot receive unsolicited message (i.e., polling).
For example, if there are 3 low priority messages, 1 medium priority message and 1 high priority message,
the message waiting number would be 5, because that is the total number of messages.
Use Case: An application that is playing a "requesting" role has limited network access to a centralized
application playing a receiving role. When the requesting application contacts the acknowledging
application with a regular update or query message, the acknowledging application replies with the
appropriate response message, along with an indication that there are urgent messages waiting. The
requesting application submits a query to retrieve the queued messages.
Page 54 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 55
Final Standard. October 2007.
Chapter 2: Control
Definition: This field uniquely identifies the sending application among all other applications within the
network enterprise. The network enterprise consists of all those applications that participate in the exchange
of HL7 messages within the enterprise. Entirely site-defined. User-defined Table 0361- Application is used
as the user-defined table of values for the first component.
Note: By site agreement, implementers may continue to use User-defined Table 0300 – Namespace ID for the first
component.
Definition: This field further describes the sending application, MSH-3-sending application. With the
promotion of this field to an HD data type, the usage has been broadened to include not just the sending
facility but other organizational entities such as a) the organizational entity responsible for sending
application; b) the responsible unit; c) a product or vendor's identifier, etc. Entirely site-defined. User-
defined Table 0362 - Facility is used as the HL7 identifier for the user-defined table of values for the first
component.
Note: By site agreement, implementers may continue to use User-defined Table 0300 – Namespace ID for the first
component.
Definition: This field uniquely identifies the receiving application among all other applications within the
network enterprise. The network enterprise consists of all those applications that participate in the exchange
of HL7 messages within the enterprise. Entirely site-defined User-defined Table 0361- Application is used
as the HL7 identifier for the user-defined table of values for the first component.
Note: By site agreement, implementers may continue to use User-defined Table 0300 – Namespace ID for the first
component.
Definition: This field identifies the receiving application among multiple identical instances of the
application running on behalf of different organizations. User-defined Table 0362 - Facility is used as the
HL7 identifier for the user-defined table of values for the first component. Entirely site-defined.
Note: By site agreement, implementers may continue to use User-defined Table 0300 – Namespace ID for the first
component.
Page 56 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Definition: This field contains the message type, trigger event, and the message structure ID for the
message.
Refer to HL7 Table 0076 - Message type for valid values for the message type code. This table contains
values such as ACK, ADT, ORM, ORU etc.
Refer to HL7 Table 0003 - Event type for valid values for the trigger event. This table contains values like
A01, O01, R01 etc.
Refer to HL7 Table 0354 - Message structure for valid values for the message structure. This table contains
values such as ADT_A01, ORU_R01, SIU_S12, etc.
The receiving system uses this field to recognize the data segments, and possibly, the application to which
to route this message. For certain queries, which may have more than a single response event type, the
second component may, in the response message, vary to indicate the response event type. See the
discussion of the display query variants in chapter 5.
2.14.9.10 MSH-10 Message Control ID (ST) 00010
Definition: This field contains a number or other identifier that uniquely identifies the message. The
receiving system echoes this ID back to the sending system in the Message acknowledgment segment
(MSA).
2.14.9.11 MSH-11 Processing ID (PT) 00011
Components: <Processing ID (ID)> ^ <Processing Mode (ID)>
Definition: This field is used to decide whether to process the message as defined in HL7 Application (level
7) Processing rules.
2.14.9.12 MSH-12 Version ID (VID) 00012
Components: <Version ID (ID)> ^ <Internationalization Code (CWE)> ^ <International
Version ID (CWE)>
Subcomponents for Internationalization Code (CWE): <Identifier (ST)> & <Text (ST)> &
<Name of Coding System (ID)> & <Alternate Identifier (ST)> & <Alternate
Text (ST)> & <Name of Alternate Coding System (ID)> & <Coding System
Version ID (ST)> & <Alternate Coding System Version ID (ST)> & <Original
Text (ST)>
Subcomponents for International Version ID (CWE): <Identifier (ST)> & <Text (ST)> &
<Name of Coding System (ID)> & <Alternate Identifier (ST)> & <Alternate
Text (ST)> & <Name of Alternate Coding System (ID)> & <Coding System
Version ID (ST)> & <Alternate Coding System Version ID (ST)> & <Original
Text (ST)>
Definition: This field is matched by the receiving system to its own version to be sure the message will be
interpreted correctly. Beginning with Version 2.3.1, it has two additional "internationalization"
components, for use by HL7 international affiliates. The <internationalization code> is CE data type (using
the ISO country codes where appropriate) which represents the HL7 affiliate. The <internal version ID> is
used if the HL7 Affiliate has more than a single 'local' version associated with a single US version. The
<international version ID> has a CE data type, since the table values vary for each HL7 Affiliate.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 57
Final Standard. October 2007.
Chapter 2: Control
Note: If MSH-15-accept acknowledgment type and MSH-16-application acknowledgment type are omitted (or are
both null), the original acknowledgment mode rules are used.
4
Available from ISO 1 Rue de Varembe, Case Postale 56, CH 1211, Geneve, Switzerland
Page 58 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
More than one character set may be used in a message. The first occurrence, if supplied, of the MSH-18
must indicate the default encoding of the message. The second and subsequent occurrences of MSH-18-
character set are used to specify additional character sets that are used.
The repetitions of this field to specify different character sets apply only to fields of the FT, ST and TX data
types. See also section 2.7.2, "Escape sequences supporting multiple character sets".
Any encoding system, single-byte or multi-byte, may be specified as the default character encoding in
MSH-18-character set. If the default encoding is other than 7-bit ASCII, sites shall document this usage in
the dynamic conformance profile or other implementation agreement. This is particularly effective in
promoting interoperability between nations belonging to different HL7 Affiliates, while limiting the amount
of testing required to determine the encoding of a message.
By using built-in language functions for string and character manipulation, parsers and applications need
not be concerned whether a single or double byte character set is in use, provided it is applied to the entire
message. Using a built in function to extract the fourth CHARACTER will always yield the field separator
character, regardless of coding set. On the other hand, if the parser looks at the fourth BYTE, it is then
limited to single byte character sets, since the fourth byte would contain the low order 8 bits of the
character S in a double-byte system.
Note: When describing encoding rules, this standard always speaks in terms of character position, not byte offset.
Similarly, comparisons should be done on character values, not their byte equivalents. For this reason, delimiter
characters should always have representation in the standard 7-bit ASCII character set, regardless of the actual
character set being used, so that a search for the character CR (carriage return) can be performed.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 59
Final Standard. October 2007.
Chapter 2: Control
a) if the field is not valued, the default single-byte character set (ASCII ("ISO IR6")) should be
assumed. No other character sets are allowed in the message.
b) if the field repeats, but the first element is NULL (i.e., present but unvalued), the single-byte ASCII
("ISO IR6") is assumed as the default character set.
c) elements in the remainder of the sequence (i.e., elements 2..n) are alternate character sets that may
be used.
The reader is referred to the following references for background information on character sets and
encodings:
• Unicode Technical Report #17 - Character Encoding Model
(http://www.unicode.org/unicode/reports/tr17/)
• Extensible Markup Language (XML) 1.0 (Second Edition), Section F Autodetection of Character
Encodings (http://www.w3.org/TR/REC-xml#sec-guessing)
2.14.9.18.1 Alphabetic Languages Other Than English
The first occurrence of MSH-18-character set may reference a character set other than 7-bit ASCII. Western
alphabetic languages other than English are accommodated by the ISO 8859 series of character encodings.
For example, if MSH-18-character set is valued 8859/1, the ISO character set commonly known as "8-bit
ASCII" is in use in the message. This includes all values from decimal 0 through decimal 127 (hex 00
5
Available from The Unicode Consortium, P.O. Box 700519, San Jose, CA 95170-0519. See
http://www.unicode.org/unicode/consortium/consort.html
Page 60 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
through hex 7F), plus an additional 128 values from decimal 128 through decimal 255 (hex 80 through hex
FF). The latter values include the accented Latin letters used in common Western European languages, plus
some symbolic values such as the paragraph mark (¶) and the trademark symbol (™).
Other ISO character sets in the 8859 series accommodate non-Latin character sets. For example, MSH-18-
character set may be valued 8859/2 to specify the default character encoding in use in Eastern Europe,
while 8859/6 indicates the use of the Arabic alphabet.
The ASCII and ISO character sets all allow the specification of any character in a single byte.
2.14.9.18.2 Non-Alphabetic Languages
HL7 Table 0211 includes values for languages that do not use alphabets. These include ideographic written
languages, such as the Japanese Graphic Character Set which is specified as ISO IR87.
There are non-alphabetic encoding systems for which HL7 Table 0211 does not provide specific entries.
One of these is the Traditional Chinese character set, CNS 11643, which is used in Taiwan. This character
set can, however, be encoded using the Unicode Standard, which does have a value in HL7 0211.
The Unicode Standard (which is now coordinated with ISO 10646) permits the specification of multiple-
byte characters in a much larger range than is available in a single-byte ASCII or ISO character set.
Unicode Version 3.1 (http://www.unicode.org) includes almost 100,000 characters, including many
Chinese, Japanese, and Korean ideographs. This is particularly valuable to implementers who need to
encode messages in more than one character set, as for example to accommodate the use of both alphabetic
and ideographic characters.
Non-alphabetic encoding systems do not restrict characters to a length of one byte. Unicode incorporates
three encoding forms that allow for the use of multiple bytes to encode a message. The most flexible
Unicode encoding form is UTF-8, which uses high-order bits to specify the number of bytes (from one to
six) used to encode each character.
Interestingly, Unicode UTF-8 incorporates the 7-bit ASCII character set as single-byte codes. This means
that a message encoded in 7-bit ASCII can be submitted to a destination using Unicode UTF- 8 with no
modification.
2.14.9.19 MSH-19 Principal Language of Message (CWE) 00693
Components: <Identifier (ST)> ^ <Text (ST)> ^ <Name of Coding System (ID)> ^
<Alternate Identifier (ST)> ^ <Alternate Text (ST)> ^ <Name of Alternate
Coding System (ID)> ^ <Coding System Version ID (ST)> ^ <Alternate Coding
System Version ID (ST)> ^ <Original Text (ST)>
Definition: This field contains the principal language of the message. Codes come from ISO 639.
2.14.9.20 MSH-20 Alternate Character Set Handling Scheme (ID) 01317
Definition: When any alternative character sets are used (as specified in the second or later iterations of
MSH-18 character sets), and if any special handling scheme is needed, this component is to specify the
scheme used, according to HL7 Table 0356- Alternate character set handling scheme as defined below:
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 61
Final Standard. October 2007.
Chapter 2: Control
Definition: Sites may use this field to assert adherence to, or reference, a message profile. Message profiles
contain detailed explanations of grammar, syntax, and usage for a particular message or set of messages.
See section 2B, "Conformance Using Message Profiles".
Repetition of this field allows more flexibility in creating and naming message profiles. Using repetition,
this field can identify a set of message profiles that the message conforms to. For example, the first
repetition could reference a vendor's message profile. The second could reference another compatible
provider's profile or a later version of the first vendor profile.
As of v2.5, the HL7 message profile identifiers might be used for conformance claims and/or
publish/subscribe systems. Refer to sections 2B.1.1"Message profile identifier" and 2.B.1.2, "Message
profile publish/subscribe topics" for details of the message profile identifiers. Refer to sections 2.B.4.1,
"Static definition identifier" and 2.B.4.2, "Static definition publish/subscribe topics" for details of the static
definition identifiers.
Prior to v2.5, the field was called Conformance Statement ID. For backward compatibility, the
Conformance Statement ID can be used here. Examples of the use of Conformance Statements appear in
Chapter 5, "Query."
2.14.9.22 MSH-22 Sending Responsible Organization (XON) 01823
Components: <Organization Name (ST)> ^ <Organization Name Type Code (IS)> ^
<DEPRECATED-ID Number (NM)> ^ <Identifier Check Digit (NM)> ^ <Check Digit
Scheme (ID)> ^ <Assigning Authority (HD)> ^ <Identifier Type Code (ID)> ^
<Assigning Facility (HD)> ^ <Name Representation Code (ID)> ^
<Organization Identifier (ST)>
Subcomponents for Assigning Authority (HD): <Namespace ID (IS)> & <Universal ID (ST)>
& <Universal ID Type (ID)>
Subcomponents for Assigning Facility (HD): <Namespace ID (IS)> & <Universal ID (ST)>
& <Universal ID Type (ID)>
Definition: Business organization that originated and is accountable for the content of the message.
Currently, MSH provides fields to transmit both sending/receiving applications and facilities (MSH.3 –
MSH.6). However, these levels of organization do not necessarily relate to or imply a legal entity such as a
business organization. As such, multiple legal entities (organizations) may share a service bureau, with the
same application and facility identifiers. Another level of detail is required to delineate the various
organizations using the same service bureau.
Therefore, the Sending Responsible Organization field provides a complete picture from the application
level to the overall business level. The Business Organization represents the legal entity responsible for the
contents of the message.
Use Case #1: A centralized system responsible for recording and monitoring instances of communicable
diseases enforces a stringent authentication protocol with external applications that have been certified to
access its information base. In order to allow message exchange, the centralized system mandates that
external applications must provide the identity of the business organization sending the message (Sending
Responsible Organization), the organization it is sending the message to (Receiving Responsible
Organization, in this case the "owner" of the communicable diseases system), the network address from
Page 62 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
which the message has originated (Sending Network Address), the network address the message is being
transmitted to (Receiving Network Address). The organization responsible for protecting the information
stored within the communicable disease system requires this authentication due to the sensitive nature of
the information it contains.
2.14.9.23 MSH-23 Receiving Responsible Organization (XON) 01824
Components: <Organization Name (ST)> ^ <Organization Name Type Code (IS)> ^
<DEPRECATED-ID Number (NM)> ^ <Identifier Check Digit (NM)> ^ <Check Digit
Scheme (ID)> ^ <Assigning Authority (HD)> ^ <Identifier Type Code (ID)> ^
<Assigning Facility (HD)> ^ <Name Representation Code (ID)> ^
<Organization Identifier (ST)>
Subcomponents for Assigning Authority (HD): <Namespace ID (IS)> & <Universal ID (ST)>
& <Universal ID Type (ID)>
Subcomponents for Assigning Facility (HD): <Namespace ID (IS)> & <Universal ID (ST)>
& <Universal ID Type (ID)>
Definition: Business organization that is the intended receiver of the message and is accountable for acting
on the data conveyed by the transaction.
This field has the same justification as the Sending Responsible Organization except in the role of the
Receiving Responsible Organization. The receiving organization has the legal responsibility to act on the
information in the message.
See MSH-22 above for Use Case.
2.14.9.24 MSH-24 Sending Network Address (HD) 01825
Components: <Namespace ID (IS)> ^ <Universal ID (ST)> ^ <Universal ID Type (ID)>
Definition: Identifier of the network location the message was transmitted from. Identified by an OID or
text string (e.g., URI). The reader is referred to the "Report from the Joint W3C/IETF URI Planning
Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs):
Clarifications and Recommendations".6
As with the Sending/Receiving Responsible Organization, the Sending Network Address provides a more
detailed picture of the source of the message. This information is lower than the application layer, but is
often useful/necessary for routing and identification purposes. This field should only be populated when the
underlying communication protocol does not support identification of sending network locations.
An agreement about the specific values and usage must exist among messaging partners. Use Case:
Dr. Hippocrates works for the ''Good Health Clinic" (Sending facility) with a laptop running application
XYZ (Sending App). He needs to talk to the provincial pharmacy system. He dials in and is assigned a
network address. He then sends a message to the pharmacy system, which transmits a response back to
him. Because the underlying network protocol does not have a place to communicate the sender and
receiver network addresses, it therefore requires these addresses to be present in a known position in the
payload.
There may be many doctors running application XYZ. In addition, the network address assigned to the
laptop may change with each dial-in. This means there is not a 1..1 association between either the facility
or the application and the network address.
MSH||RX|GHC|||||OMP^O09^OMP_O09||||||||||||||||05782|
Example 1: The Lone Tree Island satellite clinic transmits a notification of patient registration to its parent
organization Community Health and Hospitals. The communication protocol does not support the
identification of sending network location, so the sending network location is identified in the message by
using its enterprise-wide network identifier "HNO2588".
6
The URI is: http://www.ietf.org/rfc/rfc3305.txt. Note: All IETF documents are available online, and RFCs are available through URIs using this
format.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 63
Final Standard. October 2007.
Chapter 2: Control
MSH||Reg|Lone|||||ADT^A04^ADT_A04||||||||||||||||HN02588|
Example 2: The Stone Mountain satellite clinic transmits a notification of patient registration to its
parent organization Community Health and Hospitals. The sending network location is identified by using
its URI.
MSH||Reg|Stone|||||ADT^A04^ADT_A04||||||||||||||||
^ftp://www.goodhealth.org/somearea/someapp^URI|
Example 3: The Three Rivers satellite clinic transmits a notification of patient registration to its parent
organization Community Health and Hospitals. The sending network location is identified by using its Ipv4
address, port 5123 at node 25.152.27.69. The following example shows how to represent a port and DNS
address using HD as the scheme
MSH||Reg|TRC||||| ADT^A04^ADT_A04||||||||||||||||5123^25.152.27.69^DNS|
Example 4: The Bayview satellite clinic transmits a notification of patient registration to its parent
organization Community Health and Hospitals. The sending network location is identified by using
"4086::132:2A57:3C28" its IPv6 address.
MSH||REG|BAY||||| ADT^A04^ADT_A04||||||||||||||||^4086::132:2A57:3C28^IPv6|
Definition: Identifier of the network location the message was transmitted to. Identified by an OID or text
string (e.g., URL).
This is analogous with the Sending Network Address, however in the receiving role.
This field should only be populated when the underlying communication protocol does not support
identification receiving network locations.
Definition: This field contains a value to identify the type of comment text being sent in the specific
comment record. Refer to User-Defined Table 0364 - Comment Type for suggested values.
Note: A field already exists on the NTE record that identifies the Sources of Comment (e.g., ancillary, placer,
other). However some applications need to support other types of comment text (e.g., instructions, reason, remarks,
etc.). A separate NTE segment can be used for each type of comment (e.g., instructions are on one NTE and remarks
on another NTE).
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 65
Final Standard. October 2007.
Chapter 2: Control
Subcomponents for Name Validity Range (DR): <Range Start Date/Time (DTM)> & <Range
End Date/Time (DTM)>
Subcomponents for Assigning Jurisdiction (CWE): <Identifier (ST)> & <Text (ST)> &
<Name of Coding System (ID)> & <Alternate Identifier (ST)> & <Alternate
Text (ST)> & <Name of Alternate Coding System (ID)> & <Coding System
Version ID (ST)> & <Alternate Coding System Version ID (ST)> & <Original
Text (ST)>
Subcomponents for Assigning Agency or Department (CWE): <Identifier (ST)> & <Text
(ST)> & <Name of Coding System (ID)> & <Alternate Identifier (ST)> &
<Alternate Text (ST)> & <Name of Alternate Coding System (ID)> & <Coding
System Version ID (ST)> & <Alternate Coding System Version ID (ST)> &
<Original Text (ST)>
Definition: This field contains the identity of the person who actually keyed the comment into the
application. It provides an audit trail in case the comment is entered incorrectly and the ancillary
department needs to clarify the comment. By local agreement, either the ID number or name component
may be omitted.
2.14.10.6 NTE-6 Entered Date/Time (DTM) 00661
Definition: This field contains the actual date the comment was keyed into the application.
2.14.10.7 NTE-7 Effective Start Date (DTM) 01004
Definition: This field contains the date the comment becomes or became effective.
2.14.10.8 NTE-8 Expiration Date (DTM) 02185
Definition: This field contains the date the comment becomes or became non-effective.
Page 66 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
may wish to provide suggested values for override types or codes for use with the OVR segment in
different messages.
The following is an example of how the OVR segment might be used in a dispense message (RDS_O13):
MSH PID PV1 {ORC RXE {RXR} RXD {RXR} <RXC> <NTE> <FT1> <OVR>}
Definition: Identifies what type of business rule override is being performed. Refer to User-defined Table
0518 - Override Type for suggested values. Given that an application provides end users with the ability to
override business rules, there must be a way to communicate what business rule is being overridden.
2.14.11.2 OVR-2 Business Rule Override Code (CWE) 01830
Components: <Identifier (ST)> ^ <Text (ST)> ^ <Name of Coding System (ID)> ^
<Alternate Identifier (ST)> ^ <Alternate Text (ST)> ^ <Name of Alternate
Coding System (ID)> ^ <Coding System Version ID (ST)> ^ <Alternate Coding
System Version ID (ST)> ^ <Original Text (ST)>
Definition: Indicates the reason for the business rule override. Refer to User-Defined Table 0521 – Override
Code for suggested values.
If users are allowed to override business rules in an application, the user will typically need to provide a
reason why the rule is being overridden. The Override Code field in this segment will provide the
mechanism to transmit a coded reason.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 67
Final Standard. October 2007.
Chapter 2: Control
Page 68 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Subcomponents for Name Context (CWE): <Identifier (ST)> & <Text (ST)> & <Name of
Coding System (ID)> & <Alternate Identifier (ST)> & <Alternate Text (ST)>
& <Name of Alternate Coding System (ID)> & <Coding System Version ID (ST)>
& <Alternate Coding System Version ID (ST)> & <Original Text (ST)>
Subcomponents for Name Validity Range (DR): <Range Start Date/Time (DTM)> & <Range
End Date/Time (DTM)>
Subcomponents for Assigning Jurisdiction (CWE): <Identifier (ST)> & <Text (ST)> &
<Name of Coding System (ID)> & <Alternate Identifier (ST)> & <Alternate
Text (ST)> & <Name of Alternate Coding System (ID)> & <Coding System
Version ID (ST)> & <Alternate Coding System Version ID (ST)> & <Original
Text (ST)>
Subcomponents for Assigning Agency or Department (CWE): <Identifier (ST)> & <Text
(ST)> & <Name of Coding System (ID)> & <Alternate Identifier (ST)> &
<Alternate Text (ST)> & <Name of Alternate Coding System (ID)> & <Coding
System Version ID (ST)> & <Alternate Coding System Version ID (ST)> &
<Original Text (ST)>
Definition: Identifies the health services provider who accepts professional responsibility for overriding the
business rule. This field should be left empty if the recording and responsible health care provider is the
same as who entered the override.
In some cases, a business rule override may be entered by a data entry clerk on behalf of a health service
provider who carries professional responsibility for the decision to override the rule. In order to represent
this scenario, the segment must have a field identifying who is responsible for the override decision, in
addition to the person recording the override.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 69
Final Standard. October 2007.
Chapter 2: Control
MSH
[{ SFT }]
...
Definition: Organization identification information for the software vendor that created this transaction.
The purpose of this field, along with the remaining fields in this segment, is to provide a more complete
picture of applications that are sending HL7 messages. The Software Vendor Organization field would
allow the identification of the vendor who is responsible for maintaining the application.
2.14.12.2 SFT-2 Software Certified Version or Release Number (ST) 01835
Definition: Latest software version number of the sending system that has been compliance tested and
accepted. Software Certified Version or Release Number helps to provide a complete picture of the
application that is sending/receiving HL7 messages. Versions are important in identifying a specific
'release' of an application. In some situations, the receiving application validates the Software Certified
Version or Release Number against a list of "certified" versions/releases of the particular software to
determine if the sending application adheres to specific business rules required by the receiving application.
Alternatively, the software may perform different processing depending on the version of the sending
software
2.14.12.3 SFT-3 Software Product Name (ST) 01836
Definition: The name of the software product that submitted the transaction. A key component in the
identification of an application is its Software Product Name. This is a key piece of information in
identifying an application.
2.14.12.4 SFT-4 Software Binary ID (ST) 01837
Definition: Issued by a vendor for each unique software version instance to distinguish between like
versions of the same software e.g., a checksum.
Software Binary Ids are issued for each unique software version instance. As such, this information helps to
differentiate between differing versions of the same software. Identical Primary IDs indicate that the
software is identical at the binary level (configuration settings may differ).
2.14.12.5 SFT-5 Software Product Information (TX) 01838
Definition: Software identification information that can be supplied by a software vendor with their
transaction. Might include configuration settings, etc.
Page 70 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
This field would contain any additional information an application provides with the transaction it has
submitted. This information could be used for diagnostic purposes and provides greater flexibility in
identifying a piece of software. Possibilities include setup or configuration parameter information.
This field should not be sent unless performing diagnostics.
2.14.12.6 SFT-6 Software Install Date (DTM) 01839
Definition: Date the submitting software was installed at the sending site.
A Software Install Date on its own can often provide key information about the behavior of the application,
and is necessary to provide a complete picture of the sending application.
When an MSA and ERR segment pair is reported to the sender, an application data response shall not occur.
In such cases it is correct to assume that the sending application's user is not authorized to get the data.
The processing rules for the ERR segment are outside of HL7's scope.
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 71
Final Standard. October 2007.
Chapter 2: Control
Definition: This an identifier code for the type of user authentication credential.
Definition: This is user credential data as supplied by the sender's operating platform. The content and
structure of this is defined by other standards and contain no HL7-relevant data.
Page 72 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 73
Final Standard. October 2007.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 75
Final Standard. October 2007.
Chapter 2: Control
Page 76 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Page 80 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 81
Final Standard. October 2007.
Chapter 2: Control
Page 82 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
For Defining HL7 Messages". The second column lists the various HL7 trigger events that use the
particular abstract message definition. For example, the message structure code ADT_A01 describes the
single abstract message structure used by the trigger events A01, A04, A08 and A13.
Page 84 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 87
Final Standard. October 2007.
Chapter 2: Control
character).
rd
ACR American College of Index for Radiological Diagnosis Revised, 3 Edition Specific Non-Drug Active
Radiology finding codes 1986, American College of Radiology, Reston, VA. Code
ALPHAID20 German Alpha-ID v2006 ID of the alphabetical Index ICD-10-GM-2006. Alpha-ID. New
06
ALPHAID20 German Alpha-ID v2007 ID of the alphabetical Index ICD-10-GM-2007. Alpha-ID. New
07
ALPHAID20 German Alpha-ID v2008 ID of the alphabetical Index ICD-10-GM-2008. Alpha-ID. New
08
ART WHO Adverse Reaction WHO Collaborating Centre for International Drug Drug code Active
Terms Monitoring, Box 26, S-751 03, Uppsala, Sweden.
ANS+ HL7 set of units of HL7 set of units of measure based upon ANSI X3.50 - Active
measure 1986, ISO 2988-83, and US customary units / see chapter
7, section 7.4.2.6.
AS4 ASTM E1238/ E1467 American Society for Testing & Materials and CPT4 (see Specific Non-Drug Active
Universal Appendix X1 of Specification E1238 and Appendix X2 of Code
Specification E1467).
AS4E AS4 Neurophysiology ASTM’s diagnostic codes and test result coding/grading Specific Non-Drug Active
Codes systems for clinical neurophysiology. See ASTM Code
Specification E1467, Appendix 2.
ATC American Type Culture Reference cultures (microorganisms, tissue cultures, Specific Non-Drug Active
Collection etc.), related biological materials and associated data. Code
American Type Culture Collection, 12301 Parklawn Dr,
Rockville MD, 20852. (301) 881-2600. http://www.atcc.org
C4 CPT-4 American Medical Association, P.O. Box 10946, Chicago Specific Non-Drug Active
IL 60610. Code
C5 CPT-5 (under development – same contact as above) Specific Non-Drug Active
Code
CAS Chemical abstract codes These include unique codes for each unique chemical, Drug code Active
including all generic drugs. The codes do not distinguish
among different dosing forms. When multiple equivalent
CAS numbers exist, use the first one listed in USAN.
USAN 1990 and the USP dictionary of drug names,
William M. Heller, Ph.D., Executive Editor, United States
Pharmacopeial Convention, Inc., 12601 Twinbrook
Parkway, Rockville, MD 20852.
CCC Clinical Care Clinical Care Classification System (formerly Home Active
Classification system Health Care Classification system) codes.
The Clinical Care Classification (CCC) consists of two
terminologies: CCC of Nursing Diagnose
and CCC of Nursing Interventions both of which are
classified by 21 Care Components.
Virginia Saba, EdD, RN; Georgetown University School of
Nursing; Washington, DC.
CD2 CDT-2 Codes American Dental Association’s Current Dental Specific Non-Drug Active
Terminology (CDT-2) code. American Dental Association, Code
211 E. Chicago Avenue,. Chicago, Illinois 60611.
CDCA CDC Analyte Codes As above, for CDCM Active
CDCM CDC Public Health Practice Program Office, Centers for Drug code Active
Methods/Instruments Disease Control and Prevention, 4770 Buford Highway,
Codes Atlanta, GA, 30421. Also available via FTP:
ftp.cdc.gov/pub/laboratory _info/CLIA and
Gopher:
gopher.cdc.gov:70/11/laboratory_info/CLIA
CDS CDC Surveillance CDC Surveillance Codes. For data unique to specific Specific Non-Drug Active
public health surveillance requirements. Epidemiology Code
Program Office, Centers for Disease Control and
Prevention, 1600 Clifton Rd, Atlanta, GA, 30333. (404)
639-3661.
CE CEN ECG diagnostic CEN ECG diagnostic codes – (Obsolete, retained for Specific Non-Drug Active
(obsolete) codes backwards compatibility only. See the entry for the MDC Code
coding system.)
CLP CLIP Simon Leeming, Beth Israel Hospital, Boston MA. Codes Specific Non-Drug Active
Page 88 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 89
Final Standard. October 2007.
Chapter 2: Control
7 The HCPCS code is divided into three "levels." Level I includes the entire CPT-4 code by reference. Level II includes the American Dental
Association’s Current Dental Terminology (CDT-2) code by reference. Level II also includes the genuine HCPCS codes, approved and
maintained jointly by the Alpha-Numeric Editorial Panel, consisting of CMS, the Health Insurance Association of America, and the Blue
Cross and Blue Shield Association. Level III are codes developed locally by Medicare carriers. The HCPCS modifiers are divided into the
same three levels, I being CPT-4 modifiers, II CDT-2 and genuine HCPCS modifiers, and III being locally agreed modifiers.
The genuine HCPCS codes and modifiers of level II can be found at http://www.cms.hhs.gov/MedHCPCSGenInfo/. CMS distributes the
HCPCS codes via the National Technical Information Service (NTIS, www.ntis.gov) and NTIS distribution includes the CDT-2 part of
HCPCS Level II, but does not include the CPT-4 part (Level I). CMS may distribute the CPT-4 part to its contractors.
Page 90 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
IBTnnnn ISBT 128 codes where International Society of Blood Transfusion. (specific Specific Non-Drug Active
nnnn specifies a contact information will be supplied to editor.) Code
specific table within
ISBT 128. The variable suffix (nnnn) identifies a specific table within
ISBT 128.
I10G2004 ICD 10 Germany v2004 ICD German modification for 2004. Deprecated
I10G2005 ICD 10 Germany v2005 ICD German modification for 2005. Deprecated
I10G2006 ICD 10 Germany v2006 ICD German modification for 2006. Active
ICD10GM2 ICD 10 Germany v2007 ICD German modification for 2007. New
007
ICD10GM2 ICD 10 Germany v2008 ICD German modification for 2008. New
008
ICD10AM ICD-10 Australian Active
modification
ICD10CA ICD-10 Canada Active
ICDO International International Classification of Diseases for Oncology, 2nd Specific Non-Drug Active
Classification of Edition. World Health Organization: Geneva, Switzerland, Code
Diseases for Oncology 1990. Order from: College of American Pathologists, 325
Waukegan Road, Northfield, IL, 60093-2750. (847) 446-
8800.
ICS ICCS Commission on Professional and Hospital Activities, 1968 Specific Non-Drug Active
Green Road, Ann Arbor, MI 48105. Code
ICSD International International Classification of Sleep Disorders Diagnostic Specific Non-Drug Active
Classification of Sleep and Coding Manual, 1990, available from American Sleep Code
Disorders Disorders Association, 604 Second Street SW,
Rochester, MN 55902
ISOnnnn ISO Defined Codes International Standards Organization where nnnn is the General code Active
where nnnn is the ISO ISO table number
table number
ISO+ ISO 2955.83 (units of See chapter 7, section 7.4.2.6 Active
measure) with HL7
extensions
ITIS Integrated Taxonomic Source= www.itis.usda.gov. This is a taxonomic hierarchy Active
Information System for living organisms.
IUPP IUPAC/IFCC Property International Union of Pure and Applied Specific Non-Drug Active
Codes Chemistry/International Federation of Clinical Chemistry. Code
The Silver Book: Compendium of terminology and
nomenclature of properties in clinical laboratory sciences.
Oxford: Blackwell Scientific Publishers, 1995. Henrik
Olesen, M.D., D.M.Sc., Chairperson, Department of
Clinical Chemistry, KK76.4.2, Rigshospitalet, University
Hospital of Copenhagen, DK-2200, Copenhagen.
http://inet.uni-c.dk/~qukb7642/
IUPC IUPAC/IFCC Codes used by IUPAC/IFF to identify the component Specific Non-Drug Active
Component Codes (analyte) measured. Contact Henrik Olesen, as above for Code
IUPP.
JC8 Japanese Chemistry Clinical examination classification code. Japan withdrawn Active
Association of Clinical Pathology. Version 8, 1990. A
multiaxial code including a subject code (e.g., Rubella =
5f395, identification code (e.g., virus ab IGG), a specimen
code (e.g., serum =023) and a method code (e.g., ELISA
= 022)
JC10 JLAC/JSLM, nationwide Source: Classification &Coding for Clinical Laboratory. Active
laboratory code Japanese Society of Laboratory Medicine(JSLM,
Old:Japan Society of Clinical Pathology). Version 10,
1997. A multiaxial code including a analyte code (e.g.,
Rubella = 5f395), identification code (e.g., virus ab
IGG=1431), a specimen code (e.g., serum =023) and a
method code (e.g., ELISA = 022)
JJ1017 Japanese Image Active
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 91
Final Standard. October 2007.
Chapter 2: Control
Examination Cache
LB Local billing code Local billing codes/names (with extensions if needed). General code Active
th
LN Logical Observation Regenstrief Institute, c/o LOINC, 1050 Wishard Blvd., 5 Specific Non-Drug Active
Identifier Names and floor, Indianapolis, IN 46202. 317/630-7433. Available Code
Codes (LOINC®) from the Regenstrief Institute server at
http://www.Regenstrief.org/loinc/loinc.htm.
Also available via HL7 file server: FTP/Gopher
(www.mcis.duke.edu/standards/termcode/loinc
lab and
www.mcis.duke.edu/standards/termcode/loinc
lin) and World Wide Web
(http://www.mcis.duke.edu/standards/termcod
e/loincl.htm). January 2000 version has identifiers,
synonyms and cross-reference codes for reporting over
26,000 laboratory and related observations and 1,500
clinical measures.
MCD Medicaid Medicaid billing codes/names. Specific Non-Drug Active
Code
MCR Medicare Medicare billing codes/names. Specific Non-Drug Active
Code
MDC Medical Device EN ISO/IEEE 11073-10101 Health informatics – Point-of- Specific Non-Drug Active
Communication care medical device communication - Nomenclature Code
MDDX Medispan Diagnostic Codes Used for drug-diagnosis interaction checking. Drug code Active
Codes Proprietary product. Hierarchical drug codes for
identifying drugs down to manufacturer and pill size.
MediSpan, Inc., 8425 Woodfield Crossing Boulevard,
Indianapolis, IN 46240. Tel: (800) 428-4495. URL:
http://www.medispan.com/Products/index.aspx?cat=1. As
above for MGPI.
MEDC Medical Economics Drug Proprietary Codes for identifying drugs. Proprietary Drug code Active
Codes product of Medical Economics Data, Inc. (800) 223-0581.
MEDR Medical Dictionary for Patrick Revelle, Director MSSO Drug code Active
Drug Regulatory Affairs 12011 Sunset Hills Road, VAR1/7B52
(MEDDRA) Reston, VA 20190
[email protected]
http://www.meddramsso.com/MSSOWeb/index.htm
MEDX Medical Economics Used for drug-diagnosis interaction checking. Proprietary Drug code Active
Diagnostic Codes product of Medical Economics Data, Inc. (800) 223-0581.
MGPI Medispan GPI Medispan hierarchical drug codes for identifying drugs Drug code Active
down to manufacturer and pill size. Proprietary product of
MediSpan, Inc., 8425 Woodfield Crossing Boulevard,
Indianapolis, IN 46240. Tel: (800) 428-4495.
MVX CDC Vaccine As above, for CVX Drug code Active
Manufacturer Codes
NCPDPnnn NCPDP code list for NCPDP maintain code list associated with the specified Active
nsss data element nnnn [as Data Element (nnnn) and Segment (sss). The Segment
used in segment sss] portion is optional if there is no specialization of the Data
Element codes between segments.
Examples:
NCPDP1131RES = code set defined for NCPDP data
element 1131 as used in the RES segment (Code List
Qualifier – Response Code)
NCPDP1131STS = code set defined for NCPDP data
element 1131 as used in the STS segment (Code List
Qualifier – Reject Code)
NCPDP9701 = code set defined for NCPDP data
element 9701 (Individual Relationship, Coded). No
specialization to a segment exists for this data element.
Page 92 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
NDA NANDA North American Nursing Diagnosis Association, Specific Non-Drug Active
Philadelphia, PA. Code
NDC National drug codes These provide unique codes for each distinct drug, dosing Drug code Active
form, manufacturer, and packaging. (Available from the
National Drug Code Directory, FDA, Rockville, MD, and
other sources.)
NIC Nursing Interventions Iowa Intervention Project, College of Nursing, University Specific Non-Drug Active
Classification of Iowa, Iowa City, Iowa Code
NPI National Provider Health Care Finance Administration, US Dept. of Health Specific Non-Drug Active
Identifier and Human Services, 7500 Security Blvd., Baltimore, MD Code
21244.
NUBC National Uniform Billing Active
Committee Code
OHA Omaha System Omaha Visiting Nurse Association, Omaha, NB. Specific Non-Drug Active
Code
OHA Omaha Omaha Visiting Nurse Association, Omaha, NB. Specific Non-Drug Active
Code
O301 German Procedure Source: OPS Operationen- und Prozedurenschluessel. Deprecated
Codes
O3012004 OPS Germany v2004 Source: OPS Operationen- und Prozedurenschluessel Deprecated
2004.
O3012005 OPS Germany v2005 Source: OPS Operationen- und Prozedurenschluessel Deprecated
2005.
O3012006 OPS Germany v2006 Source: OPS Operationen- und Prozedurenschluessel Active
2006.
OPS2007 OPS Germany v2007 Source: OPS Operationen- und Prozedurenschluessel New
2007.
OPS2008 OPS Germany v2008 Source: OPS Operationen- und Prozedurenschluessel New
2008.
POS POS Codes HCFA Place of Service Codes for Professional Claims Specific Non-Drug Active
(see http://www.cms.hhs.gov/PlaceofServiceCodes/). Code
RC Read Classification The Read Clinical Classification of Medicine, Park View Specific Non-Drug Active
Surgery, 26 Leicester Rd., Loughborough LE11 2AG Code
(includes drug procedure and other codes, as well as
diagnostic codes).
SCT SNOMED Clinical Terms SNOMED-CT concept identifier codes. Specific Non-Drug Active
SNOMED International, I325 Waukegan Rd, Northfield, Code
IL, 60093, +1 800-323-4040, mailto:[email protected]
http://www.snomed.org
SCT2 SNOMED Clinical Terms Used to indicate that the code value is the legacy-style Active
alphanumeric codes SNOMED alphanumeric codes, rather than the concept
identifier codes.
SNOMED International, I325 Waukegan Rd, Northfield,
IL, 60093, +1 800-323-4040, mailto:[email protected]
http://www.snomed.org
SDM SNOMED- DICOM College of American Pathologists, Skokie, IL, 60077- Specific Non-Drug Active
Microglossary 1034. (formerly designated as 99SDM). Code
nd
SNM Systemized Systemized Nomenclature of Medicine, 2 Edition 1984 Specific Non-Drug Active
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 93
Final Standard. October 2007.
Chapter 2: Control
Page 94 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
W4 WHO record # code with With ASTM extensions (see Implementation Guide), the Drug code Active
ASTM extension WHO codes can be used to report serum (and other)
levels, patient compliance with drug usage instructions,
average daily doses and more (see Appendix X1 the
Implementation Guide).
WC WHO ATC WHO’s ATC codes provide a hierarchical classification of Drug code Active
drugs by therapeutic class. They are linked to the record
number codes listed above.
X12DEnnnn ASC X12 Code List Code list associated with X12 Data Element nnnn. General Codes Active
nnnn Example::
X12DE738 – code set defined for X12 data element 738
(Measurement Qualifier)
http://www.x12.org
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 95
Final Standard. October 2007.
Chapter 2: Control
Page 96 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 97
Final Standard. October 2007.
Chapter 2: Control
MSH|...|<field-13>|<continuation-pointer-value-1>|
ADD|a long message. This is the 968th sentence of a long message.
<snip>
This is the 1001st line of
<there should be no trailing field delimiter after the last field in this ADD
segment>
DSC|<continuation-pointer-value-2>|F
MSH|...|<field-13>|<continuation-pointer-value-2>|
ADD|a long message. This is the 1002nd sentence of a long message. <snip> This is
the final sentence of this long message!|||||F||199707211325|
<remaining segments after the big OBX from the original message go here, after
the ADD segment>
PR1|...
DG1|...
Example 2, a single message being split across two messages, but on segment boundaries
Message #1: ---------------------------------------------------------------
Note: MSH-14, continuation pointer, is empty.
MSH|...|<field-13>||...
PID|...
ORC|...
OBR|...
OBX|1|FT|^Discharge Summary|1|This is the first sentence of a long
message. This is the final sentence of this long discharge
summary!|||||F||199707211325|
DSC|<continuation-pointer-value-3>|F
Page 98 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.
Chapter 2: Control
MSH|...|<field-13>|<continuation-pointer-value-3>|
PR1|...
DG1|...
MSH|^~\&|ICU||LABxxx|ClinLAB|19910918060545||MSA|MSGID99002|P|2.2
MSA|CA|MSGID002
Application acknowledgment message
MSH|^~\&|ICU||LABxxx|ClinLAB|19911001080504||MFK|MSGID5002|P|2.2|||AL|
MSA|AA|MSGID002
MFI|LABxxx^Lab Test Dictionary^L|UPD|||MFAA
MFA|MUP|199109051000|199110010040|S|12345^WBC^L
MFA|MUP|199109051015|199110010041|S|6789^RBC^L
MSH|^~\&|LABxxx|ClinLAB|ICU||19911001080507||ACK|MSGID444|P|2.2
MSA|CA|MSGID5002
Health Level Seven, Version 2.6 © 2007. All rights reserved. Page 99
Final Standard. October 2007.
Chapter 2: Control
Page 100 Health Level Seven, Version 2.6 © 2007. All rights reserved.
October 2007. Final Standard.