This wiki has undergone a migration to Confluence found Here


From HL7Wiki
Jump to navigation Jump to search

Definition: A Session establishes, maintains and terminates end-to-end connections (sessions) between Sender and Receiver. A Session lives in the Messaging Infrastructure Layer and utilizes Messaging Adapters to establish logical pipes between a Sender and a Receiver, which enables provisioning of delivery assurances for the end2end messages delivery. A Session may include one to many HL7 interactions being transmitted.


This is the first attempt to define a Session in the HL7 world. The main aim is to introduce a definition that will bring value to HL7 standard development (especially HL7 Dynamic_Model), and not have yet another term that is ambiguous and nobody will use.

  • (Miroslav Koncar) The Session as the abstract concept in the HL7 community is completely and fully connected with the notion of the delivery assurances with the Messaging Infrastructure Layer.
  • (Rene Spronk) If Session is a MIL issue, then it is explcitely not aware of any HL7 semantics. HL7 is just "payload". The HL7 Dynamic model is between a Sender and a Receiver, so how does it map onto a Session? Rene spronk 10:01, 19 September 2006 (CDT)
    • (Miroslav Koncar) This is correct, Session is not aware of HL7 semantics contained in the message payload, and it is always instantiated at the MIL level. The Session is defined between Sender and Receiver to have a meaning for the HL7 interactions. If a Session would be defined between Source and Destination, that would not have a meaning for the HL7 business level (similar as the difference between commit and accept ack). It is defined between Sender and Receiver, and utilizes the fact that part of those components (i.e. Messaging Adapter) live in the MIL.
  • (Miroslav Koncar) Note that the Senders and Receivers include Messaging Adapters as well, which means that it can be mapped to the Session at the MIL layer, if we use the definition as elaborated above. E.g. in case of the ebXML MIL, the Sender includes both the Message Producer and the Messaging Adapter, that will use the pipe to deliver one to many messages, based on business rules, semantics of the message exchange, priority etc. --Miroslav Koncar 10:33, 20 September 2006 (CDT)

Open Issues

The following list enumerates open issues, additional information, and well known defintions in the other reference models and technologies.

  • OSI Reference Model Session (5th Layer) Definition: Session establishes, maintains and terminates end-to-end connections (sessions) between two applications on two network nodes. It controls the dialogue between the source and destination node, which node can send when and how long. Also provides error reporting for the Application, Presentation and Session layer. Protocols/API's that operate on this layer include: RPC, SQL, NETBIOS.
  • Session in the HL7 dynamic model does not have a value if it is established in between two network nodes. It needs to encompass Source to Destination message delivery
  • There is no sense to introduce a Session between two HL7 applications. In the Messaging Architecture as recognized by the HL7 specifications, the communication between HL7 applications can be very diverse, depending on various factors such as distributed/point-to-point communication, tight vs. loosely coupled system architectures, the Messaging Infrastructure Layer functionality etc.
  • How many messages get exchanged in the single Session is an implementors decision, and falls out of the scope of the HL7 definitions
  • Open Issue - it might make sense to connect the Session to the term "pipe" as it is used in the ebMS world. The value proposition -
    1. defintion of the transfer mode based on the user request (e.g. polling);
    2. this can be connected to inOrder delivery assurance
  • Open Issue - how this relates to the terms asynchronous / synchronous messaging?
  • Open Issue - how this relates to request/response MEP?