You are on page 1of 8

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.

HEDONICS Management AG / Zurich, Switzerland / www.hedonics.ch 1/8


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).

HEDONICS Management AG / Zurich, Switzerland / www.hedonics.ch 2/8


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) C++ Client (Application)

AstmDriver AstmDriver

AstmComm AstmComm
for RS-232 for TCP/IP

RS-232-C Interface Network Adapter


(COM 1 .. n)

HEDONICS Management AG / Zurich, Switzerland / www.hedonics.ch 3/8


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.

HEDONICS Management AG / Zurich, Switzerland / www.hedonics.ch 4/8


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.

Unleash the true power of your instruments…

HEDONICS Management AG / Zurich, Switzerland / www.hedonics.ch 5/8


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

HEDONICS Management AG / Zurich, Switzerland / www.hedonics.ch 6/8


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.
ASTM Simulator allows to be started in more than one instance to communicate
through two serial ports of the same computer (for testing purposes).
HEDONICS Management AG / Zurich, Switzerland / www.hedonics.ch 7/8
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: info@hedonics.ch
Web: www.hedonics.ch

HEDONICS Management AG / Zurich, Switzerland / www.hedonics.ch 8/8

You might also like