IPF provides support for several eHealth profiles, primarily from the IHE ITI domain. The basic idea is to offer a Camel component for each profile transaction. These components ensure that the technical requirements of the profile are met by applications built on top of the IPF eHealth Integration Profiles support.

Context

Core concepts of IHE profiles are:

Concept IHE Definition (Technical Framework, Volume 1) Description Example
Actor Actors are information systems or components of information systems that produce, manage, or act on categories of information required by operational activities in the enterprise. An application role in a distributed system Patient Identity Cross-Reference Manager aka PIX Manager.
Transaction Transactions are interactions between actors that communicate the required information through standards-based messages. A message exchange between actors Patient Identity Deed between the Patient Identity Source and the PIX Manager
Profile Each integration profile is a representation of a real-world capability that is supported by a set of actors that interact through transactions. A set of actors and transactions PIX profile

IPF is a development framework with special support for the implementation of IHE concepts (i.e. profiles). This is illustrated with an abstract IHE profile the figure below.

The profile defines three actors and two transactions. Transaction 1 is between actor 1 and actor 2 whereas transaction 2 is between actor 1 and actor 3.

Abstract IHE Profile

With IPF, these IHE concepts are mapped to Camel components, partly by reusing or extended existing Camel components or by providing custom components.

Concept Mapping to the IPF/Camel programming model
Actor Producer or Consumer of a Camel endpoint
Transaction Camel component, e.g. pix-iti8
Profile Group of Camel components, e.g. pix, xds

IHE Profiles are grouped by their underlying technical foundation, particularly by their message format and transport protocol into IPF modules that can be included as dependencies in the Maven project descriptor:

Module Provided IHE transactions
ipf-platform-camel-ihe-mllp ITI-8, ITI-9, ITI-10, ITI-21, ITI-22, ITI-30, ITI-31, ITI-64
ipf-platform-camel-ihe-xds ITI-18, ITI-38, ITI-39, ITI-41, ITI-42, ITI-43, ITI-51, ITI-57, ITI-61, ITI-62, ITI-63, ITI-86, RAD-69, RAD-75, RMU ITI-X1
ipf-platform-camel-ihe-hl7v3 ITI-44, ITI-45, ITI-46, ITI-47, ITI-55, ITI-56, PCC-1
ipf-platform-camel-ihe-hpd ITI-58, ITI-59, CH-PIDD
ipf-platform-camel-ihe-fhir-mhd ITI-65, ITI-66, ITI-67, ITI-68
ipf-platform-camel-ihe-fhir-pixpdq ITI-78, ITI-83
ipf-platform-camel-ihe-fhir-audit ITI-81
ipf-platform-camel-ihe-fhir-qedm PCC-44
ipf-platform-camel-ihe-hl7v2ws PCD-01

Example

An implementation of a Patient Identity Cross-Reference Manager actor for the Patient Identity Feed (PIX ITI-8) transaction shall be created. PIX ITI-8 is a HL7v2-based transaction using MLLP as transport protocol. Receiving actors are implemented as a Camel consumer.

Thus, the following dependency must be registered in pom.xml:

    <dependency>
        <groupId>org.openehealth.ipf.platform-camel</groupId>
        <artifactId>ipf-platform-camel-ihe-mllp</artifactId>
        <version>${ipf-version}</version>
    </dependency>

The basic pattern for consumers is to specify the component name in the URI parameter of a from-clause at the beginning of a Camel route:

    // IHEConsumer.java
    from("pix-iti8://0.0.0.0:8777?parameters....")
      .process(...)
      // process the incoming HL7v2 request and create a response

While stepping through the Camel route, a proper response (or an Exception) must be generated that is sent back to the caller.

On the other side of the transaction, sending actors (for ITI-8 the Patient Identity Source) are implemented as a Camel producer. The basic pattern for producers is to specify the component name in the URI parameter of a to-clause at the end of a Camel route:

    // IHEProducer.java
    from(...)
      .process(...)
      // create a ITI-8 request (i.e. HL7v2 message)
      .to("pix-iti8://mpiserver.com:8888?parameters....")
      // optionally process the response

Transaction Parameters

The parameters usually depend on the IHE transaction; some parameters are valid for groups of transactions, a few are even valid for all transactions (e.g. turning ATNA auditing on or off). Details are given in the respective pages describing each component in detail

The most IPF eHealth components are named according to the profile and the transaction they implements (transaction IDs and profiles relate to IHE, when not stated otherwise). A special case is the MLLP dispatcher component which allows to accept requests for multiple MLLP-based transactions through a single TCP port.


Transactions

  • ITI-8 Patient Identity Feed
  • ITI-9 PIX Query
  • ITI-10 PIX Update Notification
  • ITI-18 Registry Stored Query
  • ITI-19 Authenticate Node
  • ITI-20 Record Audit Event
  • ITI-21 Patient Demographics Query
  • ITI-22 Patient Demographics and Visit Query
  • ITI-30 Patient Identity Management
  • ITI-31 Patient Encounter Management
  • ITI-38 Cross-Gateway Query
  • ITI-39 Cross-Gateway Retrieve
  • ITI-41 Provide & Register Document Set
  • ITI-42 Register Document Set
  • ITI-43 Retrieve Document Set
  • ITI-44 Patient Identity Feed v3
  • ITI-45 PIX Query v3
  • ITI-46 PIX Update Notification v3
  • ITI-47 Patient Demographics Query (PDQ) v3
  • ITI-51 Multi-Patient Stored Query
  • ITI-55 Cross-Gateway Patient Discovery
  • ITI-56 Cross-Gateway Patient Location Query
  • ITI-57 Update Document Set
  • ITI-58 Provider Information Query
  • ITI-59 Provider Information Feed
  • ITI-61 Register On-Demand Document Entry
  • ITI-62 Remove Metadata
  • ITI-63 Cross-Gateway Fetch
  • ITI-64 Notify XAD-PID Link Change
  • ITI-65 Provide Document Bundle
  • ITI-66 Find Document Manifests
  • ITI-67 Find Document References
  • ITI-68 Retrieve Document
  • ITI-78 Patient Demographics Query for Mobile
  • ITI-81 Retrieve ATNA Audit Event
  • ITI-83 Patient Identifier Cross-reference for Mobile
  • ITI-86 Remove Documents
  • RMU ITI-X1 Restricted Update Document Set
  • RAD-69 Retrieve Imaging Document Set
  • RAD-75 Cross-Gateway Retrieve Imaging Document Set
  • PCC-1 Query for Existing Data
  • PCC-44 Query for Existing Data Mobile
  • PCD-01 Communicate Patient Care Device Data
  • CH-PIDD Provider Information Delta Download (Swiss EPR extension to HPD)
  • All MLLP-based Dispatcher
  • Custom MLLP-based Custom Transactions

Supported Transactions

The table below references all supported eHealth transactions. Click on the link in the first column for details about required dependencies, usage and parameters.

Transaction Profile Description IPF Component Transport Message Format
ITI-8 PIX, XDS Patient Identity Feed pix-iti8, xds-iti8 MLLP(S) HL7 v2.3.1
ITI-9 PIX PIX Query pix-iti9 MLLP(S) HL7 v2.5
ITI-10 PIX PIX Update Notfication pix-iti10 MLLP(S) HL7 v2.5
ITI-18 XDS Registry Stored Query xds-iti18 SOAP/HTTP(S) ebXML
ITI-19 ATNA Authenticate Node n/a n/a n/a
ITI-20 ATNA Record Audit Event n/a Syslog (+TLS) DICOM/IHE Audit Message
ITI-21 PDQ Patient Demographics Query pdq-iti21 MLLP(S) HL7 v2.5
ITI-22 PDQ Patient Demographics and Visit Query pdq-iti22 MLLP(S) HL7 v2.5
ITI-30 PAM Patient Identity Management pam-iti30 MLLP(S) HL7 v2.5
ITI-31 PAM Patient Encounter Management pam-iti31 MLLP(S) HL7 v2.5
ITI-38 XCA Cross-Gateway Query xca-iti38 SOAP/HTTP(S) ebXML
ITI-39 XCA Cross-Gateway Retrieve xca-iti39 SOAP/HTTP(S) ebXML
ITI-41, Continua HRN XDS, XDM, XDR, Continua Provide & Register Document Set xds-iti41 SOAP/HTTP(S) ebXML
ITI-42 XDS Register Document Set xds-iti42 SOAP/HTTP(S) ebXML
ITI-43 XDS Retrieve Document Set xds-iti43 SOAP/HTTP(S) ebXML
ITI-44 PIXv3, XDS Patient Identity Feed v3 pixv3-iti44,xds-iti44 SOAP/HTTP(S) HL7v3
ITI-45 PIXv3 PIX Query v3 pixv3-iti45 SOAP/HTTP(S) HL7v3
ITI-46 PIXv3 PIX Update Notification v3 pixv3-iti46 SOAP/HTTP(S) HL7v3
ITI-47 PDQv3 Patient Demographics Query (PDQ) v3 pdqv3-iti47 SOAP/HTTP(S) HL7v3
ITI-51 XDS Multi-Patient Stored Query xds-iti51 SOAP/HTTP(S) ebXML
ITI-55 XCPD Cross-Gateway Patient Discovery xcpd-iti55 SOAP/HTTP(S) HL7v3
ITI-56 XCPD Cross-Gateway Patient Location Query xcpd-iti56 SOAP/HTTP(S) HL7v3
ITI-57 XDS Update Document Set xds-iti57 SOAP/HTTP(S) ebXML
ITI-58 HPD Provider Information Query hpd-iti58 SOAP/HTTP(S) DSMLv2
ITI-59 HPD Provider Information Feed hpd-iti59 SOAP/HTTP(S) DSMLv2
ITI-61 XDS Register On-Demand Document Entry xds-iti61 SOAP/HTTP(S) ebXML
ITI-62 RMD Remove Metadata rmd-iti62 SOAP/HTTP(S) ebXML
ITI-63 XCF Cross-Gateway Fetch xcf-iti63 SOAP/HTTP(S) ebXML
ITI-64 XPID Notify XAD-PID Link Change xpid-iti64 MLLP(S) HL7 v2.5
ITI-65 MHD Provide Document Bundle mhd-iti65 REST/HTTP(S) FHIR
ITI-66 MHD Find Document Manifests mhd-iti66 REST/HTTP(S) FHIR
ITI-67 MHD Find Document References mhd-iti67 REST/HTTP(S) FHIR
ITI-68 MHD Retrieve Document mhd-iti68 HTTP(S) HTTP
ITI-78 PDQm Patient Demographics Query for Mobile pdqm-iti78 REST/HTTP(S) FHIR
ITI-81 ATNA Retrieve ATNA Audit Event atna-iti81 REST/HTTP(S) FHIR
ITI-83 PIXm Patient Identifier Cross-reference for Mobile pixm-iti83 REST/HTTP(S) FHIR
ITI-86 RMD Remove Documents rmd-iti86 SOAP/HTTP(S) ebXML
RMU ITI-X1 RMU Restricted Update Document Set rmu-itiX1 SOAP/HTTP(S) ebXML
RAD-69 XDS-I, XCA-I Retrieve Imaging Document Set xdsi-rad69 SOAP/HTTP(S) ebXML
RAD-75 XCA-I Cross-Gateway Retrieve Imaging Document Set xcai-rad75 SOAP/HTTP(S) ebXML
PCC-1 QED Query for Existing Data qed-pcc1 SOAP/HTTP(S) HL7v3
PCC-44 QEDm Query for Existing Data Mobile qedm-pcc44 REST/HTTP(S) FHIR
PCD-01, Continua WAN PCD, Continua Communicate Patient Care Device (PCD) Data pcd-pcd01 SOAP/HTTP(S) HL7 v2.6
CH-PIDD CH:HPD Provider Information Delta Download ch-pidd SOAP/HTTP(S) Custom/DSMLv2
CH-PPQ-1 CH:PPQ Privacy Policy Feed ch-ppq1 SOAP/HTTP(S) Custom/XACML 2.0
CH-PPQ-2 CH:PPQ Privacy Policy Retrieve ch-ppq2 SOAP/HTTP(S) XACML 2.0
All MLLP-based n/a Accept requests for multiple MLLP-based transactions through a single TCP port mllp-dispatch MLLP(S) HL7v2
Custom MLLP-based n/a Accept requests for custom MLLP-based transactions mllp MLLP(S) HL7v2

Back to top

Version: 3.6-SNAPSHOT. Last Published: 2018-06-15.

Reflow Maven skin by Andrius Velykis.