Was this helpful?
HL7
Health Level Seven (HL7) is an organization that develops messaging standard specifications that enable disparate health care applications to exchange keys sets of clinical and administrative data. The HL7 standard provides an electronic interchange of clinical, financial and administrative information among independent health care oriented computer systems, such as hospital information systems, clinical laboratory systems, enterprise systems and pharmacy systems.
The HL7 standard provides the layout of messages exchanged between two or more applications. A message is comprised of multiple segments that must be sent in a particular order and which may or may not repeat. Segments are collections of data elements that typically share a common subject. For example, the PID segment contains patient identification data elements such as name, address and social security number. The NK1 next of kin segment contains similar data elements about the patient's next of kin.
HL7 defines which data elements are to be sent and determines the data type and the suggested length of each. It also indicates whether the data element is required or optional and whether it may repeat. Fields must be sent in the order in which they are presented in the Standard. This way, both the sending and receiving systems know what data is expected, in what order and in what format. HL7 also enables one system to query another for relevant information.
Single record type data: Fixed ASCII has only one certainty – every record in the file has exactly the same number of bytes. (If all the single record type data is not exactly the same length, the file is a variable length file and Map Editor cannot read it as Fixed ASCII.
Multirecord Type Files: It is possible to work with variable-length multi-record files (with or without a record separator) using some specific guidelines. For more information, search for the “multiple record type” in the documentation.
Because there are so many variations of fixed ASCII data files, you may need to specify those variations in Target Properties.
Schema File Required
You are provided a template file that contains the structure for your HL7 file connections. If your HL7 file structure is different, you may need to modify the template.
To make changes to an HL7 template file
1. Import the file into Project Explorer.
2. Open the file in the Schema Editor.
3. Make your changes.
4. Save the file with a different name.
To obtain a template file, contact your sales representative. These template files are standard schemas.
To connect to an HL7 source or target file, you must set a schema in the SchemaFile property. You cannot connect directly to the schema. You must select a schema file from your current project that contains the schema you want to use.
Connector-Specific Notes
Defining HL7 Structure
It is important to define the structure of your HL7 files before opening them in the integration platform. This is because HL7 files may be loosely structured and most often need to have additional rules applied to them.
Output Modes
Replace File/Table is the only Output Mode available for HL7 target files.
Real time Messaging Support
The HL7 connector is designed to work with one message at a time. Files containing two or more messages must be split to process them. Each message begins with a MSH segment and the MSH must exist only once in a message as the first segment. HL7 was designed to be a real time messaging interface where discrete messages are generated and routed immediately to their destination. Some users employ a batch mode process, where multiple messages are written to a single file before transport occurs. This is not the intended use for HL7. Split batch files into discrete messages before processing.
Connector Parts
Connector parts are the fields you configure to connect with a data source or target.
The settings that are available depend on the connector you select.
For a list of all parts for source connectors, see Specifying Connector, Parts, and Properties.
For a list of all parts for target connectors, see Specifying Connector, Parts, and Properties.
Property Options
You can set the following source (S) and target (T) properties.
Property
S/T
Description
SchemaFile
ST
Used for parsing data and generating a new schema during design time. Select a schema file that contains the schema you want to use.
SegLibFile
ST
Segment library (.dsl.xml) file. This .dsl.xml file is created in Document Schema Designer. The segment library file is used during design time, not run time.
FldLibFile
ST
Field library (.dfl.xml) file. This .dfl.xml file is created in Document Schema Designer. The field library file is used during design time, not run time.
SegmentTerminator
ST
Character that terminates a segment. Select a Segment Terminator from the list. The default is CR(000D). For your options, see Segment Terminators.
Validation
ST
If set to true, the adapter validates:
Field requirement
Field default value (if this value is defined)
CheckSum
Default value is False.
Validation works differently on source and target files. Validation on the source occurs when you click Apply in Source Properties. On the target side, validation occurs at run time. If validation is successful, this is indicated in the log file and if there are errors, error messages are logged to the log file. On source-side validation, the first error is recorded in the log file and then the transformation stops before any other errors are recorded. On the target side, all errors are recorded to the log file, since validation occurs at run time.
Unicode
ST
This property is important if your HL7 file is Unicode encoded. The default is false, therefore if your source or target HL7 file is Unicode encoded, change this setting to true.
StuffedLength
ST
Specify carriage return length. This property is not required by the HL7 standard, but is used by Lower Layer Protocols. By default, StuffedLength is zero. HL7 encoding rules do not place any limits on the length of a segment. Many languages or operating systems have terminal-oriented input disciplines that place a limit on the number of characters received before they must receive a carriage return character. To overcome this problem, use this property. If some characters are transmitted without a carriage return, the sending system inserts a carriage return character into the output stream. The receiving system is also counting characters from the last carriage return seen. If the limit is reached, the receiving system knows that the next character is a stuffed carriage return and must be removed from the data.
FieldSeparator
T
Separates two adjacent data fields within a segment.
An HL7 file is presumed by the integration platform to have a pipe | (007C) between each field. To specify a different field separator, click the FieldSeparator arrow to display the list of options. The default is | (007C). For your options, see Segment Terminators.
ComponentSeparator
T
Separates adjacent components of data fields.
The default is ^(005E). For your options, see Segment Terminators.
RepetitionSeparator
T
Separates multiple occurrences of a field. The default is ~(007E). For your options, see Segment Terminators.
EscapeCharacter
T
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.
For your options, see Segment Terminators.
SubcomponentSeparator
T
Separates adjacent subcomponents of data fields.
The default is &(0026). For your options, see Segment Terminators.
StuffedLength
T
This property is not required by the HL7 standard, but is used by Lower Layer Protocols. By default, StuffedLength=0. HL7 encoding rules do not place any limits on the length of a segment. Many languages or operating systems have terminal oriented input disciplines that place a limit on the number of characters that can be received before they must receive a carriage return character. To overcome this problem, you may use the StuffedLength property. If a certain number of characters have been transmitted without a carriage return, the sending system inserts a carriage return character into the output stream. The receiving system is also counting characters from the last carriage return seen. If the limit is reached, the receiving system knows that the next character is a stuffed carriage return and must be removed from the data.
Segment Terminators
Options are as follows:
CR-LF
STX (0001)
SOT (0002)
ETX (0003)
EOT (0004)
ENQ (0005)
ACK (0006)
BEL (0007)
BS (0008)
HT (0009)
LF (000A)
VT (000B)
FF (000C)
CR (000D)
SO (000E)
S1 (000F)
DLE (0010)
DC1 (0011)
DC2 (0012)
DC3 (0013)
DC4 (0014)
NAK (0015)
SYN (0016)
ETB (0017)
CAN (0018)
EM (0019)
SUB (001A)
ESC (001B)
FS (001C)
GS (001D)
RS (001E)
US (001F)
SP (0020)
! (0021)
" (0022)
# (0023)
$ (0024)
% (0025)
& (0026)
' (0027)
( (0028)
) (0029)
* (002A)
+ (002B)
, (002C)
- (002D)
. (002E)
/ (002F)
: (003A)
; (003B)
< (003C)
= (003D)
> (003E)
? (003F)
@ (0040)
[ (005B)
\ (005C)
] (005D)
^ (005E)
_ (005F)
' (0060)
{ (007B)
| (007C)
} (007D)
~ (007E)
DEL (007F)
Supported Data Types
These are the data types of the fields in your HL7 target data table. The following data types are available:
DT
FT
ID
IS
Loop
NM
Segment
SI
ST
TM
TN
TS
TX
If you are writing to a new table, you may use any of these available data types from the list. Click the Type arrow to make a new selection. If you are appending data to an existing table, the data type of each field uses the data type in the selected table by default.
Last modified date: 02/01/2024