· Aug 20, 2021

SQL proxy to HL7 query/response

Use case: small in-house hospital systems that query patient demographics via SQL.  The new PAS being implemented in the near future will only support query/response via HL7.  SQL access is available but intended for reporting so up to 24 hours behind.

Probably the easiest option is to set up a database in Ensemble and keep it up to date via standard ADT feed.  This is going to have quite a large footprint and has a risk of getting out of sync.

Another option would be to proxy the SQL queries in Ensemble and translate them to HL7 QRY messages.  However the SQL inbound adaptor acts as a client, i.e. polls a remote database.  I'm looking for an adaptor that exposes an ODBC server, takes the query and passes into a business service. 

Can't see anything out of the box (IRIS health 2020.1)

How would you implement this? 

My idea at the moment is a class that inherits from both %Library.Persistent and EnsLib.SQL.InboundAdapter, and implements a SqlProc method which instead of running a SQL query or other database lookup, creates a HL7 QRY message and fires it into a HL7 business process and thence to a listener on the remote system.  It feels a bit overcomplicated and low level though.  I can't help thinking this is an obvious use case for an integration engine so perhaps a surprising omission.  Might be missing something though as I'm a little out of date with new product features.

Discussion (2)0
Log in or sign up to continue