HTB gateway for healthcare transaction base
First Claim
Patent Images
1. A method of transforming messages, comprising:
- receiving a message in a first protocol, wherein the first protocol comprises a Minimal Lower Level Protocol (MLLP) protocol;
using a computer processor, applying a first filter associated with the first protocol to transform the message to an intermediate format;
applying the first filter to forward a first copy of the message in the intermediate format to a second filter and a second copy of the message in the intermediate format to a third filter, wherein the second and third filters are in parallel and share a variable stored in computer memory;
invoking the second and third filters concurrently, wherein the invoking the second filter comprises transforming the first copy to a first partial message in a second protocol and spawns a first thread that uses the shared variable, and the invoking the third filter comprises transforming the second copy to a second partial message in the second protocol and spawns a second thread that uses the shared variable, wherein the second protocol comprises a Healthcare Level 7 (HL7) protocol;
applying a fourth filter to aggregate the first and second partial messages from the second and third filters into an aggregated message in the second protocol; and
sending the aggregated message in the second protocol.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for communicating with a Healthcare Transaction Base, such as an HTB, without requiring the development of custom adapters are provided. A gateway is utilized that acts a transformation engine between various systems and the healthcare transaction base. One or more filters are utilized to transform a message from one format to another. Adding support for new protocols is simplified as support for a new protocol is added (or plugged-in) by associating any filters that are used to transform messages in the new protocol to a desired protocol.
-
Citations
34 Claims
-
1. A method of transforming messages, comprising:
-
receiving a message in a first protocol, wherein the first protocol comprises a Minimal Lower Level Protocol (MLLP) protocol; using a computer processor, applying a first filter associated with the first protocol to transform the message to an intermediate format; applying the first filter to forward a first copy of the message in the intermediate format to a second filter and a second copy of the message in the intermediate format to a third filter, wherein the second and third filters are in parallel and share a variable stored in computer memory; invoking the second and third filters concurrently, wherein the invoking the second filter comprises transforming the first copy to a first partial message in a second protocol and spawns a first thread that uses the shared variable, and the invoking the third filter comprises transforming the second copy to a second partial message in the second protocol and spawns a second thread that uses the shared variable, wherein the second protocol comprises a Healthcare Level 7 (HL7) protocol; applying a fourth filter to aggregate the first and second partial messages from the second and third filters into an aggregated message in the second protocol; and sending the aggregated message in the second protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 24, 25, 26, 27, 28)
-
-
9. A computer program embodied using a nontransitory computer-readable medium that transforms messages, when executed by a computer processor, comprising:
-
computer code that receives an inbound message in a first protocol, wherein the first protocol comprises a Minimal Lower Level Protocol (MLLP); computer code that applies a first filter associated with the first protocol to transform the inbound message to an intermediate format; computer code that applies a second filter to transform the inbound message in the intermediate format to a second protocol, wherein the second protocol comprises a Healthcare Level 7 (HL7); computer code that sends the inbound message in the second protocol; computer code that initiates a first asynchronous message generation request by calling a first outbound message processor, wherein a first outbound message is created and placed on a first outbound queue associated with a first receiving system; computer code that initiates a second asynchronous message generation request by calling a second outbound message processor, wherein a second outbound message is created and placed on a second outbound queue associated with a second receiving system; computer code that polls the first and second queues for a next outbound message; computer code that picks up the next outbound message in the second protocol from the first outbound queue or the second outbound queue; computer code that applies at least a third filter associated with the second protocol to transform the first outbound message to the first protocol if the next outbound message is the first outbound message; computer code that applies at least a fourth filter associated with the second protocol to transform the second outbound message to a third protocol if the next outbound message is the second outbound message, wherein the third protocol is associated with the second receiving system, and the third protocol comprises MLLP; and a computer readable medium that stores the computer codes. - View Dependent Claims (10, 29, 30, 31)
-
-
11. A system, comprising:
-
a transaction database that communicates in a first protocol, wherein the transaction database sends outbound messages by asynchronously raising business events; a subscriber that subscribes to the business events and generates outbound messages, wherein the outbound messages are enqueued on an outbound queue; and a gateway that receives messages for the transaction database in a second protocol, applies a first filter associated with the second protocol to transform the message to an intermediate format, applies a second filter to the message to transform the message in the intermediate format to the first protocol, and sends the message in the first protocol to the transaction database, wherein the first and second filters extend from a same base class, and the first protocol comprises Healthcare Level 7 (HL7) and the second protocol comprises Minimal Lower Level Protocol (MLLP). - View Dependent Claims (12)
-
-
13. A method of transforming messages for a Healthcare Transaction Base (HTB), comprising:
-
receiving a first message in a first protocol, wherein the first protocol comprises Healthcare Level 7(HL7); using a computer processor, applying a first filter associated with the first protocol to transform the first message to an intermediate format; applying a second filter to transform the first message in the intermediate format to a second protocol, wherein the second protocol comprises Minimal Lower Level Protocol (MLLP); sending the first message in the second protocol to the HTB; receiving a second message in a second protocol from the HTB; applying the second filter associated with the second protocol to transform the second message to the intermediate format; applying a third filter to transform the second message in the intermediate format to a third protocol, wherein the third protocol comprises MLLP; and sending the second message in the third protocol. - View Dependent Claims (14, 15, 16, 17, 18, 19, 32, 33, 34)
-
-
20. A computer program embodied using a nontransitory computer-readable medium that transforms messages for a Healthcare Transaction Base (HTB), when executed by a computer processor, comprising:
-
computer code that receives an inbound message in a first protocol, wherein the first protocol comprises Healthcare Level 7 (HL7); computer code that applies a first filter associated with the first protocol to transform the inbound message to an intermediate format; computer code that applies a second filter to transform the inbound message in the intermediate format to a second protocol, wherein the second protocol comprises Minimal Lower Level Protocol (MLLP); computer code that sends the inbound message in the second protocol to the HTB; computer code that sends a first outbound message to a receiving system; computer code that receives an acknowledgement associated with the first outbound message from the receiving system, wherein a first flag defines whether the acknowledgement should be processed, and a second flag defines whether to wait until the first outbound message is fully transferred before transferring a second outbound message to the receiving system; and a computer readable medium that stores the computer codes. - View Dependent Claims (21)
-
-
22. A system, comprising:
-
an Healthcare Transaction Base (HTB) that communicates in a first protocol; and a gateway that receives a message for the transaction database in a second protocol, initializes a first filter by invoking a first method that accepts a first parameter, wherein the first parameter is a first key to a hash table, and invokes a second method to apply the first filter associated with the second protocol to transform the message to an intermediate format, wherein the second method returns a string value representing the message in the intermediate format, initializes a second filter by invoking the first method that accepts a second parameter, wherein the second parameter is a second key to the hash table, and invokes the second method to apply the second filter to the message to transform the message in the intermediate format to the first protocol, wherein the second method returns a string value representing the message in the first protocol, and sends the message in the first protocol to the HTB, wherein the first protocol comprises Minimal Lower Level Protocol (MLLP) and the second protocol comprises Healthcare Level 7 (HL7). - View Dependent Claims (23)
-
Specification