HL7 is a structured protocol that is used as a means of communicating between healthcare applications. The following descriptions provide an outline that define the characteristics of the HL7 protocol:
Real-world events, such as the admission of a patient, cause messages to flow between applications. In other words, an application that encounters a real-world event sends a message to other applications that need to be aware of this event.
HL7 defines a communication between two independent applications, rather than between closely coupled, client/server applications. The scope of interest for HL7 is the message exchange between the applications, rather than the specific role of each application in the healthcare delivery process.
For instance, HL7 can use the LLP Transport method to transfer messages between a client and a server. However, since a client must establish a connection to a server before a message can be sent, the client must have prior knowledge about the server.
It is not normal for HL7 messages to use a non point-to-point protocol, where the client listens for ‘broadcasts’ from a particular server.
OSI Level 7
OSI Level 7 indicates that HL7’s scope is the format and content of the data exchanged between the applications rather than how the messages are transmitted between computers or networks. In other words, HL7 does not specify how messages will be delivered between the applications. Usually a TCP/IP connection or FTP file transfer is used to deliver a message. However, within local area networks, the de facto standard is the Lower Layer Transport Protocol.
HL7 specifies the way data exchange between applications will be accomplished. It does not specify how applications store or process this data. It would be advantageous for an application developer if their application’s database structure coincided with HL7 message definitions, but this is not mandatory.
When you create a proprietary, non-standard link between two systems, you can create a message exchange system that better suits your personal needs and better fits the data structure of your application. However, the efforts invested in this link are useless when considering a connection to other third-party systems. Using HL7 means that your initial development effort can be reused again and again.