Ensemble ASTM Development Guide
[Home] [Back] [Next]
InterSystems: The power behind what matters   

This chapter introduces ASTM and Ensemble support for ASTM. It contains the following sections:

Introduction to ASTM
The American Society for Testing and Materials (ASTM) established standards for transferring information between clinical instruments and computer systems. Specification ASTM E1394–97 covers the two-way digital transmission of remote requests and results between clinical instruments and computer systems. It specifies the conventions for structuring the content of the document and for representing the data elements contained within those structures. It does not specify conventions for low-level communications protocols and data transfer requirements. A separate specification, ASTM E1381–02 details a standard for low-level data transfer communications. The Ensemble ASTM package supports both of these standards. For further details, see the web site
ASTM has since transferred the responsibility for maintaining these standards to the Clinical and Laboratory Standards Institute (CLSI). You can find more information on these standards at the web site Ensemble supports the following listed standards from both organizations.
The originating standards from ASTM:
The successor standards from CLSI:
For simplicity, the remainder of this book uses the term ASTM to refer to all forms of the supported standards.
Ensemble Support for ASTM Documents
Ensemble supports ASTM documents as virtual documents. A virtual document is a kind of message that Ensemble parses only partially. This kind of message has the standard Ensemble message header and the standard message properties such as ID, Priority, and SessionId. The data in the message, however, is not available as message properties; instead it is stored directly in an internal-use global, for greater processing speed.
Ensemble provide tools so that you can access values in virtual documents, for use in data transformations, business rules, and searching and filtering messages. For background information, see Ensemble Virtual Documents.
ASTM Communication Details
ASTM uses half-duplex, asynchronous communication, similar to a citizen’s band radio. Only one party can communicate over the line at a time, but either party can initiate communication over that line. As an exchange begins, if there is contention, the parties negotiate to decide which should send data first. Generally the laboratory device goes first. A device that uses ASTM uses a single TCP socket to communicate with an Ensemble business service. This single TCP socket is used for communication in both directions between Ensemble and the device.
For all of these reasons, an ASTM business service must be able to do both of the following:
This is a departure from the architectural role of an Ensemble business service, which is only to receive documents and return the associated replies. The Ensemble architecture prohibits a business service from initiating transmissions outside Ensemble. Replies to received documents are fine, but there is no provision for a business service to initiate an exchange with an entity outside Ensemble.
To adapt this restriction to ASTM conventions, Ensemble provides a special-purpose business operation for use with ASTM business services. This business operation identifies the incoming ASTM business service as its partner service. Whenever any member of the Ensemble production needs to initiate communication to the external device, it invokes this business operation, which sends the transmission out via its partner service. This preserves the Ensemble conventions for internal messaging (a business service may send messages to a business process or business operation only) while leaving room for ASTM conventions (there is only one TCP socket available on the device, and at the other end of this TCP connection is an Ensemble business service).
The following sections describe how these conventions for business services and business operations work in two situations. Both are useful as you work with ASTM and Ensemble:
Connecting to a Device Using ASTM Over TCP
Ensemble can communicate via TCP with a device that uses the ASTM protocol in scenarios like the following (all of which can occur in the same production):
Testing an ASTM Interface Without a Device
You can test ASTM interfaces without having a device connected. You would need to save some of the ASTM documents that you expect to flow to and from your device as text files. Then you can use them to test throughput as follows:

Send us comments on this page
Copyright © 1997-2020 InterSystems Corporation, Cambridge, MA