ASTM-Communication Software Components and
Simulation Tools.
Developed for RS-232 and TCP/IP-Connections
“ASTM Connector adds ASTM communication capability with customized
protocols to your instrument with absolutely minimum effort”
ASTM Connector’s
Software Components and Productivity Tools provide
everything
you need for the implementation of ASTM communication.
With ASTM Connector there is no need to go into the details of the ASTM
communication protocol – all you need is to implement your data
transmission using ASTM Connector’s high level programming functions.
Table of Contents
TABLE OF CONTENTS... 2
INTRODUCTION ... 2
ASTM CONNECTOR SOFTWARE COMPONENTS... 3
ASTM HIGH-LEVEL DRIVER (ASTMDRIVER / E 1394 – 97) ... 4
ASTM LOW-LEVEL DRIVER (ASTMCOMM / E 1381 – 95)... 5
ASTM SIMULATOR... 6
FUTURE OF DRIVER DEVELOPMENT ... 8
ADDITIONAL INFORMATION... 8
Introduction
ASTM (American Society for Testing and Materials) is the foremost American standardization organization.
ASTM defines two Standards for communication between laboratory instruments and computer systems:
E 1381 – 95 Low-Level Protocol: to Transfer Messages Between Clinical Laboratory Instruments and Computer Systems.
E 1394 – 97 High-Level Protocol: Transferring Information Between Clinical Instruments and Computer Systems: E 1394 usually uses E 1381 protocol for low-level communication.
ASTM standards are the standards that are mostely used worldwide in clinical laboratory instruments for communication with the host systems such as LIS and LIMS (Laboratory Information Management Systems).
ASTM Connector Software Components
ASTM Connector provides drivers for both ASTM low level and ASTM high level. • ASTM High-Level Driver (AstmDriver)
Driver for ASTM E 1394 standard.
Used to transfers patient-oriented laboratory data in hierarchically organized records with several fields.
• ASTM Low-Level Driver (AstmComm) for RS-232 and TCP/IP Driver for ASTM E 1381 standard.
Used for low-level communication transferring ASCII data. E 1381 establishes a half-duplex connection between the host and the instrument, transfers data in frames up to 240 characters and uses checksum and software handshaking logic to ensure correct transmission.
ASTM Connector for RS-232 ASTM Connector for TCP/IP
C++ Client (Application)
AstmDriver
AstmComm
for RS-232
RS-232-C Interface
(COM 1 .. n)C++ Client (Application)
AstmDriver
AstmComm
for TCP/IP
Network Adapter
ASTM High-Level Driver (AstmDriver / E 1394 – 97)
With its object-oriented approach, ASTM Connector’s AstmDriver simplifies writing of ASTM records. A client creates a message, adds the required records and fills the records in just a few C++-statements. The driver does the rest of the work.
The client does not deal with any details such as record number, field separators, field order and record hierarchy. The fields are represented by record class members and are named as defined in the ASTM standard.
You concentrate on your application and generate messages that are compliant with ASTM standard with just about no effort.
Coding example for a query to the host to get the orders for all specimen of a patient:
// create a message
CAstmMessage* pMsg = m_pAstmDriver->createMessage(); // specify the Processing ID (P for Production);
pMsg->getHeader().getProcessingID().setValue("P"); // prepare a query record
CAstmRequest* pRequest = pMsg->getRequests().createAndAdd(); // specify all tests for all specimen of the patient “My Patient”
pRequest->getStartingRange().getPatientID().SetValue(“My Patient”); pRequest->getEndingRange ().getPatientID().SetValue(“My Patient”); pRequest->getStartingRange().getSpecimenID().SetValue(“ALL”); pRequest->getEndingRange ().getSpecimenID().SetValue(“ALL”); pRequest-> getUniversalTestID().getLocalCodes().setValue (“ALL”); // send message
pAstmDriver->sendMessage( pMsg );
Incoming messages are received by callback functions. The client provides an implementation class derived from an abstract callback class of the driver. This asynchronous callback mechanism prevents processor-time consuming polling. For every record type, a specific callback function is called, allowing the client to process it as soon as it arrives.
The client can choose to rule as client or as host in the constructor of the driver class. There is a slight difference in the collision behavior; the driver takes care of it. Extended error recovery features round up this full-featured, comfortable protocol driver. It allows a client to continue after a transmission failure. He can choose to retry the failed message, continue with the next message or to discard all messages remaining in an idle state.
ASTM Low-Level Driver (AstmComm / E 1381 – 95)
The low-level driver allows for transfer of ASCII data according to the standard. The client buffer length can be of arbitrary size. The driver divides it in pieces of the maximal frame size that is allowed by the standard and transfers each frame to the host. The driver sends all the necessary control codes, guards all timeouts and sends retries if necessary.
The driver works completely asynchronously. The client can send any number of messages without waiting for a result.
Receiving messages and acknowledge of successful transmissions are notified by callbacks to the client implementations of the driver-defined callback classes.
Error recovery allows a client to continue after a transmission failure. He can choose to retry the failed message, continue with the next message or to discard all
messages remaining in an idle state.
ASTM Simulator
Message Composer, Browser, Editor, and Communication Simulator
in one tool.
ASTM Simulator is a flexible and very powerful productivity tool for prototype testing, system verification, system installation and troubleshooting ASTM communication interfaces.
The powerful ASTM simulator has a complete Windows user interface with
document/view architecture, in which you can compose messages by just completing forms offering virtually all possible data fields. Messages can be viewed in a tree representing the data record hierarchy and in a tabbed dialog showing the content of the selected record.
With ASTM Simulator both sides, host and instrument, can be simulated. Messages can be created, edited, transmitted, received, saved (to file) and loaded (from file). Message editing capabilities:
Records can be inserted and deleted on every level of record hierarchy Fields can be changed in the tabbed dialogs
Logging capabilities:
The Logging facility logs the data exchange including the control characters to a file. This allows for analysis of the raw data transfer. All detected high and low level protocol errors are written to the log file in plain text.
Tx: -ENQ- Rx: <ACK> Tx: -STX-1H|\^&||||||||||P||20000312134447-CR--ETX-C4-CR--LF- Rx: <ACK> Tx: -STX-2P|1-CR--ETX-3F-CR--LF- Rx: <ACK> Tx: -STX-3O|1|0102220223||^^^QUI^^\^^^INR^^\^^^NA^^\^^^K^^\^^^KREA^^\^^^GLU^^\^^^CRP^^\^^^GGT^^\^^^ SDICH^^\^^^SPH^^\^^^SLC^^\^^^SNIT^^\^^^SPROT^^\^^^SGLU^^\^^^UPEP^^\^^^SKET^^\^^^UREP^^\^^ ^SUROB^^\^^^UEC^^\^^^ULC^^\^^^SBIL^^\^^^SEC^^\^^^UZYL^^\^^^UMO-ETB-50-CR--LF- Rx: <ACK> Tx: -STX-4RG^^\^^^UHEF^^\^^^UKRI^^\^^^USCH^^||||||||||||||-CR--ETX-8D-CR--LF- Rx: <ACK> Tx: -STX-5L|1|N-CR--ETX-08-CR--LF- Rx: <ACK> Tx: -EOT- Tx: -ENQ-
*** ASTMComm Error 3: Comm party does not respond Tx: -EOT-
ASTM Simulator can be configured to use an available COM port. All communication parameters like baud rate, number of data bits, etc. can be configured on the fly.
For the simulation of low-level communication, low-level protocol strings can be entered directly or uploaded from a data file.
Future of Driver Development
Future versions of our protocol drivers’ support following features: ActiveX for Health Care (AHC) version of ASTM drivers Interfaces for HL7 protocol
Scripting support for the simulator program
Additional Information
For additional information, please contact:
HEDONICS Management AG Wehnthalerstrasse 249 CH-8046 Zurich Switzerland Tel: +41-1-372 22 33 Fax: +41-1-372 22 15 Email: [email protected] Web: www.hedonics.ch