rrymm / simple-hl7

A simple library for creating HL7 middleware, based on connect & express.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

simple-hl7

Image Build Status

A simple library for creating HL7 middleware, based on connect & express.

var hl7 = require('simple-hl7');

///////////////////SERVER/////////////////////
var app = hl7.tcp();

app.use(function(req, res, next) {
  //req.msg is the HL7 message
  console.log('******message received*****')
  console.log(req.msg.log());
  next();
})

app.use(function(req, res, next){
  //res.ack is the ACK
  //acks are created automatically

  //send the res.ack back
  console.log('******sending ack*****')
  res.end()
})

app.use(function(err, req, res, next) {
  //error handler
  //standard error middleware would be
  console.log('******ERROR*****')
  console.log(err);
  var msa = res.ack.getSegment('MSA');
  msa.setField(1, 'AR');
  res.ack.addSegment('ERR', err.message);
  res.end();
});

//Listen on port 7777
app.start(7777);
///////////////////SERVER/////////////////////

///////////////////CLIENT/////////////////////
var client = hl7.Server.createTcpClient('localhost', 7777);

//create a message
var msg = new hl7.Message(
                    "EPIC",
                    "EPICADT",
                    "SMS",
                    "199912271408",
                    "CHARRIS",
                    ["ADT", "A04"], //This field has 2 components
                    "1817457",
                    "D",
                    "2.5"
                );

console.log('******sending message*****')
client.send(msg, function(err, ack) {
  console.log('******ack received*****')
  console.log(ack.log());
});
///////////////////CLIENT/////////////////////

Installation

$ npm install simple-hl7

Features

  • Parser
  • Message Builder/Editor API
  • Server/Client components for TCP and File System Based Interfaces

Philosophy

Make HL7 interfaces and middleware as easy as express web servers.

Examples

See examples & tests folder on github.

People

Author: Bob Rupp bob@rupp.io

License

MIT

About

A simple library for creating HL7 middleware, based on connect & express.

License:MIT License


Languages

Language:JavaScript 100.0%