User Guide : Map Connectors : Source and Target Map Connectors : HL7 (eDoc)
 
Share this page                  
HL7 (eDoc)
Health Level Seven (HL7) is an organization that develops messaging standard specifications that enable disparate health care applications to exchange key 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.
HL7 standard provides a layout of messages exchanged between two or more applications. A message is comprised of multiple segments that must be sent in a particular order 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 to kin segment contains similar data elements about the patient's next to kin.
HL7 defines the data elements that must be sent and determines the data type and the suggested length for each data element. Also, it indicates whether the data element is required, optional, or may be repeated. Fields must be sent in the same order as present in the Standard. This way, both sending and receiving systems know the data that is expected, the order, and the format. HL7 also enables one system to query another system for the relevant information.
Schema File Required
You can obtain a HL7 (eDoc) schema file from HL7 that contains the structure for your HL7 file connections. If your HL7 file structure is different, you may have 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 in the required project folder.
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.
Note:  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
This section provides information that is specific to the connector.
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 must have additional rules applied to them.
Real time Messaging Support
The HL7 connector works 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 is 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.
Property Options
You can set the following source (S) and target (T) properties.
Property
S/T
Description
Encoding
ST
To specify encoding for reading source and writing target data, select a code page translation table.
Default is OEM.
To use ANSI, select ISO8859-1.
For Windows CodePage 1252, select CP1252.
SchemaFile
ST
Used for parsing data and generating a new schema during design time. Select a schema file that contains the schema that you want to use.
SegmentTerminator
ST
Character that terminates a segment. Select a Segment Terminator from the list. The default is CR(000D). For other options, see Segment Terminators.
StuffedLength
ST
Specify carriage return length. The default value is zero.
HL7 encoding rules does not have any limitation on the segment length. Many languages or operating systems have terminal-oriented input disciplines that sets a limit on the number of characters received before they 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.
Note:  This property is not required by the HL7 standard, but is used by Lower Layer Protocols.
FieldSeparator
T
Separates two adjacent data fields within a segment.
The integration platform presumes that a HL7 (eDoc) file has a pipe | (007C) between each field. The default is | (007C). For the options, see Segment Terminators.
ComponentSeparator
T
Separates adjacent components of data fields.
The default is ^(005E). For the options, see Segment Terminators.
RepetitionSeparator
T
Separates multiple occurrences of a field. The default is ~(007E). For the options, see Segment Terminators.
EscapeCharacter
T
Escape character to use with any field represented by ST, TX, or FT data type, or to use with the data (fourth) component of the ED data type.
For the options, see Segment Terminators.
SubcomponentSeparator
T
Separates adjacent subcomponents of data fields.
The default is &(0026). For the options, see Segment Terminators.
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)