HIMSS and RSNA
Integrating the Healthcare Enterprise

 

 IHE/MESA ADT Registration Tests

 

Electronic Radiology Laboratory
Mallinckrodt Institute of Radiology
510 South Kingshighway Blvd.
St. Louis, MO  63110
314.362.6965 (Voice)
314.362.6971 (Fax)

 

Revision 10.1.0
25-August-2006

Contents:

ADT Test Overview
Introduction
Message Attributes
Message Values
Starting the MESA Servers
Test Instructions
ADT Tests

  1. ADT Test 131: Administrative and Procedure Performance Process Flow
  2. ADT Test 132: Order Change Flow Initiated by Order Filler
  3. ADT Test 133: PIR Case 2: Unidentified Patient Registered at ADT and Ordered at Department System Scheduler/Order Filler
  4. ADT Test 1301: Account Management: New Account
  5. ADT Test 1302: Account Management: Update Account
  6. ADT Test 1303: Account Management: End Account
  7. ADT Test 1305: Charge Posting Process Flow #1

Basic Security Tests

  1. ADT Test 1240: Basic Security, Registration
  2. ADT Test 1531: Basic Security, Administrative and Procedure Performance Process Flow

Eye Care Tests

  1. 50000: Eye Care Workflow: Test 1
  2. 50002: Eye Care Workflow: Patient Renamed

1 ADT Test Overview

Introduction

This document describes a series of tests for ADT Registration systems.  Such systems are expected to produce HL7 registration (ADT) messages with content as defined by this document.  The message sequences used in this document are part of a larger sequence of messages (ADT, Ordering, Modality procedures). You can find the entire set of events for a complete test scenario in IHE Tests: Radiology Transaction Sequences
The ADT system under test generates HL7 events in response to actions by a user.  The ADT system does not receive messages from other systems.
The ADT tests are a series of tests that track registration events for individual patients.  Each test consists of one or more ADT messages for a single patient as described in section 2.

Integration Profiles and Test Procedures

This document lists a number of tests for ADT Systems. You may not be responsible for all of these tests.
Please refer to the Connectathon web tool to list the required tests for your system. The web address of this tool depends on the year and project manager. Please contact the appropriate project manager to obtain this information.

Message Attributes

ADT and other HL7 messages contain attributes that are not used or required by the IHE Technical Framework.  This section contains a table defining those attributes that will be evaluated in the ADT tests.  Other values may be required by the Technical Framework but not evaluated with this software.
In the table below, the columns marked Value and Present indicate the scope of the evaluation for these messages.  Fields that are marked in the Value column indicate the tests will expect a specific value in the field (for example, we specify the patient name).  Fields marked in the Present column are tested to see if the field contains a value, but the tests cannot evaluate for a specific value.  For example, the tests cannot dictate the Patient ID generated by your system.
Some fields only make sense in the context of a specific transaction.  MRG fields are not tested in A01 messages; Admitting Doctor is not expected to have a value for outpatient registration and is not checked for A04 messages.


 

Segment

Field #

Description

Value

Present

MSH

1

Field Separator

x

 

 

2

Encoding Characters

x

 

 

3

Sending Application

 

x

 

4

Sending Facility

 

x

 

5

Receiving Application

 

x

 

6

Receiving Facility

 

x

 

9

Message Type

x

 

 

10

Message Control ID

 

x

 

11

Processing ID

x

 

 

12

Version ID

x

 

EVN

2

Recorded DateTime

 

x

PID

3

Patient ID List

 

x

 

5

Patient Name

x

 

 

7

Date/Time of Birth

x

 

 

8

Sex

x

 

 

10

Race

x

 

 

11

Patient Address

x

 

 

18

Patient Account Number

 

x

PV1

2

Patient Class

x

 

 

3

Assigned Patient Location

x

 

 

7

Attending Doctor

x

 

 

8

Referring Doctor

x

 

 

17

Admitting Doctor

x

 

MRG

1

Prior Patient ID List

 

x

 

7

Prior Patient Name

x

 


Message Values

Each test described in section 2 expects ADT messages with specific content. The MESA test system includes files that describe these messages and expected values.  Use a web browser to open the file: $MESA_TARGET/mesa_tests/rad/msgs/doc/index.html.  This file contains links to the message sequence for each test.  You can examine the test messages to see what values are expected by the MESA software.Configuration
Read the Runtime Notes section of the Installation Guide to determine the proper settings for the MESA runtime environment.
The table below lists the port numbers used by MESA applications for receiving messages from the ADT system.


MESA Actor

Port Number

Order Placer

2100

Order Filler

2200

Audit Record Repository

4000 (UDP)

Starting the MESA Servers

These instructions assume you are using a terminal emulator on Unix systems or an MS DOS command window under Windows NT.  Each test uses a command line interface; there is no graphical user interface. Before you start the test procedure, you need to start the MESA Order Placer and MESA Order Filler servers.  Make sure the appropriate database is running (PostgreSQL, SQL Server).  To start the MESA servers:

  1. Enter the ADT exam fileder: mesa_tests/rad/actors/adt
  2. Execute the appropriate script to start the servers:
  3. scripts/start_mesa_servers.csh [loglevel]  (Unix)
    scripts\start_mesa_servers.bat  (Windows)

In the unix environment, loglevel is an optional argument (0 is default).  Log levels are:

  1. no logging
  2. errors
  3. warnings
  4. verbose
  5. conversational (really verbose)

To set the log level for Windows NT, set the environment variable LOGLEVEL to the desired value before invoking the batch file.
When you are finished running one or more tests, you can stop the servers:

      scripts/stop_mesa_servers.csh  (Unix)
      scripts\stop_mesa_servers.bat  (Windows)
For the security tests, the MESA servers are started with different scripts. These are scripts/start_mesa_secure.csh and scripts\start_mesa_secure.bat. The log levels are the same as for the standard tests. The MESA servers are stopped using these scripts: scripts/stop_mesa_secure.csh and scripts\stop_mesa_secure.bat.

Test Instructions

Please note the test instructions change starting with the 6.7.0 release.
Each test is independent of the others.  You must collect the results of one test before starting a new test.

  1. Enter the ADT exam directory: mesa_tests/rad/actors/adt.
  2. Remember the MESA servers were started according to the directions in Starting the MESA Servers.

Workflow tests (1xx series) use a test engine that manages the test process. This test engine is used for all 1xx series tests and is driven by a text file that describes the events for a specific test. Each test below will indicate which script is appropriate (usually the swf script for Scheduled Workflow). The arguments to the script are the test number and the log level for output:

  1. errors only
  2. warnings
  3. verbose
  4. reference information (pointers into IHE Technical Framework)

An example of the syntax used to invoke the script for the 131 test is:

     perl scripts/adt_swf.pl 131 1
The test script will announce what events are about to happen and will request that you send specific events according to the sequence defined in IHE Tests: Transaction Sequences. The IHE Technical Framework expects an ADT system to send messages to both an Order Placer and an Order Filler. These tests assume your system is capable of sending the same message to multiple actors. The tests require that you send your ADT messages to the MESA Order Filler (listening on port 2200). If you send messages to the MESA Order Placer (port 2100), these messages will be ignored.
Each test requires an accurate construction of HL7 messages by the ADT system. The specifications for the messages are contained in variable files located in the mesa_tests/rad/msgs/adt directory. The values in the files describe some attributes that will be the same for all messages (Sending Facility) and some attributes that will differ for messages (Patient Name).
When you have completed the sequence of events, results can be evaluated by running the evaluation script:
     perl  <test>/eval_<test>.pl <log level>
For example: perl 131/eval_131.pl 3
The log level for evaluation is defined as:

  1. errors only
  2. warnings
  3. context information (verbose)
  4. reference information (pointer into IHE Technical Framework)

Starting with version 6.7.0 of the MESA software, the user can change the patient name and patient ID of the test subject prior to running the test. This allows one to rerun a test without clearning the database of the prior subject. This is done from the directory $MESA_TARGET/mesa_tests/rads/msgs.
A perl script is used to query the user for a new patient name and other demographics; the script automatically generates the new patient identifier. The perl script can also use an existing text file to specify the new demographics. The software is shipped with text files that are designed for IHE United States. It would be a simple task to make different text files for other countries. As listed in each sectio below, invoke the perl script with no arguments for interactive questions. If you specify an argument, it is the name of a text file with the demographic values.

2 ADT Tests

This section lists the events for a series of tests to be completed for an ADT system.  Each of the subsections below contains one table listing the ADT events to be produced by the ADT system and the order of those events within the test.
For each test (xxx), generate the test result as described above (xxx/grade_xxx.txt) and submit to the Project Manager.  Remember to reset the MESA servers before each test and run the evaluation script immediately after sending your ADT messages.
This document does not list the expected values for each message. As described in Message Values, the web page $MESA_TARGET/mesa_tests/rad/msgs/doc/index.html serves as an entry point and allows the user to determine what values are expected in the messages. Rather than document the values here, the actual messages provide better synchronization with the test software. For each test below, please refer to the appropriate sequence of messages as found in $MESA_TARGET/mesa_tests/rad/msgs/doc/index.html.

ADT Test 131: Administrative and Procedure Performance Process Flow

Test 131 covers Administrative and Procedure Performance Process Flow in the Scheduled Workflow profile (see IHE TF Vol I, section 3.2.1).

References

Instructions

The nominal patient name is BLACK^CHARLES.
To run this test, follow these steps using a DOS window or terminal emulator:

  1. Set the current directory to $MESA_TARGET/mesa_tests/rad/actors/adt.
  2. Make sure the MESA servers have been started as described in Starting the MESA Servers above.
  3. Run the test script as follows:
  4. perl scripts/adt_swf.pl 131 <log>
  5. Run the evaluation script below.

Evaluation

  1. Run the evaluation script
  2. perl  131/eval_131.pl <log>
  3. The evaluation output is found in 131/grade_131.txt. The final result should indicate 0 errors. Submit the result run at log level 4 to the Project Manager.

Supplemental Information

To change patient name, patient ID prior to the test:

     cd $MESA_TARGET/mesa_tests/rad/msgs
     perl mesa_reset/131.pl ihe-us/131.var  (or)
     perl mesa_reset/131.pl

ADT Test 132: Order Change Flow Initiated by Order Filler

Test 132 covers order change flow initiated by the Order Filler in the Scheduled Workflow profile (see IHE TF Vol I, section 3.2.4).

References

Instructions

The nominal patient name is WISTERIA^MATTHEW.
To run this test, follow these steps using a DOS window or terminal emulator:

  1. Set the current directory to $MESA_TARGET/mesa_tests/rad/actors/adt.
  2. Make sure the MESA servers have been started as described in Starting the MESA Servers above.
  3. Run the test script as follows:
  4. perl scripts/adt_swf.pl 132 <log>
  5. Run the evaluation script below.

Evaluation

  1. Run the evaluation script
  2. perl  132/eval_132.pl <log>
  3. The evaluation output is found in 132/grade_132.txt. The final result should indicate 0 errors. Submit the result run at log level 4 to the Project Manager.

Supplemental Information

To change patient name, patient ID prior to the test:

     cd $MESA_TARGET/mesa_tests/rad/msgs
     perl mesa_reset/132.pl ihe-us/132.var  (or)
     perl mesa_reset/132.pl

ADT Test 133: PIR Case 2: Unidentified Patient Registered at ADT and Ordered at Department System Scheduler/Order Filler

Test Case 133 involves transactions for the patient Ivan Indigo and tests the Unidentified Case 2: Unidentified Patient Registered at ADT and Ordered at the DSS/Order Filler (see IHE TF Vol I, section 4.4.2).

References

Instructions

The nominal patient name is INDGO^IVAN.
To run this test, follow these steps using a DOS window or terminal emulator:

  1. Set the current directory to $MESA_TARGET/mesa_tests/rad/actors/adt.
  2. Make sure the MESA servers have been started as described in Starting the MESA Servers above.
  3. Run the test script as follows:
  4. perl scripts/adt_swf.pl 133 <log>
  5. Run the evaluation script below.

Evaluation

  1. Run the evaluation script
  2. perl 133/eval_133.pl <log>
  3. The evaluation output is found in 133/grade_133.txt. The final result should indicate 0 errors. Submit the result run at log level 4 to the Project Manager.

Supplemental Information

To change patient name, patient ID prior to the test:

     cd $MESA_TARGET/mesa_tests/rad/msgs
     perl mesa_reset/133.pl ihe-us/133.var  (or)
     perl mesa_reset/133.pl

ADT Test 1301: Account Management: New Account

This test assumes you are able to send the appropriate A01 messages to admit a patient. It will require you to send one BAR message to the MESA Charge Processor to create a new account. If your software is configured to send the ADT message automatically, that should not hurt the evaluation. If your software sends the ADT message to the Charge Processor before the BAR message, that will confuse the MESA software. Please consult with the Project Manager to obtain the proper results.

References

Instructions

The nominal patient name is ALABAMA^MONTGOMERY.
To run this test:

     perl scripts/adt_chg.pl 1301 <log>

Evaluation

To evaluate this test:

     perl 1301/eval_1301.pl <log>

Supplemental Information

To change patient name, patient ID prior to the test:

     cd $MESA_TARGET/mesa_tests/rad/msgs
     perl mesa_reset/1301.pl ihe-us/1301.var  (or)
     perl mesa_reset/1301.pl

ADT Test 1302: Account Management: Update Account

Test Case 1302 covers account management and the P05 message used to update a patient account. See IHE TF Vol 3, section 4.36.4.2. Your system needs to send the BAR and ADT messages listed in the document IHE Tests: Transaction Sequences.

References

Instructions

The nominal patient name is ALASKA^JUNEAU.
If your software sends the ADT message to the Charge Processor before the BAR message, that will confuse the MESA software. Please consult with the Project Manager to obtain the proper results.
To run this test:

     perl scripts/adt_chg.pl 1302 <log>

Evaluation

To evaluate this test:

     perl 1302/eval_1302.pl <log>

Supplemental Information

To change patient name, patient ID prior to the test:

     cd $MESA_TARGET/mesa_tests/rad/msgs
     perl mesa_reset/1302.pl ihe-us/1302.var  (or)
     perl mesa_reset/1302.pl

ADT Test 1303: Account Management: End Account

Test Case 1303 covers account management and the P06 message used to end a patient account. See IHE TF Vol 3, section 4.36.4.3. Your system needs to send the BAR and ADT messages listed in the document IHE Tests: Transaction Sequences.

References

Instructions

The nominal patient name is ARIZONA^PHOENIX.
If your software sends the ADT message to the Charge Processor before the BAR message, that will confuse the MESA software. Please consult with the Project Manager to obtain the proper results.
To run this test:

     perl scripts/adt_chg.pl 1303 <log>

Evaluation

To evaluate this test:

     perl 1303/eval_1303.pl <log>

Supplemental Information

To change patient name, patient ID prior to the test:

     cd $MESA_TARGET/mesa_tests/rad/msgs
     perl mesa_reset/1303.pl ihe-us/1303.var  (or)
     perl mesa_reset/1303.pl

ADT Test 1305: Charge Posting Process Flow #1

Test Case 1305 involves all of the actors and transactions for a fully integrated Charge Processing Process Flow. See IHE TF Vol I, section 11.3. Your system needs to send the BAR and ADT messages listed in the document IHE Tests: Transaction Sequences.

References

Instructions

The nominal patient name is CALIFORNIA^SACRAMENTO.
If your software sends the ADT message to the Charge Processor before the BAR message, that will confuse the MESA software. Please consult with the Project Manager to obtain the proper results.
To run this test:

     perl scripts/adt_chg.pl 1305 <log>

Evaluation

To evaluate this test:

     perl 1305/eval_1305.pl <log>

Supplemental Information

To change patient name, patient ID prior to the test:

     cd $MESA_TARGET/mesa_tests/rad/msgs
     perl mesa_reset/1305.pl ihe-us/1305.var  (or)
     perl mesa_reset/1305.pl

3 Basic Security Tests

This section describes tests that are specific to the IHE Basic Security integration profile. If you have the MESA servers running for the “standard” tests, you should stop those servers now. You will need to start the MESA secure servers with a different script.


ADT Test 1240: Basic Security, Registration

Test case 1240 exercises ADT registration messages (ADT^A04) in the context of Basic Security. No audit messages are included in this test.

References

Instructions


The nominal patient name is BOSTON^BOB.
Notes:
Before starting this test, make sure you have stopped the MESA servers for the standard mode tests and started the MESA servers for the secure mode tests.
To run this test:

      perl scripts/adt_secure.pl 1240 <log>

Evaluation

To evaluate this test:

      perl 1240/eval_1240.pl <log>

Supplemental Information

To change patient name, patient ID prior to the test:

      cd $MESA_TARGET/mesa_tests/rad/msgs
      perl mesa_reset/1240.pl ihe-us/1240.var  (or)
      perl mesa_reset/1240.pl

ADT Test 1531: Basic Security, Administrative and Procedure Performance Process Flow

Test case 1531 uses the same transactions as defined for test 131: Administrative and Procedure Performance Process Flow.

References

Instructions

The nominal patient name is BLACK^CHARLES.
Notes:
Before starting this test, make sure you have stopped the MESA servers for the standard mode tests and started the MESA servers for the secure mode tests.
To run this test (the reference to 131 below is intentional):

      perl scripts/adt_secure.pl 131 <log>

Evaluation

To evaluate this test (1531, not 131):

      perl 1531/eval_1531.pl <log>

Supplemental Information

To change patient name, patient ID prior to the test (131 is intentional):

      cd $MESA_TARGET/mesa_tests/rad/msgs
      perl mesa_reset/131.pl ihe-us/131.var  (or)
      perl mesa_reset/131.pl

Eye Care Tests

This section contains tests for ADT systems in the Eye Care profile.

This document does not list the expected values for each message. As described in Message Values, the web page $MESA_TARGET/mesa_tests/rad/msgs/doc/index.html serves as an entry point and allows the user to determine what values are expected in the messages. Rather than document the values here, the actual messages provide better synchronization with the test software. For each test below, please refer to the appropriate sequence of messages as found in $MESA_TARGET/mesa_tests/rad/msgs/doc/index.html.

50000: Eye Care Workflow: Test 1

Test 50000 covers Eye Care workflow for the simple case of a patient registered as an outpatient for treatment.

References

Instructions

The nominal patient name is BALTIMORE^CHARLES.
To run this test, follow these steps using a DOS window or terminal emulator:

  1. Set the current directory to $MESA_TARGET/mesa_tests/rad/actors/adt.
  2. Make sure the MESA servers have been started as described in Starting the MESA Servers above.
  3. Run the test script as follows:
    perl scripts/adt_swf.pl 50000 <log>
  4. Run the evaluation script below.

Evaluation

  1. Run the evaluation script
  2. perl 50000/eval_50000.pl <log>
  3. The evaluation output is found in 50000/grade_50000.txt. The final result should indicate 0 errors. Submit the result run at log level 4 to the Project Manager.

Supplemental Information

50002: Eye Care Workflow: Patient Renamed

Test 50002 covers Eye Care workflow for the case of the patient changing name after original registration, order and image generation.

References

Instructions

The nominal patient name is BRANSON^JANE, renamed to SPRINGFIELD^JANE.
To run this test, follow these steps using a DOS window or terminal emulator:

  1. Set the current directory to $MESA_TARGET/mesa_tests/rad/actors/adt.
  2. Make sure the MESA servers have been started as described in Starting the MESA Servers above.
  3. Run the test script as follows:
    perl scripts/adt_swf.pl 50002 <log>
  4. Run the evaluation script below.

Evaluation

  1. Run the evaluation script
  2. perl 50002/eval_50002.pl <log>
  3. The evaluation output is found in 50002/grade_50002.txt. The final result should indicate 0 errors. Submit the result run at log level 4 to the Project Manager.

Supplemental Information