encounter occurs far from the patient’s usual
medical center. For example, a patient could be
treated while on vacation or at the nearest trauma
center following a car accident far from his/her
home. Very often, emergency encounters happen
only a few miles from the clinic where the patient’s
primary care physician is located. But because the
networks of these organizations are not connected
there is no possibility for the care giver to have a
direct and easy access to the patient’s clinical data.
In addition, there is a need for regional, state or
federal level IHE integration that can be used to
control specific global catastrophic events such as
pandemic episodes. This type of integration also
offers greater visibility to public health decision
makers in general.
1.2 Integrating IHE End-points
In this paper, we present various options to integrate
IHE web services end-points. We describe the
requirements of a state-wide health information
exchange in the USA and we explain how we have
designed and built a specific solution to address
these requirements.
2 COMBINING TRANSACTIONS
Because IHE transactions are most likely to be
offered as Web Services, combining those
transactions can be done following Service Oriented
Architecture (SOA) and Service Oriented
Computing (SOC) principles (Papazoglou and
Georgakopoulos, 2003). SOA describes the basic
web services communication protocols,
functionalities and how these services are exposed,
discovered and used by clients. SOC on the other
hand, describes how these services can be
aggregated via composition, coordination and
monitoring.
For IHE transactions, an example of composition
would be how to combine cross-community patient
discovery (XCPD) response messages from several
end-points to check which sub-networks hold data
about a specific patient. An example of coordination
might be necessary when querying various hubs in a
network and trying to combine IHE messages from
different end-points within a certain time frame.
Tracking and auditing capabilities for all
transactions that travel across health information
exchange networks are examples of monitoring as
required by healthcare regulations such as HIPAA.
2.1 IHE Profiles as Web Services
IHE profiles are generally implemented as web
services that are accessible via an Internet Uniform
Resource Identifier (URI) over the Hypertext
Transfer Protocol (HTTP). Even though there are
various ways to implement web services, IHE
profiles are usually implemented using the Simple
Object Access Protocol (SOAP) that transport data
content as XML. SOAP uses the Web Services
Description Language (WSDL) to describe the
services as a collection of network end-points, or
ports. WSDL files are accessed to determine which
operations are available for each service. The
Universal Description, Discovery, and Integration
(UDDI) standard can be used for the localization and
introspection of potential web service directory
collections.
2.2 Enterprise Application Integration
Conventional middleware distributed system
infrastructures (e.g. JMS) are generally not sufficient
or flexible enough to mediate, transform, federate
and route messages from and to web services.
Enterprise Application Integration (EAI) goes one
step ahead, trying to separate the applications from
the web services end-points. EAI usually employs a
centralized service broker for this, a set of
connectors and an independent data model. Services
can then send and subscribe to receive messages to
and from the broker. However, this very centralized
approach requires a large amount of up front
development and business process design for the
connectors, as well as high cost of maintenance in
general. Enterprise Service Buses (ESB) is an
infrastructure that leverages EAI principles.
2.3 Orchestration
Orchestration and choreography on the other hand
offer ways to create more dynamic and flexible
composite services using declarative (XML)
business process modelling language.
Like EAI, orchestration uses a centralized
approach (Jiménez-Peris et al., 2008); (Yahyaoui et
al., 2009). Web services orchestration is realized
through Business Process Execution Language
(BPEL) that describe the collaboration and
interaction between the web service participants
(Dogac et al. 2006); (Timm et al. 2009); (Chen et al.
2006).
Business workflows, states, actions, events,
control flows and exception handling can be
HEALTHINF 2012 - International Conference on Health Informatics
138