INTEROPen FHIR Curation WorkFHIR Profile First of Type Implementation Sites GDEs TRUSTS + ACUTE EPRS...

Preview:

Citation preview

3

INTEROPen FHIR Curation WorkDr. Munish Jokhani – FHIR Curation Clinical Engagement Lead, NHS Digital

Agenda

• Use cases(Transfer of Care & GP Connect)

• What is FHIR curation/Why do we need curation?

• How: Overall curation process• Examples

• Next steps and Summary

4

Transfer of Care

eDischarge Summary

Mental health eDischarge

Emergency Care eDischarge

Outpatient letters

GP connect vision

What is FHIR Curation/Why do we need it?• What :

• Mapping use cases to FHIR resources (with SNOMED CT bindings).

• Why: – The curation process will produce a FHIR profile that is fit for purpose as it has had

clinical, terminology, technical and vendor input.

– It helps those who will be implementing the headings understand the rationale and details behind the content. It also challenges the clinical requirements where they are insufficiently detailed, resulting in a more robust definition.

– Supports consistency in the FHIR profiles and the value sets used; this supports interoperability.

– Create a working group of clinicians, clinical informaticians, technical modellers , terminologists, clinical safety and vendors working together and sharing and best practice.

7

Key inputs

● Strategic Overview

● Use Cases including description of clinical workflows and key

interactions

● Clinically assured (e.g. PRSB) Information models/datasets

● Patient journeys with example clinical content

● Architecture overview

● Initial list of FHIR resources for use cases

● Initial plan including deployment approach

● List of engaged vendors and First of Type sites

How?

CLINICAL MODELLING

e.g. Allergies and adverse reactions

In eDischarge summary

CareConnect FHIR Profile

First of Type Implementation Sites

GDEs TRUSTS + ACUTE EPRS + GP Vendors

PHASE 1 mapping proposal

CLINICAL(PRSB)FHIR TECHNICALTERMINOLOGY

CLINICAL SAFETY

PHASE 2INTEROPen communityFeedback(e.g. Vendors)

PHASE 3 approvedINTEROPen webex call

or workshop

Maintenance

Vendors

• EMIS, Vision, Microtest

• Cerner, Epic, DXC, Stalis, IMS Maxims, OpenEHR

• Orion, InterSystems, Healthcare Gateway

Resources completed

Patient Medication Statement

Practitioner Medication

Encounter Medication Request

Practitioner Role AllergyIntolerance

Location Condition

Organisation Procedure

Composition

List

Example: Clinical Information Model :Allergies and adverse reactions

AllergyIntolerance

Active Allergies :Transfer of care

Allergies Negation:Transfer of care

Key outputs

● Design Decision Matrix (DDM) with agreed design decisions/actions

(e.g. FHIR extensions, cardinality restrictions, valusets etc.)

● Agreed SNOMED CT/dm+d value sets/refsets

● Implementation guidance

● Changes in the proposed information models

Design Decision Matrix

Published CareConnect Profiles

Next Steps

• Reasonable Adjustments

• Digital Medicines : Pharmacy to GP

• Digital Child Health

• Pipeline e.g. Maternity, Pathology

Summary and Next steps

• Collaborative and constructive consultation process with wide & enthusiastic Participation.

• Transition to Business as Usual/Service with revised process and review tooling.

• Essential. No one organisation could do it with any hope of a workable outcome.

21

22

FHIR ReviewDr. David Hay – FHIR Strategist, Orion Health

About me

▸ Medical Doctor

▸ Chair Emeritus of HL7 New Zealand

▸ Co-chair FHIR Management Group

▸ Product Strategist Orion Health

▸ Blog: fhirblog.com

▸ Tooling: clinFHIR.com

FHIR review

• Review of FHIR Basics

• Exchange Paradigms

• Documents

• GDPR

• Associated standards

• Profiling

• Where is FHIR going

What is FHIR

‣ Fast Healthcare Interoperability Resources

‣ An HL7 Interoperability Standard

‣ For sharing clinical and administrative information

‣ 2 main parts

‣ Content Model (Resources)

‣ Exchange Specification

‣ Supported by a (very) large community

‣ Chat.fhir.org

Where does FHIR fit with other HL7 standards?

1980 1990 2000 2010 2020

FHIR

CDA

V3

V2

V2

1987

Start V3

1995

V3 CDA

2005

Fresh Look

2011

FHIR Release 3

2016

Resources: What are they?

‣ The Content model

‣ The Thing that is exchanged

- Via REST ( FHIR Restful API), Messages, Documents

‣ Informed by much past work inside & outside of HL7

- HL7: version 2, version 3 (RIM), CDA

- Other SDO: openEHR, CIMI, ISO 13606, IHE, DICOM

Clinical Resource types

General

AllergyIntolerance

Condition (Problem)

Procedure

ClinicalImpression

FamilyMemberHistory

RiskAssessment

DetectedIssue

Care Provision

CarePlan

CareTeam

Goal

ReferralRequest

ProcedureRequest

NutritionOrder

VisionPrescription

Medication & Immunization

Medication

MedicationRequest

MedicationAdministration

MedicationDispense

MedicationStatement

Immunization

ImmunizationRecommendation

Diagnostics

Observation

DiagnosticReport

ProcedureRequest

Specimen

BodySite

ImagingStudy

Sequence

Maturity model

Resource instance example

Resource Identity &

Metadata

Human Readable

Summary

Extension with URL to

definition

Structured Data:

• MRN

• Name

• Gender

• Birth Date

• Provider

XML and JSON

<valueString value=“jedi”/>

References between Resources

Patient

Diagnostic reportCondition

Subject

ReportReason

EncounterPerformer

Encounter PractitionerLocation

PROCEDURE

Location

Resource type structure in the spec

‣ Datatypes in resource type

definition

- Backbone element

- ‘choice’ data types

Data types: Primitive

Based on w3c schema and ISO data types

▸ Stick to the “80% rule” – only expose what most will use

– Simplified

instant

Value : xs : dataTime 0..1

time

Value : xs : Time 0..1

date

Value : xs:gYear [xs:gYearMonth | Time 0..1

dateTime

Value : xs:gYear [xs:gYearMonth | xs:date | Time 0..1

decimal

Value : xs : decimal 0..1

integer

Value : xs : int 0..1

Element

Extension : Extension 0..

boolean

value : xs:boolean 0..1

string

Value : xs :string 0..1

uri

Value : xs :anyURI 0..1

base64Binary

Value : xs : base64Binary 0..1

unsignedint positiveInt code id oid

Ratio

numerator: Quality [0..1]

denominator: Quantity [0..1]

Quantity

value: decimal [0..1]

comparator: code [0..1] QuantityComparator!

units: string [0...1]

system: uri [0..1]

code: code [0..1]

Range

low: Quantity(SimpleQuantity) [0..1]

high: Quantity(SimpleQuantity) [0..1]

HumanName

use: code [0..1] NameUse!

text: String [0..1]

family: String [0..*]

given: String [0..*]

prefix: String [0..*]

suffix: String [0..*]

period: Period [0..1]

Identifier

use: code [0..1] IdentifierUse!

type: CodeableConcept [0..1] IdentifierType+

system: uri [0..1]

value: String [0..1]

period: Period [0..1]

assigner: Reference [0..1] Organization

Address

use: code [0..1] AddressUse!

type: code [0..1] AddressType!

text: string [0..1]

line: string [0..*]

city: string [0..1]

district: string [0..1]

state: string [0..1]

postalCode: string [0..1]

country: string [0..1]

period: Period 0...1

Coding

system: uri [0..1]

version: string [0..1]

code: code [0..1]

display: String [0..1]

userSelected: boolean [0..1]

Elementextension:

Extension 0..*

Timing

event: dataTime [0..*]

code: CodeableConcept [0..1] TimingAbbreviation?

Repeat

bounds[x]: Type [0..1] Duration|Range|Period

dount: Integer [0..1]

dountMax: integer [0..1]

duration: decimal [0..1]

durationMax: decimal [0..1]

durationUnit: code [0..1] UnitsOfTime!

frequency: integer [0..1]

frequencyMax: integer [0..1]

period: decimal [0..1]

periodMax: [0..1]

periodUnit: code [0..1] UnitsOfTime

dayOfWeek: code [0..*] DaysOfWeek!

timeOfDay: time [0..*]

when: Code [0..*] EventTiming!

offset: unsginedInt [0..1]

ContactPoint

system: Code [0..1] ContactPointSystem!

value: String [0..1]

use: Code [0..1] ContactPointUse!

rank: PositiveInt [0...1]

period: Period [0..1]

CodeableConcept

coding: Coding [0..*]

text: String [0..1]

Attachment

contentType: Code [0..1] MimeType!

language: Code [0..1] CommonLanguages+

data: base64Binary [0..1]

url: uri [0..1]

size: unsignedInt [0..1]

hash: base64binary [0..1]

title: string [0..1]

creation: dateTime [0..1]

Period

start: dateTime [0..1]

end: dateTime [0..1]

SampledData

origin: Quantity(SimpleQuantity) [1..1]

period: Decimal [1..1]

factor: Decimal [0..1]

lowerLimit: Decimal [0..1]

upperLimit: Decial [0..1]

dimensions: Positivelnt [1..1]

data: String [1..1]

Data types: Complex

Signature

type:Coding [1..*] Signature Type?

when: Instant [1..1]

who[x]: Type [1..1] uri |

Reference(Practitioner|Related

person|PatientDevice|Organization)

onBehalfOf[x]: Type [0..1]

uri|Reference(Practitioner|RelatedPers

on|Pateint|Device|Organization)

contentType: code [0..1] MimeType!

blob: base64Binary [0..1]

Annotation

author[x]: Type [0..1]

Reference(Practitioner|Patient|

RelatedPerson)|string

Time: dateTime [0..1]

Text: string [1..1]

repeat

[0..1]

Complex datatype example: HumanName

Terminology: FHIR and SNOMED

Code System:

Defines a set of

concepts with a

coherent meaning

eg SNOMED

Value Set:

A selection of a set

of codes for use in a

particular context

Eg

Condition.verificationStatus

Coded Element

Core resource or

profileSelects Binds

Refers to

Conforms

Definition

Resource Instance

ValueSet

‣ Used in Coded elements

‣ A set of possible values for

a resource element

‣ Key component of

Terminology

‣ Similar to SNOMED refset

‣ Can be altered in profiling

(Curation)

‣ Eg:

Condition.verificationStatus

Terminology binding: Condition resource ▸ a

View in spec…

Exchange Paradigms

REST

DocumentsMessages

Services (Operations)

Sharing information – different paradigms

REST

Message

FHIR

Repository

Document

Documents in FHIR

What is a Document?

▸ Clinically

– Summary at a point in time

– Eg eDischarge. Mental Health, Emergency

Care eDischarge, Outpatient letters

▸ Contents

– Metadata

• Name, Author, Document type

– Sections with clinical data

• Eg Meds on Admission, Reason for

admission

– Can have signature

▸ HL7: What is a Document

– Persistence

– Stewardship

– Potential for

Authentication

– Context

– Wholeness

– Human readability

FHIR Document paradigm

‣ Technically a collection of

resources in a Bundle

‣ Can be signed

‣ Narrative in Composition

‣ Rendering rules in spec

Patient

Practitioner

Condition

List

AllergyIntolerance

Composition

• Subject

• Author

• Sections

• Admit Dx

• Allergy List

• … AllergyIntolerance

Document Bundle

http://hl7.org/fhir/documents.html

GDPR (General Data Protection Regulations)

▸ FHIR is not a security standard, but…

▸ Discussions at the Connectathon last week:

– Existing privacy well aligned

(https://healthcaresecprivacy.blogspot.co.uk/2015/04/privacy-principles.html)

▸ Current FHIR support:

– AuditEvent, Provenance, Consent

– Any resource has security tags

– Authentication/Authorization

• SMART on FHIR, Pages in spec

– Identity resources

• Patient, RelatedPerson, Practitioner, Organization & others…

▸ Some gaps and areas for improvement

– White paper to come

https://healthcaresecprivacy.blogspot.co.uk/2018/05/gdpr-on-fhir.html

https://chat.fhir.org/#narrow/stream/111-Security-and.20Privacy

SMART

▸ Substitutable Medical Applications, Reusable Technologies

– http://hl7.org/fhir/smart-app-launch/

▸ History

▸ Originally limited to EHR external apps

– Becoming the ‘de-facto’ Authentication

▸ 2 aspects

– App launching

• Public & confidential

– Authentication ‘Profile’ on OAuth2 & OpenID Connect

• Endpoints and scopes

▸ Sandbox: https://sandbox.smarthealthit.org/#/start

▸ App Gallery: https://apps.smarthealthit.org/

CDS Hooks

▸ Clinical Decision Support (CDS)

– User Interface for display CDS

– ‘hooks’ to EHR activity

▸ Service can call back to EHR

– Or any other data store

▸ Discovery & endpoints

▸ Prefetch

▸ Security Model

– ‘out of band’ setup

• Key exchange

– TLS

– Encrypted JWT in call to

service

– Access token provided for call

back

http://cds-hooks.org/specification/1.0/

Blockchain

▸ Technology behind bitcoin

▸ Distributed list of transactions (blocks)

▸ Cryptographically signed

– Can’t change without detection

▸ What is relationship with FHIR?

– Unlikely actual clinical data

– Tamper proof audit records

– Provider Authentication

– Supply chain (eg medication

provenance)

Adapting FHIR to your needs: Profiling

‣ Many different contexts (ways of recording data) in healthcare, but want a single set of Resources

‣ Need to be able to describe ‘usage of FHIR’ based on context

‣ Allow for these usage statements to:

- Authored in a structured manner

- Published in a registry & Discoverable

- Used as the basis for validation, code, report and UI generation.

‣ 3 main aspects:

- Constraining a resource - remove element, change multiplicity fix values

- Change coded element binding

- Adding a new element (an extension)

‣ Profiling adapts FHIR for specific scenarios

‣ A Statement of Use

For example…

Limit names to

just 1 (instead

of 0..*)

Change

maritalStatus to

another set of

codes that

extends the one

from HL7

international

Require that the

identifier uses the

NHS number – and is

required

Don’t support

photo

Add an

extension

to support

ethnicity

Where is FHIR going

‣ More resources

‣ Moving resources to normative

‣ More implementation experience, Connectathons

‣ Moving beyond Interoperability

‣ Extending into Clinical Knowledge

‣ Decision Support, Quality Measures

‣ Also being used for persistence

‣ Definitional resources, Care planning & support

‣ Associated standards

‣ SMART

‣ CDS-Hooks

‣ FHIR Cast

UK approach: Building the community

▸ INTEROPen

– Clinical curation of profiles

– Clinician involvement

– Multi discipline

– Vendor involvement

▸ NHS Digital

– Technical expertise

▸ Standards being developed

– Transfer of Care

▸ Propose Connectathon

Reality Check

▸ Sounds wonderful!

▸ Managing Expectations

▸ Analogy of building house

▸ All this is the concept plan…

▸ What does FHIR really stand for?

Far Harder In Real life !

52

Clinicians on FHIR: Modelling the

Problem ListDr. Amir Mehrkar – GP | Co-Chair INTEROPen

A variety of views

Encounters with patientsEncounter 1

(Date/Time)

Encounter n

(Date/Time)

NOW 4 episodes “a Problem”As a problem, has own life cycle management:

● Start date as a problem

● End date as a problem

● Who said this is a problem

○ Clinician / Patient

○ Organisation

● Status - is it still a problem?

● Significance of the problem

○ Major Depression diagnosis but

might be a minor “problem” for

patient

● Associated data

● Nested, Merge, Evolving

When does it become a “Problem”

Status (active / inactive)

Significance (major / minor) Types of Problems

The actual Problem can have its own FHIR data model

● Gastro-oesophogeal reflux - Condition resource

● Fam History of Scleroderma - may not exist as a

simple pre-coordinated code

● Procedures (Left / Right - post-coordinated)

● What resource type would Dizziness sit in?

Nesting of Problems

Dizziness / Lethargy / Suicidal thoughts

are independent Problems for the patient

BUT

Clinician creating the Problem List believes they

are related to the patient’s “Marital breakdown”

“Merge/Combine” Or “Evolve” Problems

Merge/Combine

Evolve

List

Resource

Type

‘ProblemHeader Profile’ (a profile of Condition Resource)

Keep: onset; abatement; asserter/date; note; ClinicalStatus (active/inactive only for now)

Remove: evidence; bodysite; severity; stage; verification status

Reference any other Resource type:

● Diagnosis -> Condition

● obs/symptom/social -> Observation

● Family History -> FamilyHistoryMember

● Allergy -> AllergyIntolerance

● Issues -> Alert

Extension: Actual Problem

Extension: Related ProblemHeader

Valueset: Nest, Merge, EvolveReference another ProblemHeader Resource type

Extension: Problem Significance

Valueset: Major/Minor

Extension: RelatedClinicalContent Reference Any Resource type

List

Resource

Type

‘ProblemHeader Profile’ (a profile of Condition Resource)

Keep: onset; abatement; asserter/date; note; ClinicalStatus (active/inactive only for now)

Remove: evidence; bodysite; severity; stage; verification status

Code.text = Human readable rendering

Code.coding if unambiguous code

Reference any other Resource type:

● Diagnosis -> Condition

● obs/symptom/social -> Observation

● Family History -> FamilyHistoryMember

● Allergy -> AllergyIntolerance

● Issues -> Alert

Extension: Actual Problem

Extension: Related ProblemHeader

Code (Nesting, Merge/Combine, Evolve)Reference another ProblemHeader Resource type

Extension: Problem Significance

Code (Major/Minor)

Extension: RelatedClinicalContent Reference Any Resource type

62

ClinFHIR ConMan:

Clinicial Model ValidationDr. David Hay – FHIR Strategist, Orion Health

History of clinFHIR

▸ ClinFHIR Purpose

– Assist resource development (HL7 Working Group Meeting)

– Educational

– Clinician/Business Analyst tool for participation in FHIR projects

– Develop simple FHIR artifacts

• Eg simple Profiles, ValueSets, Extension Definitions

– 2 modules using today

• ConMan

– Developed to support technical Connectathon

– Extended to Clinicians On FHIR events

• Logical modeler

– Build ad-hoc ‘things’ to use in Scenario (eg representing a potential

Profile)

Connectathon

▸ What is a connectathon

▸ Technical and Clinical tracks

▸ Technical tracks

– Enhance specification

▸ Clinical tracks:

– Purpose

• Education

• Gather clinical requirements

• Validate artifacts

– Precursor to Profile, IG

– Clinical Track types

• Scenario

• Model reviewFocus for today: Education

ConMan structure

TrackTrack

(Problem List)

TrackScenario

(eg simple List)

TrackScenario

Instance Graph

Over to Amir…

http://snapp.clinfhir.com/connectathon.html?event=cofio

Recommended