LIS Interface Overview
BS-240 Chemistry Analyzer - LIS Interface Overview
Purpose
This manual helps software developers integrate the BS-240 Chemistry Analyzer with Laboratory Information Systems (LIS) using HL7 or ASTM standards.
Key Points
- Interface supports HL7 v2.3.1 and ASTM E1394-97 protocols.
- Used by developers with knowledge of LIS, HL7/ASTM, and network programming.
- Bidirectional communication: send results, receive patient/sample info.
- Network layer: TCP/IP
- Compatible with languages like VB.NET and C#
Communication Overview
- Real-time and batch mode communication
- HL7 message structure: segments like MSH, PID, OBR, OBX, etc.
- HL7 message types:
ORU^R01
,ACK
,QRY^Q02
,DSR^Q03
- ASTM record types:
H
,P
,O
,R
,C
,Q
,L
HL7 Segment Breakdown
- MSH: Message Header
- PID: Patient Information
- OBR: Observation Request
- OBX: Observation Result
- ACK/DSR/QRY: Communication Handling
Sample HL7 Message Structure
MSH|^~\&|Manufacturer|Analyzer|||20240101120000||ORU^R01|1|P|2.3.1|||
PID|||123456^^^Hospital^MR||Doe^John||19800101|M
OBR|1||123456|Test^ALT
OBX|1|NM|ALT^Alanine Aminotransferase||98|U/L|10-50|H|||F
ASTM Message Structure
H|\^&|||Analyzer^01.00^123456||||||PR|1394-97|20240101120000
P|1||PATIENT001||Smith^Jane||19851225|F
O|1|10||1^ALT^^^Analyzer|||20240101123000|||||||Serum
R|1|^^^ALT|98|U/L|10-50|H||F
L|1|N
Sample Code (C#)
using NHapi.Base.Parser;
using NHapi.Model.V231.Message;var parser = new PipeParser(); string hl7Message = "MSH|^~\&|..."; var message = parser.Parse(hl7Message) as ADT_A01; string patientId = message.PID.GetPatientIdentifierList(0).IDNumber.Value;
Sample Code (VB.NET)
Imports NHapi.Base.Parser
Imports NHapi.Model.V231.MessageDim adt As New ADT_A01() Dim msh = adt.MSH msh.FieldSeparator.Value = "|" msh.EncodingCharacters.Value = "^~\&" msh.SendingApplication.NamespaceID.Value = "YourApp"
Dim parser As New PipeParser() Dim encodedMessage As String = parser.Encode(adt)
Full Source Code for LIS Interface Integration
Below is the full example of how to integrate the BS-240 Chemistry Analyzer with LIS systems using HL7 and ASTM protocols. This includes full code for creating and parsing HL7 messages in C# and VB.NET.
C# Source Code Example:
using NHapi.Base.Parser;
using NHapi.Model.V231.Message;
public class LISIntegration
{
public void SendResults(string hl7Message)
{
var parser = new PipeParser();
var message = parser.Parse(hl7Message) as ORU_R01;
string patientId = message.PID.GetPatientIdentifierList(0).IDNumber.Value;
// Further processing of the HL7 message
}
public void ReceiveResults(string hl7Message)
{
var parser = new PipeParser();
var message = parser.Parse(hl7Message) as ORU_R01;
// Handle the received HL7 message
}
}
VB.NET Source Code Example:
Imports NHapi.Base.Parser
Imports NHapi.Model.V231.Message
Public Class LISIntegration
Public Sub SendResults(hl7Message As String)
Dim parser As New PipeParser()
Dim message As ORU_R01 = CType(parser.Parse(hl7Message), ORU_R01)
Dim patientId As String = message.PID.GetPatientIdentifierList(0).IDNumber.Value
' Further processing of the HL7 message
End Sub
Public Sub ReceiveResults(hl7Message As String)
Dim parser As New PipeParser()
Dim message As ORU_R01 = CType(parser.Parse(hl7Message), ORU_R01)
' Handle the received HL7 message
End Sub
End Class