Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
1 | © InterSystems Corporation. All rights reserved. |
HL7®, FHIR® and the flame Design mark are the registered trademarks of Health Level Seven International and are used with permission.
Amsterdam, 14-16 November | @HL7 @FirelyTeam | #fhirdevdays | www.fhirdevdays.com
Creating an Event Management Service Using HL7® FHIR®
Anthony (Tony) Beukes
Creating an Event Management Service Using HL7® FHIR®Anthony (Tony) Beukes
Senior Sales Engineer
3 | © InterSystems Corporation. All rights reserved. |
NHS England - Healthy Children
‘Knowing where every child is and how healthy they are’
‘Appropriate access to information for all involved in the care of children’
Use Case for an Event Management Service
4 | © InterSystems Corporation. All rights reserved. |
NHS England asks Lancashire and South Cumbria STP1 to trial an event management service (EMS) based on FHIR and to produce a blueprint that could be used by other regions.
Work on an EMS MVP PoC and the blueprint started in September 2017. The EMS MVP PoC was done by March 2018 and the blueprint published in June 2018.
1 Sustainability and Transformation Partnership
5 | © InterSystems Corporation. All rights reserved. |
Healthy Child Record Standard
PRSB – Professional Record Standards Body
Child health standardised paperless digital record
https://theprsb.org/standards/healthychildrecordstandard/
“The PRSB standard has helped to inform the Healthy child event specifications, owned by NHS Digital and used to support the creation of the FHIR Events Catalogue.”
6 | © InterSystems Corporation. All rights reserved. |
Digital Child Health Event Messages
What is a Child Health Event?
https://developer.nhs.uk/apis/dch-beta/
“Child Health Events contain information meaningful to those managing the personal health of themselves or their families, professionals providing direct care to children and young people and those managing the health of populations.
The information contained within an event is recorded within clinical interventions or occurrences that happen throughout a clinical pathway or patient journey…”
Healthy Child Pathway
7 | © InterSystems Corporation. All rights reserved. |
Digital Child Health Event MessagesExamples
Birth Notification
Blood Spot Test Outcome
Immunisation Administration
Measurements
Newborn Hearing
Physical Examination
…
8 | © InterSystems Corporation. All rights reserved. |
Digital Child Health Event Message ProfilingEvent Message Bundle Structure
Bundle.type = ”message” and MessageHeader.focus = Encounter.id
https://developer.nhs.uk/apis/dch-beta/explore_bundle_structure.html
9 | © InterSystems Corporation. All rights reserved. |
Digital Child Health Event Message ProfilingEvent Header Items in the Event Message Bundle Structure
https://developer.nhs.uk/apis/dch-beta/explore_bundle_structure.html
10 | © InterSystems Corporation. All rights reserved. |
Digital Child Health Event Message ProfilingDCH Data Items in the Event Message Bundle Structure
Example based on an Immunisation Administration event message
https://developer.nhs.uk/apis/dch-beta/explore_bundle_structure.html
11 | © InterSystems Corporation. All rights reserved. |
Digital Child Health Event Message ProfilingExtensions
<extension url="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-DCH-MessageEventType-1"><valueCodeableConcept>
<coding><system value="https://fhir.nhs.uk/STU3/CodeSystem/DCH-MessageEventType-1"/><code value="new"/><display value="New event message"/>
</coding></valueCodeableConcept>
</extension>
<identifier><extension url="https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-NHSNumberVerificationStatus-1">
<valueCodeableConcept><coding>
<system value="https://fhir.hl7.org.uk/STU3/CodeSystem/CareConnect-NHSNumberVerificationStatus-1"/><code value="01"/><display value="Number present and verified"/>
</coding></valueCodeableConcept>
</extension><system value="https://fhir.nhs.uk/Id/nhs-number"/><value value="9912003888"/>
</identifier>
12 | © InterSystems Corporation. All rights reserved. |
National fail-safes
MaternityBirth
Community
Social Care
GP
Information Journey
Commissioning
Population management
Person Held Record
SCR/PDS
Registration
Screening
Personal Control
CHIS(Local fail-safes)
Education
SecureAntenatal
13 | © InterSystems Corporation. All rights reserved. |
MaternitySystems
GPSystems Community
Systems
CHIS
EducationSystems
ePHR
National Screening Systems
Local AuthoritySystems
FailsafeManagement
RegistrationSCR/PDS
Local IDCR
AccessManagement
Commissioning
PopulationManagement
National events hub
Local events hub
Health
National
Partner
Personal
14 | © InterSystems Corporation. All rights reserved. |
Design Overview
Built on InterSystems HealthShare, using existing capabilities• Security, including OAuth 2.0 Authorisation Server and Client• Audited and reliable messaging • Interoperability based on FHIR • Publish and Subscribe using FHIR Subscription resource• FHIR DSTU2 & STU3 reference server and repository• JSON and XML processing
15 | © InterSystems Corporation. All rights reserved. |
FHIR
RESTful API / Messaging
Notify/Send
EventsFHIR Repository
Publisher
NSS
Subscriber
GP
Subscriber
ePCHR
Publisher
CHIS
FHIR
RESTful API / Messaging
Store
FHIR Event
FHIR
Subscription
FHIR
Event
Subscriber
CHIS
Transform
FHIR Event
to
Subscription
Matching
Criteria
Store
FHIR
Subscription
Event Router
Match
Event
Subscribers
Event
Notification
FHIR
Event
Publisher
HV
Publisher
GP
Subscriber
HV
Subscriber
NEMS
RESTful API
RESTful API
Event
Notification
TLS / OAuth 2.0
Publisher
NEMS
Event Management Service
InterSystems HealthShare EMS
16 | © InterSystems Corporation. All rights reserved. |
Subscription patternsExtendable, pre-defined subscription patterns:• Event Code list• NHS Number, Event Code list• Organisation Code, Event Code list
17 | © InterSystems Corporation. All rights reserved. |
SubscriptionManaged using the FHIR Subscription resource:
<Subscription xmlns="http://hl7.org/fhir"><id value="B1D468B4-EE16-11E7-A2E5-DCA90496A0B9"/><criteria value="/Bundle?type=message&odscode=P81079&eventcode=CH005,CH0014,CH021"/>…<channel>
<type value="message"/><endpoint value="https://epchr.com"/><payload value="application/fhir+xml"/>
</channel>…
</Subscription>
18 | © InterSystems Corporation. All rights reserved. |
RESTful API and messaging• FHIR REST update interaction
PUT [base]/Bundle/[GUID]<Bundle>…</Bundle>
• FHIR messaging $process-message operationPOST [base]/Bundle/$process-message<Bundle>…</Bundle>
• Agility with bespoke FHIR messaging APIsPOST [base]/notificationnhsnumber=nnn&dob=yyyymmdd
POST [base]/fhir/Retrievalnhsnumber=nnn&dob=yyyymmdd
19 | © InterSystems Corporation. All rights reserved. |
OAuth 2.0
Authentication and Authorization• TLS + OAuth 2.0 Client Credentials Grant• Authentication to OAuth 2.0 server using shared secret
Publisher OAuth 2.0 EMS Subscriber
1. Authenticate
3. Access Token & Event Message
2. Access Token
6. Access Token
5. Authenticate
4. Outcome
7. Access Token & Event Message
8. Outcome
20 | © InterSystems Corporation. All rights reserved. |
EMS
N3
FHIR (publish)
eRedbook
FHIR (subscribe)
Subscriptions:• EMIS GP• EMIS Community• EMIS Health Visitor• eRedbook
Message store& audit log
National Screening Service (NSS)
www
www
www www
EMIS
Web
SMSP
Event Message Flow DemoPDS
N3
OAuth 2.0www
+ +
21 | © InterSystems Corporation. All rights reserved. |
FHIR Bundle Message Flow - Push
Publisher sends FHIR message Bundle to the EMS REST API endpoint • Requests an access token from the OAuth 2.0 server• Publishes a FHIR message Bundle to the EMS using the access token
Validate and persist the FHIR message Bundle in the EMS FHIR repository • Validate the access token• Validate the FHIR Bundle using the FHIR reference server • Persist the FHIR Bundle in the FHIR repository• Return outcome to publisher (HTTP status code and FHIR OperationOutcome)
Create subscriber matching criteria (EnsLib.PubSub topic)• Extract event code and patient’s NHS Number, DoB and Gender • Lookup patient’s postal code and GP Practice ODS code in the national PDS using the SMSP • Construct list of matching criteria based on predefined match patterns
22 | © InterSystems Corporation. All rights reserved. |
FHIR Bundle Message Flow - Push
Match subscribers to each topic string (matching criteria) • Iterate over list of topics
― Create an EnsLib.PubSub.Request for each topic― Send request to EnsLib.PubSub.PubSubOperation which returns a collection of
EnsLib.PubSub.Target (subscribers)
Publish FHIR message Bundle to each subscriber’s endpoint • Iterate over each EnsLib.PubSub.Target in collection• Get endpoint details from FHIR Subscription.channel• Request an access token from the OAuth 2.0 server• Send the FHIR message Bundle to the subscriber’s endpoint• Handle the response from the endpoint
23 | © InterSystems Corporation. All rights reserved. |
FHIR Bundle Message Flow - Pull
Publisher sends notification to the EMS notification endpoint • Requests an access token from the OAuth 2.0 server• Sends an HTTP notification request to the EMS using the access token
Retrieve FHIR message Bundle from publisher• Validate the publisher’s access token• Request an access token from the OAuth 2.0 server• Send an HTTP retrieval request to the publisher’s endpoint using the access token
Publish the received FHIR message Bundle on behalf of the publisher• Refer to the FHIR Bundle Message Flow – Push slides for the rest of the flow
24 | © InterSystems Corporation. All rights reserved. |
National Services integration
InterSystems Spine Mini Services Provider• Used to query national Personal Demographic Service• Validate NHS Number• Lookup patient’s postal code and GP Practice organisation code
Resolve a child identifier to a geographic service provider
Knowing where every child is and how healthy they are.
25 | © InterSystems Corporation. All rights reserved. |
Questions
?
Thank you.