V3_SOA_EPSSRVINT_R1_O1_2014SEP - HSSP

V3_SOA_EPSSRVINT_R1_O1_2014SEP
HL7 Version 3 Specification: Event Publish &
Subscribe Service Interface, Release 1 - US Realm
September 2014
HL7 Draft Ballot
Sponsored by:
Services Oriented Architecture Work Group HL7
Clinical Decision Support Working Group HL7
Copyright © 2014 Health Level Seven International ® ALL RIGHTS RESERVED. The reproduction of this material
in any form is strictly forbidden without the written permission of the publisher. HL7 and Health Level Seven are
registered trademarks of Health Level Seven International. Reg. U.S. Pat & TM Off.
Use of this material is governed by HL7's IP Compliance Policy.
Page 1 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Project Lead
Emory Fry, MD
Editor
Alfred Bustamante
Authors
Emory Fry, MD
Jerry Goodnough
Claude Nanjo
Page 2 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Preface
Notes to Readers
This document is the Service Functional Model (SFM) for the Event Publish and
Subscribe Service (EPS), which is specified under the Service Development Framework
process under the auspices of the Healthcare Services Specification Project (HSSP).
Further context is given in the overview section below, but one key point to note is that
the SFM provides a Service Interface specification, NOT the specification of a Service
implementation. This is a critical distinction in terms of Service Oriented Architecture
(SOA). There could be many different ways of implementing all or part of the
functionality to support the behavior described in this specification.
Acknowledgements
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
Page 3
September 2014
© 2014 Health Level Seven International. All rights reserved.
Important Notes
A. If you are the individual that downloaded or ordered this HL7 Standard,
specification or other work (in each and every instance "Material"), the
following describes the permitted uses of the Material.
B. If you are NOT such individual, you are not authorized to make any use of the
Material. To obtain an authorized copy of this Material, please visit
http://www.hl7.org/implement/standards/index.cfm.
C. If you are not an HL7 Organizational Member, the following are your
permitted uses of this Material:
1. Read and Copy License Only. HL7 hereby grants you the right, without
charge, to download and copy (for personal use only) this Material for study
purposes only. This license grant does not include the right to sublicense or
modify the Material, or to implement the Material, either in whole in part, in
any product or service.
Please see http://www.hl7.org/legal/ippolicy.cfm for the full license
terms governing the Material.
D. If you are an HL7 Organizational Member, the following are your permitted
uses of this Material.
1. Implementation License Terms.
1.1 Definitions. As used in this Agreement, the following terms shall have
the following definitions:
"Compliant Product" is a product or service that implements Material that
is an HL7 Specification in whole or in part.
"End User" is a company, entity or individual that is the ultimate purchaser
or licensee from Licensee of a Compliant Product.
1.2 License. In consideration of becoming an Organizational member of HL7
and continuing to pay the appropriate HL7 Organizational membership fees in
full, HL7 hereby grants to you without additional charge, on a perpetual
(except as provided for in the full license terms governing the Material), nonexclusive and worldwide basis, the right to (a) download, copy (for internal
purposes only) and share this Material with your employees and consultants
for study purposes, and (b) utilize the Material for the purpose of developing,
making, having made, using, marketing, importing, offering to sell or license,
and selling or licensing, and to otherwise distribute, Compliant Products, in
all cases subject to the conditions set forth in this Agreement and any relevant
patent and other intellectual property rights of third parties (which may
include members of HL7). No other license, sublicense, or other rights of any
kind are granted under this Agreement.
Please see http://www.hl7.org/legal/ippolicy.cfm for the full license terms
governing the Material.
Page 4 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Table of Contents
Overview ............................................................................................................................. 8
1. Introduction ............................................................................................................... 8
1.1.1 HL7-OMG Healthcare Services Specification Project (HSSP) .............................. 8
1.1.2 Service Definition Principles .................................................................................. 9
1.2 Overall disclaimers ............................................................................................... 10
1.3 Readers Guide ....................................................................................................... 10
2 Executive Summary .................................................................................................... 10
2.1 Service Overview .................................................................................................. 10
2.1.1 Service Description and Purpose .......................................................................... 10
2.1.2 Scope ..................................................................................................................... 12
2.1.3 Security ................................................................................................................. 12
2.1.4 The Reason Why the Service Is Necessary........................................................... 13
2.2 Context of this SFM within HSSP Roadmap ........................................................ 14
2.3 Structure of the Service ......................................................................................... 16
2.3.1 Service Architecture.............................................................................................. 18
2.4 Implementation Considerations ............................................................................ 19
2.5 Deployment Scenarios .......................................................................................... 20
2.5.1 Hybrid organizational deployment ....................................................................... 20
3 Business Storyboards .................................................................................................. 21
4 Assumptions and Dependencies ................................................................................. 21
5 Detailed Functional Model ......................................................................................... 22
5.1 Domain Model ...................................................................................................... 22
5.2 Entities .................................................................................................................. 23
5.2.1 Functional Entities ................................................................................................ 23
5.2.2 Informational Entities ........................................................................................... 24
5.2.3 Interface Summary ................................................................................................ 26
5.2.4 Handling Data Collections .................................................................................... 28
5.3 Common Topic & Channel Concepts ................................................................... 29
5.3.1 Retention ............................................................................................................... 29
5.3.2 Durability .............................................................................................................. 30
5.3.3 Delivery Guarantee ............................................................................................... 30
5.3.4 Priority .................................................................................................................. 30
5.3.5 Sequencing ............................................................................................................ 30
5.3.6 Topic Constraints .................................................................................................. 31
5.3.6.1 Content Publication Restrictions..................................................................... 31
5.3.6.2 Minimum Subscriber QOS ............................................................................. 31
5.3.6.3 Maximum Subscriber QOS ............................................................................. 31
5.3.7 Topic Options........................................................................................................ 31
5.3.8 Topic Identity ........................................................................................................ 32
5.3.9 The Topic Tree ...................................................................................................... 32
5.3.10 Message Identity .............................................................................................. 33
5.3.11 Message Lifecycle ........................................................................................... 33
5.3.11.1 Message States .............................................................................................. 34
5.3.12 Common Message Elements ............................................................................ 35
5.3.13 The Message Event Content ............................................................................ 36
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
Page 5
September 2014
© 2014 Health Level Seven International. All rights reserved.
5.3.14 Broker Options ................................................................................................. 36
5.4 The Subscription ................................................................................................... 37
5.5 Event Message Dynamics ..................................................................................... 37
5.5.1 Pull Based Subscriptions....................................................................................... 37
5.5.2 Push Based Subscriptions ..................................................................................... 38
5.5.3 Effects of Presence ................................................................................................ 38
5.5.3.1 Presence State ................................................................................................. 39
5.5.4 Event Replay and Dynamics ................................................................................. 39
5.5.5 Publish-on-Demand Dynamics ............................................................................. 40
5.5.5.1 Base Support ................................................................................................... 40
5.5.5.2 Pull .................................................................................................................. 40
5.5.5.3 Replay Support................................................................................................ 41
5.5.5.4 Dynamic Topics .............................................................................................. 41
5.6 Message Review, Approval, Modification and Filtering ...................................... 41
5.7 Federation ............................................................................................................. 41
5.8 Service Level Security Roles ................................................................................ 42
5.9 Exceptions ............................................................................................................. 42
5.10 Publication Interface ............................................................................................. 43
5.11 Subscription Interface ........................................................................................... 46
5.12 Broker Interface .................................................................................................... 56
5.13 Broker Management Interface .............................................................................. 62
5.14 Topic Management Interface ................................................................................ 71
5.15 Broker Monitoring Interface ................................................................................. 79
5.16 Federation interface .............................................................................................. 81
5.17 PS Federation interface ......................................................................................... 85
5.18 PS Publish-on-demand Interface........................................................................... 88
5.19 PS Subscription Client Interface ........................................................................... 93
5.20 PS Publication Intervention Interface ................................................................... 95
5.21 PS Content Brokering Interface ............................................................................ 96
5.22 PS Delivery Intervention interface........................................................................ 98
6 Examples ................................................................................................................... 101
6.1 Auto Registration ................................................................................................ 101
6.2 Topic Navigation ................................................................................................ 101
6.3 Publication Review ............................................................................................. 102
6.4 Delivery review ................................................................................................... 104
6.4.1 Delivery review – Push Event............................................................................. 104
6.4.2 Delivery Review – Pull Request (List) ............................................................... 105
6.4.3 Delivery review – Pull Request (Detail) ............................................................. 107
6.5 Auto Register a publisher.................................................................................... 107
6.6 Auto Register a Subscriber ................................................................................. 108
6.7 Pull from an On Demand Publisher .................................................................... 110
6.8 On Demand Topic Tree ...................................................................................... 110
6.9 Topic Administration .......................................................................................... 112
6.10 User Administration ............................................................................................ 112
7 Profiles ...................................................................................................................... 113
7.1 Introduction ......................................................................................................... 113
Page 6 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
7.2 Base Conformance Profile .................................................................................. 114
7.3 Push Based Subscriptions Conformance Profile................................................. 115
7.4 Access Request Conformance Profile ................................................................. 116
7.5 Presence Conformance Profile ............................................................................ 116
7.6 Intervention Conformance Profile ...................................................................... 117
7.7 Replay Conformance Profile............................................................................... 117
7.8 Federation Conformance Profile ......................................................................... 117
8 System Interaction Details [Optional] ...................................................................... 118
9 Recommendations for Technical RFP Issuance ....................................................... 119
10 Appendix A - Relevant Standards............................................................................. 120
11 Appendix B - Glossary.............................................................................................. 121
12 Appendix C - HL7 EHR Functional Model Traceability.......................................... 123
13 Appendix D - Relationship to Information Content ................................................. 125
14 Appendix E – Functionality Comparison Matrix...................................................... 127
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
Page 7
September 2014
© 2014 Health Level Seven International. All rights reserved.
Overview
1. Introduction
The Service Specification Development Framework Methodology is the methodology
followed to define HSSP specifications. The methodology sets out an overall process, and
also defines the responsibilities of the Service Functional Model (SFM). Section 2 sets
out the business context for this particular specification, but firstly it is important to
understand the overall context within which this specification is written, i.e., its purpose
from a methodology standpoint.
1.1.1 HL7-OMG Healthcare Services Specification Project (HSSP)
The
Healthcare
Services
Specification
Project
(HSSP)
[http://hssp.wikispaces.com] is a joint endeavor between Health Level Seven
(HL7) [http://www.hl7.org] and the Object Management Group (OMG)
[http://www.omg.org]. The HSSP was chartered at the January 2005 HL7 meeting
under the Electronic Health Records Technical Committee, and the project was
subsequently validated by the Board of Directors of both organizations.
The HSSP has several objectives. These objectives include the following:
 To stimulate the adoption and use of standardized “plug-and-play” services by
healthcare software product vendors
 To facilitate the development of a set of implementable interface standards
supporting agreed-upon services specifications to form the basis for provider
purchasing and procurement decisions
 To complement and not conflict with existing HL7 work products and activities,
leveraging content and lessons learned from elsewhere within the organization
Within the process, HL7 has primary responsibility for (1) identifying and prioritizing
services as candidates for standardization; (2) specifying the functional requirements and
conformance criteria for these services in the form of SFM specifications such as this
document; and (3) adopting these SFMs as balloted HL7 standards. These activities are
coordinated by the HL7 Services Oriented Architecture Special Interest Group in
collaboration with other HL7 committees, which currently include the Vocabulary
Technical Committee (TC) and the Clinical Decision Support TC.
Based on the HL7 SFMs, OMG will develop “Requests for Proposals” (RFPs) that are
the basis of the OMG standardization process. This process allows vendors and other
submitters to propose solutions that satisfy the mandatory and optional requirements
expressed in the RFP while leaving design flexibility to the submitters and
implementation flexibility to the users of the standard. The result of this collaboration is
an RFP Submission, which will be referred to in the HSSP process as a Service Technical
Model (STM). HL7 members, content, and concerns are integral to this process and will
be explicitly included in the RFP creation and evaluation process.
Page 8 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
It is important to note that the HL7 SFMs specify the functional requirements of a
service, the OMG RFPs specify the technical requirements of a service, and the STM
represents the resulting technical model, except as specified below. In many cases, SFMs
describe an overall coherent set of functional capabilities and/or define a minimum set of
behaviors necessary to guarantee a minimal level of service in a deployment scenario.
These capabilities may be specialized or subdivided from both functional and
informational (semantic) perspectives to provide conformance “profiles” (see Profiles)
that may be used as the basis for the OMG RFP process and/or implemented.
1.1.2 Service Definition Principles
The high level principles regarding service definition that have been adopted by the
Services Specification Project are as follows:
 Service Specifications shall be well defined and clearly scoped and with well
understood requirements and responsibilities.
 Services should have a unity of purpose (e.g., fulfilling one domain or area) but
services themselves may be composable.
 Services will be specified sufficiently to address functional, semantic, and
structural interoperability.
 It must be possible to replace one conformant service implementation with
another meeting the same service specification while maintaining functionality of
the system.
A Service at the SFM level is regarded as a system component; the meaning of the term
“(system) component” in this context is consistent with Unified Modeling Language
(UML) usage1. A component is a modular unit with well-defined interfaces that is
replaceable within its environment. A component can always be considered an
autonomous unit within a system or subsystem. It has one or more provided and/or
required interfaces, and its internals are hidden and inaccessible other than as provided by
its interfaces.
Each Service’s Functional Model defines the interfaces that the service exposes to its
environment, and the service’s dependencies on services provided by other components
in its environment. Dependencies in the Functional Model relate to services that have or
may in future have a Functional Model at a similar level; detail dependencies on lowlevel utility services should not be included, as that level of design is not in scope for the
Functional Model.
1
It is expected that services will be defined, in response to the OMG RFP process, as
UML components; however, that level of design is outside the scope of the Functional
Model.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
Page 9
September 2014
© 2014 Health Level Seven International. All rights reserved.
The manner in which services and interfaces are deployed, discovered, and so forth is
outside the scope of the Functional Model; however, HSSP Functional Models may
reference content from other areas of HSSP work that deals with architecture,
deployment, naming and so forth. Except where explicitly specified, these references are
to be considered informative only. All other interactions within the scope of the scenarios
identified above are in the scope of the Functional Model.
Reference may be made to other specifications for interface descriptions, for example
where an interface is governed by an existing standard.
1.2
Overall disclaimers
 Examples are illustrative and not normative unless otherwise specified.
 The scope of information content of HSSP service specifications is not limited to
HL7 content models. At a minimum, however, specifications should provide a
semantic profile as part of its conformance profile to provide support for HL7 content
models where applicable.
1.3 Readers Guide
Based upon the nature of your interest, we suggest the following as areas to focus your
attention:
Audience
Domain Committees, SMEs
Architects, HSSP
RFP Submitters
Sections (In order of Priority)
2, 3, 8
5, 6, 8, 7, 4
2, 8, 7, 5
2 Executive Summary
2.1
Service Overview
2.1.1 Service Description and Purpose
In many Service Oriented Architecture (SOA) environments, clinical messages generated
by systems or components on the network are sent to individual consumers who must a)
periodically request their data, and b) manage interfaces with numerous producers.
Because exchange participants do not necessarily share common, standardized messaging
formats, requestors are often responsible for the arduous task of collecting, parsing, and
normalizing each message prior to subsequent analysis.
Managing data distribution using polling techniques and non-standard point-to-point
interfaces is inherently inefficient and non-scalable. Costs associated with establishing
and maintaining tightly coupled, custom interfaces can be a significant. There are also
opportunity costs and patient safety concerns when clinical data cannot be consumed and
Page 10 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
acted on in near-real time - inpatient scenarios where acuity and risk are significantly
elevated have little tolerance for latency.
The Event Publish and Subscribe Service (EPS) is a type of notifier/observer service
intended to address these concerns. It does so by consolidating messaging regarding
clinical events, allowing different systems to subscribe and listen to specific types of
events or “topics” of interest, and allowing event publishers to publish events to these
topics when they occur. The service provides a foundation for a wide variety of
responsive, dynamic applications, including new result feeds, content syndication,
subscriber and publisher presence related behavior, and clinical workflow systems.
Indeed, any application that requires event notifications to operate and perform efficiently
stands to benefit. In general, EPS offers event publisher and consumers the following:

Architectural flexibility, enabling event subscribers to be easily added, managed,
and notified of clinical events using standardized messaging and interfaces

Consumer empowerment, allowing stakeholders to manage their own data
requirements and subscriptions (see The Subscription) more efficiently and
dynamically

More efficient resource utilization, resulting from the need to forward messages
only to interested parties with the right privileges to access this information.

Parallel processing to enhance performance and scalability.
The EPS defines two additional capabilities of particular value to the healthcare
enterprise. The first benefit is Content Intervention in which the service actively
intervenes during the publication of event data to the EPS service or during delivery to a
specific subscriber. Interventions can include activities such as data analysis,
rejection/filtering, supplementation, alteration, and redaction. Content intervention has
important implications for security and privacy enforcement. For example, if a patient has
restricted current and future mental health diagnosis from being disclosed to anyone other
than a psychiatrist, a “New Diagnosis” topic published by an EPS service could use
content intervention to selectively redact such information from the data provided to any
subscriber who was not a psychiatrist all the while including such diagnoses for patients
that explicitly authorized more general disclosure.
A second benefit is Content Brokering where the service provides support for deferred
content delivery and negotiation. The EPS service, acting as an intermediary, can manage
content requests from clients in situations where it is not desirable to have the original
material publicly available or when subscribers want to negotiate to receive information
in a preferred form (format, character set, reading level, etc.) For example, a system
might subscribe to a content provider’s topic consisting of free Center for Disease
Control (CDC) Morbidity and Mortality Weekly Reports in English, but occasionally
broker a request for a paid translation into Latvian.
Finally, EPS provides effective architecture to specify, scope, and implement information
exchanges. Whether this interoperability is among departments, systems, or
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 11
September 2014
© 2014 Health Level Seven International. All rights reserved.
organizations, EPS provides a flexible specification for building dynamic, responsive
infrastructure well suited to the distributed, privacy sensitive, and increasingly regulated
information network upon which modern healthcare is dependent.
2.1.2 Scope
The EPS Functional Model specification seeks to define, in general terms, the capabilities
that must be realized by an interface to publish and subscribe to events and information.
For an overview of how this service functional model relates to existing pub/sub
standards, please refer to Appendix E – Functionality Comparison Matrix. The service
focuses on new “events,” not pre-existing data to which a consumer may already have
access. The service should not be used for historical data queries, for example, or for
requesting information from an external source. For this reason, data that is exposed by
the EPS service is always assumed to be “new” to the system for the purposes of analysis.
In addition, the EPS service is not intended to be a front end for adding such new data to
an existing repository.
Although the EPS service defines a protocol for how messages can be distributed to
consuming systems, it does not orchestrate these events. Its role is that of a provider of
information to authenticated and authorized consumers. The EPS service does not
manage state metadata or analyze content to facilitate routing messages to specific topics.
Events are published by the service as pre-defined topics using standardized data
packages. The EPS is stateless without special state-based branching or handling. This
helps minimize resources, maximize throughput, and ensure scalability because no
“decision logic” is necessary in order to manage its subscribers.
Finally, the manner in which services and interfaces are deployed, discovered, etc., is
outside the scope of this functional model. These aspects are left to a conformant Service
Technical Model (STM) and a number of implementation guides that will be made
available over time. All other interactions within the scenarios identified below are
considered to be in scope.
2.1.3 Security
Given the private nature of health information and the central role EPS plays in the
coordination of health information across security boundaries, it is vital that the EPS be
properly secured. EPS provides a number of ways to secure health information as it
transits from content producers to content subscribers:

Compliant EPS implementations will be required to provide a means of
authenticating with the broker. This level of security provides a level of control as
to who is allowed to publish or subscribe to content topics.
Page 12 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014

Compliant EPS implementation will be required to control access to sensitive
topics using appropriate authorization schemes and access control lists (ACLs).
Such authorization may be granted to either publishers or subscribers of content
as dictated by the security policy requirements associated with sensitive content.
This can allow topics to be made available to only those entities that have
sufficient privileges to post or receive potentially sensitive information such as
lab results.

Additional security can be provided on the content’s message envelope itself. In
this case, sensitive content may be associated with metadata which can be filtered
appropriately using publisher or subscriber interventions, depending on the use
case involved. Publisher interventions may filter sensitive content prior to
delivery to all subscribers of the topic. Subscriber interventions allow fine-grained
filtering based on the privileges and characteristics associated with each
individual subscriber. Both are controlled and invoked by the broker.

In addition to content metadata filtering, content may be filtered based on the
nature of content being exchanged. For instance, certain classes of content (e.g.,
an FHIR Diagnostic Result) may be filtered or redacted prior to submission. In
some cases, the filtering may be based on keywords or specific characteristics of
the content itself.
While this SFM acknowledges the importance of security in the exchange of health
information between parties by providing several mechanisms to ensure that the right
content makes it from the right producer to the right consumer, the details of such a
security framework are out-of-scope of this SFM and are rightfully addressed in the
Security Labeling Service SFM.
2.1.4 The Reason Why the Service Is Necessary
A standardized implementation of a clinical EPS offers several advantages. Two in
particular, loose coupling and scalability, are extremely useful in SOA.
Implementing loosely coupled services enables content publishers to be ignorant of
system topologies or even the existence of subscribers. Publishers and subscribers can
operate largely independently of each other. In traditional, tightly coupled architectures,
participants must be online and available. Many pub/sub systems decouple not only the
locations of the publishers and subscribers, but also decouple them temporally. EPS
promises to help implement resilient and flexible networks.
EPS can provide for better scalability than traditional client-server architectures by
offering parallel operation, message caching, tree-based or network-based routing, etc.
This is particularly important in distributed, multi-vendor environments or in scenarios
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 13
September 2014
© 2014 Health Level Seven International. All rights reserved.
where publishers and subscribers must exchange content across organizational
boundaries, for example, on the Nationwide Healthcare Information Network.
EPS can also help ‘extend’ the functionality of existing systems by defining standard
event publishing and listening capabilities. Because EPS can be implemented as a service
wrapper around existing capabilities, a content or data provider that has an established
client base would be able to continue providing services using existing approaches as
well (e.g., via existing application programming interfaces). Entities that may wish to
become EPS publishers include not only commercial companies, but also federal or state
organizations needing more effective ways of distributing their content.
Vendors that utilize data feeds to provide value added services might utilize a
standardized EPS to subscribe to specific messages across the range of topics required to
provide their specific services. They too benefit from reduced costs by not having to
build and maintain non-standard interfaces, by consuming more relevant content feeds,
and by being “pushed” information specific to their interests rather than relying on less
efficient “pull” techniques. They, in turn, can use EPS to publish the results of their
analysis back on the network, creating a marketplace in which data is consumed,
analyzed, and re-exposed dynamically.
Compliance to the EPS functional model provides the fundamentals for implementing an
organization’s business strategies that extend beyond core business components and
organizational boundaries. Interoperability services become an effective means by an
organization to meet the shifting industry or trading requirements that characterize the
healthcare industry. As such, EPS compliant services reduce implementation costs for an
organization while serving to meet the current and evolving interoperability strategies
imposed both from above and below.
Publish and Subscribe has emerged as a key design pattern used to manage many
complex data distribution and integration challenges. Without a commonly agreed upon
standard for the EPS, service consumers need to implement different interfaces when
dealing with different EPS implementations. A commonly accepted standard would make
it more attractive for service clients to invest in the infrastructure required for using EPS,
as they would be able to reuse the same interface to interact with multiple service
vendors. The definition of this service functional model is a first step in this direction.
2.2
Context of this SFM within HSSP Roadmap
The EPS is a logical extension of the Decision Support Service (DSS) identified in the
HSSP Roadmap Version 1.0. It contributes to the functionality and behaviors of other
SOA services available to an organization and to the development of standardized “plugand-play” components supplied by any number of healthcare software vendors. The EPS
functional model complements existing HL7 and OMG work products and activities,
leveraging content and lessons learned from elsewhere within both organizations.
Page 14 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Figure 1: The complementary HL7 + OMG relationship
The EPS provides an efficient content distribution mechanism. Producers can publish
their content to any number of topics that consumers can subscribe to in order to have
events and information automatically pushed to them in real time.
To illustrate how an organization might utilize an EPS, consider the increasingly
important application of decision support technologies in the delivery of evidence-based
clinical practice guidelines. When a pediatric asthmatic patient, for example, is first
admitted to a hospital, an Admission-Discharge-Transfer (ADT) message might be
published to an EPS service, which in turn immediately “pushes” the admission event to
topic subscribers. Subscribers might include any number of systems, including a Clinical
Decision Support (CDS) system that subsequently submits an unsigned Pediatric Asthma
Order Set to an attending physician to authorize, a case management system that
automatically assigns a caseworker, and a clinical research management system that
determines that the patient is eligible for a National Institute of Child Health and Human
Development (NICHD) study. This use case is illustrated in the sequence diagram below.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 15
September 2014
© 2014 Health Level Seven International. All rights reserved.
Figure 2: Prototypic use of EPS within an organization’s SOA.
2.3
Structure of the Service
The EPS allows “consumers” to subscribe to clinical events of interest and to be notified
when new data are available, typically receiving only a subset of all the messages
published. The process of selecting messages for reception and processing is called
filtering and can be categorized as topic-based or content-based.
In a topic-based architecture, content is published to "topics" or channels. A topic
subscriber receives all messages published to that topic as a “push” notification. All
subscribers to a topic generally receive the same messages; the topic owner is responsible
for defining the topics that can be subscribed to and for determining security
requirements.
In a content-based system, subscribers receive any message whose attributes or content
match constraints defined by the subscriber. The subscriber is responsible for classifying
the messages once it receives them.
The EPS service supports both content and topic based subscriptions using the following
core functional profiles:

Publication
The service allows a publisher to publish or delete an event in an already defined
topic. The publisher in question must typically have authenticated access to publish
Page 16 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
on the specific topic matter. More than one publisher might have privileges to publish
on a specific topic. A publisher might have privileges to publish a single event to
more than one topic.

Subscription
The service allows a subscriber to select topics with data of interest to them and to
assert some degree of control over the type of data received. The view of the topics
and scope of data provided to subscribers is constrained based on access control
information and content filtering mechanisms.

Topic Management
The service supports user and role management, providing fine gained access control
down to the individual topic level and allowing topic owners to control access to the
information distributed by the topic. Much of this is handled by managing the
affiliations (profiles that define the privileges afforded to a user) to a topic.

Federation
The service supports federation whereby an EPS broker can be a part of a larger
network of brokers, each responsible for publishing topics and information according
to their content provider contracts and individual configurations. Federation allows
multiple EPS systems to form a larger information resource, providing transparent
information sharing across multiple brokers for their user base.

Content Intervention
The service supports active intervention on information that is accepted for
publication. Interventions can include analysis, rejection/filtering, supplementation,
alteration, or redaction steps, and can be chained together to form simple workflows.
Interventions are configurable by broker managers and topic owners—they can be
applied uniformly across all subscriptions, or on a per delivery basis to a specific
subscriber.

Content Brokering
The service provides a facility for the dynamic delivery of content based on a
negotiation between the publisher and the subscriber. An indirect reference to content
can be passed in the body of a message, which can then be used by a consumer to
fetch the actual content in a separate transaction. This allows large artifacts and
multiple presentations of data to be supported efficiently and allows a broker to act as
an intermediary when the original source content is not publicly available to the
subscribers. For example, subscribers might use content brokering to get to
information in a specific, preferred form (format, character set, presentation,
language, etc.) rather than all representations that might be available.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 17
September 2014
© 2014 Health Level Seven International. All rights reserved.

Broker Administration
Administrative functionality includes registering users, creating and managing the
topics that producers can publish to, supporting subscriber consumer subscriptions,
banned users, ownership, whitelist, etc.
The core functionality and interfaces supported by EPS are illustrated in the diagram
below and described in more detail in subsequent sections.
Figure 3: Service Description
2.3.1 Service Architecture
EPS is conceptually aligned with a brokered publication model in which the service acts
as an intermediary managing all content contracts. An alternative model is peer-to-peer,
in which each publisher manages its own contracts with each subscriber. While most
operations relating to the brokered model may also be described in a peer-to-peer fashion,
it is believed that there are enough advantages provided by a dedicated broker model to
Page 18 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
advocate for this behavioral pattern. Some of the potential advantages to the brokered
model are listed below:
 Clients need only implement one simple contract.
 Provides support for multiple subscription forms (e.g., push, pull, or replay)
 Provides a single audit and control point
 Strong base for providing ACID and transactional properties
 Exhibits noninterference at a computational level with mission critical systems
 Provides a single point of implementation to the complex portions of the service
 Brokers may be validated and certified by appropriate bodies.
The broker provides a single business integration point that enables best of breed
capabilities to be developed without undue burden on publishers or subscribers. With a
goal of making the publisher/subscriber roles as lightweight as possible, the broker may
run independently of either.
Event Publish and Subscribe differs from a message bus in that the event stream is not
directed at a particular consumer but rather to a topic. Events are delivered on a basis
specified by individual consumers and may even be delayed for a significant time before
delivery. This temporal disconnect is another major difference from a message bus in that
subscribers may receive messages that existed before the subscription was created
depending on the retention (see Retention) strategy of the topic and the configuration of
the subscription.
2.4
Implementation Considerations
EPS is a service specification and is not intended to replace existing systems or
implementations, but rather to create an interface standard for a service-oriented layer
exposing healthcare assets and resources within an organization, or across organizations,
that meet business and/or clinical needs. EPS provides for low-cost, easily maintainable
components that can be modeled to fit most deployment scenarios.
EPS makes no assumption about implementation and is abstracted from the deployment
architecture behind its service contract. Consequently, any EPS deployment should
achieve the following goals:

Simplifies interoperability between organizations and systems, or departments, by
means of a common and standardized interface independent from an underlying
implementation.

Allows compliance to this standard to be testable and verifiable.

Is semantically extensible to meet expanding business needs.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 19
September 2014
© 2014 Health Level Seven International. All rights reserved.
2.5 Deployment Scenarios
EPS is an interface specification intended to support interoperability and is not an
implementation specification. There is nothing inherent in the specification that limits its
use to a single organization. Consequently, all scenarios herein should be considered nonnormative with regard to conformance to the EPS standard. They are offered for
explanatory purposes only and other topologies can be realized.
EPS can work in multiple different deployment topologies and can be used to support
different types of events. These are all deployment decisions, sensitive to deployment
context, and are valid insofar as they are explicitly profiled.
EPS exposes standardized interfaces that abstract the local implementation
characteristics. This ensures the EPS consumer is decoupled from the internal
applications technology and from the local application topology.
2.5.1 Hybrid organizational deployment
The figure below describes an exemplary organizational deployment scenario where EPS
takes the role of an enterprise resource manager. In this scenario, EPS mediates between
event producers and event subscribers that consume messages of specific interest. To
reiterate, nothing inherent in the specification limits EPS use to a single organization—
cross-organization EPS architecture is equally possible. This example shows a hybrid of
intra-organization and inter-organization deployment.
Figure 4: Representative EPS deployment in a cross-organizational setting (centralized)
Page 20 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
3 Business Storyboards
The following scenarios illustrate applications of the EPS to address a number of
important clinical use-cases:

A CDS system for pharmacy subscribes to those topics utilized by its rule base,
including prescriptions, allergies, and diagnoses. The service does not subscribe to
insurance or psychiatric topics as none of the rules in its knowledge base involve
these fact types. When new clinical data is published, the CDS system receives
pushed notification, resulting in timely analysis and alert generation.

The Information Technology department wishes to insure that postings to public
topics of interest conform to content guidelines, are virus free, and are appropriately
cataloged. The department configures its EPS system to filter and quality check all
inbound data published by its content producers.

A hospital Emergency Response Coordination system publishes granular casualty
case information including clinical acuity, injury type, and prognosis to Federal
subscribers (e.g., FEMA). The system uses content intervention to ensure that all
patient sensitive health information is appropriately redacted before subscribers
receive their topic feeds.

A patient scheduling system consumes a consult request topic and automatically
provides available time slots for a booking clerk to adjudicate. Appointment
availability is brokered/negotiated according to patient category (e.g., in-plan
beneficiaries receive priority access over out-of-plan patient).

A local hospital would like to incorporate a section of the CDC’s educational topics
with their own local topic tree. In order to accomplish this, they establish a federated
subscription with the CDC EPS.
4 Assumptions and Dependencies
Only external messages that are newer than the data contained in available databases will
be captured and received. The service would not be invoked to accommodate additional
historical medical records that may be introduced at a later time or upon initial setup of
the system (or sent erroneously by devices). The EPS module itself is not expected to
connect directly to historical data repositories.
One key assumption to the subscription service is that devices and systems that are
subscribers have unique identifiers—such as email, MAC, or IP addresses—and conform
to the site’s data security policy.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 21
September 2014
© 2014 Health Level Seven International. All rights reserved.
5 Detailed Functional Model
5.1 Domain Model
The following diagram is an overview of the functional model and shows functional
entities (see Functional Entities), informational entities (see Informational Entities), and
interfaces (see Interface Summary). This diagram is a simplified overview of the basic
structure. Certain elements have been excluded from the diagram in the interests of
clarity (e.g., exceptions). Each of the elements in the diagram will be described in greater
detail in following sections.
Page 22 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Figure 5: Domain Model
5.2 Entities
The service functional model breaks entities into two major groups: functional entities
that exhibit behavior and information entities that contain data. Functional entities refer
to a specific role and are used for modeling. An actual functional entity may do
significantly more than is described by this document. Likewise, information entities
define a minimum set of information and, in an implementation, the model may have
significantly more attributes.
5.2.1 Functional Entities
The following diagram show the functional entities used in this document. In terms of
this model they can be regarded as roles or actors that take some action.
Figure 6: Functional Entitles






Broker. The broker is the main intermediary between publishers and subscribers
of information, thus decoupling their interaction. The broker also supports a
number of management options for the proper configuration of an EPS.
Publisher. The publisher is an entity that makes information or events available
by publishing it.
On Demand Publisher. The on demand publisher is a specialized form of
publisher that can offer data when a subscriber is interested in it.
Subscriber. The subscriber is a consumer of information.
Push Subscriber. The push subscriber is a specialized subscriber that can
actively receive information and events.
Content Provider. A content provider is an entity that can fulfill content requests
relating to an event.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 23
September 2014
© 2014 Health Level Seven International. All rights reserved.


Publication Reviewer. The publication reviewer is an entity that can review,
reject and alter publications prior to public publication. This provides a generic
mechanism for the implementation of content intervention during message
publication.
Delivery Reviewer. The delivery reviewer is an entity that can review, alter and
filter events and information on a subscriber level prior to the subscriber receiving
the data. This provides a generic mechanism for the implement of content
intervention on a per subscriber basis.
5.2.2 Informational Entities
The following diagram is a high level summary of the major information entities that the
EPS system handles. Each of the entities in the diagram is described in greater detail
further in this document. The entities described have the minimum set of attributes
defined, and it is expected that the technical specification would supplement the core set.
Page 24 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Figure 7: Information Model
Information entities illustrated in the diagram above can be broken into five major
groups:
Topic related

Topic: A topic provides a convenient mechanism for grouping and organizing
events into cohorts so that they can be more easily managed.
Topic Metadata: Metadata is information that describes a topic, the types of events it
publishes, event durability (see Durability), etc.

Options: An option allows one or more characteristics of a topic to be configured.
For, example, Retention determines how long the service makes a topic event
available for clients to request.

Publication Contract: A contract that enables a publisher to deliver events that
are to be published by the service.

Subscription: A contract that enables a subscriber to receive events that have
been published to the service.
Event and Message related

Message: Messages provide the mechanism for participants to communicate and
exchange information.

Message Header: The message header provides routing and other metadata
required for sending and receiving messages.

Message Body: The message body contains the content of the message.

Management Event: A message that communicates operational information
about the service, its users, and the topics being published.

Management Event Header: The management event header provides routing
and other metadata required for sending and receiving management messages.

Authorship: Authorship identifies the source of the event being published.
Security & Ownership related

User: A user is a person with the authority to access the service, register a source
of events, or subscribe to a topic.

Affiliation: An affiliation is an access profile that defines the privileges afforded
to a user on a specific topic. (See Affiliation Role for more information on
privileges.)
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 25
September 2014
© 2014 Health Level Seven International. All rights reserved.

Access Model: Access model provides default security configuration for a topic,
for example, whether authorization is required for users or not, or if the topic is
not open for registration at all.

Access Request: A request by a publisher/subscriber to be able to be granted
access to the Service.

Affiliation Role: Specifies access privileges afforded to users by their affiliations
with specific topics (e.g., a publisher or a subscriber). A user may have multiple
roles on a topic. The granting of some roles on the topic may grant or revoke
other previous grants.
o Administrator – Allowed perform administrative actions
o Outcast – Prohibited from any actions on the topic
o Owner – Owner of the topic with full access
o Publish Only – May only publish to the topic
o Publisher – May publish to the topic
o Subscribe Only – May only subscribe to the topic
o Subscriber – May subscribe to the topic
o Reviewer – May review and accept or reject events subject to review
Broker related

Capabilities: A service capability communicates the functional abilities of a
particular implementation, for example, whether it can support on-demand
publishing, anonymous subscriptions, or configurable durability.
Communications related

Notification Address: The address (endpoint) at which a publisher or a
subscriber expects to receive communicates.

Channel: A channel is a communication queue related to a topic that manages
specific delivery dynamics. A single topic can have one or more channels
depending on the nature and capabilities of the server and the requested
subscription dynamics. For example a topic might have one channel that provides
ACID delivery of messages and another channel that is fire-and-forget.
5.2.3 Interface Summary
The following diagram is a summary of the interfaces that comprise the EPS System.
They are organized into three main groups: Callable on the broker, Called by the broker,
and those that are both. By convention, any interface starting with the prefix “PS” is an
interface that the broker may call.
Page 26 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Figure 8: Class Interface Summary
Callable on Broker Interfaces

Broker. Provides basic broker information. The broker provides operations that
are common to all classes of users be they publishers and/or subscribers, for
example, getting access to topics.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 27
September 2014
© 2014 Health Level Seven International. All rights reserved.






Broker Management. Provides access to broker-wide operations for
administrations, for example, creating users and topics.
Broker Monitoring. Administrative interface to assess broker health and
operations such monitoring traffic volume.
Federation. Provide information and control of broker federation.
Publication. Used by publishers to publish information and events.
Subscription. Used by subscribers to manage subscription and enquiries into
publications.
Topic Management. Used by topic administrators to control access to
information on the topic.
Implemented by Broker and Called by Broker Interfaces


PS Federation. Implemented and used by brokers to support federated content.
PS Content Brokering. Implemented by broker and selected publishers and used
by brokers to negotiate and mediate content to subscribers.
Called by Broker Interfaces




PS Delivery Intervention. Called by the broker and implemented by delivery
reviewers to filter and redact events on a per subscribers basis.
PS Publish On Demand. Implemented by publishers this interfaces allows the
broker to contact a publisher to dynamically provide events and topics.
PS Publication Intervention. Implemented by the publication reviewer and
invoked by the broker to review content prior to accepting it for publication.
PS Subscription Client. Implemented by subscribers and invoked by the broker
to push events to the subscriber.
5.2.4 Handling Data Collections
Many of the operations on this service return collections of data. The data collections can
be grouped into two broad forms: lists/sets and trees. In general such collections can
contain either all members of the collection or a subset of the members with a link to
fetch the rest. An example might be a paged list of results following a search on a web
site. Moreover, the operation might return full instances of data or some summary form
with a reference where the full detail information may be retrieved. An example might be
a summarized list of results with a link to get the full detail for each instance such as a list
of news articles on a news website. Collections of data represented in tree form may be
returned in a ‘lazy’ manner whereby children dependencies are only fetched when
needed. This is typical in drill-down approaches to hierarchical content—e.g., drilling
down a catalog on Amazon.com or lazy loading of dependencies in an object relational
management framework such as Hibernate. The techniques above ensure that all result
sets are reasonable in size and neither overwhelm computing resources nor result in
slower overall performance.
All operations that return aggregate data can be viewed as either returning a complete set
of information or a partial/sparse representation. It is expected that actual
Page 28 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
implementations of the operations will support both full and sparse behaviors in their
query semantics. In the case of list and sets it is expected that paged access to the data
shall be provided, with configurable page sizes. For those operations that return a tree
structure, support for sparse trees and paging should be provided. In a sparse tree, only
the tree to a specified depth is returned with the deepest level providing metadata suitable
for continued drill down. Paging is used on sparse trees to limit the number of child
nodes returned on a single node and to allow additional queries to be used to find the
additional child nodes.
5.3 Common Topic & Channel Concepts
Each topic in the topic tree is a possible source for one or more subscription contracts. To
the extent that different subscriptions have varying requirements, a topic may have
multiple channels of communication that meet those minimum contract requirements.
The topic hides channels from the user. All interaction occurs at the topic level. A single
topic may present its events according to the broker’s capabilities and the options enabled
on a specific topic. By default, a topic will support all possible subscription options. The
defaults should be modifiable at broker level. It should also be possible to have a topic
constrain the subscription quality of service (QOS) (See Minimum and Maximum
Subscriber QOS).
Topics exhibit a number of distinct, yet inter-related, characteristics that describe the
general behavior of the messages in the topic. At a high level, these characteristics are
durability, retention, priority, delivery guarantee, sequencing, topic constraints, content
restrictions, minimum and maximum QOS. Each of these characteristics is covered in
more detail in the following section.
5.3.1 Retention
Topic configuration includes the notion of message retention. Retention defines if events
are retained after all subscribers have received them. For example, do they time out
(cease delivery attempts after a fixed time period) and do they expire? Topic may be
configured to provide an expiration time for events posted to it, which may override the
expiration time included on the event. The retention policy will directly interact with the
receipt of messages by subscribers by both push and pull means. A topic that wishes to
support replay must therefore have a compatible retention policy. The following are some
of the possible retention policies:







Permanent
Until Delivered
Not Retained
Fixed Time period
Until Expired
Fixed Period after Delivery
Fixed Period after Expiration
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 29
September 2014
© 2014 Health Level Seven International. All rights reserved.
5.3.2 Durability
Durability is an ACID transaction property that ensures that once a transaction commits,
the committed content will be retained even after a system crash. That is, the content is
no longer transient. Topics may exhibit multiple types of event durability. Durability
interacts with the ability of a topic to receive and deliver a message in a transactional
manner. Durability is explicitly related to the integrity of the event handling. The
spectrum of durability covers topics that are transient in nature to topics where full
transaction message qualities are required.
5.3.3 Delivery Guarantee
Each topic may be configured to provide a delivery guarantee level. For “push”
subscriptions, this has significant implications for ensuring that subscribers receive the
message and to some degree the priority of delivery when a subscriber supports presence
(see Effects of Presence). Delivery guarantee can be included if it is acceptable for a
subscriber to receive duplicate events. For pull-based subscriber, this can directly affect
the retention policy of the topic.
5.3.4 Priority
Both topics and events have a notion of priority, which affects the system resources and
might affect the delivery order events. These two priorities will interact to determine
event delivery scheduling and broker resource consumption. Priorities may be
considered numeric values with the higher priority having a higher number value. The
absolute priority of a message is the combination of the topic priority added to the event
priority. Tied values would be resolved in favor of the topic priority. For example, use of
1 for High, 0 for Normal, and -1 for Low. An event’s score would be its priority
combined with the channel’s priority. With regard to tied values, high priority channels
would process first. Making an order of High/High, High/Normal, Normal/High,
High/Low, Normal/Normal, Low/High, Normal/Low, Low/Normal, and finally
Low/Low.
5.3.5 Sequencing
Topics can be configured to sequence messages in a number of possible ways. Simple
sequencing varieties include the following: unordered, publication time (receipt by
broker), event creation time (user provided) and priority. Sequencing affects the other of
subscription pushes and replays. In addition, sequencing also affect the order of messages
returned for pull-based subscriptions.
Topics may be configured to enforce the sequencing. This enforcement will affect
publishers’ attempting to publish events that are beyond the current time window for the
topic.
Page 30 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
5.3.6 Topic Constraints
Topics may be configured with a number of constraints and requirements that apply both
to what can be published to it and the capabilities of subscribers to the topic. The
following section outlines some of the known constraints.
5.3.6.1 Content Publication Restrictions
Topics may restrict publication of content according to various criteria, including but not
limited to the following: content type/form, content length, censorship, content checking
(e.g., virus scanning) and redaction. Publishers will receive exceptions (see Exceptions)
when events they attempt to publish violate those topics’ content restrictions.
5.3.6.2 Minimum Subscriber QOS
A subscriber to a specific topic must request a minimum quality or service level that
meets the configured QOS. For example a CDS system might request a near real time
subscription to a patient’s observations.
5.3.6.3 Maximum Subscriber QOS
A subscriber to a specific topic must request a maximum quality of service level that does
not exceed the configured QOS. This may be done when the publications are restricted to
a specific maximum QOS. For example, a publish-on-demand publisher or a federation
relationship cannot guarantee a QOS above a particular maximum. This also allows
topics to be configured to restrict the system resources that may be consumed relating to
delivery issues.
5.3.7 Topic Options
Individual topics may be configured with a variety of options based on the capabilities of
the broker. In the following section, each topic option that an individual topic may
support is detailed. Many of the topic options will have a direct analog in the options that
are used to create a subscription.
Topic
Access Model
Approval Required
Audit
Options
The topic’s general security policy. The access model is actually broken into two groups –
publication access and subscription access. The three models are described below.

Open – In the open model, all users are allowed access.

Closed – In the closed model, only those users with an affiliation are allowed access
based on their affiliated roles.

Authorize – In the authorize model, the system supports unaffiliated users of the
topic creating access requests. All affiliated users are granted access based on their
affiliated roles.
Determines if this topic requires that publications be approved by a third party. If present,
this option provides a form of topic moderation in which events acquire a state of “Review
Required” until a manual intervention is made. A topic owner or an affiliated user with the
reviewer role may update the state to either approved or rejected. Systems may notify
owners or reviewers if they have a subscription to the topic associated with the new event
as long as the status of the event clearly identifies that a review is required. Such user shall
receive the message a second time in the event that it is approved for publication.
Publishers that are also reviewers on a topic will automatically approve content they publish.
This entire process is known as manual review.
Determines if this topic is audited, and if so, what level of detail is audited? Some of the
possible auditable events are publication, retraction, subscription, topic change, topic
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 31
September 2014
© 2014 Health Level Seven International. All rights reserved.
Digest
Logging
On Demand Publication
Replayable
Require Secure Transfer
Scheduled Publication
Supports Publication
Usage Consent and
Acknowledgement
access, and message delivery.
Determines if this topic supports digests. Digests can be simple (an aggregate of topic
events delivered in one message), summaries (e.g., topic summarization) or both.
Determines if the topic logs events and at what level of detail.
Determines if this topic supports on demand publication and if so what level of support is
provided. This assumes the broker also supports this ability. The three possible states are
described below.
None – No on demand publication.
Content – Supports calling publishers for on demand content.
Dynamic Tree – Support calling publishers to provide both on demand content and dynamic
topic subtrees.
Determines if the topic is replayable. The replayable option determines if the events on this
topic may be replayed. For example, a subscriber may request that all events from the past
24 hours be resent in the sequence they were originally published in order to recreate the
circumstances of the original clinical situation. It should be noted that the ability is
constrained by the retention policy of the topic. Messages/Events that are replayed are
distinguished by the Replay ID in the message header, with original messages having
empty values while replayed ones will have subscriber provided values. Some
implementations may also support multi-topic replay and a timing rate for modeling.
Determines if a topic may require that all access to its content occur using a secure
message transport protocol, for example TLS or HTTPS.
Determines if a topic delivers events on a scheduled basis. In other words, can an event be
published at a specific time in the future?
Determines if a topic supports publication. Some topic in the tree may be used only for
organizational purposes and publication to them would be meaningless. A common example
of a topic which would not support publication is the root topic.
Determines if the topic requires acknowledgement of a usage consent form before a
subscription is authorized. Such information would generally be a part of the subscription
options. Implementation may provide a detailed listing of the specific requirements that are
needed.
5.3.8 Topic Identity
Every topic on a particular broker has a unique identity. The identity is defined in at least
two manners: a human-readable topic tree path and an object identifier (OID). The OID
of a topic is immutable once the topic has been created, while the topic’s names and path
may change. In addition, a topic may have multiple aliases. This can include, but is not
limited to, alternate topic navigation paths, names, and even HL7 defined standard topic
OIDs. All names given to a topic must be unique with the scope of a particular broker. In
addition, all topic names starting from a root of “HL7” are reserved for assignment by
HL7.
5.3.9 The Topic Tree
Topics on a broker are organized into a directory tree structure with a single common
root. Each node (topic) in the tree will have a name that is unique in terms of its
immediate parent in the tree. The names of the topics in the topic tree are intended to be
human readable. Presentation of the topic tree may well be aliased by the natural
language of the user. In addition, there will exist a canonic tree that is organized by topic
OID. The root level topic “HL7” and its subtree are reserved for use by HL7. There shall
be a similar reserved OID for the HL7 root topic.
The names of topics are constrained to Unicode alphanumeric characters, the space, dash
and period. The slash or backslash character is used as a path separator. All other
punctuation characters are reserved for future use and conforming implementations must
Page 32 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
accept them and ignore all content until the next path separator. An example topic path
might be /HL7/Orders.
The topic tree is considered a hierarchy in which each node (topic) may or may not
support publications. A publication to the topic tree does not cascade down the topic tree.
brokers may support tree-based subscriptions whereby all events in a particular tree are
considered part of the subscription.
Topics in the topic tree might in the future be navigable by inter topic relationship and
specific characteristic such as media form or language. The rationale behind reserving
punctuation characters is to support this use and topic expressions in the future. An
example for a future use name would be /HL7/Orders:(lang:en).
Depending on the capability of the broker, the topic tree may be dynamic in nature. If
dynamic nodes are supported by a broker, an on-demand publisher may provide a
dynamic subtree. Publishers for a specific topic may expose an on demand topic tree.
This tree is exposed as subtree below that topic. This is done by the brokers using calls to
the PS On Demand Publisher Interface implemented on the publisher. This is highly
useful for publishers with large bodies of content to which only a small part may be
subscribed. For example an electronic health record (EHR) system might expose a topic
of patients labs in a tree like “/patientlabs/{patientid}/labs” and only those patients
having active subscriptions would have events published.
The topic tree supports restricted visibility and security options on the level of individual
topics. For example, there may be topic trees that contain protected information, such as
a path containing a Social Security Number.
5.3.10 Message Identity
Each message that is published to a broker will be assigned a unique ID (Message ID) by
the broker. This ID is unique to the broker and can be used to refer directly to a message
without regard to what topic it is published. Absolute unique message identity may be
established by combining the broker’s unique identity as a delimited prefix to the
message ID. Each broker is presumed to have a unique identifier.
5.3.11 Message Lifecycle
The typical message life cycle is illustrated below. The life cycle shows both pull style
message delivery where the subscribers make a request for content and push style
message delivery where the broker will send the message to a subscriber.
1. Publication Rights
a. The broker checks that a producer is authorized to publish to a topic.
2. Publication Acceptance
a. If accepted, the broker iterates over the prepublication message review
chain and provides each publication intervention plug-in an opportunity to
update the message or reject it.
b. Validate that the message is not malformed.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 33
September 2014
© 2014 Health Level Seven International. All rights reserved.
c. Provisionally accept the message.
d. If manual publication review is in effect for the topic
i. If publisher is not allowed to bypass review, then acknowledge to
the publisher that the publication review is pending and notify
reviewers.
ii. Message remains in queue until a reviewer takes action.
e. Message is accepted for publication and the publisher is informed.
3. Message Delivery (Push)
a. For each Push Subscriber
i. Iterate over the delivery intervention chain and allow each delivery
intervention plug-in an opportunity to update the message or reject
delivery to this subscriber.
ii. Attempt message delivery.
iii. Update delivery status.
4. Message Delivery (Pull)
a. For each message in the scope of the pull request
i. Iterate over the delivery filter chain and allow each engine an
opportunity to update the message or reject delivery to this
subscriber
ii. Build the pull response.
iii. Send the pull response.
iv. Update delivery status.
5.3.11.1
Message States
Messages exhibit a number of states as they move through the processes of acceptance
and delivery. The state diagram below shows the various states and their various possible
transitions.
Page 34 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Figure 9: Message State Model
Every message has a state, which describes where it is in the broker’s workflow.








Delivered – Subscribers have received the message.
Expired – Message has expired.
Review Pending – Message requires review.
Rejected – Message rejected from publication.
Initial – Message is new.
Approved – Message is approved for publication.
Deleted – Message has been removed.
Pending – Message is pending delivery to subscribers.
5.3.12 Common Message Elements
All events will have a few common elements as explained below:





Creation Time – the actual time the event was created by the publisher.
Publication Time – the time when the broker should publish an event. If empty,
the broker will assign the current time.
Expiration Time – the time at which the event should expire. If not provided, the
event will expire in accordance with topic and broker policies.
Publisher – the publisher of the event as known by the broker.
Author – authorship information about the creator of the event. Intended for
external consumption.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 35
September 2014
© 2014 Health Level Seven International. All rights reserved.
5.3.13 The Message Event Content
The EPS system is content agnostic with minimum content requirements. Each event may
have one or more bodies of content, each body being tagged as to content type and form.
This is similar to content encoded as mime attachments. Some content types might also
refer to a publicly accessible content broker or provider, rather than including that content
explicitly. The content body mechanism also allows recursive content, thereby providing
support for digest based subscriptions. Topics and brokers may optionally constrain the
size, type and form of event content.
5.3.14 Broker Options
The following are the parameters that a specific broker may optionally support. The list
of options supported by a broker must be returned by the “Inquire into Broker
capabilities (Discover Features)” service provided by the broker interface. It should
return a listing of each option and the level of support for that option. Elements that are
missing must be assumed by clients to be unsupported by the reporting broker. Many of
the concepts found in the following table are covered in greater detail later in the
document
Parameter
Auto Confirmed/ Approved –
Publication
Auto Confirmed/Approved –
Subscription
Auto Register
Content Brokering
Delivery Intervention
Publication Intervention
Engines Supported
Digest
Filtering & Topic Expressions
Leased Subscriptions
Multi-Subscribe
Presence
Publish-on-demand
Publish Only Affiliation
Push Based Subscriptions
Summarization Support
Supports Federation
Topic Bridging
Options
Does the broker support a workflow that automatically allows the owner of a topic to
confirm publications to the topic? This can include unrestricted publishers, individual
publications, and entire sets of pending publications.
Does the broker support a workflow that automatically allows the owner of a topic to
confirm topic subscription requests?
Does the broker support the auto registration concept? If so what level of types are
provided: publication, subscription, user access?
What support does this broker have for content on demand? Possible states are:
none, publisher only, broker only, and broker and publisher.
Does the broker support delivery intervention engines? These engines are linked in
series to provide services such virus checking, redactions, tagging, and censorship.
Does the broker support publications engines? These engines are linked in series to
provide services such virus checking, redactions, tagging, and censorship.
Does the broker support digest mode subscription? Such a subscription aggregates
the content of a topic and sends it to the subscriber on a fixed interval.
Does the broker support topic expressions and what types of expressions are
understood. ?
Does the broker support subscriptions that are leased? The information returned by
this option should specify the nature of the lease types and related constraints. For
example a broker might support leases that are based on a specific period of time or
volume of information. Some of the possible leasing models are; by time period, by
volume, pay as you go, auto renewing, etc.
Does the broker support the same subscriber having more than one subscription to a
specific topic?
Does the broker support presence related behavior?
Does the broker support publish-on-demand publishers?
Does the broker support the publish only affiliation?
Does the broker support push based subscriptions?
Does the broker support topic summarization, whereby select message information
(e.g., author, subject, etc.) is aggregated into a single event and sent to the
subscriber on a fixed interval? This differs from digest based message support in that
only a summary of each event is present.
Does the broker support federation?
Topic bridging is the ability of the broker to delegate a portion of the topic sub-tree to
another broker or publisher in whole or part. An example of this might be an
Page 36 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Transaction Capable
Tree subscriptions
Windowed Subscriptions
advanced use of publish-on-demand extended to include topic map support. An
example use case might be to allow a topic like /vista/labs/patients/… where the subnodes under ../patients/ would be dynamic on demand topics based on the VistA
data. Note this feature requires publish-on-demand. This relates directly to whether
the broker supports the dynamic topic trees fetched using publish on demand.
Is the broker transactions capable? For example are message delivered in a manner
that is compatible with a transactional system.
Does the broker support subscriptions, which are not to a single topic but rather to a
topic tree? This allows a subscriber to create high-level tree subscription and receive
all events in the tree and all its subtrees. Depending on tree path semantics this
subscription might also be a based on a topic pattern match or query.
Does the broker support subscriptions that are active or gated to a specified time
window? For example, a subscription that is only active from 9:00 AM to 5:00 PM
with subscriber messages outside the window being either deferred or perhaps even
ignored.
5.4 The Subscription
A subscription is a relationship between a single consumer (subscriber) and one or more
topics. Subscriptions may exist in many possible configurations with various delivery
dynamics, content requirements, lifespans, filters, qualities of service, and delivery
mechanisms, to name just a few of the possible differentiating factors. Every subscription
is an artifact in the EPS server with a unique subscription ID. A single subscription can
be thought of as message stream for one or more topics directed to a single subscriber.
There are a number of subscription related features that are not yet specified in this
document. It is envisioned that they may be desirable in the future, and every effort has
been made to provide forward compatibility with these features. The following is a brief
list:



Subscriber to Tree: A single subscription can be created that covers an entire
section of the topic tree. Such subscriptions might be by pattern or by tree depth.
Subscriber based event filtering: Subscriber can establish criteria for filtering
the events seen.
Inter-Topic Subscriptions. Internal or interlinked subscription whereby topic
might subscribe and filter other topics.
5.5 Event Message Dynamics
Message event dynamics describe how messages/events are delivered to subscribers.
There are two major dynamic models: event pull and event push. In each case, the
distinguishing factor is which party initiates the action. It should be noted that message
dynamics relate to message delivery and not to specific subscriptions (which will exhibit
dynamic characteristics).
5.5.1 Pull Based Subscriptions
In a pull-based subscription, the subscriber connects to the broker and retrieves the events
they are interested in. With subscriptions of this form, the broker retains information
about what the subscriber has not already retrieved (although the subscriber may also
keep an independent record of their state). Pull based subscriptions will generally receive
events that are still available and active of a specific topic. For topics that have an onHL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 37
September 2014
© 2014 Health Level Seven International. All rights reserved.
demand publisher, the pull request is filled in the normal manner; however, if the
publisher supports the on-demand pull operation, the request is also forwarded to the
publisher and the results are merged with the events still retained by the topic. Publish on
demand is covered in more detail further in the document.
In pull based subscriptions, the subscriber is responsible for communication setup and is
only considered present for the duration of the call. This form of subscription is well
suited to client-server architectures. For pull-based subscriptions, the successful return of
the information to the subscriber is considered successful delivery.
5.5.2 Push Based Subscriptions
In a push-based subscription, the broker connects to a subscriber end point and pushes
events to the subscriber. A clear communications path to the subscriber from the broker
must exist for the event to be delivered. The duration and quality of the communication
path between the subscribers is not assumed and the service must deal with both link
failure and the lack of presence on the part of the subscriber. With push based
subscriptions, the broker attempts to deliver the messages is a timely manner to the
subscribers within the constraints of available resources and the QOS of the subscription.
When the broker fails to deliver a message to a subscriber and the failure is of such a
nature that it might be transient, the broker will retry delivery until such time as either the
message expires or it is determined that the subscriber is not present. It is expected that a
broker that believes a connection is only temporarily unavailable will retry delivery in a
manner that does not cause undue use of resources.
If a subscriber indicates that it is not present, then the broker will not attempt message
delivery until that subscriber once again asserts its presence.
5.5.3 Effects of Presence
Presence refers to the availability of a user to receive messages from a broker. Presence
applies to both publishers (Publish-on-demand [POD] contracts) and subscribers (Push
subscriptions). Presence is a decoupled attribute; it is not advertised by the broker to
other subscribers and publishers in order to help maintain decoupling and role separation
between the publication and the consumption of events. The meaning of presence differs
from that normally found in a direct messaging system (e.g., instant messaging) in that it
is only of direct concern to the broker.
Presence asserted by the user is tracked at two basic levels; the user and the callback
endpoint. Presence is used by the broker to control message delivery. The broker will
only attempt to send message to those users that have not indicated an offline status. This
includes all subscriptions of the user and POD contracts. A user may suspend push events
by asserting an offline status. When a user is offline, push events are deferred until they
expire or the user re-establishes an online status.
Page 38 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Users that are publish-on-demand publishers will have event publication deferred until
they are online. Pull based requests will consider the publisher to be non-existent if it
does not assert presence at the time of the request.
For users that have specific interfaces that fail to respond to the broker, the interface in
question will move to an indeterminate status. In that status, the broker will attempt
connection on a periodic basis for as many attempts as the broker configuration allows.
Once the maximum number of attempts is reached, the broker will consider the interface
to be offline. In order to have the interface leave the offline status, the contract (e.g.,
subscription) requires either a status update or the user to assert an online presence.
5.5.3.1 Presence State
There are three possible presence states in the following diagram. They are described
immediately after.
Figure 10: Presence States



Online – The user is available to receive messages.
Offline – The user is not available to receive messages and will not until such
time as the state changes to online.
Indeterminate – The presence of the user is questionable. Delivery attempts will
be made until either there is a successfully delivery (indicating online state) or
system policy dictates the user or interface be considered offline.
5.5.4 Event Replay and Dynamics
EPS supports the option of replaying events, i.e., the ability to redeliver a series of events
to a specific requesting subscriber. Event replay is only available to push based
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 39
September 2014
© 2014 Health Level Seven International. All rights reserved.
subscriptions. The subscriber makes the replay request including with it an identification
string to distinguish events that are being relayed from normal event delivery. This
identification string is a separate field from the normal event ID. Event replay may occur
at the same time as normal event delivery. Normal topic operation constraints are obeyed
(e.g., if the contract or topic provides temporal ordering, the replay will be in that order).
All replay requests are for a specific time period in the past, thus ensuring there are no
uncertainties as to which messages are included in the replay. Event replay will also be
bounded by two topic management events: one prior to any events being replayed and the
other after all events have been replayed. This will ensure that both the broker and the
subscriber have a mechanism to understand when all data relating to the replay has been
received.
Replay requires that the topic have some notion of retention and/or one or more POD
publishers that also support replay. In the case of POD publishers and topics with
retention, the broker will merge the streams of events and remove duplicates. This may
be done either by an actual merge or by simply ensuring that duplicates are not
transmitted.
5.5.5 Publish-on-Demand Dynamics
POD is an active contract that allows a producer to publish information on topics only
when there is an active subscription present. There are four basic types of POD support:




Base Support
Pull Support
Replay Support
Dynamic Topics
Each of these types is covered in more detail below. A POD publisher may support only a
limited portion of the possible contract. In addition, a particular broker may also be
limited as to what it accepts.
POD requires that a publisher have an active endpoint whereby the broker may inform
the publisher of specific requests. POD publisher therefore exhibits the characteristics of
presence. Generally, exceptions in POD requests are considered non-fatal. The broker is
an aggregator of data. While there is a logical distinction between the publishers on a
topic and the information that a topic provides, it may be a good idea to distinguish
between having no data and being unable to publish data from some publishers.
5.5.5.1 Base Support
The base level of support for POD is simple notification to start publication on a topic
when there are subscribers and to stop publication on a topic when subscribers to a topic
no longer exist.
5.5.5.2 Pull
POD pull support is the ability of a publisher to be able to honor a query and retrieve
events.
Page 40 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
5.5.5.3 Replay Support
POD replay support is the ability of a publisher to honor an event replay request.
5.5.5.4 Dynamic Topics
POD dynamic topic support is the ability of a publisher to offer its own dynamic topic
tree along with, at a minimum, base level support for those topics.
5.6 Message Review, Approval, Modification and Filtering
An event message is subject to a number of potential interventions during its lifespan.
One major intervention point is at the time of publication, at which point the message
might be rejected, held for manual approval, or the content of the message altered or
supplemented. The other major intervention point for a message is prior to delivery to a
subscriber, at which point it might be filtered by subscriber preference, hidden from view
or delivery, or the content of the message altered or supplemented.
5.7 Federation
Federation is the process whereby a group of EPS servers provide shared content. Event
Publication and Subscription systems can support a form of federations simply by
switching roles and acting as subscribers to other servers. While this base level of
federation is still possible, it is believed to be of benefit to treat federation as a separate
area of concern. By doing this, it becomes possible to address additional issues in a
number of realms including security, efficiency, reliability and operational concerns by
creating a specialized contract between federation partners to address these issues
specifically.
In defining federation, there are two major roles: the source and the target. These roles
are analogous to the publisher/subscriber roles. The source is a system that is sharing
information. The target is the consumer of information. The source is always considered
the authoritative partner in the relationship. There are a number of models for federation
behavior:







Real-time – Target synchronizes with source in real-time.
Batch – Target is updated with source content on a periodic basis.
Aggregation – Target pulls from multiple sources.
Delegation – Target acts as a direct delegate.
Transformation – Target imposes a transformation on events.
Store and Forward (Cache) – Target copies source events.
Mirroring – Target can accept publications that are forwarded to the source.
As can be seen from the list above, the nature of a particular federation can be quite
broad. In general, the relationship between the target and the source will fit in one of the
following three groups:



Consumer Only – Data Access
Publisher Only – Data Source
Consumer & Publisher – Data Sharing
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 41
September 2014
© 2014 Health Level Seven International. All rights reserved.
Federation is represented in this model as a tree based map that ties the topics on each
end of the relationship together along with control information about the federation at
that level. Operationally, federation relationships require bilateral setup. Once
established, a specific federation may be modified, terminated, suspended, resumed, and
filtered. Future considerations for federation specification include the following:



Federated user model
Federated policies
Federated security
5.8 Service Level Security Roles
The broker supports administrative and operational roles that are independent of
affiliations. These roles affect operations that span individual topics. A functional
breakdown of these roles is as follows:






User Management – Allows user related operations.
Broker Management – Allows basic broker management activities.
Federation Management – Allows control of the broker federation.
Operations – Allows monitoring and basic operations.
Auditing and Review – Allows monitoring and data enquiry.
Global – Allow full access.
5.9 Exceptions
The EPS system defines a set of standardized exception conditions to facilitate service
interoperability. The diagram below introduces the various exceptions and their
relationship to each other. The interface details section will call out the expected
exceptions for each operation.
Figure 11: Exceptions
Page 42 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
The following table provides brief descriptions of each exception.
Exception
Authentication Required Exception
Conflict Exception
Expired Exception
Feature Not Available Exception
Incomplete Data Exception
Invalid Data Exception
Media Format Not Accepted Exception
No Such Item Exception
No Such Topic Exception
Not Authorized Exception
Pub/Sub Exception
Description
This exception is generated when an action requires a registered user be
authenticated to invoke it.
This exception is generated when the entity already exists.
This exception is generated when either the event or the subscription has
expired. This may also be used to indicate that the topic in question has
not been paid for.
This exception is generated when the requested feature is not supported.
This exception is generated when incomplete data is submitted.
This exception is generated when invalid data is submitted.
This exception is generated when invalid data, in a format not supported by
a topic, is published.
This exception is generated when an item or element does not exist.
This exception is generated when an item or element does not exist.
This exception is generated when an action is prohibited by owner or
administrator.
Root exception for all pub/sub related exceptions.
5.10 Publication Interface
The EPS service enables devices and systems that generate events/data/messages needed
by other consumers to publish those events to an intermediary that is responsible for their
subsequent distribution to interested parties.
Figure 12: Publication Interface
Publish Event to Topic
This operation allows a publisher to publish an event to an already defined topic. The
publisher in question must have legal access to publish on the specific topic matter.
More than one publisher might have privileges to publish on a specific topic.
 Story Board
A Coulter Counter in the Lab has a new result and wants to publish the result to the “New
Laboratory Results” topic.
 Description: Publisher makes an event publically available. This operation is

asynchronous with regard to the subscriber to the topic receiving the event.
Pre-Conditions:
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 43
September 2014
© 2014 Health Level Seven International. All rights reserved.






The User has Owner, Publisher or Publish Only rights to the topic.
Conceptual Information Objects
o Inputs:
 Topic Id or Topic Path
 Message/Event
o Outputs:
 Message Id
Post-Conditions: The message now appears in the topic and subscribers are
notified.
Exception Conditions:
 Not Authorized
 Authentication Required
 No Such Topic
 Incomplete Data
 Invalid Data
 Media Format Not Accepted
Required Affiliation Roles:
 Publisher
 Publish Only
 Owner
Notes
Figure 13: Publish Event to Topic
Delete Event from Topic
This operation allows a publisher to remove a previously published event from a
topic. Depending on the topic configuration, this action may not be allowed.
Subscribers may be notified of the deletion depending on the nature of their
subscription and the configuration of the topic.

Story Board
Page 44 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
The Coulter Counter wants to stop distribution of the result in the “New Laboratory Results” topic
because of a newly discovered QA issue that compromised the test. The EPS service is notified and
the item is removed from the topic.







Description: Removes an event from the topic. Clients with a Push subscription
that includes the notification of management events will be informed. The
removal of the event will cause the topic’s active event stream not to show the
event; however, the event may still be retained by the broker for auditing
purposes. When an event is cross-posted to more than one topic, it is only
removed from the selected topic.
Pre-Conditions:
 The user has the role of publisher, topic owner, or administrator for
this topic.
Conceptual Information Objects
o Inputs:
 Topic Id or Topic Path
 Message Id
o Outputs: None
Post-Conditions:
 Event no longer appears under the topic.
Exception Conditions:
 No Such Item
 No Such Topic
 Expired
 Not Authorized
 Authentication Required
Required Affiliation Roles:
 Owner
 Publisher (Of the specific event)
 Publish Only (Of the specific event)
Notes
Figure 14: Delete Event from Topic
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 45
September 2014
© 2014 Health Level Seven International. All rights reserved.
Assert Presence
Assert presence allows Publish-on-demand publishers to update their presence
statuses.
 Story Board
A publisher that has a publish-on-demand contract is going offline for review and informs the EPS Server it
is not available.







Description: Allows a user to assert its presence
Pre-Conditions:
 Presence must be supported.
Conceptual Information Objects
o Inputs:
 Publisher Id
 Presence (Online, Offline)
o Outputs:
 Success/Fail
Post-Conditions
 For Offline status – Publisher requests and notifications are deferred.
 For Online status – Publisher requests and notifications are resumed.
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 Feature Not Available
 Incomplete Data
 Invalid Data
Required Affiliation Roles:
 N/A – not topic relevant
Notes
5.11 Subscription Interface
The EPS service enables external devices and systems to subscribe to receive messages,
reporting, and other events from a Producer System, and to control the type of data
received.
Page 46 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Figure 15: Subscription Interface
Subscribe To a Topic
This operation allows a subscriber to subscribe to a specific topic or topics depending
on the capability of the broker. Some brokers may support wildcard and filter based
subscriptions. The nature of the subscription is also specified in this call. This call
may fail for a number of reasons including security, bad addressing, and capabilities
requested that the broker is not capable of honoring. It may automatically make an
access request.

Story Board
Once registered, the Clinical Decision Support System subscribes to the “New Laboratory
Results” topic and subsequently has access to a steady stream of lab results.





Description: Create a subscription to a topic.
Pre-Conditions:

Authenticated User – For Topics that are not "Open"
Conceptual Information Objects
o Inputs:
 Topic(s) – Topic Id, Path or Expression
 Subscription type – Push/Pull
 Subscription Options
 Client Address – Push subscriptions only
o Outputs:
 Subscription Id
Post-Conditions
 Users authorized for subscriptions to this topic are subscribed.
 If the topic requires authorization for access, the request is deferred.
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 Feature Not Available
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 47
September 2014
© 2014 Health Level Seven International. All rights reserved.






No Such Topic
Incomplete Data
Invalid Data
Media Format Not Accepted
Required Affiliation Roles:
 Subscriber
 Subscribe Only
 Owner
Notes
Figure 16: Subscribe to Topic
Unsubscribe
This operation allows a subscriber to remove an existing subscription from the EPS
service. The events queue for this subscription is deleted.

Story Board
After several months of receiving event data of interest only to adult patients, the Pediatric
Department Intranet unsubscribes from the “ACME Medical Center Public Events” topic.



Description: Allows a subscriber to terminate a subscription
Pre-Conditions: Subscriber must have a subscription to the topic.
Conceptual Information Objects
o Inputs:
 Topic (s)- Topic Id, Path or Expression
Page 48 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014






Subscriber Id
Subscription Options or Subscription id [Optional]
o Outputs: Success/Fail
Post-Conditions
 Subscription is removed.
 The topic will no longer deliver messages to this subscription.
 Any messages that are pending delivery to the subscription will be
have their delivery canceled.
Exception Conditions
 Not Authorized
 Authentication Required
 No Such Topic
 No Such Item
 Invalid Data
Required Affiliation Roles:
 Subscriber (Their own subscriptions only)
 Subscribe Only (Their own subscriptions only)
 Owner
 Administrator
Notes
If a subscriber has multiple subscriptions to a topic, this operation will remove all
subscriptions to a topic if no options or subscription ID are provided. If options
are provided, they will be used to match against the subscriber’s subscription and
the matches will be removed. If a Subscription ID for this operation is provided,
then only that subscription will be removed.
Retrieve Events
This operation allows a client, who always is responsible for retrieving content in a
pull contract, to request "list" vs. "detail." The service defaults to maintaining each
client’s "history" and delivering content that has not yet been transmitted. Client
should have option of overriding this default and requesting a defined range. By its
very nature, either the topic has to be fully durable or the publisher has to support
temporal on demand publishing.

Story Board
The Clinical Decision Support System, now subscribed to the “New Laboratory Results” topic
needs a few weeks of previously reported data to initialize its service. The system requests both a
list of all labs resulted, and the details of each test for all patients over the past three weeks.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 49
September 2014
© 2014 Health Level Seven International. All rights reserved.
Figure 17: Authenticated Pull of Events
This also allows an anonymous subscriber to pull events from a topic, either as a
simple list or with full detail. The service defaults to a "stock" payload, but client
may request a custom range. There is no anonymous push contract.
The Pediatric Department Intranet, now anonymously subscribed to the “ACME Medical Center
Public Events” topic, regularly begins to pull topic events to populate its departmental calendar.
Figure 18: Anonymous Pull of Events



Description: Allows the events on a topic to be pulled by a subscriber
Pre-Conditions:
 Pull access allowed to current user.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or Expression, Subscription Id
 Pull Type – Full or Summary or Specific
 Pull Range: Recent or Specific
 Start: TimeStamp [Optional]
Page 50 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014






End: TimeStamp [Optional]
Media Forms desired [Optional]
o Outputs:
 List of Events or Event Summaries
Post-Conditions
 Subscriber specific context in topic may be updated.
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 Feature Not Available
 No Such Topic
 No Such Item
 Media Format Not Excepted
Required Affiliation Roles:
 Subscriber
 Subscribe Only
 Owner
Notes
For implementation the operation might be represented using three
separate operations based on the Pull Type.
Replay Events
Given a time range, all events on a given topic will be redelivered or retrieved based
on the type of subscription and the nature of the topic. This is a specialized form of
retrieval that is most useful in modeling. By its very nature, either the topic has to be
fully durable or the publisher has to support temporal on demand publishing.

Story Board
A clinical modeling group is reviewing a patient’s encounter history with a clinical decision
engine and asks the broker to replay an encounter related topic for a particular patient to observe
the engine’s behavior.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 51
September 2014
© 2014 Health Level Seven International. All rights reserved.
Figure 19: Replay Events




Description: Replays events to a push subscriber
Pre-Conditions:
 Broker and Topic must support replay.
 Topic must be durable or publish-on-demand.
 Subscriber must have a Push subscription.
Conceptual Information Objects
 Inputs:
 Topic(s) – Topic Id, Path or Expression, Subscription Id
 Start: TimeStamp
 End: TimeStamp
 Replay Id
 Media Forms desired [Optional]
 Replay Rate [Optional]
 Outputs:
 Events pushed to subscriber with the replay flag set to the
replay id.
Post-Conditions
 The requesting push subscriber will have the requested events pushed
to them with the replay flag set.
Page 52 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014



Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 Feature Not Available
 No Such Topic
 Invalid Data
 Media Format Not Accepted
Required Affiliation Roles:
 Subscriber
 Subscribe Only
Notes
The messages that are replayed will be sent with the provided replay ID in
their headers to allow the subscriber endpoints to identify their sources clearly.
The replay rate is included to allow the rate that message are sent to the consumer
to be controlled. This helps prevent consumer saturation. It is envisioned that in
the replay rate might also be a complex timing model in actual implementations.
For example when using an event replay for training or simulation purposes the
replay rate to the same rate as the events were originally received.
There will be a topic management event generated at the start of the replay
and sent to the requesting subscriber before any events are replayed. Once all
events have been replayed a topic management event will sent to indicate that the
replay has concluded.
Get Default Subscription Options
The operation allows a subscriber to get the default subscription options for a topic.
This is most useful when subscribing to a new topic.

Story Board
A new subscriber is planning on subscribing to a topic and would like to know the default options
for that topic to use as a basis for the subscription.





Description: Allows a subscriber to get the default subscription options for a
topic
Pre-Conditions:
 None
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or Expression
o Outputs:
 Options
Post-Conditions
 None
Exception Conditions
 Not Authorized
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 53
September 2014
© 2014 Health Level Seven International. All rights reserved.





Authentication Required
Feature Not Available
No Such Topic
Required Affiliation Roles:
 Subscriber
 Subscribe Only
 Owner
Notes
Configure Subscription Options
This operation allows a subscriber to change the options associated with a specific
subscription.

Story Board
An existing subscriber determines that the topic subscription needs a higher quality of service;
they determine the new options required and invoke this service.







Description: Allows a subscriber to change the options of a specific subscription.
Example uses would include changing subscription state, delivery parameters, etc.
Pre-Conditions:
 An existing subscription must exist
Conceptual Information Objects
 Inputs:
 Topic – Topic Id, Path or Expression, Subscription Id
 Subscriber Id
 Subscription Options
 Outputs: Success/Fail
Post-Conditions
 Updated Options for the subscription.
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 Expired
 Feature Not Available
 No Such Topic
 No Such Item
 Incomplete Data
 Invalid Data
Required Affiliation Roles:
 Subscriber
 Subscribe Only
 Owner
Notes
Page 54 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Get Subscription Options
This operation allows a subscriber to determine their options associated with a
specific subscription.

Story Board
An existing subscriber determines that wants verify that their the topic subscription at a specific
quality of service; they invoke this service and review the results.







Description: Allows a subscriber to determine the options of a specific
subscription.
Pre-Conditions:
 An existing subscription must exist
Conceptual Information Objects
 Inputs:
 Topic – Topic Id, Path or Expression, Subscription Id
 Subscriber Id
 Outputs:
 Subscription Options
Post-Conditions
 Subscription must exist.
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 Feature Not Available
 No Such Topic
 No Such Item
Required Affiliation Roles:
 Subscriber
 Subscribe Only
 Owner
Notes
Assert Presence
This operation allows subscribers to update their presence statuses.

Story Board
A subscriber is dropping out of service and wishes to suspend event pushes until they are online again. The
subscriber uses Assert Presence to indicate a change in their presence status. Sometime in the future the
subscriber is once again available to receive events and they use Assert presence to indicate that are now
available.



Description: Allows a user to assert its presence
Pre-Conditions:
 Presence must be supported.
Conceptual Information Objects
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 55
September 2014
© 2014 Health Level Seven International. All rights reserved.
o
Inputs:






Subscriber
Presence (Online, Offline, Indeterminate)
o Outputs:
 Success/Fail
Post-Conditions
 For Offline status – Event Push to subscriber is suspended.
 For Online status – Event Push to subscriber is resumed.
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 Feature Not Available
 Incomplete Data
 Invalid Data
 Media Format Not Excepted
Required Affiliation Roles:
 N/A, not topic relevant
Notes
5.12 Broker Interface
This is an interface for requesting information from the event broker, including its
capabilities, available event topics, and requesting access. This interface is intended for
the general service consumer.
Figure 20: Broker Interface
Discover Capabilities
The services provide information about the general capabilities of the broker. This
includes the type of contracts the broker is capable of and which optional features are
available.
Page 56 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014

Story Board
A new subscriber is interested in establishing a push subscription from the broker. The subscriber
calls this service to find out if event push is supported and what the maximum QOS is for push
subscriptions.







Description: The services provide information about the general capabilities of
the broker.
Pre-Conditions:
 None
Conceptual Information Objects
o Inputs:
 None
o Outputs:
 List of broker Options and their support status. Any feature not
listed is assumed not to be supported.
Post-Conditions
 None
Exception Conditions
 Not Authorized
 Authentication Required
Required Affiliation Roles:
 N/A, not topic relevant
Notes
Discover Topics
This operation is used to search for available topics on the EPS system. In the
simplest case, this operation is used to get the root of the topic tree.

Story Board
A new subscriber is interested in what topics might be accessible from the broker. The subscriber
first starts browsing the available topics from the root context.





Description: Get a collection of Topics. The results of this service are always a
collection of topics that can then be used navigate the topic tree using the Get
Topic Information service. The topics returned may be filtered based on the
caller’s privileges.
Pre-Conditions:
 None
Conceptual Information Objects
 Inputs:
 Query: a Topic Path or Expression (May be empty)
 Outputs:
 List of Topics matching the query
Post-Conditions
 None
Exception Conditions
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 57
September 2014
© 2014 Health Level Seven International. All rights reserved.







Not Authorized
Authentication Required
Expired
No Such Topic
Invalid Data
Required Affiliation Roles:
 N/A, not topic relevant
Notes
If an empty string or the root topic tree prefix is the query, then the Root level
topics are returned. Currently the query sting is constrained to Topic Path or
Expression, section 5.3.9. In the future, the query may be broadened to include
more capabilities.
Get Sub Topics
This operation is used to view the topic tree from a known parent topic. It will return
the direct children of the topic.
 Story Board
A subscriber is browsing the topic tree and has identified a topic listed below the root (e.g.,.
/rawfeeds) and is interested to discover the available subtopics.







Description: Returns zero or more subtopics that may exist using a topic id. This
operation is optimized for tree walking based on current topic location. The
topics returned may be filtered based on the caller’s privileges.
Pre-Conditions:
 None
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or Expression
o Outputs:
 List of Subtopics
Post-Conditions
 None
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 No Such Topic
Required Affiliation Roles:
 N/A, not topic relevant
Notes
Page 58 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Discover Events for Topic
This operation is used to get a “directory” of the events that have been published to a
topic.
 Story Board
A publisher wishes to verify that a specific message was posted to a topic.






Description: This service finds the available events for a specific topic
Pre-Conditions:
 None
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or Expression
 Start Date/Time (Optional)
 End Date/Time (Optional)
o Outputs:
 List of Events Metadata
Post-Conditions
 None
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 No Such Topic
 Invalid Data
Required Affiliation Roles:
 Owner
 Administrator
 Subscriber
 Subscribe Only
Notes
This operation provides a directory-like summary of the events published to topic.
Depending on the retention properties of the topic, the list of events may or may
not be complete for the period in question and not all events may be retrievable in
their entirety.
Get Topic Options
Get the options that are used to configure topics on this broker. One common use of
this service is to prepopulate the configuration of a new topic being defined.

Story Board
A publisher wishes to know if a specific topic it is planning to publish to provides potential
subscribers with a high QOS.

Description: Get the options that are used to configure topics on this broker.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 59
September 2014
© 2014 Health Level Seven International. All rights reserved.






Pre-Conditions:
 Topic must Exist
Conceptual Information Objects
 Inputs:
 Topic – Topic Id, Path or Expression
 Outputs:
 Options
Post-Conditions
 None
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
Notes
Request Access
This operation is used to submit a user profile for the EPS system requesting access.
 Story Board
A new clinical user registers with the EPS service to request access the broker in order to
subscribe to the topics that are needed for many of their rules and guidelines.
Page 60 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Figure 21: Request Service Access





Description: Allows a user to register with the EPS service in order to initiate
Registration
Pre-Conditions:
 Option must be supported.
Conceptual Information Objects
o Inputs:
 User
o Outputs:
 Success/Fail/Pending Approval
Post-Conditions
 If the server is open and the request valid, a new user is created.
 If the request requires authentication, then an authentication request is
made.
 Service may communicate Success/Fail to user depending on user
provided contact info. This may be via a Topic Management event if a
call back has been provided or via a service like Unified
Communications if other contact information is available (e.g. email
address).
Exception Conditions
 Conflict
 Feature Not Available
 Incomplete Data
 Invalid Data
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 61
September 2014
© 2014 Health Level Seven International. All rights reserved.


Required Affiliation Roles:
 N/A, not topic relevant
Notes
5.13 Broker Management Interface
The broker management interface provides the core services for basic broker
management, including topics, users, and access requests.
Figure 22: Broker Management Interface
Create a User
Register a user with the broker. This operation is used to establish a user, the user
configuration information, privileges, and access to topics including role.

Story Board
A new Clinical Decision Support System requires access with the EPS service to gain access to
the “New Laboratory Results” topic that is needed for many of its rules and guidelines. The
administrator creates a user to represents the CDS system and grants the user subscription
access the “New Laboratory Results” topic.


Description: Register a user with the broker.
Pre-Conditions:
 Current user must be authenticated and have an Administrator role on
the EPS system.
Conceptual Information Objects
o Inputs:
 User
o Outputs:
 Success/Fail
Page 62 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014




Post-Conditions
 New user added to system.
 User may now be used to form affiliations.
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 Incomplete Data
 Invalid Data
Required Affiliation Roles:
 N/A, not topic relevant
Notes
Figure 23: Create user and grant them publication rights
Discover a User
This operation is used to find users and all basic information about the users.

Story Board
George the EPS administrator has been asked to find out if Dr. Smith has access to the system.
George uses this operation to discover if Dr. Smith is a registered user.


Description: Finds one or more users and basic information about them.
Pre-Conditions:
 None
Conceptual Information Objects
o Inputs:
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 63
September 2014
© 2014 Health Level Seven International. All rights reserved.





User Id or Query
o Outputs:
 List of Users
Post-Conditions
 None
Exception Conditions
 Not Authorized
 Authentication Required
 No Such Item
 Invalid Data
Required Affiliation Roles:
 N/A, not topic relevant
Notes
Basic user queries should support by search by name or personal identifier.
Delete a User
This operation will remove a user from the system. This operation will also remove
all subscriptions contracts, publish-on-demand contracts, and affiliations for the user.
The effect on content is directly related to the retention policies of topics to which the
user has published content and the Remove Content Flag for this operation.

Story Board
Dr. Smith has left the medical group and the administrator of the EPS system has been directed to
remove all of Dr. Smith’s Access. The decision of the senior partner is to retain all of the event
publications made by Dr. Smith.



Description: Removes publisher or subscriber and all content related to their
contract
Pre-Conditions:
 User must exist.
 Current user must be an EPS administrator.
Conceptual Information Objects
o Inputs:
 User id
 Remove Content Flag (Yes/No/Override)
o Outputs:
 Success/Fail
Post-Conditions
 User is no longer able to authenticate with the system.
 All user affiliations are removed.
 All user subscriptions are removed.
 All user publish-on-demand contracts are removed.
 The public id of the user is available for reuse.
 The user will no longer show up in searches for active users.
 The user record may be retained in a deleted state for auditing.
Page 64 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014




Depending on the Remove Content flag and system policy content
published by the user may be removed.
Exception Conditions
 Not Authorized
 Authentication Required
 No Such Item
Required Affiliation Roles:
 N/A, not topic relevant
Notes
When the remove content flag (RCF) is “yes” or “override,” the events published
by the user will be removed from the EPS system. Topics with strong retention
policies may retain the user’s events if the RCF is “yes,” while “override” should
cause all events to be removed. A system may retain knowledge of what the
public id of a user was for audit purposes and all audit should be keyed to the
internal user identifier, not the public id. For example if Dr. Smith has a Public
user id of JSmith and a user id of 100282, the public id JSmith would become
available for use, while the user id 100282 would never be reused.
Update a User
Update the information associated with a user. This would include privileges, options,
and authentication information for the user.

Story Board
Dr. Jones has married and now has a last name of Jones-Smyth and needs her name updated on
the EPS server. In addition, Dr. Jones-Smyth now has new contact information and would like to
update her password.





Description: Update the information associated with a user
Pre-Conditions:
 Current user is an EPS Administrator or the user in question.
Conceptual Information Objects
o Inputs:
 User Id
 Options
 User Data
o Outputs:
 Success/Fail
Post-Conditions
 User Information updated
Exception Conditions
 Not Authorized
 Authentication Required
 No Such Item
 Incomplete Data
 Invalid Data
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 65
September 2014
© 2014 Health Level Seven International. All rights reserved.



Media Format Not Excepted
Required Affiliation Roles:
 N/A, not topic relevant
Notes
User may be allowed to update their own information; specific EPS systems may
enforce constraints on the data that must be updated only by an administrator.
Create Topic
Create a new topic or subtopic. This operation is independent of a specific publisher
and would include options and metadata relating to topic.

Story Board
A new publishing system has been acquired by the medical group and the administrator of the
EPS systems has been instructed to create a topic tree to which it will publish.






Description: Create a new topic or subtopic.
Pre-Conditions:
 Topic with name must not exist directly under parent topic.
 Current User must have privileges to create a topic below the parent
topic or support for authorization requests must be present.
Conceptual Information Objects
o Inputs:
 Parent Topic – Topic Id, Path
 Topic name
 Topic options
o Outputs:
 Success/Fail/Deferred
Post-Conditions
 If authorized, the new topic is created.
 If not authorized, and support for authorization requests is available
then a request is generated for the topic administrators and the topic
creation is deferred until approved.
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 Expired
 Feature Not Available
 No Such Topic
 Incomplete Data
 Invalid Data
 Media Format Not Excepted
Required Affiliation Roles:
 N/A, not topic relevant
Notes
Page 66 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Configure Topic
Update the configuration and/or metadata relating to a topic. For example, additional
retention policies for the topic might be changed or the topic could be disabled.

Story Board
A topic that exposes abnormal lab results has previously only retained the last 24 hours of data.
This period has been determined too short and needs to be extended to one week.






Description: Update the configuration and/or metadata relating to a topic.
Pre-Conditions:
 Topic must exist.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path
 Topic Configuration/Options
o Outputs:
 Success/Fail
Post-Conditions
 Topic options updated to the extent possible.
 Existing content may be removed.
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 Expired
 Feature Not Available
 No Such Topic
 Incomplete Data
 Invalid Data
 Media Format Not Excepted
Required Affiliation Roles:
 Owner
 Administrator
Notes
The dynamics of this operation depend heavily on the nature of the options
changed. For example, this could include alias creation, disabling the topic,
updating retentions, changing durability, etc.
Delete Topic
This operation allows a topic to be removed from the broker. All events relating to the
topic are also removed. Removing a high level topic will also remove all subtopics.
Depending on the configuration of the topics in question, the subscribers and
publishers may be notified.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 67
September 2014
© 2014 Health Level Seven International. All rights reserved.

Story Board
An existing topic is found to be no longer used and it is desired to prune it from the tree.







Description: Allows a topic to be removed from the broker
Pre-Conditions:
 Topic must exist.
 Current user must have access to entire sub-tree.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
 Force – True/False
o Outputs:
 Success/Fail
Post-Conditions
 Push Subscribers are notified via Topic Management Event.
 On Demand Publishers are notified via Topic Management Event.
 All Subscriptions are removed.
 All Events are removed.
 All Publication contracts are removed.
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
Notes
If a topic has children and the user did not specify the force option as true the
request will be rejected.
Move Topic
This operation allows a topic to be moved to a different location in the topic tree. All
events, subscriptions, and publication contracts remain in place. Depending on the
configuration of the topics in question, the subscribers and publishers may be
notified.

Story Board
An existing topic location in the topic tree is found to be suboptimal and a better location is found.



Description: Allows a topic to be moved to a new location on the topic tree
Pre-Conditions:
 Topic must exist.
 Current user must have access to source and target topics.
 New Topic path must be available.
Conceptual Information Objects
o Inputs:
Page 68 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Source Topic – Topic Id, Path or expression
Destination Topic Path
o Outputs:
 Success/Fail
Post-Conditions
 Topic changes tree location.
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
Notes
When the source target name is an existing topic alias, then just that alias is
changed. All other paths to the topic remain unchanged.






Get Topic Metadata
Get Metadata information about a particular topic. The Metadata returned may
include such information as topic durability, events available in the topic, available
media formats, copyright information, temporal scope, etc.

Story Board
Hospital administration is assembling monthly metrics and needs to determine the usage level of a
particular topic.







Description: Get Metadata information about a particular topic.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
o Outputs:
 Topic Meta Data
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
Notes
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 69
September 2014
© 2014 Health Level Seven International. All rights reserved.
Purge all Topic Events
Remove all events from a topic. Subscribers might be notified of this action based
upon their subscriptions and the configuration of the topic.
 Story Board
It has been decided to change the acceptable publication media formats for a topic. Prior to
making this change all existing messages need to be removed.







Description: Remove all Events from a Topic.
Pre-Conditions:
 Current user must have sufficient access.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
o Outputs:
 Success/Fail
Post-Conditions
 Existing Push subscribers receive a topic management event.
 All events on the topic are removed.
Exception Conditions
 Not Authorized
 Authentication Required
 No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
Notes
Get Publisher(s) for Topic
This service will retrieve all publishers for a particular topic. Visibility of the
publishers may be limited by the caller’s privileges. At a minimum a publisher will
always see themselves.
 Story Board
In considering if a particular topic should be altered, it is desired to find who is publishing to it so
they may be consulted.





Description: This service will retrieve all publishers for a particular topic.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
o Outputs:
 List of Publishers
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
Page 70 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014




Expired
No Such Topic
Required Affiliation Roles:
 Administrator (Full view)
 Owner (Full view)
 All others but Outcast may have a limited view.
Notes
Get Subscriptions For Topic
This service will retrieve all subscriptions for a particular topic. Visibility of the
subscriptions may be limited by the caller’s privileges. At a minimum, a caller’s own
subscriptions will be included.
 Story Board
Consideration is being given to changing the QOS offered for a topic. Prior to deciding on this
change, the existing subscriptions are examined to determine their need.







Description: This service will retrieve all subscriptions for a particular topic.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
o Outputs:
 List of Subscriptions
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 No Such Topic
Required Affiliation Roles:
 Administrator (Full view)
 Owner (Full view)
 All other but Outcast may have a limited view
Notes
5.14 Topic Management Interface
This is an interface for managing access to topics. It is intended for use by topic owners
and administrators to allow them to control access and privileges granted to users of
topic.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 71
September 2014
© 2014 Health Level Seven International. All rights reserved.
Figure 24: Topic Management Interface
Create Affiliation
This service creates an affiliation between a user and a topic. This affiliation will
grant the user specific privileges on the topic. The granting of an affiliation might
result in the automatic revocation of prior affiliations.
 Story Board
An Ordering system wishes to subscribe to the laboratory notification topic to monitor fulfillment
capabilities available. An administrator grants the user representing the order system the
subscriber affiliation to the topic.





Description: Create an affiliation between a user and a topic.
Pre-Conditions:
 Current user has sufficient privileges.
 User must be authenticated.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
 User
 Role (See notes)
o Outputs:
 Success/Fail
Post-Conditions
 New affiliation created.
 Conflicting affiliations revoked. (See Table 1: Effect of Granting an
Affiliation
 Audit updated.
Exception Conditions
 Not Authorized
 Authentication Required
 No Such Topic
 No Such Item
 Invalid Data
Page 72 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014


Required Affiliation Roles:
 Owner
 Administrator
Notes
Key to effects: X = No change, R = Revoked, I = Implied.
Grant
Existing Affiliations
Publish
Subscribe
Publish
Only
Only
X
X
X
R
R
R
R
R
R
X
R
R
R
X
R
Administrator
Outcast
Owner
Administrator
Outcast
Owner
Publish Only
Publish
X
R
I
X
X
R
X
R
R
R
X
R
X
X
X
Subscribe
Only
Subscriber
Reviewer
X
R
X
R
R
X
X
R
R
X
X
R
X
X
X
Subscriber
Reviewer
X
R
R
R
X
X
R
X
R
X
X
R
R
R
X
X
I
X
X
Table 1: Effect of Granting an Affiliation
The table shows the possible side effects of granting an affiliation to a user with
an existing affiliation to the topic. In some cases the granting of one role may
result in the loss of another existing privilege. For example a Publish Only user
granted the Subscriber role would lose the ability to publish. Such a user would
then be granted the Publish role if desired.
Delete Affiliation
This operation removes an affiliation between a user and a topic.
 Story Board
Dr. Smith has left the medical group and should no longer be allowed to publish the group’s
internal announcements topic.




Description: Removes a user’s affiliation to a topic
Pre-Conditions:
 Affiliation must exist.
 User must be authenticated.
 User must be authorized to remove the affiliation.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
 User
 Role
o Outputs:
 Success/Fail
Post-Conditions
 Affiliation is removed.
 May result is automatic granting to the ownership to the topic to the
current user if the existing owner is deleted.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 73
September 2014
© 2014 Health Level Seven International. All rights reserved.




Audit updated.
Exception Conditions
 Not Authorized
 Authentication Required
 No Such Topic
 Invalid Data
Required Affiliation Roles:
 Administrator
 Owner
 The subject of the affiliation
Notes
Removing an affiliation that does to exist is considered valid and will return
success.
Update Affiliation
Update the affiliations for a specific user on a topic.
 Story Board
Dr. Jones has been designated as the new owner of the infection control topic this operation is
used to change the affiliations that affect the infection control topic.






Description: Updates the affiliation between a user and a topic
Pre-Conditions:
 User must have an affiliation for the topic.
 User must be authenticated.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
 User
 Role(s)
o Outputs:
 Success/Fail
Post-Conditions
 Updated Affiliation
 Conflicting affiliations revoked (See Table 1: Effect of Granting an
Affiliation)
 Audit updated
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 No Such Topic
 Incomplete Data
 Invalid Data
Required Affiliation Roles:
 Owner
Page 74 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014


Administrator
Notes
See Table 1: Effect of Granting an Affiliation for the possible side effects of
granting an affiliation to a user with an existing affiliation to the topic.
Get Affiliations for Topic
Get the affiliations for a topic. Used to determine which users have what access to the
topic. Results may be filtered based on the access level of the calling user.
 Story Board
Nurse Williams would like to publish her department’s scheduled event topic. Nurse Williams first
checks to see if they have an existing "Publisher" affiliation with the topic. She finds they do not
have this level of access, so she identifies the topic administrator so that she can request access.







Description: Retrieves a list of affiliations for a specific topic
Pre-Conditions:
 User must be authenticated.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
o Outputs:
 List of Affiliations
Post-Conditions
Exception Conditions
 Authentication Required
 Expired
 No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
 Current user’s Affiliations
Notes
This operation works for any user, but only the owners or administrators will see
all users in the return result. All other users will see only their affiliations with the
topic and the affiliations that have an owner or administrator affiliation role. This
insures that a user may always determine who to ask for access.
Get Affiliations for User
Find all the affiliations for a user including the topics to which they relate.
 Story Board
Dr. Hanks has a new assistant to whom he would like to have the same publication privileges
granted. A system administrator uses this operation to determine the scope of Dr. Hanks’s
accesses and grant publication rights to the new assistant.


Description: Finds all of the topic affiliation that a user has
Pre-Conditions:
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 75
September 2014
© 2014 Health Level Seven International. All rights reserved.






Current User must have administrator role or the Current user must be
the user in question.
 User must be authenticated.
Conceptual Information Objects
o Inputs:
 User or User List
o Outputs:
 List of Topic/Affiliations pairs
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 No Such Item
Required Affiliation Roles:
 Current User
 Filtered by Owner or Administrator
 [System Administrator]
Notes
This operation may be used by a user to determine all of his/her own affiliations.
System administrators may use this operation to get an unconstrained list of
results. All other users will get a list of results which is constrained based on the
interaction of the users’ affiliations and the topic’s current configuration.
Get Pending Access Requests
Finds pending subscription access requests for a topic
 Story Board
Assistant Director Niles has established a general policy topic, which is limited to selected
individuals and systems. This topic has been set up with a limited access model. On a periodic
basis he uses this operation to find and view any pending access requests to the topic.





Description: Returns a list of access request
Pre-Conditions:
 Feature must be supported
 Current user must be authenticated
 Current user must be authorized
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or expression
o Outputs:
 List of Pending Access requests for this topic
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
Page 76 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014



No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
Notes
Reject Access request
This is used to mark a pending access request as being denied.
 Story Board
Assistant Director Niles, in reviewing access requests to the policy topic, has noticed a
publication access request from a department manager. Since the intent is only to have policies on
this topic that have been approved by the Assistant Directors or higher, the request is rejected.







Description: Marks an access requested as being rejected
Pre-Conditions:
 Feature must be supported.
 Current user must be authenticated.
 Current user must be authorized.
 Request must still be pending.
Conceptual Information Objects
o Inputs:
 Access request
o Outputs:
 Success/Fail
Post-Conditions
 Request marked as rejected
 Audit updated
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 Feature Not Available
Required Affiliation Roles:
 Owner
 Administrator
Notes
This action will take effect once the Process Pending Access Requests operation
is invoked.
Grant Access Request
This operation marks an access request as granted.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 77
September 2014
© 2014 Health Level Seven International. All rights reserved.

Story Board
Assistant Director Niles, in reviewing access requests to the policy topic, has noticed a
publication access request from the Director of Policy, who is an astute administrator. Niles
marks it as approved.





Description: Marks an access request as being granted
Pre-Conditions:
 Feature must be supported
 Current user must be authenticated
 Current user must be authorized
 Request must still be pending
Conceptual Information Objects
o Inputs:
 Access request
o Outputs:
 Success/Fail
Post-Conditions
 Request marked as accepted.
 Audit updated.
Exception Conditions
 Not Authorized
 Authentication Required
 Conflict
 Feature Not Available



Required Affiliation Roles:
 Owner
 Administrator
Notes
This action will take effect once the Process Pending Access Requests operation
is invoked.
Process Pending Access Requests
This operation causes all access requests for a topic that have been granted or denied
to take effect.
 Story Board
Assistant Director Niles has finished reviewing access requests and granting and rejecting the
most obvious requests. In order to have these actions take effect, he calls this operation.



Description: Makes grants and rejections of access requests on topic take effect
Pre-Conditions:
 Feature must be supported
 Current user must be authenticated
 Current user must be authorized
Conceptual Information Objects
o Inputs:
Page 78 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Topic – Topic Id, Path or expression
o Outputs:
 Success/Fail
Post-Conditions
 Each grant will cause a new affiliation to be formed.
 Each grant/rejection will generate a topic management event to the
requesting user.
 All granted and rejected requests are removed.
 Audit is updated.
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
Notes





5.15 Broker Monitoring Interface
This interface provides basic monitoring of the state and behavior of the broker.
Figure 25: Broker Monitoring Interface
Get Broker Statistics
This operation is used to find basic statistics about the broker. The scope and nature
of the statistics returned is not detailed by this specification.
 Story Board
One department in the hospital complains that they are not receiving events in a timely manner.
System operators check the broker wide statistics to gauge general latency and determine if there
is a high fault rate.



Description: Find basic statistics about the broker.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 79
September 2014
© 2014 Health Level Seven International. All rights reserved.
o




Outputs:
 Statistics
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
Required Affiliation Roles:
Notes
Get Broker Status
This operation determines the current status of the broker. This can be used as a
general health monitoring tool. The scope and nature of the status information
returned is not detailed by this specification.
 Story Board
Operation staff has a Services dashboard to monitor and display overall system health. This
dashboard uses this service to access the broker’s basic health information







Description: Determine broker status.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
o Outputs:
 Status Info
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Topic
Required Affiliation Roles:
 N/A - This operation is in the context of Monitoring
Notes
Get Topic Statistics
This operation is used to get basic operational statics about a topic. This would
include information about the message in various states, subscribers, publishers, etc.
The scope and nature of the statistics returned is not detailed by this specification.
 Story Board
Noting a general system slow down, it is decided to review the usage of the EPS system to see
whether additional resources are needed or the configuration of the user population should be
adjusted. To accomplish the analysis, the usage statistics for individual topics are reviewed.


Description: Get statistics about a topic.
Pre-Conditions:
Page 80 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014





Conceptual Information Objects
o Inputs:
 Topic Id, Name, or Expression
o Outputs:
 Status Info
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Topic
Required Affiliation Roles:
 Owner
 Administrator
Notes
5.16 Federation interface
This interface provides the services used to control federation on the EPS broker.
Figure 26: Federation Interface
Get Master Federation Map
This operation retrieves a map of all federation relationships for this broker. The map
is detailed to the topic level.
 Story Board
Management is reviewing annual operating procedures and inter-business relationships. One
element of the study is to understand the sources of information provided to the organization. It is
also desired to understand what information is being shared at an institutional level. This is
accomplished by visualizing the information in the master federation map.



Description: Retrieve all Federation related mappings.
Pre-Conditions:
Conceptual Information Objects
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 81
September 2014
© 2014 Health Level Seven International. All rights reserved.
o
o




Inputs:
Outputs:
 Federation Map
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Item
Required Affiliation Roles:
 N/A – This operation is in the context of federation.
Notes
Get Source Map
This operation retrieves a map of all federation relationships from a specific source.
 Story Board
A Major business partner has announced a new change to the topics they support. This operation
is used to pull a tree of all topics provided to the local server for review.







Description: Retrieve federation map for a specific source.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 Federation Source Id
o Outputs:
 Federation Map
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Item
Required Affiliation Roles:
 N/A – This operation is in the context of Monitoring
Notes
Get Target Map
This operation retrieves a map of all federation relationships to a specific target.
 Story Board
Concern is raised that a specific business partner may have a broader federation than is dictated
by the organization’s policy. A tree of all information sources provided to the partner is obtained
and visualized.


Description: Retrieves a map of all federation relationship to a specific target
Pre-Conditions:
Page 82 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014





Conceptual Information Objects
o Inputs:
 Federation Target Id
o Outputs:
 Federation Map
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Topic
Required Affiliation Roles:
 N/A – This operation is in the context of Monitoring.
Notes
Update Source
This operation allows a particular federation source definition to be modified. The
scope of the update may be constrained by operational constraints and might be
limited to updates such as credentials or state.
 Story Board
A national disease control EPS service is an existing data source for the local system, after a
recent update it can now handle synchronization dynamics. The local system is also
synchronization compatible so the decision is made to update the service to use synchronization.







Description: Update a federation source definition.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 Federation Source Id
 Source Information
o Outputs:
 Success/Failure
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Item
Required Affiliation Roles:
 N/A – This operation is in the context of Monitoring.
Notes
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 83
September 2014
© 2014 Health Level Seven International. All rights reserved.
Update Target
This operation allows a particular federation target definition to be modified. The
scope of the update may be constrained by operational constraints and might be
limited to updates such as credentials or state.
 Story Board
A business partner has been acquired by another organization, which has consolidated their EPS
systems. The addressing information of the new target is updated.







Description Update a federation target definition.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 Federation Source Id
o Outputs:
 Federation Map
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
Required Affiliation Roles:
 N/A – This operation is in the context of Monitoring.
Notes
Update Source Map
This operation updates the mapping between a particular source and the local and
remote topic trees.
 Story Board
A Local public health department has created a number of new topics the local institution has
decided should be a part of the local federation. The Source map is updated to enable this change.





Description: Updates the mapping between a source and the local and remote
topic trees
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 Federation Source Id
o Outputs:
 Federation Map
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Topic
Page 84 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014


Required Affiliation Roles:
 N/A – This operation is in the context of Monitoring.
Notes
Update Target Map
This operation updates the mapping between a particular target and the local and
remote topic trees.
 Story Board
New topics have been configured that are of particular interest to a business partner. To expose
their interfaces for federation, the target map for that partner is updated.







Description: Updates the mapping between a target and the local and remote
topic trees
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 Federation Source Id
o Outputs:
 Federation Map
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Feature Not Available
 No Such Topic
Required Affiliation Roles:
 N/A – This operation is in the context of Monitoring.
Notes
5.17 PS Federation interface
This interface provides the interface whereby one federated broker is called by another
broker. The federation interface includes support for both push and pull dynamics and
may include some management information. It may also support synchronization
operations for relationships that are use a store and forward federation pattern.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 85
September 2014
© 2014 Health Level Seven International. All rights reserved.
Figure 27: PS Federation Interface
Receive Events
This operation is used to receive a set of push events from a federated system. It is
called by another broker to deliver events in bulk.
 Story Board
A Federation target receives a bulk push of events on one or more topics.







Description: To receive a set of push events
Pre-Conditions:
 Federation relationship must exist.
Conceptual Information Objects
o Inputs:
 Set of Events
o Outputs:
Post-Conditions
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of federation
Notes
Pull Events
This operation provides a mechanism to pull a set of events.
 Story Board
A federation source is requested to provide a bulk set of events on a set of topics.






Description: Provides a mechanism to pull a set of events
Pre-Conditions:
 Federation relationship must exist.
Conceptual Information Objects
o Inputs:
o Outputs:
 Set of Events
Post-Conditions
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of Federation.
Page 86 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014

Notes
Synchronize
This operation provides a mechanism for a federation partner to receive a
synchronization message. Synchronization messages are exchanged between
federation partners to coordinate their federation state.
 Story Board
A federation partner is informed of a synchronization event so it can ensure that it has the latest
copy of the events.







Description Receive a synchronization message.
Pre-Conditions:
 Federation relationship must exist.
 Servers must both support synchronization.
Conceptual Information Objects
o Inputs:
 Synchronization Message
o Outputs:
 Status
Post-Conditions
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of Federation.
Notes
Link Management Update
This operation is used to inform the federation partner of management information
relating to the link between the partners. For example, this might be used to inform a
partner that information on the link will not be available.
 Story Board
A federation partner is informed of a state change on its communications link with a partner.






Description: Informs the federation partner of management information relating
to the communications link
Pre-Conditions:
 Federation relationship must exist.
Conceptual Information Objects
o Inputs:
 Link Management Message
o Outputs:
 Acknowledgment
Post-Conditions
Exception Conditions
Required Affiliation Roles:
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 87
September 2014
© 2014 Health Level Seven International. All rights reserved.


N/A – This operation is in the context of Federation.
Notes
5.18 PS Publish-on-demand Interface
Interface for publisher that has desire to publish content only when there are subscribers
or for those publishers that provide dynamic topics.
Figure 28: PS Publish on Demand
The following diagram shows the typical publish on demand process:
Figure 29: Publish-on-demand
Page 88 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Start Publishing On Demand Topic
Requests that a publisher start publishing events on a topic
 Story Board
A laboratory system has registered as an on-demand publisher for the hematology results topic. A
CDS system subscribes to hematology results and the laboratory system is called to tell it to start
publishing hematology results.







Description: Allows the EPS broker to request that publisher start publishing on a
topic
Pre-Conditions:
 Publisher must have registered as an on demand publisher on the topic.
 Subscriber must exist for the topic.
 Topic must be enabled.
Conceptual Information Objects
o Inputs:
 Topic
o Outputs:
 Success/Fail
Post-Conditions
 On success, the EPS system will consider the publisher as actively
publishing to the topic.
 Expect that the publisher will start publishing to the topic.
Exception Conditions
 No Such Topic
Required Affiliation Roles:
 N/A – This operation is in the context of a publisher.
Notes
This operation is used by the EPS once a subscriber exists for a topic with an ondemand publisher.
Stop Publishing On Demand Topic
This operation instructs a publisher to stop publishing on a topic.
 Story Board
The CDS system is no longer interested in Hematology results and unsubscribes from the topic.
There are no longer any active subscribers to the topic, so the laboratory system is informed to
stop publishing on the topic.



Description: Used by the EPS system to inform a publisher the publications are
no longer required on a topic.
Pre-Conditions:
 Publisher must have registered as an on demand publisher on the topic.
 No subscribers must exist for the topic or the topic is disabled or
removed.
Conceptual Information Objects
o Inputs:
 Topic
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 89
September 2014
© 2014 Health Level Seven International. All rights reserved.
o




Outputs:
 Success/Fail
Post-Conditions
 On success the EPS system will consider the publisher as not
publishing to the topic.
Exception Conditions
 No Such Topic
Required Affiliation Roles:
 N/A – This operation is in the context of a publisher.
Notes
This operation is called by the EPS broker when the last subscription to the topic
is removed or the topic is disabled or removed.
Discover Topics

Story Board
An on-demand topic is registered as having dynamic subtopics and a user queries this topic. The
broker uses this service on the publisher to determine what additional topics exist for that
publisher.







Description: Returns the available topics for a specific publish-on-demand topic
Pre-Conditions:
 Called by the broker to determine dynamic topics.
Conceptual Information Objects
o Inputs:
 Topic Query
o Outputs:
 Topics
Post-Conditions
Exception Conditions
 Feature Not Available
 No Such Topic
Required Affiliation Roles:
 N/A – This operation is in the context of a publisher.
Notes:
Operation is required only for those publishers wishing to support dynamic topics.
The topic tree returned to the final user may actually be deeper then returned by
the publisher so that publisher context information can be presented. For example,
if the topic tree in questions was /notices/departments/…. and there are two
publishers A and B a system might return the following values:
/notices/departments/puba/radiology,
/notices/departments/puba/legal,
and
/notices/departments/pubb/radiology, /notices/departments/pubb/pharmacy. When
multiple publishers have dynamic content in the same topic, their sub trees are
considered disjointed.
Page 90 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Get Sub-Topics

Story Board
An on-demand topic is registered as having dynamic subtopics and a user queries this topic. The
broker uses this service on the publisher to determine what additional subtopics exist for that
publisher.







Description: Returns the available sub topics for a specific publish-on-demand
topic.
Pre-Conditions:
 Called by the broker to determine dynamic topics.
Conceptual Information Objects
o Inputs:
 Topic
o Outputs:
 Child Topics
Post-Conditions
Exception Conditions
 Feature Not Available
 No Such Topic
Required Affiliation Roles:
 N/A – This operation is in the context of a publisher.
Notes:
This operation is required only for those publishers wishing to support dynamic
topics. The topic tree returned to the final user may actually be deeper than that
returned by the publisher, so that publisher context information can be presented.
For example, if the topic tree in questions was “/notices/departments/…” and
there are two publishers A and B, the system might return the following values:
“/notices/departments/puba/radiology”, “/notices/departments/puba/legal”, and
“/notices/departments/pubb/radiology”,”
/notices/departments/pub/pharmacy”.
When multiple publishers have dynamic content for the same topic, their subtrees
are considered disjointed.
Retrieve Events
This operation allows a broker to contact an on-demand-publisher and use a pull
contract to request events. This request may be for a response in a "list" (aka
summary) or. "detail” form (aka list of events).

Story Board
The Clinical Decision Support System, now subscribed to the “New Laboratory Results” topic,
needs a few weeks of previously reported data to initialize its service. The system requests both a
list of all labs resulted, and the details of each test for all patients over the past three weeks.


Description: Allows the events on a topic offered by a on demand publisher to
be pulled by a broker
Pre-Conditions:
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 91
September 2014
© 2014 Health Level Seven International. All rights reserved.






Publisher must support the pull operation.
Conceptual Information Objects
o Inputs:
 Topic – Topic Id, Path or Expression, Subscription Id
 Pull Type – Full or Summary or Specific
 Pull Range: Recent or Specific
 Start: TimeStamp [Optional]
 End: TimeStamp [Optional]
 Media Forms desired [Optional]
o Outputs:
 List of Events or Event Summaries
Post-Conditions
 Subscriber specific context in topic may be updated.
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 Feature Not Available
 No Such Topic
 No Such Item
 Media Format Not Accepted
Required Affiliation Roles:
 N/A
Notes
For implementation, the operation might be represented using three separate
operations based on the Pull Type.
Replay Events
The operation requests that a publisher, given a time range, will redeliver all events
on a given topic.
 Story Board
A clinical modeling group is reviewing a patient’s encounter history with a clinical decision
engine and asks the broker to replay an encounter related topic for a particular patient to observe
the engine’s behavior.



Description: Replays events from an on demand publisher
Pre-Conditions:
 Publisher must support replay.
Conceptual Information Objects
 Inputs:
 Topic(s) – Topic Id, Path or Expression, Subscription Id
 Start: TimeStamp
 End: TimeStamp
Page 92 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014







Replay Id
Media Forms desired [Optional]
Replay Rate [Optional]
 Outputs:
 Events will be pushed to broker with the replay flag set to the
replay id.
Post-Conditions
 The broker will have the requested events pushed to them with the
replay flag set.
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 Feature Not Available
 No Such Topic
 Invalid Data
 Media Format Not Excepted
Required Affiliation Roles:
 N/A
Notes
The messages that are replayed will be sent with the provided replay id in their
header to allow the broker endpoint to clearly identify their sources.
5.19 PS Subscription Client Interface
Interface used to push events to a subscriber.
Figure 30: PS Subscription Client Interface
Topic Event
Receives an event
 Story Board
The CDS system has a push subscription to the admissions topic and a new admission is
published. The EPS system calls the CDS system with the new event.

Description: Used to receive an event
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 93
September 2014
© 2014 Health Level Seven International. All rights reserved.






Pre-Conditions:
 Push subscription to topic must exist.
Conceptual Information Objects
o Inputs:
 Topic
 Event
o Outputs:
 Success/Fail
Post-Conditions
 Event considered delivered for this subscription.
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of a subscriber.
Notes
Figure 31: Authenticated Push of Events
Topic Management Event
This operation is used by push subscribers to be informed of operational events of a
topic.
Page 94 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014

Story Board








The CDS system has a push subscription to the admissions topic. This topic requires
reconfiguration so the owner disables it. A topic management event is sent to the CDS system
so that it is aware this class of data is not currently being sent to it. When the configuration is
complete, the topic is enabled and another topic management event is sent indicating the new
status.
Description: Called to inform the subscriber of topic management related events
Pre-Conditions:
 Feature must be supported.
Conceptual Information Objects
o Inputs:
 Topic
 Topic Management Event
o Outputs:
 Success/Fail
Post-Conditions
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of a subscriber.
Notes
5.20 PS Publication Intervention Interface
The PS Publication Intervention Interface is used by the EPS broker to allow third parties
Add-in to reject or transform message content prior to publication. This provides an
essential service contract intervention point for such activities as virus scanning,
redaction, content tagging, content modification, message metadata updates, and policy
compliance.
Figure 32: PS Publication Intervention Interface
Review Message
Called to all content reviewers to alter, scan and reject content
 Story Board
A public topic is configured to automatically invoke virus checking when content is submitted. The
virus checker is invoked using an implementation of this service, which runs the check and if the
content is valid, accepts the content; otherwise, the content is rejected.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 95
September 2014
© 2014 Health Level Seven International. All rights reserved.







Description: Used by content reviewers to have an opportunity to scan, alter and
reject content
Pre-Conditions:
 Publication intervention must be configured for the broker or topic.
Conceptual Information Objects
o Inputs:
 Event
o Outputs:
 Event
 Action (Accepted/Rejected/Request Approval/Approved)
 Altered (yes/no)
Post-Conditions
 If “accepted” the content is passed to the next party.
 If “rejected” the publisher may be notified.
 If “request approval” is selected, the message is flagged for manual
approval. Additional accept events will not alter this state.
 “Approved” is a stronger form of “accepted” that overrides the
“request approval.”
 If altered is true, the altered output event is passed to the next party.
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of a review.
Notes
Publication intervention may be viewed as a chain of engines, each of which
might reject or alter the message. When no engines reject the event, then the
updated event is accepted for publication.
5.21 PS Content Brokering Interface
This interface is used by content consumers to negotiate content form with a content
provider. The interface is generally implemented by a content provider. An EPS broker
may also directly implement this interface to either directly provide content or act as an
intermediary between the original content provider and the consumer.
Figure 33: PS Content Brokering
Get Content
Page 96 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Fetch the content in the best matching form based on the requester’s desire.
 Story Board
Dr. Maxwell, a Radiologist, requests an event information as DICOM;TIFF;JPEG. The content
system supports DICOM, and since this is his first preference, the image is returned as DICOM.







Description: Retrieves content in a preferred matching form
Pre-Conditions:
 Caller must have the correct Content Id.
 Content must exist.
Conceptual Information Objects
o Inputs:
 Content Id
 Acceptable forms
o Outputs:
 Content Form
 Content
 Success/Fail
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 No Such Item
 Media Format Not Accepted
Required Affiliation Roles:
 N/A – This operation is in the context of content fetch.
Notes
The operation can fail when there is no common form between the requester and
the forms available on the server.
Supports Content Form
This operation is used to determine if a set of specific content forms is supported on a
content item.
 Story Board
A subscriber is acting as a bridge to an incoming HL7 V2 stream and when an event is received
with content negotiation, it checks to see if the event has a HL7 V2 representation.



Description: Determine the content forms supported by a content item.
Pre-Conditions:
 Caller must have the correct Content Id.
 Content must exist.
Conceptual Information Objects
o Inputs:
 List of desired forms (including any)
o Outputs:
 List of matching content forms
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 97
September 2014
© 2014 Health Level Seven International. All rights reserved.




Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 No Such Item
Required Affiliation Roles:
 N/A – This operation is in the context of content fetch.
Notes
Get Preferred Content
This operation will return the content in the form that is preferred by the content
provider.
 Story Board
A content consumer would like to consume content in a form, which the sender considers the most
relevant form as determined by the publisher.







Description: Returns the content in the form that is preferred by the content
provider
Pre-Conditions:
 Caller must have the correct Content Id.
 Content must exist.
Conceptual Information Objects
o Inputs:
 Content Id
o Outputs:
 Content Type
 Content
Post-Conditions
Exception Conditions
 Not Authorized
 Authentication Required
 Expired
 No Such Item
Required Affiliation Roles:
 N/A – This operation is in the context of content fetch.
Notes
5.22 PS Delivery Intervention interface
This interface is used by the EPS service to provide a point to intervene on message
delivery and topic access based on the consumer (subscriber).
Page 98 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Figure 34: PS Delivery Intervention
Control Topic Access
Allows a plugin engine to accept or reject a subscription to a topic.
 Story Board
Local policy places additional constraints on topic access based on third party approval.







Description: Filter Access to a topic.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 User Id
 Subscription
 Topic
o Outputs:
 Allow/Disallow
Post-Conditions
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of subscription.
Notes
Review Message
This operation provides the ability to alter and filter the messages and content
received by a subscriber.
 Story Board
Specific security tagging of message content is used to determine if a specific user can see specific
events and, if so, what form the content takes.



Description: Alters and/or filters messages or content by subscriber.
Pre-Conditions:
Conceptual Information Objects
o Inputs:
 User Id
 Event
o Outputs:
 Event
 Action: Pass/Updated/Filter
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 99
September 2014
© 2014 Health Level Seven International. All rights reserved.




Post-Conditions
 On a Pass action the event is passed to the next handler.
 On an Update action the new(altered) event is passed to the next
handler
 On a Filter action, no further processing will be done on this event and
it will not be send by the subscriber.
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of content filtering.
Notes
Review Content
This operation provides the ability to alter and filter content as part of the content
negotiation process. This operation is invoked by EPS systems that provides content
negotiation.
 Story Board
An event has been delivered to a subscriber that includes negotiated content, and the user’s view
of the content may need to be restricted.







Description: Alters and/or filters content by subscriber
Pre-Conditions:
 Request for Content via a PS Content Brokering Interface
implemented on the EPS system.
Conceptual Information Objects
o Inputs:
 User Id
 Event
o Outputs:
 Event
 Action: Pass/Updated/Filter
Post-Conditions
 On a Pass action the event is passed to the next handler.
 On an Update action the new (altered) event is passed to the next
handler.
 On a Filter action, no further processing will be done on this event and
it will not be sent by the subscriber.
Exception Conditions
Required Affiliation Roles:
 N/A – This operation is in the context of content filtering.
Notes
Page 100 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
6 Examples
This section is non-normative.
6.1 Auto Registration
The following activity diagram show how auto registration works:
Example 1: Auto Register Service access
6.2 Topic Navigation
Two examples of topic navigation follow.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 101
September 2014
© 2014 Health Level Seven International. All rights reserved.
6.3 Publication Review
The following is an example automatic Publication review.
Page 102 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Example 2: Publication Review
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 103
September 2014
© 2014 Health Level Seven International. All rights reserved.
6.4 Delivery review
The following is an example of Delivery review (Distribution filtering). There are two
dynamic forms of the review depending on whether the distribution is via a push event or
a pull request.
6.4.1 Delivery review – Push Event
The following diagram shows delivery review when an event is being pushed to a
subscriber.
Example 3: Push Event
Page 104 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
6.4.2 Delivery Review – Pull Request (List)
The following diagram shows a pull request by a subscriber for what events are available.
Delivery review filters the list of items returned to the subscriber.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 105
September 2014
© 2014 Health Level Seven International. All rights reserved.
Example 4: Delivery Review – Pull Request (List)
Page 106 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
6.4.3 Delivery review – Pull Request (Detail)
The following diagram shows how a pull request for a specific event is reviewed.
Example 5: Delivery review – Pull Request (Detail)
6.5 Auto Register a publisher
The following example shows how auto registration interacts with the publication.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 107
September 2014
© 2014 Health Level Seven International. All rights reserved.
6.6 Auto Register a Subscriber
The following example shows how auto registration interacts with the subscription.
Page 108 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 109
September 2014
© 2014 Health Level Seven International. All rights reserved.
6.7 Pull from an On Demand Publisher
The following is an example of a Pull from an On demand publisher.
Example 6: Pull from an On Demand Publisher
6.8 On Demand Topic Tree
The following is an example of an On Demand Topic tree
Page 110 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Example 7: On Demand Topic Tree
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 111
September 2014
© 2014 Health Level Seven International. All rights reserved.
6.9 Topic Administration
The following example shows some of the typical interactions that a topic administrator
might have with a topic.
6.10 User Administration
The following examples show three different user registration scenarios.
Page 112 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
7 Profiles
7.1
Introduction
A profile is a named set of cohesive capabilities. A profile enables a service to be
used at different levels and allows implementers to provide different levels of
capabilities in differing contexts. Service-to-service interoperability will be judged
at the profile level and not the service level. Note that through the use of profiles,
there are no “optional” interfaces. Conditions that might otherwise merit this
optionality should be addressed via a dedicated profile.
Include the following boilerplate text:
A set of profiles may be defined that cover specific functions, semantic information and
overall conformance. The SSDF explains in detail the meaning of each of these types of
profile. In brief, they are as follows:

Functional Profile: a named list of a subset of the operations defined within this
specification that must be supported in order to claim conformance to the profile.

Semantic Profile: identification of a named set of information descriptions (e.g.
semantic signifiers) that are supported by one or more operations.

Conformance Profile: this is a combination of a set of functional and semantic
profiles taken together to give a complete coherent set of capabilities against which
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 113
September 2014
© 2014 Health Level Seven International. All rights reserved.
conformance can be claimed. This may optionally include additional constraints
where relevant.
Fully define the profiles being defined by this version of the service.
When appropriate, a minimum profile should be defined. For example, if a service
is data-oriented, a minimum semantic profile supporting HL7 data (with the
relevant data cited) should be included.
Each functional profile must identify which interfaces are supported, and where
relevant where specific data groupings are covered etc.
When profiling, consider the use of your service in:
7.2

Differing business contexts

Different localizations

Different information models

Partner-to-Partner
contexts

Product packaging and offerings
Interoperability
Base Conformance Profile
Interface
Broker
Publication
Subscription
PS Subscription Client
Broker Management
Operation
Discover Capabilities
Discover Events For Topic
Discover Topics
Get Sub Topics
Get Topic Options
Request Access
Publish Event
Delete Event
Assert Presence
Configure Subscription Options
Get Default Subscription Options
Replay Events
Retrieve Events
Subscribe
Unsubscribe
Topic Event
Topic Management Event
Configure Topic
Create Topic
Create User
Delete Topic
Delete User
Discover User
Get Access Requests
Get Publishers For Topic
Get Subscriptions For Topic
Get Topic Metadata
Requirement
Yes
Recommended
Yes
Yes
Recommended
No
Yes
Recommended
No
Recommended
Recommended
No
Yes
Yes
Yes
Strongly Recommended
Recommended
Recommended
Recommended
Recommended
Recommended
Recommended
Recommended
No
Recommended
Recommended
Recommended
Page 114 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
Interface
Topic Management
7.3
Operation
Grant Access Request
Purge All Topic Events
Reject Access Request
Create Affiliation
Delete Affiliation
Get Affiliations For Topic
Get Affiliation For User
Move Topic
Get Pending Access Requests
Grant Access Request
Process Pending Access Requests
Reject Access Request
Update Affiliation
Requirement
No
Recommended
No
Recommended
Recommended
Recommended
Recommended
Recommended
Recommended
Recommended
Recommended
Recommended
Recommended
Push Based Subscriptions Conformance Profile
The push based subscriptions conformance profile requires the base conformance profile
and makes the following modifications:
Interface
Subscription
PS Subscription Client
Operation
Replay Events
Topic Event
Topic Management Event
Requirement
Optional
Yes
Strongly Recommended
Note: Some other features will require honoring specific data fields but should otherwise
fit in the earlier profile.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 115
September 2014
© 2014 Health Level Seven International. All rights reserved.
7.4
Access Request Conformance Profile
The access request conformance profile requires the base conformance profile and makes
the following modifications:
Interface
Broker
Broker Management
PS Subscription Client
Topic Management
Operation
Request Access
Create User
Delete Topic
Delete User
Discover User
Get Access Requests
Grant Access Request
Reject Access Request
Topic Management Event
Create Affiliation
Delete Affiliation
Get Affiliations For Topic
Move Topic
Get Pending Access Requests
Grant Access Request
Process Pending Access Requests
Reject Access Request
Update Affiliation
Requirement
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes – If Push is supported
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Note: Some other features will require honoring specific data fields but should otherwise
fit in the earlier profile.
Publish-on-demand Conformance Profile
The Publish-On-Demand profile requires the base conformance profile. Publish on
demand is made of four main features: base, pull, replay, and dynamic topics. With the
exception of the base features, the other features are optional and may be combined to
offer additional capability. The following show the additional interfaces beyond the base
conformance profile to support Publish-on-demand:
Interface
PS Publishing On Demand
7.5
Operation
Start Publishing
End Publishing
Retrieve Events
Replay Events
Discover Topic
Get Subtopics
Requirement
Yes - Base
Yes - Base
For Pull support
For Replay support
For Dynamic Topics
For Dynamic Topics
Presence Conformance Profile
The presence conformation profile builds the push based subscription profile or the
publish-on-demand profile and makes the following modifications:
Interface
Publication
Subscription
Operation
Assert Presence
Assert Presence
Requirement
If POD is supported.
If Push based subscriptions are
supported.
Page 116 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
7.6
Intervention Conformance Profile
The intervention conformance profile requires the base conformance profile and makes
the following modifications:
Interface
PS Publication Intervention
PS Delivery Intervention
7.7
Operation
Review Message
Review Content
Review Message
Control Topic Access
Requirement
Yes
Yes
Yes
Yes
Replay Conformance Profile
The replay request conformance profile requires the base conformance profile and makes
the following modifications:
Interface
Subscription
PS Publish On Demand
7.8
Operation
Replay Events
Replay Events
Requirement
Yes
Recommended if Publish One
Demand is supported
Federation Conformance Profile
The federation request conformance profile requires the base conformance profile and
makes the following modifications:
Interface
Federation
PS Federation
Operation
Get Master Federation Map
Update Source
Get Source Map
Update Source Map
Get Target
Get Target Map
Update Target Map
Receive Events
Pull Events
Synchronize
Link Management Update
Requirement
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Recommended
Yes
Note: Some other features will require honoring specific data fields but should otherwise
fit in the earlier profile.
HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm Page 117
September 2014
© 2014 Health Level Seven International. All rights reserved.
8 System Interaction Details [Optional]
Describe the dynamics of the service from a requirement-level architectural view
and its interactions with anticipated (services/components/applications, etc.)
High-level description, illustrating the storyboards, elaborated for each storyboard
in Chapter 3.
May use any well known, reasonable mechanism for communicating the
information, (e.g., UML Activity Diagrams or Sequence Diagrams)
Page 118 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
9 Recommendations for Technical RFP Issuance
There should be no impact to this service for internationalization because the service
deals in strings of data that do not need to have any other semantic or syntactic
characteristics other than those specified by the installed translation dictionaries.
However, a consumer system as a whole will typically be dependent on the analysis of
medical data and metadata in a language that can be parsed in a triple-store paradigm
from different content repositories. Although this would not affect the EPS service as a
module, it would not produce useful data packages for the system without the means to
analyze a repository of data in the same format. Such a system has only been
developed for the English language, although other languages are in development.
Page 119 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
10 Appendix A - Relevant Standards
OMG: Data Distribution Service
ATOM: IETF RFC 4887 and RFC 5023
XMPP: XEP-0060: Publish-Subscribe
OASIS: WS-BaseNotification, WS-BrokeredNotification and WS-Topics
Page 120 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
11 Appendix B - Glossary
There are a number of acronyms used in this document and in standards or other documents related to this specification. The
following is a brief list of what the most common ones stand for:
Acronym
ADT
ANSI
CDC
CDS
CDSS
DRG
DRI
DSS
EHR
EPS
HITSP
HL7
HSSP
IHE
ISO
KM
ODP
OID
OMG
PIM
PSM
POD
QOS
RCF
RFP
RIM
Full Name
Admission-Discharge-Transfer
American National Standards Institute (U.S.A.)
Center for Disease Control
Clinical Decision Support
Clinical Decision Support Service (synonymous with DSS)
Data Requirement Group
Data Requirement Item
Decision Support Service
Electronic Health Record
Event Publish and Subscribe Service
Health Information Technology Standards Panel of ANSI
Health Level 7
Healthcare Services Specification Project
Integrating the Healthcare Enterprise
International Organization for Standardization
Knowledge Module
On-Demand Publisher
Object Identifier
Object Management Group
Platform Independent Model
Platform Specific Model
Publish-on-Demand
Quality of Service
Remove Content Flag
Request for Proposal
Reference Information Model defined by HL7
Page 121 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
RM-ODP
SFM
SOA
STM
UML
Reference Model of Open Distributed Processing
Service Functional Model
Service Oriented Architecture
Service Technical Model
Unified Modeling Language
Page 122 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1 - US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
12 Appendix C - HL7 EHR Functional Model Traceability
This section lists the EHR Functions that are related to this service.
Note that in general there will not be a direct correspondence between EHR Functions and HSSP Services, since Services
are specified from a different system viewpoint. The mapping provided here enables the HSSP Services to be
understood in the context of the EHR-S Functional Model DSTU. The table below references Version ________ of the
EHR Functional Model.
EHR
Function ID
EHR Function Name
EHR Function Statement
Notes
For every row, explain the rationale for including in this specification.
Page 123 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
13 Appendix D - Relationship to Information Content
The following principles shall be followed for specifying the information model to be used by the services being specified in
this Service Functional Model:
1. SFMs shall provide a conformance profile supporting HL7 content where relevant.
2. We shall not preclude the use of non-HL7 content.
3. SFMs will reuse to the maximum extent possible the content models as defined in other standards (for example, HL7
RMIMs).
4. Information content representations shall be represented in platform-agnostic formalisms (e.g., UML).
5. SFMs may identify content at varying levels of granularity, depending upon the functions being specified. (For example,
the Common Terminology Service will deal with different granularity of information than the Resource Location and
Update Service.)
6. Conformance Profiles may be balloted or adopted after the release of the initial SFM to address specialized business needs
(e.g., realm-specific profiles, domain-specific profiles, etc.).
7. Details about semantics specific to this SFM appear in other sections of this document.

Consumer viewpoint and the value offered by the work product
Page 125 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
14 Appendix E – Functionality Comparison Matrix
The following table compares available functionality in this EPS to that of other industry
specifications. This section is non-normative.
Function
EPS
XMPP
Push Subscriber is a specialized subscriber that can actively review information and events.
OASIS
OMG
X
A content provider is an entity that can create events and fulfill content requests relating to an
event.
X
Publication Reviewer is an entity that can review, alter and filter publications prior to public
publication.
X
X
X
X
The HistoryCache forms the interface between the DDS Entities and their corresponding
RTPS Entities. both the RTPS entities and their related DDS entities are able to invoke the
operations on their associated HistoryCache.
X
Delivery Reviewer is an entity that can review, alter and filter events and information on a
subscriber level prior to the subscriber receiving the data.
X
Topic provides a convenient mechanism for grouping and organizing events into cohorts so
that they can be more easily managed
X
X
Topic Tree is a hierarchical (parent/child) grouping of Topics.
X
X
Topic Set is the collection of Topics supported by a NotificationProducer.
X
Meta data describes a topic, the types of events it publishes, event durability, etc.
Event Durability interacts with the ability of a topic to receive and deliver a message in a
transactional manner. Durability is explicitly related to the integrity of the event handling. The
spectrum of durability covers topics that are transient in nature to topics where full transaction
message qualities are required.
Retention defines if events are retained after all subscribers have received them. For
example, do they time out (cease delivery attempts after a fixed time period) and do they
expire? The following are the possible retention policies: Permanent, Until Delivered,
Unretained, Fixed Time period, Until Expired, Fix Period after Delivery, Fixed Period after
Expiration
X
X
X
X
Replay for a topic can be supported if the topic has a compatible retention policy.
X
Options allow one or more characteristics of a topic to be configured.
X
Publication Contract enables a Publisher to deliver events that are to be published by the
Service.
Messages provide the mechanism for participants to communicate and exchange information.
X
X
X
X
Messages Module describes the overall structure and logical contents of the messages that
are exchanged between the Writer endpoints and Reader endpoints.
Page 127 HL7 Version 3 Specification: Event Publish & Subscribe Service Interface, Release 1- US Realm
© 2014 Health Level Seven International. All rights reserved.
September 2014
X
X
Message Header provides routing and other metadata required for sending and receiving
messages.
X
X
AckNack submessage indicates acknowledgement state--positive or negative.
X
Gap a type of submessage sent from an RTPS Writer to an RTPS Reader and indicates to
the RTPS Reader that a range of sequence numbers is no longer relevant. The set may be a
contiguous range of sequence numbers or a specific set of sequence numbers.
X
Heartbeat is a message sent from an RTPS Writer to an RTPS Reader to communicate the
sequence numbers of changes that the Writer has available.
X
HeartbeatFrag: When fragmenting data and until all fragments are available, the
HeartbeatFrag Submessage is sent from an RTPS Writer to an RTPS Reader to
communicate which fragments the Writer has available. This enables reliable communication
at the fragment level. Once all fragments are available, a regular Heartbeat message is used.
X
InfoDestination message is sent from an RTPS Writer to an RTPS Reader to modify the
GuidPrefix used to interpret the Reader entityIds appearing in the Submessages that follow it.
X
InfoReplay message is sent from an RTPS Reader to an RTPS Writer. It contains explicit
information on where to send a reply to the Submessages that follow it within the same
message.
X
Message Body contains the content of the message.
X
Management Event communicates operational information about the Service, its users, and
the topics being published.
X
Mgmt Event Header provides routing and other metadata required for sending and receiving
management messages.
X
Authorship identifies the source of the event being published.
X
User is a person with the authority to access the Service, register a source of events, or
subscribe to a topic.
X
X
X
X
X
X
X
X
Participant: Container of all RTPS entities that share common properties and are located in a
single address space.
X
HistoryCache: Container class used to temporarily store and manage sets of changes to
data-objects. On the Writer side it contains the history of the changes to data-objects made
by the Writer. On the Reader side it contains the history of the changes to data-objects made
by the matched RTPS Writer endpoints.
X
An affiliation is an access profile that defines the privileges afforded to a user on a specific
topic. See Affiliation Role for more information on privileges.
X
Access Model provides default security configuration for a Topic, for example, whether
authorization is required for Users or not, or if the Topic is not open for registration at all.
X
Access Request: A request by a Publisher/Subscriber to be able to be granted access to the
Service.
X
Affiliation Role specifies access privileges afforded to users by their affiliations with specific
topics, for example, a Publisher or a Subscriber. A user may have multiple roles on a topic.
The granting of some roles on the topic may grant or revoke other previous grants.
X
Service Capability communicates the functional abilities of a particular implementation, for
example, whether it can support on demand publishing, anonymous subscriptions, or
configurable durability.
X
Notification Address: The address (endpoint) at which a Publisher or a Subscriber expects to
receive communicates.
X
Channel: A communication queue that provides a mechanism for publishers and subscribers
to manage messages pertaining to the topics that are to be published or that have been
subscribed to.
X
Topic Trees are grouped together into the same namespace for administrative purposes. In
order to avoid naming collisions, and to facilitate interoperation between independently
developed NotificationProducers and Subscribers, every WS-Notification Topic is assigned to
an XML Namespace. The set of Topics associated with a given XML Namespace is termed a
Topic Namespace. Any XML Namespace has the potential to scope a collection of Topics.
Event, Situation: Some occurrence known to a NotificationProducer and of potential interest
to third parties. A Situation could be a change of the internal state of a resource or could be
environmental, such as a timer event. It could also be an external event, such as a piece of
news that has been supplied by a news-feed service.
X
X
X
Page 128
Event Publish & Subscribe Service Interface, Release 1
© 2014 Health Level Seven International. All rights reserved.
January 2014
X
Brokered Publication Model acts as an intermediary managing all content contracts. Some of
the potential advantages to the brokered model are listed below:
•
Clients need only implement one simple contract.
•
Support for multiple subscription forms. For example, push, pull, or replay.
•
Provides a single audit and control point
•
Strong base for providing ACID and transactional properties
•
Exhibits noninterference at a computational level with mission critical systems
•
Provides a single point of implementation to the complex portions of the service
•
Brokers may be validated by national processes.
The broker provides a single business integration point enabling best of breed capabilities to
be developed without undue burden on publishers or subscribers. With a goal of making the
publisher/subscriber roles as lightweight as possible, the broker may run independently of
either.
Broker is the main intermediary of published and delivering information and events.
Discover Topics: Inquire into available topics
X
X
X
X
X
SubscriptionManager is an endpoint, represented by an endpoint reference that implements
message exchanges associated with the SubscriptionManager interface. A
SubscriptionManager provides operations that allow a service requestor to query and
manipulate Subscription resources that it manages. A SubscriptionManager is subordinate to
the NotificationProducer, and MAY be implemented by the NotificationProducer service
provider. However WS-Notification permits it to be implemented by a separate service
provider, should an implementer so desire. The SubscriptionManager interface defines
message exchanges to manipulate Subscription resources. A NotificationBroker is an
intermediary Web service that decouples NotificationConsumers from Publishers. A
notification broker can relieve a Publisher from having to implement message exchanges
associated with NotificationProducer; the NotificationBroker takes on the duties of
subscription management and distributing Notifications on behalf of the Publisher. It
implements NotificationProducer interface.
Renew: To modify the current lifetime of a Subscription, a requestor sends a Renew request
message to the SubscriptionManager.
RegisterPublisher: A Publisher sends a Notify message to a NotificationBroker in order to
publish a Notification on a given Topic. As a result of the Publisher sending this message,
Notifications are delivered to all NotificationConsumers subscribed on the given Topic. This is
a PUSH subscription.
A NotificationBroker MAY also support the required message exchanges defined in the WSResourceProperties specification and MAY support the optional message exchanges defined
in the WS-ResourceProperties specification. 5.2 /wsn-br:RequiresRegistration: The value is
“true” if the NotificationBroker requires a publisher to register before sending it a Notify (i.e.
publish) message on a Topic. Publisher registrations.
Get Sub Topics
X
X
X
X
X
X
X
X
X
Get Topic Options: Get the options that are used to configure topics on this broker.
X
Discover Node Metadata
X
X
Discover Events for Topic: This operation is used to get a “directory” of the events that have
been published to a topic.
X
X
Discover Features, DiscoverCapabilities: Inquire into Broker Capabilities. The services
provide information about the general capabilities of the Broker. This includes the type of
contracts the broker is capable of and which optional features are available.
X
X
Request Access: This operation is used to submit a user profile for the EPS system
requesting access.
X
Subscription is a contract that enables a Subscriber to receive events that have been
published to the Service.
X
X
X
X
Subscriber is a consumer of information.
X
X
X
X
Subscribe To A Topic operation allows a subscriber to subscribe to a specific topic or topics
depending on the capability of the broker. Some brokers may support wildcard and filter
based subscriptions. The nature of the subscription is also specified in this call.
X
X
X
Unsubscribe allows a subscriber to remove an existing subscription from the EPS service.
The events queue for this subscription is deleted.
X
X
X
Retrieve Events (PULL) allows a client, who always is responsible for retrieving content in a
pull contract, to request "list" vs. "detail."
X
X
X
X
Event Publish & Subscribe Service Interface, Release 1
Page 129
January 2014
© 2014 Health Level Seven International. All rights reserved.
Requesting the Most Recent Items: A service MAY allow entities to request the most recent N
items by using the ’max_items’ attribute. When max_items is used, implementations
SHOULD return the N most recent (as opposed to the N oldest) items. (Note: A future version
of this specification may recommend the use of XEP-0059 instead of the ’max_items’
attribute.) 6.5.8 The subscriber can request a particular item by specifying the Node ID and
the appropriate ItemID.
Replay Events: Given a time range, all events on a given topic will be redelivered or retrieved
based on the type of subscription and the nature of the topic.
X
Returning Some Items: A node may have a large number of items associated with it, in which
case it may be problem- atic to return all of the items in response to an items request. In this
case, the service SHOULD return some of the items and note that the list of items has been
truncated by including a Result Set Management notation.
X
X
X
X
X
Assert Presence: This operation allows subscribers to update their presence statuses.
X
X
Configure Subscription Options: This operation allows a subscriber to change the options
associated with a specific subscription.
X
X
Filter component: The process of selecting messages for reception and processing is called
filtering and can be categorized as topic-based or content-based.
X
X
Filter component
X
X
X
X
/wsnt:Subscribe/wsnt:SubscriptionPolicy/wsnt:UseRaw: An element whose presence
indicates that the NotificationProducer is to produce Notifications without using the
wsnt:Notify wrapper. This element SHOULD NOT occur more than once in a Subscribe
request message, as only its presence or absence is significant.
X
/wsnt:SubscribeResponse/wsnt:SubscriptionReference: A reference to the Subscription
created as a result of the Subscribe message.
X
Get Default Subscription Options: The operation allows a subscriber to get the default
subscription options for a topic. This is most useful when subscribing to a new topic.
X
Request Default Subscription Configuration Options; part of get default: An entity might want
to request information about the default subscription configuration. Support for this feature is
OPTIONAL.
Notification: Notify subscriber of event.
X
X
X
NotificationConsumer Interface (Notify message): In contrast to the "raw" notification, the
Notify message provides a well-specified mechanism by which the NotificationProducer can
supply additional information (such as the Topic) in addition to the application-specific
Notification content. It also allows the NotificationConsumer to receive a wide range of
Notifications without having to explicitly provide support for each one in its WSDL. This form
of Notification also allows a batch of several Notifications to be combined into a single
physical message.
X
X
Notification Reliability: Depending on the actual delivery mechanism, this transmission might
be reliable or might be done on a best-effort basis. A Notification which is never produced will
definitely never be delivered, but the converse is not necessarily true: a Notification which is
produced may or may not actually be delivered, depending on the delivery mechanism, the
validity of the NotificationConsumer address, the state of the network, and so forth.
Notification Metadata: A combination of the following metadata elements in the Notifications it
produces: Subscription Reference (Endpoint Reference), Topic (Topic Expression),
Topic/@Dialect, Producer Reference.
/wsnt:Subscribe/wsnt:Filter/wsnt:TopicExpression/@Dialect:
X
Topic Expression Dialects: Topics are referred to by TopicExpressions. There are several
places in WS-Notification where these expressions can appear:
• As a component of the Subscribe message request to a NotificationProducer;
• As a component of a Notification message sent to a NotificationConsumer or
NotificationBroker;
• In the TopicExpression Resource Property element(s) associated with the
NotificationProducer role
/
Publication: The service allows a publisher to publish or delete an event in an already defined
topic. The publisher in question must typically have authenticated access to publish on the
specific topic matter. More than one publisher might have privileges to publish on a specific
topic. A publisher might have privileges to publish a single event to more than one topic.
X
Publisher is an entity that makes information or events available by publishing it.
X
X
X
Page 130
Event Publish & Subscribe Service Interface, Release 1
© 2014 Health Level Seven International. All rights reserved.
January 2014
X
Publisher Requirements: NotificationProducers MAY advertise more constrained behavior
through policy assertions or other means. In cases where the wsnt:UseRaw policy component
is not specified, the Web service identified by the endpoint reference SHOULD implement the
Notify message, as the NotificationProducer will by default produce Notifications in this form.
/wsnt:Subscribe/wsnt:Filter: The NotificationProducer MUST respond with an
InvalidFilterFault message if any child expression element is not supported by the
NotificationProducer. A NotificationProducer MAY accept any filters that may be defined.
X
Return Fault: If the subscription request cannot be handled, the NotificationProducer returns a
fault. The production of Notifications may be realized in a number of ways. In one particular
configuration, the NotificationProducer reproduces
Notifications produced by other entities. Alternatively, a NotificationProducer may produce
Notifications itself.
X
Publication: Publish Event to Topic
X
X
Extension Topics: A NotificationProducer MAY support Topics that are marked as Extensions
of other Topics. Support for such Topics is OPTIONAL
X
Delete Event from Topic, Delete an Item from a Node: This operation allows a publisher to
remove a previously published event from a topic.
X
Assert Presence: Assert presence allows Publish-on-demand publishers to update their
presence statuses.
X
Auto Register a Publisher, Auto Register a Subscriber
X
X
Register_type allows an application to communicate to the Service the existence of a data
type.
X
Automatic Node Creation: A pubsub service MAY automatically create a node when it
receives a publish request sent to a node that does not exist.
X
Publishing Options: A pubsub service MAY support the ability to specify options along with a
publish request.
X
Create Affiliation: This service creates an affiliation between a user and a topic. This affiliation
will grant the user specific privileges on the topic.
X
Get Affiliations for Topic: Get the affiliations for a topic. Used to determine which users have
what access to the topic.
X
X
Get Affiliations for User: Find all the affiliations for a user including the topics to which they
relate.
X
X
Update Affiliation
X
X
Delete Affiliation
X
X
Get Pending Access Requests
X
Grant Access Request
X
Reject Access Request
X
Process Pending Access Requests
X
Management: The service supports registering a publisher, updating a directory of publishers,
creating and configuring topics, publishing topic events, managing subscriptions, etc. Service
Administration: Administrative functionality includes registering publishers, managing the
topics that producers can publish to, supporting subscriber consumer subscriptions, or
managing the affiliations to a topic such as related topics, banned users, ownership, whitelist,
etc.
Broker Manager (dupe)
Create Topic/Node or subtopic
X
X
X
X
X
X
X
X
Create a Node With Default Configuration; Request Default Node Configuration Options: The
node creator accepts the default configuration. A service MAY allow entities to determine the
default configuration options for a given node type before creating a node. 8.3 An entity may
want to request information about the default node configuration, e.g. in order to determine
whether to perform create-and-configure as previously described. Support for this feature is
OPTIONAL.
remove_change: This operation indicates that a previously-added CacheChange has become
irrelevant and the details regarding the CacheChange need not be maintained in the
HistoryCache.
Delete Topic
X
X
X
Event Publish & Subscribe Service Interface, Release 1
Page 131
January 2014
© 2014 Health Level Seven International. All rights reserved.
X
delete contained entities: This operation deletes all the entities that were created by means of
the “create” operations on the DomainParticipant.
That is, it deletes all contained Publisher, Subscriber, Topic, ContentFilteredTopic, and
MultiTopic.
Configure Topic: Update the configuration and/or metadata relating to a topic.
X
X
X
Form Submission, Form Processing: After receiving the configuration form, the owner
SHOULD submit a completed configuration form. If the form can be successfully processed,
the service MUST return an IQ-result.
X
Get Topic Metadata
X
Resource limits policy controls the resources that the Service can use in order to meet the
requirements imposed by the application and other QoS settings. If the DataWriter objects are
communicating samples faster than they are ultimately taken by the DataReader objects, the
middleware will eventually hit against some of the QoS-imposed resource limits. Note that this
may occur when just a single DataReader cannot keep up with its corresponding DataWriter.
The behavior in this case depends on the setting for the RELIABILITY QoS. If reliability is
BEST_EFFORT, then the Service is allowed to drop samples. If the reliability is RELIABLE,
the Service will block the DataWriter or discard the sample at the DataReader 28in order not
to lose existing samples.
Get Publisher(s) ForTopic: This service will retrieve all publishers for a particular topic.
X
X
X
X
get default publisher: This operation retrieves the default value of the Publisher QoS, that is,
the QoS policies which will be used for newly
created Publisher entities in the case where the QoS policies are defaulted in the
create_publisher operation.
X
get default publisher QoS: set default publisher QoS: This operation retrieves the default
value of the Publisher QoS, that is, the QoS policies which will be used for newly-created
Publisher entities in the case where the QoS policies are defaulted in the create_publisher
operation. OMG2 7.1.2.2.1.23 set default publisher QoS This operation sets a default value of
the Subscriber QoS policies that will be used for newly created Subscriber entities
in the case where the QoS policies are defaulted in the create_subscriber operation.
get default subscriber QoS: This operation retrieves the default value of the Subscriber QoS,
that is, the QoS policies which will be used for newly created Subscriber entities in the case
where the QoS policies are defaulted in the create_subscriber operation.
X
X
Implementing DDS QoS and advanced DDS features using RTPS: The RTPS protocol and its
extension mechanisms provide the core functionality required to implement DDS.
X
Supported QoS: The Data-Distribution Service (DDS) relies on the use of QoS. A QoS
(Quality of Service) is a set of characteristics that controls some aspect of the behavior of the
DDS Service.
X
Get Subscriptions For Topic
X
X
X
ignore subscription: This operation allows an application to instruct the Service to locally
ignore a remote subscription. After this call, any data received related to that subscription will
be ignored.
X
Purge All Topic Events
X
Create a User: Register a user with the broker. This operation is used to establish a user, the
user configuration information, privileges, and access to topics including role.
X
Delete a User
X
Discover a User: This operation is used to find users and all basic information about that user.
X
X
X
X
Versioning and Extensibility. Implementations of this version of the RTPS protocol should be
able to process RTPS Messages not only with the same major version but possibly higher
minor versions. 8.6.1 Within this major version, future minor versions of the protocol can
augment the protocol in the following ways:
•
Additional Submessages with other submessageIds can be introduced and used
anywhere in an RTPS Message. An implementation should skip over unknown Submessages
using the submessageLength field in the SubmessageHeader.
•
Additional fields can be added to the end of a Submessage that was already defined in
the current minor version. An implementation should skip over additional fields using the
submessageLength field in the SubmessageHeader.
•
Additional built-in Endpoints with new IDs can be added. An implementation should
ignore any unknown built-in Endpoints.
•
Additional parameters with new parameterIds can be added. An implementation should
ignore any unknown parameters.
Page 132
Event Publish & Subscribe Service Interface, Release 1
© 2014 Health Level Seven International. All rights reserved.
January 2014
X
X
X
X
Move Topic: This operation allows a topic to be move to a different location in the topic tree.
All events, subscriptions, and publication contracts remain in place.
X
Update a User: Update the information associated with a user. This would include privileges,
options, and authentication information for the user.
X
Manage Subscription Requests: A service MAY send subscription approval requests to the
node owner(s) at any time.
Grant Access Request: Upon receiving the data form for managing subscription requests, the
owner then MAY request pending subscription approval requests for a given node.
Reject Access Request: This operation allows an application to instruct the Service to locally
ignore a remote domain participant. From that point onwards the Service will locally behave
as if the remote participant did not exist. This means it will ignore any Topic, publication, or
subscription that originates on that domain participant.
X
X
X
Get Broker Status: This operation determines the current status of the broker.
X
Get Broker Statistics: This operation is used to find basic statistics about the broker.
X
Get Topic Statistics: This operation is used to get basic operational statics about a topic.
X
Federation: The service supports a federated operating model whereby an EPS broker can
be a part of a larger network of brokers, each responsible for publishing topics and
information according to their content provider contracts and individual configurations.
Federation allows multiple EPS systems to form a larger information resource, providing
transparent information sharing for their user base.
X
Get Master Federation Map: This operation retrieves a map of all federation relationships for
this broker.
Update Source: This operation allows a particular federation source definition to be modified.
X
X
X
Get Source Map: This operation retrieves a map of all federation relationships for a specific
source.
X
Update Source Map: This operation updates the mapping between a particular source and
the local and remote topic trees.
X
Update Target: This operation allows a particular federation target definition to be modified.
X
Get Target Map: This operation retrieves a map of all federation relationships for a specific
target.
X
Update Target Map: This operation updates the mapping between a particular target and the
local and remote topic trees.
X
Receive Events: This operation is used to receive a set of push events from a federated
system.
Pull Events: This operation provides a mechanism to pull a set of events.
Accumulating Notification Messages: Notification Messages received by the PullPoint through
its NotificationConsumer interface are accumulated by the PullPoint on a best effort basis. If
the PullPoint is no longer capable of accumulating additional Notification Messages, it MAY
ignore Notification Messages sent to its NotificationConsumer interface, or it MAY dispose of
any previously accumulated Notification Messages and continue to accumulate incoming
Notification Messages.
X
X
X
X
X
X
Synchronize: This operation provides a mechanism for a federation partner to receive a
synchronization message.
X
Link Manage Update: This operation is used to inform the federation partner of management
information relating to the link.
X
Get Content: Fetch the content in the best matching form based on the requester’s desire.
X
Get Preferred Content: This operation will return the content in the form that is preferred by
the content provider.
X
Supports Content Form: This operation is used to determine if a set of specific content forms
is supported on a content item. 2.3 Content Brokering: The service has a notion of deferred
content delivery and negotiation whereby an indirect reference to content can be passed to
the broker and subscribers. This allows large artifacts and multiple presentations of data to be
supported efficiently. Content brokering is a general capability that a particular publisher
would support. It is expected the broker may be able to act as a content brokering
intermediary when the origin material is not publicly available to the subscribers. Subscribers
use content brokering to get to information in their preferred form (format, character set,
presentation, language, etc.)
X
On Demand Publisher: The On Demand Publisher is a specialized form of publisher that can
offer data when a subscriber is interested in it.
X
X
Event Publish & Subscribe Service Interface, Release 1
Page 133
January 2014
© 2014 Health Level Seven International. All rights reserved.
Start Publishing On Demand Topic: Requests that a publisher start publishing events on a
topic.
X
X
Stop Publishing On Demand Topic: This operation instructs a publisher to stop publishing on
a topic.
X
X
Retrieve Events: This operation allows a broker contact an on-demand-publisher and use a
pull contract to request events.
X
X
DestroyPullPoint: The PullPoint interface provides a destroy operation, providing a means by
which a requestor can terminate the PullPoint resource. Upon receipt of the DestroyPullPoint
request, the PullPoint MUST attempt to destroy itself. If the DestroyPullPoint request
message is successfully processed, the PullPoint MUST send a response message. If the
PullPoint does not respond to the DestroyPullPoint request message with the
DestroyPullPointResponse message, then it MUST send a fault.
X
X
DestroyPullPoint Faults: If the PullPoint does not respond to the DestroyPullPoint request
message with the DestroyPullPointResponse message, then it MUST send a fault. This
specification defines the following
faults associated with failure to process the DestroyPullPoint request message:
* ResourceUnknownFault: The PullPoint is acting as a WS-Resource, and the resource
identified in the request message is not known to the Web service.
* UnableToDestroyPullPointFault: The PullPoint was unable to destroy the PullPoint resource
for some reason.
Replay Events: The operation requests that a publisher, given a time range, will redeliver all
events on a given topic.
XMPP: Retrieve Items from a Node: Implementations of pubsub that choose to persist items
MAY allow entities to request existing items from a node (e.g., an entity may wish to do this
after successfully subscribing in order to receive all the items in the publishing history for the
node).
X
X
Inquire into available topics (Discover Topics): Returns the available topics for a specific
publish-on-demand topic.
X
Get Subtopics: Returns the available sub topics for a specific publish-on-demand
X
Topic Event: Receives an event.
X
Topic Management Event: This operation is used by push subscribers to be informed of
operational events of a topic.
X
Review Content: This operation provides the ability to alter and filter content as part of the
content negotiation process. 2.3 Content Intervention: The service supports active
intervention on information that is accepted for publication. In addition, intervention is also
allowed on a per delivery basis to a specific subscriber. Intervention can include analysis,
rejection/filtering, supplementation, alteration, and redaction. Intervention can be chained and
are configurable by broker managers and topic owner.
Review Message: This operation provides the ability to alter and filter the messages and
content received by a subscriber.
Control Topic Access: Allows a plug-in engine to accept or reject a subscription to a topic.
X
X
X
X
X
ignore topic: This operation allows an application to instruct the Service to locally ignore a
Topic. This means it will locally ignore any
X
publication or subscription to the Topic.
X
Security Considerations: Baseline security considerations for WS-Notification are discussed
in WS-BaseNotification specification.
X
X
Form Submission: After receiving the configuration form, the requesting entity SHOULD
submit the form in order to update the entity’s subscription options for that node.
X
Form Processing: If the service can successfully process the submission, it MUST respond
with success.
X
IM Account Integration: Publish-subscribe functionality can be integrated into existing instant
messaging and pres- ence services (see RFC 3921), such that each registered account
functions as a virtual pubsub service.
X
Subscription Manager Interface, Base Subscription Manager: broker functionality and
subscription management: The SubscriptionManager interface defines message exchanges
to manipulate Subscription resources. There are two styles of SubscriptionManager interface:
base and pausable. All SubscriptionManagers MUST implement the message exchanges
described in the Base Subscription Manager section. The basic behavior of a
SubscriptionManager is to renew the duration of a Subscription resource and terminate a
Subscription.
X
X
Page 134
Event Publish & Subscribe Service Interface, Release 1
© 2014 Health Level Seven International. All rights reserved.
January 2014
Pausable Subscription Manager, PauseSubscription: A Pausable Subscription Manager
implements all the message exchanges defined in the Base Subscription Manager and
augments this with a set of advanced capabilities to allow third parties to pause and resume
subscriptions. To temporarily suspend the production of Notifications on the given
Subscription, a requestor MAY send a PauseSubscription request message to the
SubscriptionManager.
X
Resume Subscription: If a requestor wishes to resume the production of Notifications on the
given Subscription, it must send a ResumeSubscription request message.
X
Subscriptions as WS-Resources: Either Base Subscription Managers or Pausable
Subscription Managers MAY expose subscriptions as WS-Resources. A Subscription
Manager that exposes Subscriptions as WS- Resources MUST support the required message
exchanges associated with the WS- ResourceProperties specification [WSResourceProperties] and MAY support the OPTIONAL message exchanges defined by WSResourceProperties. If a SubscriptionManager exposes Subscriptions as WS-Resources then
these WS-Resources MUST support the immediate termination interface defined by Web
Services Resource Lifetime [WS-ResourceLifetime] and MAY support the scheduled
termination interface defined by Web Services Resource Lifetime. Such Subscription
Managers MAY support other means of destroying Subscriptions. A Subscription Manager
MUST declare to requestors (for example in a WSDL definition) which means of Subscription
destruction are supported.
PublisherRegistrationManager Interface: The PublisherRegistrationManager interface defines
message exchanges to manipulate PublisherRegistration resources. The
PublisherRegistrationManager MAY expose PublisherRegistrations as WS-Resources, and if
it does then the PublisherRegistrationManager MUST support the immediate termination
interface defined by WS-ResourceLifetime and it MAY support the scheduled termination
interface defined by WS-ResourceLifetime. If the PublisherRegistrationManager does not
respond to a request message with a response message defined in this specification, then it
MUST send a fault. The WS-ResourceProperties and WS-ResourceLifetime specifications
define some of these fault messages.
PublisherRegistration Resource Properties: In addition to the message exchanges described
in this specification, a PublisherRegistrationManager MAY also support the required message
exchanges defined in the WS-ResourceProperties specification and MAY support the optional
message exchanges defined in the WS-ResourceProperties specification.
X
X
X
create_publisher, delete_publisher: A Publisher is an object responsible for data distribution.
It may publish data of different data types. A DataWriter acts as a typed accessor to a
publisher. The Publication Module contains the Publisher and DataWriter classes as well as
the PublisherListener and DataWriterListener interfaces, and more generally, all that is
needed on the publication side.
X
DCPS - Data-Centric Publish-Subscribe
X
Structure of the Service: This operation creates a ContentFilteredTopic. A
ContentFilteredTopic can be used to do content-based subscriptions. The deletion of a
ContentFilteredTopic is not allowed if there are any existing DataReader objects that are
using the ContentFilteredTopic.
X
create_multitopic, delete_multitopic: Call out notion of aggragate topics and their mgmt.
(similar to createtopic & deletetopic)
X
X
get built-in subscriber: This operation allows access to the built-in Subscriber. Each
DomainParticipant contains several built-in Topic objects as well as corresponding
DataReader objects to access them. All these DataReader objects belong to a single built-in
Subscriber [Here, subscriber does not mean consumer, right?]. The built-in Topics are used
to communicate information about other DomainParticipant, Topic, DataReader, and
DataWriter objects.
X
create_participant, delete participant, lookup_participant (See User.)
X
get_instance (too low level (implementation level): This operation returns the
DomainParticipantFactory singleton. The operation is idempotent, that is, it can be called
multiple times without side-effects and it will return the same DomainParticipantFactory
instance.
X
set_qos, get_qos; set default publisher Quality of Service (QoS).: This operation sets a
default value of the Publisher QoS policies which will be used for newly created Publisher
entities in the case where the QoS policies are defaulted in the create_publisher operation.
OMG1 2.2.1 With the Quality-of-Service concept, DDS provides a sophisticated means to
dynamically tailor data distribution according to the application requirements. In particular,
QoS provide the ability to control and limit the use of resources like network bandwidth or
memory as well as reliability, timeliness and persistence of the data transfer.
X
Event Publish & Subscribe Service Interface, Release 1
Page 135
January 2014
© 2014 Health Level Seven International. All rights reserved.
X
Topics Class: The Topic-Definition Module is comprised of the following classes:
• TopicDescription
• Topic
• ContentFilteredTopic
• MultiTopic
• TopicListener
• TypeSupport
X
X
Derived Classes for Each Application Class: The DCPS Publication Module is comprised of
the following classifiers:
• Publisher
• DataWriter
• PublisherListener
• DataWriterListener
X
create_ datawriter, delete_datawriter, READER_DATA_LIFECYCLE
X
Detection of loss in topological connectivity: There are applications that are designed in such
a way that their correct operation requires some minimal topological
connectivity, that is, the writer needs to have a minimum number of readers or alternatively
the reader must have a minimum number of writers.
X
DLRL objects
X
List: It provides the following methods:
• remove - to remove the item with the highest index from the collection.
• added_elements - to get a list that contains the indexes of the added elements.
• removed_elements - to get a list that contains the indexes of the removed elements.
• modified_elements - to get a list that contains the indexes of the modified elements.
• add - to add an item to the end of the list.
X
RTPS Header structure
X
RTPS Receiver, RTPS Message Receiver: For each new Message, the state of the Receiver
is reset and initialized as listed below. OMG1 8.3.4 The interpretation and meaning of a
Submessage within a Message may depend on the previous Submessages contained within
that same Message. Therefore, the receiver of a Message must maintain state from
previously deserialized Submessages in the same Message. This state is modeled as the
state of an RTPS Receiver that is reset each time a new message is processed and provides
context for the interpretation of each Submessage.
X
SubmessageElements (RTPS ). Submessage structure. RTPS Submessages. Purpose: Each
RTPS Message consists of a variable number of RTPS Submessage parts. All Submessages
start with a SubmessageHeader part followed by a concatenation of SubmessageElement
parts. The SubmessageHeader identifies the kind of Submessage and the optional elements
within that Submessage. The SubmessageHeader contains the fields listed in Table 8.15:
submessageId, flags, submessageLength. Submessages are categorized into two groups:
Entity- Submessages and Interpreter-Submessages. Entity Submessages target an RTPS
Entity. Interpreter Submessages modify the RTPS Receiver state and provide context that
helps process subsequent Entity Submessages.
Additional SubmessageElements: In addition to the SubmessageElements introduced by the
PIM, the UDP PSM introduces the additional SubmessageElements.
X
X
User traffic: User traffic is the traffic exchanged between user-defined Endpoints (i.e., non
built-in Endpoints). As such, it pertains to all the traffic that is not related to discovery.
X
OMG 2: 8.4.4 The Behavior of a Writer with respect to each matched Reader: The behavior of
an RTPS Writer with respect to each matched Reader depends on:
• The setting of the reliabilityLevel attribute in the RTPS Writer and RTPS Reader. This
controls whether a best-effort or
a reliable protocol is used.
• The setting of the topicKind attribute in the RTPS Writer and Reader. This controls whether
the data being
communicated corresponds to a DDS Topic for which a Key has been defined.
X
RTPS Writer Attributes. Configuration attributes of the RTPS Entities: Includes pushMODE,
hearbeatPeriod, etc. RTPS entities are configured by a set of attributes. Some of these
attributes map to the QoS policies set on the corresponding DDS entities. Other attributes
represent parameters that allow tuning the behavior of the protocol to specific transport and
deployment situations. Additional attributes encode the state of the RTPS Entity and are not
used to configure the behavior.
X
Large Data: Includes several sections on fragments
X
Page 136
Event Publish & Subscribe Service Interface, Release 1
© 2014 Health Level Seven International. All rights reserved.
January 2014
Simple Endpoint Discovery Protocol. Simple Participant Discovery Protocol. Simple Endpoint
Discovery Protocol: The purpose of a PDP is to discover the presence of other Participants
on the network and their properties. A Participant may support multiple PDPs, but for the
purpose of interoperability, all implementations must support at least the Simple Participant
Discovery Protocol. An Endpoint Discovery Protocol defines the required information
exchange between two Participants in order to discover each other’s Writer and Reader
Endpoints. A Participant may support multiple EDPs, but for the purpose of interoperability, all
implementations must support at least the Simple Endpoint Discovery Protocol.
X
Removal of a previously discovered Participant: Based on the remote Participant’s
leaseDuration, a local Participant ‘local_participant’ concludes that a previously discovered
Participant with GUID_t participant_guid is no longer present. The Participant
‘local_participant’ must reconfigure any local Endpoints that were communicating with
Endpoints in the Participant identified by the GUID_t participant_guid.
X
What cannot change within this major Version: The following items cannot be changed within
the same major version:
• A Submessage cannot be deleted.
• A Submessage cannot be modified except as described in Section 8.6.1.
• The meaning of submessageIds cannot be modfied.
All such changes require an increase in the major version number.
X
Globally Unique Identifier (GUID) is an attribute present in all RTPS Entities that uniquely
identifies them within the DDS domain. The PIM defines the GUID as composed of a
GuidPrefix_t prefix capable of holding 12 bytes, and an EntityId_t entityId capable of holding 4
bytes.
X
Mapping of the RTPS Messages
X
Data Encapsulation
X
DCPS comprises five modules: Domain, Publication, Subscription, Topic, Infrastructure
X
The Infrastructure Module defines the abstract classes and the interfaces that are refined by
the other modules. It also provides support for the two interaction styles (notification- and
wait- based) with the middleware. It comprises the following classifiers: Entity, DomainEntity,
QosPolicy, Listener, Status, WaitSet, Condition, GuardCondition, StatusCondition
X
The Domain Module contains the DomainParticipant class that acts as an entry-point of the
Service and acts as a factory for many of the classes. The DomainParticipant also acts as a
container for the other objects that make up the Service.
X
MultiTopic
X
DataReader
X
Message States: Every message has a state which describes where it is in the broker’s
workflow.
· Delivered – Subscribers have received the message.
· Expired – Message has expired.
· Review Pending – Message requires review.
· Rejected – Message rejected from publication.
· Initial – Message is new.
· Approved – Message is approved for publication.
· Deleted – Message has been removed.
· Pending – Message is pending delivery to subscribers.
Coherent Sets: The DDS specification provides the functionality to define a set of sample
updates as a coherent set. A DataReader is only notified of the arrival of new updates once
all updates in the coherent set have been received.
What constitutes a coherent set is defined on the DataWriter side by using the container
Publisher to denote the beginning and end of the coherent set. A coherent set may span only
the instances written to by a given DataWriter (access scope TOPIC) or may span across
multiple DataWriters belonging to the same Publisher (access scope GROUP). Please refer
to the DDS specification for additional details. In order to support coherent sets, RTPS uses
the in-line QoS parameter extension mechanism to include additional information in-line with
each Data Submessage. The additional information denotes membership to a particular
coherent set.
Directed Write: Direct peer-to-peer communications may be enabled within the publishsubscribe framework of DDS by tagging samples with the handles of the intended
recipient(s). RTPS supports directed writes by using the in-line QoS parameter extension
mechanism. The serialized information denotes the GUIDs of the targeted reader(s). When a
writer sends a directed sample, only recipients with a matching GUID accept the sample; all
other recipients acknowledge but absorb the sample, as if it were a GAP message.
X
Event Publish & Subscribe Service Interface, Release 1
Page 137
January 2014
© 2014 Health Level Seven International. All rights reserved.
X
X
X
Message Elements: All events will have a few common elements which are covered
below:
· Creation Time – The actual time the event was created by the publisher.
· Publication Time – The time at which the broker should publish the event. If empty the
broker will assign the current time.
· Expiration Time – The time at which the event should expire. If not provided, the event will
expire in accordance with topic
and broker policies.
· Publisher – The publisher of the event as known by the broker.
· Author – Authorship information about the creator of the event. Intended for external
consumption.
Look for/discover participants: get_participant
X
Application portability: The DDS specification also includes a platform specific mapping to IDL
and therefore an application using DDS is able to switch among DDS implementations with
only a re-compile.
X
The PIM describes the protocol in terms of a “virtual machine.” The structure of the virtual
machine is built from the classes described in Section 8.2, which include Writer and Reader
endpoints.
X
Platform Specific Model (PSM) : UDP/IP: The goal for this PSM is to provide a mapping with
minimal overhead directly on top of UDP/IP.
X
Behavior Required for Interoperability: The only purpose of introducing the RTPS virtual
machine is to describe the protocol in a complete and un-ambiguous manner. This description
is not intended to constrain the internal implementation in any way. The only criteria for a
compliant implementation is that the externally-observable behavior satisfies the
requirements for interoperability. 8.4.2 This section describes the requirements that all
implementations of the RTPS protocol must satisfy in order to be compliant with the protocol
specification & interoperable with other implementations. 8.4.2.1.1 All communications must
take place using RTPS Messages; 8.4.2.1.2 All implementations must implement the RTPS
Message Receiver; 8.4.2.1.3 The timing characteristics of all implementations must be
tunable; 8.4.2.1.4 Implementations must implement the Simple Participant and Endpoint
Discovery Protocols
RTPS WriterProxy: The RTPS WriterProxy represents the information an RTPS
StatefulReader maintains on each matched RTPS Writer. The association is a consequence
of the matching of the corresponding DDS Entities as defined by the DDS specification, that is
the DDS DataReader matching a DDS DataWriter by Topic, having compatible QoS,
belonging to a common partition, and not being explicitly ignored by the application that uses
DDS.
Page 138
Event Publish & Subscribe Service Interface, Release 1
© 2014 Health Level Seven International. All rights reserved.
January 2014
X
X