Previous

Next

Main Page

Company overview

Distribution à valeur ajoutée


DXNET HL7 IMPLEMENTATION PROFILE

Table of Contents :

Introduction Implementation model Communication profiles
Resulting operation in DxArchive DxArchive orphan resolution notification DxMultimodality notifications
Image archiving notification Queries Configuration

INTRODUCTION

This document describes the Medasys Digital Systems implementation profile of the HL7 standard into the DxNet application.

DxArchive application is a general image server for the purpose of image information handling and archiving using the Medasys Digital Systems image database.

DxNet application is the subset of the DxArchive application related to network connections management.

The abbreviation MDS is used for Medasys Digital Systems company name.

The abbreviation DxDBase is used for Medasys Digital Systems image database name.

DxHL7server, DxHL7proxi and DxHL7client applications are designed to support the version 2.2 of the HL7 standard, but offers in their current implementation compatibility with the previous version 2.1 of the standard, providing only original processing rules (i.e. original acknowledgement mode).

IMPLEMENTATION MODEL

Application data-flow diagram Application functional definition

APPLICATION DATA FLOW DIAGRAM

DxHL7server and DxHL7proxi are the process of DxNet application which are responsible for the incoming HL7 notifications management.

DxHL7client is the process in charge of the outgoing HL7 notifications.

The possible exchanges are describes in the Figure 1.

Figure 1, DxNet HL7 data flow diagram

As de/picted in the Figure 1, there are two ways for a HL7 request to be received in order to manage objects in DxDBase. A remote application (e.g. HIS/RIS systems) can either send HL7 notifications to the DxHL7server by opening a connection on the server machine at the port associated with DxHL7server or be called by the DxHL7proxi that will establish a TCP/IP connection. DxHL7server and DxHL7proxi both send an acknowledge message when an HL7 message has been received. This acknowledge allows the HIS/RIS system to verify if the message sent has been successfully received and decoded by DxHL7server or DxHL7proxi.

During the import process of images/patients files, it is possible to generate HL7 notifications. Those notifications give details about patients and the related studies that have been created during the import process. The notifications are stored and can be sent to a remote application using DxHL7client. DxHL7client sends the notifications created by DxArchive to a remote system and waits for an acknowledge. If the acknowledge is not received before a time out or if the acknowledge is negative, DxHL7client will try to send the message later on.

DxArchive can also create HL7 notifications during the process called Orphan Pool. In this case, DxHL7client can send the resulting HL7 notifications to a remote application by using DxHL7client as explained above.

APPLICATION FUNCTIONAL DEFINITION

DxHL7server and DxHL7proxi Accepted incoming messages Processed segments and fields
Use of escape sequences in text fields Acknowledge messages description DxHL7 client

DxHL7server and DxHL7proxi

DxHL7server and DxHL7proxi applications act as service providers for the following services :

patient creation,
study creation,
patient merge,
patient delete,
patient information update.

DxHL7server uses its standard input and output to respectively receive HL7 notification and send HL7 acknowledge. DxHL7server can be associated with a port number using the inetd daemon.

DxHL7proxi connects itself to a remote application via TCP/IP and wait for a HL7 message. DxHL7proxi can be initialised using inittab to automatically respawn after each received message.

Accepted incoming messages

The following message types are accepted by DxHL7server et DxHL7proxi : ADT, ORM, ORU. Other message types will be rejected by DxHL7proxi an DxHL7server.

MESSAGE TYPE

MESSAGE DESCRIPTION

ADT A01

Admit Patient

ADT A03

Discharge Patient

ADT A08

Update Patient Information

ADT A18

Merge Patient Information

ADT A23

Delete Patient Record

ORM Z01

New diagnostic study order

ORU

Unsolicited Transmission of Observation Results

For each message an associated action on DxDBase is configured. Refer to this section to find out the required fields for all the possible actions.

Message Type (MSH item 00009) Corresponding Action

ADT A01

Create a Patient in DxDBase

ADT A03

Delete a Patient in DxDBase

ADT A08

Update Patient Information in DxDBase

ADT A18

Merge Patient Information in DxDBase

ADT A23

Delete a Patient in DxDBase

ORU

Create a Study in DxDBase

ORM Z01

Create a Study in DxDBase

Note : It is also possible to use other messages and to assign them a special meaning via the configuration files. For examples ADT A04 (Register a patient) can be associated with a Patient creation action in DxDBase.

Processed segments and fields

During the HL7 notification decoding process, DxHL7server and DxHL7proxi use a dictionary to assign a HL7 message field to a field of DxDBase. This allows to take into account site specific message segment construction rules of a given site.

MSH segment

MSH segment information are used to :

configure the HL7 decoding rules,
associate an action on DxDBase with the message type,
control the network parameters

Field Name

Item Number

Remarks

Field Separator 00001 Used to separate field
Encoding Characters 00002 Used
Sending Application 00003 Used for network control
Sending Facility 00004 Used for network control
Receiving Application 00005 Used for network control
Receiving Facility 00006 Used for network control
Date/Time of Message 00007 Not used with the standard dictionary
Security 00008 Not used with the standard dictionary
Message Type 00009 Used to determine the action on DxDBase
Message Control ID 00010 Used
Processing ID 00011 Checked, possible values are 'D', 'P', 'T'
Version ID 00012 Checked, possible values are 2.1 and 2.2
Sequence Number 00013 Not used with the standard dictionary
Continuation Pointer 00014 Not used with the standard dictionary
Accept Acknowledge Type 00015 Used
Application Acknowledge 00016 Used
Country Code 00017 Not used with the standard dictionary

The network control allows DxHL7server and DxHL7proxi to check if the incoming message is issued by a specified application and facility and if DxHL7server or DxHL7proxi are the recipient for the notification. This control can be enabled or disabled.

EVN segment

EVN segment information are not processed in the current implementation.

PID segment

PID segment information are used to create a Patient entry in the DxDBase, to update the associated Patient, to delete a Patient or to merge Patients.

Field Name

Item Number

Remarks

Set ID 00104 Checked
Patient ID (External ID) 00105 Not used with the standard dictionary
Patient ID (Internal ID) 00106 Stored
Alternate Patient ID 00107 Stored
Patient Name 00108 Stored
Mother's Maiden Name 00109 Stored
Date Of Birth 00110 Stored
Sex 00111 Stored
Patient Alias 00112 Stored
Race 00113 Not used with the standard dictionary
Patient Address 00114 Stored
Country Code 00115 Not used with the standard dictionary
Phone Number Home 00116 Stored
Phone Number Business 00117 Stored
Language 00118 Not used with the standard dictionary
Marital Status 00119 Not used with the standard dictionary
Religion 00120 Stored
Patient Account Number 00121 Not used with the standard dictionary
SSN Number 00122 Stored
Driver's Licence Number 00123 Not used with the standard dictionary
Mother's Identifier 00124 Not used with the standard dictionary
Ethnic Group 00125 Stored
Birth Place 00126 Not used with the standard dictionary
Multiple Birth Indicator 00127 Not used with the standard dictionary
Birth Order 00128 Not used with the standard dictionary
Citizenship 00129 Not used with the standard dictionary
Veterans Military Status 00130 Stored
OBR segment

OBR segment information are used to create a Study.

Field Name

Item Number

Remarks

Set ID 00237 Checked
Place Order Number 00216 Not used with the standard dictionary
Filler Order Number 00217 Not used with the standard dictionary
Universal Service ID 00238 Used
Priority 00239 Not used with the standard dictionary
Requested Date/Time 00240 Not used with the standard dictionary
Observation Date/Time 00241 Used
Observation End Date/Time 00242 Not used with the standard dictionary
Other Fields 00243-00246 Not used with the standard dictionary
Relevant Clinical Information 00247 Used
Other Fields 00248 00268 Not used with the standard dictionary

The resulting Study is shown on Figure 2

MRG segment

MRG segment information are used to merge patients information.

Field Name

Item Number

Remarks

Prior Patient ID - Internal 00211 Used for merging purpose
Prior Alternate Patient ID 00212 Not used with the standard dictionary
Prior Account Number 00213 Not used with the standard dictionary
Prior Patient ID - External 00214 Not used with the standard dictionary
Other segments

PV1 and NK1 are recognised but the current implementation does not stored information found in these fields.

Use of escape sequences in text fields

When a field of type TX, FT, or CF is being encoded, the escape character may be used. For the purposes of this section, the character '\' will be used to represent the escape code. The following escape sequences are recognised by the DxHL7 Net applications :

\H\ start highlighting,
\N\ normal text (end highlighting),
\F\ field separator,
\S\ component separator,
\T\ sub component separator,
\R\ repetition character,
\E\ escape character,
\Xdddd\ hexadecimal data,
\Zdddd\ locally defined escape sequence.

Acknowledge messages description

MSH segment

The MSH segment fields of acknowledge notifications send by DxHL7server or DxHL7proxi are filled as specified in the HL7 specification standard.

Field Name

Item Number

Remarks

Message Type 00009 Fixed to 'ACK'
MSA segment

Field Name

Item Number

Remarks

Acknowledge Code 00018 Possible value : AE, CR, AR, CE.
Message Control ID 00019 Incoming message ID
Text Message 00020 empty
Expected Sequence Number 00021 empty
Delayed Acknowledgement Type 00022
Error Condition 00023 Error description
ERR segment

Field Name

Item Number

Remarks

Error Code and Location 00024 location^MDS_ERRcode

Where location is the part of the HL7 notification that generates the error.

DxHL7client

DxHL7client application acts as a messages sender. DxArchive and the archiving process can issue some HL7 notifications to notify the RIS/HIS system of operations realised (image archiving or orphan resolution).

DxHL7client does not create the HL7 notifications. The notifications send by this process are constructed by the image archiving process or the orphan pool (refer here and here).

DxHL7client can be launched by the impd daemon, on one or more directories where the orphan resolution and image archiving notification are stored. If a notification failed to be send, it will be kept and send later on.

COMMUNICATION PROFILES

DxNet applications provides TCP/IP Network Communication Support. DxNet applications inherit their TCP/IP stack from the HP-UX UNIX operating system upon which they execute.

DxHL7server application accepts association on a communication port controlled by the inetd Internet Daemon of the HP-UX UNIX operating system.

As DxArchive use DxHL7client to send HL7 notifications to remote applications, this process allows a retry process to ensure that all the notification are successfully received by the remote application.

RESULTING OPERATION IN DXARCHIVE

DxHL7server and DxHL7proxi are used to create, update, delete or merge patients and to create studies. The following sections show the appearance of a patient and its study in DxArchive.

Object selection window

Figure 2 : DxArchive Patient Selection window

Figure 2 is the result of a patient and a study creation in the DxDBase. The first set of information found in the selected patient area shows some of the PID segment informations. More patient related information can be found in the 'patient information' window. The object list area shows a study created for the selected patient. The information displayed are the ones found in the OBR segment.

Patient information window

Figure 3 : DxArchive Patient Information Window

As shown on Figure 3, all the information decoded from the PID segment are stored in DxDBase. DxArchive allows to display those information.

DXARCHIVE ORPHAN RESOLUTION NOTIFICATIONS

DxArchive can create notifications during the process of orphan resolution (Orphan Pool). This function allows to merge information from an orphan patient with the ones from a real patient.

The type of message used to express an orphan resolution is an ORU message. Each segment of this message is used as explained in the following table :

SEGMENT

DEFAULT INFORMATION

MSH As specified in the HL7 standard, message type is ORU.
EVN As specified in the HL7 standard.
PID As specified in the HL7 standard, all available information stored by DxDBase for the real patient are used.
OBR This segment is not filled.
OBX May be used a as many time as useful to give all the available information stored by DxDBase for the orphan patient.

This segment is not filled because conforming to the HL7 standard it is used to store study information (refer to §5.4). 

The configuration file used while image archiving gives all the information to be stored in the OBX segment. The OBX segment fields are composed of the following components separated by HL7 component separator character:

DxArchive item name,
item value,
item comment.

Some extra OBX segments are added to the end of the HL7 notification. The DICOM UID of all the images of the orphan patient are provided.

MSH segment

Field Name

Item Number

Remarks

Message Type 00009 Fixed to 'ORU'

EVN segment

As define in the HL7 standard.

PID segment

The PID segment gives information about the real patient who has been merged with the orphan patient. The orphan patient information are found in the OBX segments.

OBR segment

The OBX segment is present in the notification but its fields are empty. No study ID is given because the following OBX segments give information about all the studies related to the orphan patient (refer here and here).

Configurable OBX segment

The first OBX segment show a keyword to express the fact that the notification refer to merge action in DxDBase Orphan Pool. This keyword is MDS_MERGE_NOTIFICATION. Following this first OBX segment some configurable segment are provided as explained in the next table.

Field Name

Item Number

Remarks

Set ID 00569 Fixed to '1' value
Value Type 00570 Fixed to 'TX' value
Observation Identifier 00571 Fixed to 'DXARCHIVE^NOTIFICATION'
Observation Sub-ID 00572 Counter
Observation Identifier 00573 Configurable list of values

A configuration file allows to add to the HL7 notification as many OBX segments as needed to provide information on the archived patient/image file. The field contains 3 sub components :

DxArchive item name,
item value,
item comment.

The item name and the comment are found in the configuration file. The item value is retrieved from the DxDBase.

Some extra OBX segments are provided to give information about all the images stored for the orphan patient. Those OBX segments show the keyword 'Dicom UID' followed by the ID of the image fount in the DxDBase.

DXMULTIMODALITY NOTIFICATIONS

The DxMultiModality interface can create, update or delete patients. Therefore those actions can produce some HL7 Notifications. Those notifications can be configure as desired : the type of message can be chosen and the content of the segments id fully configurable.

From the Object Selection Window the following actions are possible:

From the Patient Information Window the following actions are possible:

From the Orphan Pool Window

The availables types of message are the following :

SEGMENT DEFAULT INFORMATION
MSH As specified in the HL7 standard, message type as configured.
EVN As specified in the HL7 standard.
PID As specified in the HL7 standard, all available information stored by DxDBase for the real patient are used.
OBX May be used a as many time as useful to give all the available information that are required (1).

(1) The OBX segments may be added depending on the options chosen in the configuration.

See EVN segment to Configurable OBX segment for other information.

IMAGE ARCHIVING NOTIFICATIONS

DxArchive system initiates association messages to remote applications when an image is successfully archived in DxDBase. The messages provided are based on the ORU message type.

DxArchive archiving process use different segments of the ORU message type in the notification message, to reference and identify the image imported as described in the following sections.

SEGMENT

DEFAULT INFORMATION

MSH As specified in the HL7 standard, message type is ORU.
EVN As specified in the HL7 standard.
PID As specified in the HL7 standard, all available information stored by DxDBase for the new patient are used.
OBR As specified in the HL7 stansdard.
OBX May be used a as many time as useful to give all the available information stored by DxDBase for the new patient.

The configuration file used while image archiving gives all the information to be stored in the OBX segments. The OBX segments are composed of the following components separated by HL7 component separator character:

DxArchive item name,
item value,
item comment.

A list of the available is DxArchive items is provided to allow site information needs adjustments.

MSH segment

Field Name

Item Number

Remarks

Message Type 00009 Fixed to 'ORU'

EVN segment

As defined in the HL7 standard.

PID segment

Most of the PID segment fields are field if the decoding process found out the needed information in the patient/image file.

OBR segment

Field Name

Item Number

Remarks

Filler Order Number 00217 Study ID
Observation Date/Time 00241 Study date and Time

DxDBase OBX segment

By default a single OBX segment is found in the HL7 notification issued by the archiving process. The following table describe this particular segment.

Field Name

Item Number

Remarks

Set ID 00569 Fixed to '1'
Value Type 00570 Fixed to 'TX' value
Observation Identifier 00571 Fixed to 'DxARCHIVE^NOTIFICATION'
Observation Sub-ID 00572 Fixed to '1' value
Observation Value 00573 Fixed

Fixed to a set of DICOM information, necessary to identify the archived image as required by the DICOM standard. This field shall contain 9 components, the definition of each one being as following:

Patient Orphan Flag
Study Orphan Flag
Patient ID
Study Instance UID
Series Instance UID
SOP Instance UID
SOP Class UID
Transfer Syntax
Modality

The Patient Orphan Flag refers to the orphan status of the patient associated with the image for which the notification is sent, while Study Orphan Flag refers to the orphan status of the related study. Possible values for those two components are:

Y if orphan
N if not orphan

Refer to the DICOM standard for further descriptions of the remaining components.

Configurable OBX segment

Field Name Item Number Remarks
Set ID 00569 Fixed to '1' value
Value Type 00570 Fixed to 'TX' value
Observation Identifier 00571 Fixed to 'DXARCHIVE^NOTIFICATION'
Observation Sub-ID 00572 Counter
Observation Identifier 00573 Configurable list of values.

A configuration file allows to add to the HL7 notification as many OBX segments as needed to provide information on the archived patient/image file. The field contains 3 sub components :

DxArchive item name,
item value,
item comment.

The item name and the comment are found in the configuration file. The item value is retrieved from the DxDBase.

QUERIES

QUERY MESSAGE

The HL7server process is able to answer to simple queries as define in the following sections. The query response are provided in a non-deffered way. The information provided by the response are configurable and can contain any data that have been stored in the DxDatabase that are related to the patient or its studies.

MSH segment

Field Name Item Number Remarks
Message Type 00009 Fixed to QRY^Q01

QRD segment

Field Name Item Number Remarks
Query Date/Time 00025 not in use by now
Query Format Code 00026 not in use by now
Query Priority 00027 not in use by now
Query ID 00028 not in use by now
Deferred Response Type 00029 not in use by now
Deferred Response Date/Time 00030 not in use by now
Quantity Limited Request 00031 not in use by now
Who Subject Filter 00032 used to select patient name, first name, middle name, suffix and prefix.
What Subject Filter 00033 used to define the query level : patient level for values in (APN, DEM) or study level for values in (ADV, APM, APA, ORD, RES)
What Department Data Code 00034 not in use by now
What Data Code Value Qual. 00035 not in use by now
Query Result Level 00036 not in use by now

QRF segment

Field Name Item Number Remarks
Where Subject Filter 00037 not in use by now
When Data Start Date/Time 00038 used to define the lower value for the study date
When Data End Date/Time 00039 used to define the upper value for the study date
What User Qualifier 00040 not in use by now
Other Query Subject Filter 00041 not in use by now
Which Date/Time Qualifier 00042 not in use by now
Which Date/Time Status Qualifier 00043 not in use by now
Date/Time Selection Qualifier 00044 used to order responses by study date : ascending order for values in (ALL, LST) or descending order for values in (1ST, REV).
When Quantity/Timing Qualifier 00694 not in use by now

DISPLAY RESPONSE MESSAGE

MSH segment

Field Name Item Number Remarks
Message Type 00009 Fixed to ACK

MSA segment

Field Name Item Number Remarks
Acknowledge Code 00018 Possible value : AE, CR, AR, CE.
Message Control ID 00019 Incoming message ID
Text Message 00020 empty
Expected Sequence Number 00021 empty
Delayed Acknowledgement Type 00022
Error Condition 00023 Error description

ERR segment

Field Name Item Number Remarks
Error Code and Location 00024 location^MDS_ERRcode (1)

QAK segment

Field Name Item Number Remarks
Query Tag 00696 NULL
Query Response Status 00708 values in (OK, NF, AE, AR)

QRD segment

Field Name Item Number Remarks
Query Date/Time 00025 From the original QRD segment
Query Format Code 00026 From the original QRD segment
Query Priority 00027 From the original QRD segment
Query ID 00028 From the original QRD segment
Deferred Response Type 00029 From the original QRD segment
Deferred Response Date/Time 00030 From the original QRD segment
Quantity Limited Request 00031 From the original QRD segment
Who Subject Filter 00032 From the original QRD segment
What Subject Filter 00033 From the original QRD segment
What Department Data Code 00034 From the original QRD segment
What Data Code Value Qual. 00035 From the original QRD segment
Query Result Level 00036 From the original QRD segment

The complete segment is copied from the original message.

QRF segment

Field Name Item Number Remarks
Where Subject Filter 00037 From the original QRF segment
When Data Start Date/Time 00038 From the original QRF segment
When Data End Date/Time 00039 From the original QRF segment
What User Qualifier 00040 From the original QRF segment
Other Query Subject Filter 00041 From the original QRF segment
Which Date/Time Qualifier 00042 From the original QRF segment
Which Date/Time Status Qualifier 00043 From the original QRF segment
Date/Time Selection Qualifier 00044 From the original QRF segment
When Quantity/Timing Qualifier 00694 From the original QRF segment

The complete segment is copied from the original message.

DSP segment

Field Name Item Number Remarks
Set ID - DSP 00061 fixed to DSP
Display Level 00062 NULL
Data Line 00063 desired value are seperated into sub fields (1).
Logical Break Point 00064 not in use by now
Result ID 00065 not in use by now

(1) the desired values are defined in a configuration file, they are the coded name for the attributes of the tables in the DxDatabase.

CONFIGURATION

DxHL7server, DxHL7proxi, DxHL7client and the images archiving process are providing different levels of configuration through the use of resources found in configuration files. Therefore it is possible to specify :

message construction rules (separators, encoding format, headers, trailers, ...),
information provided by the images archiving process,
assignment of HL7 notification fields to DxDBase fields,
control of receiving and sending application or facility,
action to associate to a specified HL7 message type.
assignment of different type of HL7 notification to the different events in DxMultiModality.

Refer to the document UL/P6/XCA/24Oct96/120 DxArchive System Configuration and Administration for a complete description of the configuration of the DxNet HL7 Implementation.

MEDASYS FRANCE :
Medasys Digital Systems
Espace Technologique de St Aubin
Bâtiment "Le  Mercury "
91193 Gif sur Yvette Cedex
France

Tel : +33 1 69 33 73 00
Fax : +33 1 69 33 73 01

Contact :


Comments :

MEDASYS USA :
Medasys Digital Systems
815 NW 57th Avenue, Suite 200
Miami, Florida 33126
United States of America
Tel : +1 305 261 6025
Fax : +1 305 261 9765