26
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 · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 2: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

Creating an Event Management Service Using HL7® FHIR®Anthony (Tony) Beukes

Senior Sales Engineer

Page 3: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 4: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 5: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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.”

Page 6: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 7: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

7 | © InterSystems Corporation. All rights reserved. |

Digital Child Health Event MessagesExamples

Birth Notification

Blood Spot Test Outcome

Immunisation Administration

Measurements

Newborn Hearing

Physical Examination

Page 8: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 9: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 10: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 11: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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>

Page 12: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 13: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 14: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 15: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 16: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 17: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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>

Page 18: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 19: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 20: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return 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

+ +

Page 21: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 22: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 23: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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

Page 24: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

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.

Page 25: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

25 | © InterSystems Corporation. All rights reserved. |

Questions

?

Page 26: Creating an event management service using HL7 FHIR · •Validate the FHIR Bundle using the FHIR reference server •Persist the FHIR Bundle in the FHIR repository •Return outcome

Thank you.