1
Clinicians on FHIR
- Dr. David Hay – Chair Emeritus HL7 NZ
- Dr. Amir Mehrkar – Co-chair INTEROPen
Clinicians on FHIR Dr. David Hay Chair Emeritus HL7 NZ Dr. Amir - - PowerPoint PPT Presentation
Clinicians on FHIR Dr. David Hay Chair Emeritus HL7 NZ Dr. Amir Mehrkar Co-chair INTEROPen 1 INTEROPen Board Representatives Care Organisations Networks & Others Alder Hey NHS Foundation Trust BCS (British Computer Society)
1
Standards Organisations Networks & Others
BCS (British Computer Society) Digital Health CCIO Network Digital Health CIO Network EMIS National User Group Innovative UK - Knowledge Transfer Network Klas Research NHS HACK DAY
ALBs Care Organisations
Alder Hey NHS Foundation Trust Belfast City Hospital Birmingham & Solihull LDR Birmingham & Solihull Mental Health NHS Foundation Trust Cambridge University Hospital Connecting Care Partnership Dorset Health & Care Community (Dorset CCG) Great North Care Record Greater Manchester Health & Social Care Partnership CDO Health and Social Care in Northern Ireland Holding Your Hand Limited Humber, Coast and Vale STP Humber NHS Foundation Trust Imperial College Healthcare NHS Trust Lancashire and South Cumbria STP Leeds Teaching Hospital NHS Trust
HL7 UK IHE UK OpenEHR PRSB (Professional Records Standards Body)
Health Education England Healthy London Partnership London Health and Care Information Exchange NHS Digital NHS England
162 Member Organisations as of 20/11/17
Marie Curie UK NHS Gloucestershire CCG NHS South, Central and West CSU NHS Lothian North West London Care Information Exchange North Tyneside CCG North Yorkshire County Council (Adult Social Care Services) Northumberland, Tyne and Wear NHS Foundation Trust Salford Royal NHS Foundation Trust Sheffield Health and Social Care NHS Foundation Trust Somerset Integrated Digital Electronic Record Taunton and Somerset NHS FT Tower Hamlet/Newham/City Hackney/Waltham Forest CCG University College London Hospitals NHS Foundation Trust University Hospitals Southampton NHS Foundation Trust York Teaching Hospitals NHS Foundation Trust Northern Ireland CCIO Network One HealthTech OpenHealthHub CIC SOCITM techUK
IT Suppliers
AccuRx Active Medicine Advanced Health & Care Aire Logic Ltd Allocate Software Allscripts Answer Digital Application Insight Atos Boots Blackpear BT Cambio + Healthcare Systems Capgemini Capita Health Partners Careflow Connect Ltd Carelink (Piksel Ltd) Cerner CGI Group CharityLog CheckWare Clinisys CommonTime CSC Cyber Media Solutions Deepmind Health Deontics Docman Docobo Digital Cognition Ramsey Systems Red Embedded Systems Restart Consulting Ripple Servelec Sitekit Soliton IT Solutions4Health Shaping Cloud Specialist Computer Centres Stalis Sunquest SystemC Targett Business Technology Tiani Spirit Tiny Medical Apps TotalMobile TPP Trisoft Healthcare Ltd Virgin Media Business Vision Health Wiggly-Amps Wolters Kluwer Health “HealthLanguage” X-Lab Intersystems JAC Computer Services Ltd JKM Care Solutions Kainos Evolve Mayden Medelinked Medical Connections Medxnote Microsoft Health & Life Sciences Microtest MphRx myhealth NHS Wales Informatics Service NoemaLife UK Northgate Public Services Nottinghamshire Health Informatics Service (NHIS) Nth Dimension OLM Systems Open Mapping Software Optum International Oracle Orion Health Ortivus OTTech Healthcare Consultancy Outcomes Based Healthcare Phillips Healthcare Pinnacle Health Partnership Prederi psHEALTH Pumpco
Quicksilva Systems Integration Solutions
Egress Elsevier EMIS Health Endeavour Health Enovacom Epic Epro everyLIFE Technologies Experis Forcare FreshEHR G2 Speech B.V GPC Group Graphnet Health HCI Group (Tech Mahindra Ltd) Health Fabric
Health Intelliegence HealthForge Healthcare Gateway Healthlinked Hospedia Huawei Technologies IBM IMD-SOFT IMMJ Systems (Mediviewer) IMSMAXIMS Inhealthcare Inidus Ltd INPS
Intelerad Intelesant
Medical Doctor Chair Emeritus of HL7 New Zealand Co-chair FHIR Management Group Product Strategist Orion Health Blog: fhirblog.com Tooling: clinFHIR.com
Purpose of the workshop The clinical problem Creating an Information model (exercise) The basic of FHIR : resources and references Resources model and Resources Graph Create Resource instance graph using Scenario (exercise) Structured and Coded data (exercise) Making a Document (exercise) Profiling Moving from models to FHIR artifacts The Implementation Guide Last thoughts
Create a profiling process that works for Clinicians Develop a repeatable workshop for clinicians Introduce you to FHIR Introduce you to the clinFHIR tooling And how to use it… Describe the profiling infrastructure
Clinical Problem Information Model Resources Model References Graph
Clinician / Business Analyst FHIR Expert / Terminology
FHIR artifacts
Patient Demographics Content Encounter Details Content Problems/Diagnoses Content Observations Content Medications Content Allergy Content Plan Content
Clinical community via PRSB
Data elements NHS number SNOMED-CT dm+d Free text Transfer of Care eDisharge
IG controls Security controls Technical Artefact in FHIR
Shared Data Store Database Discharge Summary
Focus on the document content only…
What is an Information model It’s the information being shared in ‘clinician speak’ A form of Logical Model Different ways to represent FHIR
CIMI
What is a Data Type Most useful ones (for now) string date Quantity CodeableConcept Coded data, eg SNOMED
Developed as training tool Evolving! What does clinFHIR do
Clinfhir.com
Specific FHIR server roles
and ‘reference’ (Practitioner, Organization)
Definition, NamingSystem
clinFHIR
Patient and Data Profiles (Conformance) Terminology
Clinfhir.com Set the servers Public HAPI-3 Describe each module, & what it is for Details for: Logical Modeler
Using the Logical Modeler
Url: clinFHIR.com Servers: public HAPI STU3 Email: interopen@clinfhir.com Password: password
Build an Information Model for the Discharge Summary Notes
?your name (no spaces)
you
Url: clinFHIR.com Servers: public HAPI STU3 Email: interopen@clinfhir.com Password: password
Individual group models Our model
An HL7 Interoperability Standard For sharing clinical information 2 main parts Content Model (Resources) Exchange Specification Extending into Clinical Knowledge Decision Support Quality Measures Also being used for persistence Supported by a large community
Fast Healthcare Interoperability Resources (FHIR) Consistent, simple to use content model (resources)
Supports all paradigms of exchange
Designed with implementers in mind Open Source, freely available Detailed on-line, hyperlinked specification (hl7.org/fhir) Freely available tooling, servers, libraries Strong endorsement and support from vendors, providers and regulatory community (e.g. UK - INTEROpen.org, US - Project Argonaut) Massive supporting community
REST Message FHIR Repository Document
FHIR Application PHR FHIR
API Library
DataBase FHIR Integration Engine V3 V2
Direct exchange of structured and coded clinical data Eg Discharge Summary, Progress Note, Patient sourced data Real-time access to data Mobile application Referrals Including directory infrastructure (Services, Providers…) and scheduling Storage of clinical data Other common pattern is interface Clinical Decision Support / Quality metrics Definition and Interface CDS-Hooks
1980 1990 2000 2010 2020
FHIR CDA V3 V2
V2 1987 Start V3 1995 V3 CDA 2005 Fresh Look 2011 FHIR Release 3 2016
http://hl7.org/fhir/
The Content model The Thing that is exchanged
Informed by much past work inside & outside of HL7
‘Type’ is the definition in the spec Like a template ‘Instance’ is a ‘filled out’ type Like a form (sort of) Take Patient: Patient type (in spec) is what can be recorded for a patient Extensions are extra An actual patient is a particular instance of the Patient type
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
Resource Identity & Metadata Human Readable Summary Extension with URL to definition Structured Data:
XML and JSON
<valueString value=“jedi”/>
Commonly used Patient Practitioner Observation Condition List MedicationStatement Composition Substance
http://hl7.org/fhir/
PROCEDURE Patient Diagnostic report Condition Encounter Practitioner
12-year-old-boy
First consultation Complaining of pain in the right ear for 3 days with an elevated temperature. On examination, temperature 38°C and an inflamed right eardrum with no
Amoxicillin 250mg 3 times per day for 7 days. Follow up consultation 2 days later returned with an itchy skin rash. No breathing difficulties. On examination, urticarial rash
penicillin allergy. Antibiotics changes to Erythromycin 250mg 4 times per day for 10 days.
Patient Encounter Condition Observation Medication Allergy Intolerance
Encounter Pain right ear 3 days Elevated Temperature Temperature 38° C Inflamed right drum Otitis Media Amoxicillin 250mg No breathing difficulties Urticarial Rash Penicillin Allergy Erythromycin 250mg Encounter Itchy skin rash Patient Practitioner
Asserter Performer Performer Performer Asserter Prescriber Performer Performer Performer Asserter Asserter
Not all references shown
Link between Information Model and FHIR artifacts Build with Logical Modeler Need FHIR knowledge to build Find existing profiles & extensions
Show my resources model
Shows relationships between resources graphically Uses ‘Instances’ of resource types Scenario Builder tool Don’t need FHIR knowledge but do need Resources Model or to be able to choose the correct resource types Can also add data to instances
Coded Properties type bodySuite indication performer.role complication relatedItem.type Other Properties identifier (Identifier)
PROCEDURE Patient Diagnostic report Condition Subject Report Related Item Encounter Performer Encounter Practitioner
Show relationship between resources graphically for the Discharge Summary Using Scenario Builder Build examples of resources Based on Resources model Add a Patient, 2 problems, a List and connect up…
Use Scenario Builder to build references graph Text only for now (Focus on relationships between resources) Add Patient first.. Then 2 Lists - Problem List & Allergies Then 2 Conditions, and link to Problem List Then 2 Allergies, and link to List of Allergies Saves automatically Remember: ‘Add branch’ for List
Structured vs Coded Value: Greatly improves quality of exchange ‘semantic’ interoperability Secondary uses Decision Support Analytics Population Health Reporting
Datatypes in resource type definition
Identifiers Review coded data
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
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]
Element
extension: 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!
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
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)
uri|Reference(Practitioner|RelatedPers
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]
Identifies an object (Person) within a given system Eg National Identifier (NHI), Drivers License, HPI Main sub components: System – what ‘sort’ of identifier Value – unique within the system Defined by NamingSystem resource
"system": "http://www.nlm.nih.gov/research/umls/rxnorm", "code": "C3214954", "display": "cashew nut allergenic extract Injectable" }
"coding": [{ "system": "http://snomed.info/sct", "code": "39579001", "display": "Anaphylactic reaction“ }], "text" : "Anaphylaxis" }
{ "resourceType": "ValueSet", "compose": { "include": [ { "system": http://snomed.info/sct", "filter": [ { "property": "concept", "op": "is-a", "value": "404684003" } ] } ] } }
A context specific subset of one or more Code Systems Promotes consistency between applications Key component of Terminology
Start thinking about in Information model Used by a number of services (Operations)
Code System: Defines a set of concepts with a coherent meaning Code Display Definition
SNOMED CT / LOINC / RxNORM ICPC, MIMS + 100s more ICD-X+ A drug formulary Custom
Code System: Defines a set of concepts with a coherent meaning Code Display Definition Value Set: A selection of a set
particular context
Selects
Code System: Defines a set of concepts with a coherent meaning Code Display Definition Value Set: A selection of a set
particular context Element Definition: Type and Value set reference
Selects Binds
Binding: – Connection between element and ValueSet – Strength determines if can change
Code System: Defines a set of concepts with a coherent meaning Code Display Definition Value Set: A selection of a set
particular context Element: code/ Coding/ CodeableConcept Element Definition: Type and Value set reference
Selects Binds Refers to Conforms
Code System: Defines a set of concepts with a coherent meaning Code Display Definition Value Set: A selection of a set
particular context Element: code/ Coding/ CodeableConcept Element Definition: Type and Value set reference
Selects Binds Refers to Conforms
Definition Instance
Adding structured and coded data to the resources graph
Add coded data to graph already built
allergies
REST Documents Messages Services (Operations)
Bundle Resource
Container resource Types of Bundle
Patient Resource List Resource Condition Resource
Summary at a point in time Part of record Very common Discharge Summary Referral letter Progress Note Equivalent to CDA
Patient Practitioner Observation Resource Device List Condition
Composition
List Condition
Note: Most resources have a reference to Patient Bundle
Document header Document type References to Patient, Author, Custodian … Equivalent to: CDA header IHE XDS metadata Sections (headings) Contents are text and structured/coded data Rules for rendering
Encounter Pain right ear 3 days Elevated Temperature Temperature 38° C Inflamed right drum Otitis Media Amoxicillin 250mg No breathing difficulties Urticarial Rash Penicillin Allergy Erythromycin 250mg Encounter Itchy skin rash Patient Practitioner
Asserter Performer Performer Performer Asserter Prescriber Performer Performer Performer Asserter Asserter
Composition Pain right ear 3 days Elevated Temperature Otitis Media Temperature 38° C Inflamed right drum Amoxicillin 250mg Patient Practitioner Encounter
Bundle
Creating a Document
Convert scenario into a document
Many different contexts 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:
3 main aspects:
Profiling adapts FHIR for specific scenarios A Statement of Use
Limit names to just 1 (instead
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
StructureDefinition
Profile and Extension Definitions In resources model
ValueSet
From Information model
ImplementationGuide CodeSystem ConceptMap NamingSystem
INTEROPen CareConnect (UK) Argonaut (US) ADHA (Australia)
On a single resource type Defined by StructureDefinition resource
Defines each element
Can use Forge tooling to build
US Core (was DAF)
Also a StructureDefinition
Simple or Complex
Complex has children
Definition:
In resource instance:
Extension Definition
Logical Modeller
Generating a ‘real’ profile ValueSet builder
Extension Definition
ValueSet Logical Modeler
Generating a ‘real’ profile
Brings all the artifacts together Clinical & FHIR Demo of guide CareConnect (UK) Show allergy & condition
Managing Expectations Analogy of building house All this is the concept plan…
From HL7
http://hl7.org/fhir/index.html wiki.hl7.org/index.php?title=FHIR
Community
http://www.fhir.org/ https://chat.fhir.org/ List server (fhir@lists.hl7.org ) Stack Overflow (tag FHIR)
Blogs
www.healthintersections.com.au/ https://fhirblog.com/ https://thefhirplace.com/ https://brianpos.com
Libraries
Java (http://hapifhir.io/) C# (NuGet HL7.FHIR)Tooling Forge (http://fhir.furore.com/Forge)
Tooling
Forge (http://fhir.furore.com/Forge) http://clinfhir.com/
Test servers
http://wiki.hl7.org/index.php?title=Publicly_Available_FHIR_Servers_ for_testing https://fhirblog.com/2016/10/19/setting-up-your-own-fhir-server-for- profiling/