SlideShare ist ein Scribd-Unternehmen logo
1 von 121
FHIR forImplementers
InNewZealand
Page 2
Thanks to our sponsors
Page 3
About me
• Medical Doctor
• Developer
– EMR
– Tooling: clinFHIR, conMan
• HL7 Fellow
• Chair Emeritus of HL7 New Zealand
• Co-chair FHIR Management Group
• Contractor – MOH, Rhapsody, CSIRO, HL7 Intl.
• Blog: fhirblog.com
3
Page 4
Objectives for day
• Understand the basics of FHIR
• Feel confident to participate in a FHIR Implementation
• Know how to use clinFHIR / conMan tooling
• Know where to find more info and help
• Build the community!
– Encourage people to comment on work…
Page 5
Agenda
Time Activity
9.00 – 10.30 Technical Overview, Terminology
10.30 – 11.00 Morning tea
11.00 – 11.45 Profiling, Implementer support
11.45 – 12.30 Individual Exercises
12.30 - 1.15 Lunch
1.15 - 2.00 Exchange paradigms
2.00 – 2.30 National perspective – current projects, ecosystem, reviewing
2.30 – 3.00 Afternoon tea
3.00 – 3.30 Security & Additional standards
3.30 – 4.00 Exercises
4.00 – 4.30 Wrap up, unanswered questions, next steps
Page 7
Zulip chat
https://chat.fhir.org/
Page 8
Technical Overview
• What is FHIR
• Resources
• Resource Graphs (incl. clinFHIR)
• Terminology
– Interaction and resources
• Exchange Paradigms
– CRUD operations
– Update operations
• PUT, PATCH, Operation
• Wire representation
– Extensions & Contained
• Implementer Support
– Tooling and Libraries
Page 9
What is FHIR
• Fast Healthcare Interoperability Resources
• An HL7 Interoperability Standard
– For sharing clinical information
– No assumption on storage form
– Focused on the now
• (with an eye to the future)
• 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
– https://chat.fhir.org/
– Libraries
– Reference servers
® Health Level Seven and HL7 are registered trademarks of Health9
Page 10
Where can you use FHIR
10
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
FHIR
Application
PHR
FHIR
API Library
Database
FHIR
Integration Engine
V3
V2
Page 11
Timeline: Where does FHIR fit?
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
FHIR Maturity model & releases
1980 1990 2000 2010 2020
FHIR
CDA
V3
V2
V2
1987
Start V3
1995
V3 CDA
2005
Fresh Look
2011
FHIR Release 4
2018
Page 12
Where is it going?
• More resources
• Moving resources to Normative
– More implementation experience,
connectathons
• Moving beyond Interoperability
– Extending into Clinical Knowledge
• Decision Support
• Quality Measures
– Bulk extract and query
– Research
– Also being used for persistence
• Associated standards
– SMART
– CDS-Hooks
– Bulk Data
• Accelerating implementations
• Supporting the community
® Health Level Seven and HL7 are registered trademarks of Health12
Page 13
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
13® Health Level Seven and HL7 are registered trademarks of Health
Page 14
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
Page 15
References between resources
15
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
PROCEDURE
Patient
Diagnostic reportCondition
Subject
Report
Related
Item
Encounter Performer
Encounter Practitioner
http://hl7.org/fhir/references.html
Page 16
Recording a consultation
16
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
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 perforation.
Diagnosis Otitis Media, and prescribed Amoxicillin 250mg
3 times per day for 7 days.
Follow up consultation
2 days later returned with an itchy skin rash. No Breathing
Normal. On examination, urticarial rash on both arms. No
evidence meningitis. Diagnosis of penicillin allergy.
Antibiotics changed to Erythromycin 250mg 4 times per
day for 10 days.
Patient
Encounter
Condition
Observation
Medication
Allergy Intolerance
Page 17
First consultation as a Graph
17
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
Page 18
Visualizing the connections: ConMan
18
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
Page 19
Demonstration
http://conman.clinfhir.com/connectathon.html?event=nz
 Build a resource graph for the first
consultation
- (Exercise 2 uses conMan)
Page 20
Resources: Type vs Instance
• ‘Type’ is the definition in the spec
– Like a template or a cookie cutter
• ‘Instance’ is a ‘filled out’ type
– Like a cookie
• Take Patient:
– Patient type (in spec) is what can be recorded for a patient
• (Can alter with Profiling)
– An actual patient is a particular instance of the Patient type
20® Health Level Seven and HL7 are registered trademarks of Health
Page 21
Contained resources
• Resources generally stand alone
– With references between them
• Contained resources:
– Resources ‘inside’ another
– When doesn’t have separate identity
• Wire format (‘contained’ element)
• Library support
http://hl7.org/fhir/references.html#contained
Page 22
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”/>
Page 23
Structured / coded data
• Unstructured vs Structured vs Coded
• Value:
– Greatly improves quality of exchange
– ‘semantic’ interoperability
• Secondary uses
– Decision Support
– Analytics
– Population Health
– Reporting
23® Health Level Seven and HL7 are registered trademarks of Health
Page 24
Resource type structure and definition
24
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
Examine the spec…
Page 25
Resource Hierarchy
Resource
• Id
• Meta
Domain Resource
• Text
• Contained
• Extensions
Specific type
Bundle
Page 26
Base Types
• DataTypes
– Each element in an instance is a single datatype
• Spec indicates allowed types
• Choice element
– 2 classes of datatype
• Primitive
• Complex
• Other types
– MetaData
– Element
– Resource / Domain Resource
– Logical Model
26® Health Level Seven and HL7 are registered trademarks of Health
Page 27
Data types: Primitive (R3)
27
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
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
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
Value : xs :
decimal 0..1
Page 28
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!
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 (R3)
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]
28
Page 29
Identifiers
• Business identifiers
– NHI, Driving License, CSC Card, Lab order number
– Most resources have them
• Identifier datatype
– Key child elements
• System
– The ‘namespace’ within which the value is unique (uri)
» NamingSystem resource to describe
• Value
– The actual value
• Not the same as the resource Id
Page 30
Coded datatypes
• Refer to a terminology
• Code:
"status" : "confirmed"
• Coding:
{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "C3214954",
"display": "cashew nut allergenic extract Injectable"
}
• CodeableConcept:
{
"coding": [{
"system": "http://snomed.info/sct",
"code": "39579001",
"display": "Anaphylactic reaction“
}],
"text" : "Anaphylaxis"
}
Datatypes in the spec…
Page 31
TERMINOLOGY
Page 32
Why have structured / coded data
• Unstructured vs Structured vs Coded
• Value:
– Greatly improves quality of exchange
– ‘semantic’ interoperability
• Secondary uses
– Decision Support
– Analytics
– Population Health
– Reporting
32s of States
Page 33
Terminology Resources
Page 34
Terminology Sub-system
34
Code System:
Defines a set of
concepts with a
coherent meaning
Code
Display
Definition
‣ SNOMED CT / LOINC
‣ NZULM / NZMT
‣ ICPC, MIMS + 100s more
‣ ICD-X+
‣ A drug formulary
‣ Custom
Page 35
Terminology Sub-system
35
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
Code System:
Defines a set of concepts
with a coherent meaning
Code
Display
Definition
Value Set:
A selection of a set
of codes for use in a
particular context
Selects
Page 36
Terminology Sub-system
36
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
Code System:
Defines a set of concepts
with a coherent meaning
Code
Display
Definition
Value Set:
A selection of a set
of codes for use in a
particular context
Element Definition:
Type and Value set
reference
Selects Binds
▸ Binding:
 Connection between element and ValueSet
 Strength determines if can change
Page 37
Terminology Sub-system
37
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
Code System:
Defines a set of concepts
with a coherent meaning
Code
Display
Definition
Value Set:
A selection of a set
of codes for use in a
particular context
Element:
code/
Coding/
CodeableConcept
Element Definition:
Type and Value set
reference
Selects Binds
Refers to
Conforms
Page 38
Terminology Sub-system
38
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
Code System:
Defines a set of concepts
with a coherent meaning
Code
Display
Definition
Value Set:
A selection of a set
of codes for use in a
particular context
Element:
code/
Coding/
CodeableConcept
Element Definition:
Type and Value set
reference
Selects Binds
Refers to
Conforms
Definition
Instance
Page 39
Terminology binding: Condition resource
39
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
• a
ValueSet binding in the spec…
Page 40
Canonical Urls / system
• Certain resources
– http://hl7.org/fhir/references.html#canonical-list
• StructureDefinition
• ValueSet
• CodeSystem
• Is really a URI
– Globally unique
• Eg Extension definition or profile url
– A form of reference
• Eg ValueSet to CodeSystem
• Should resolve (usually) but not required to
– Eg support registry
Page 41
Example of canonical url
• ValueSet -> CodeSystem
Page 42
Demonstration
http://conman.clinfhir.com/connectathon.html?event=nz
 Add data to the resources in the resource graph
Page 43
Adapting FHIR to your needs: Profiling
• Many different contexts in healthcare, but want a single set
of Resources
• The 80% rule
• 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.
• Profiling adapts FHIR for specific scenarios
– A Statement of Use
43® Health Level Seven and HL7 are registered trademarks of Health
Page 44
FHIR as a platform spec
• Base on which profiles / IGs are created
• ‘80%’ rule
• Minimum required fields
• Minimum ‘required’ bindings
Base Spec Profiling Customized Spec
Eg IPS
Page 45
More on Profiling
• 3 main aspects:
– Constraining a resource - remove element, change multiplicity fix
values
– Change coded element binding
– Adding a new element (an extension)
• Modifier Extensions
• Each profile has a unique (canonical) url
– Represent as StructureDefinition resource
• Package multiple profiles as Implementation Guide
– Along with other artifacts (ValueSets, ConceptMaps etc.)
45® Health Level Seven and HL7 are registered trademarks of Health
Page 46
Example: Profile on a Patient
Limit names to
just 1 (instead
of 0..*)
Change
maritalStatus to
another set of
codes that
extends the one
from HL7
international
Specify that the identifier
uses the NHI – and is
required
Don’t
support
photo
Add an
extension
to support
ethnicity
Page 47
Profiling in (more) depth
• Conformance resources
– StructureDefinition
• Profile
• Extension definitions
• Conformance registries
– FHIR server
• Terminology
– ValueSets, CodeSystems, NamingSystem
Page 48
Extensions
• Extensions are normal
– Can occur at many levels in resource instance
• Same capabilities as core
• ‘Levels’ and reuse
– Core, National, Regional, Local
• Extension Definition
– (StructureDefinition)
• Canonical Url in definition
• Resource instance includes that Url
– Therefore client can locate definition
• Registry of extension definitions
48
® Health Level Seven and HL7
Page 49
Extension in an instance
<valueStringvalue=“jedi”/>
Page 51
Extensions: Examples
• Simple
• Complex
Page 52
Implementation Guide
• All the artifacts for a particular business need
– Outcome of profiling
• For an implementer
• Can be balloted by HL7
• Examples
– US Core
– Argonaut
– IPS
– QI-Core
– CCDA on FHIR
– Da Vinci (multiple)
– Provider directory
52® Health Level Seven and HL7 are registered trademarks of Health
http://www.fhir.org/guides/regis
Page 53
IG: General considerations
• Must Support
• Tooling
– Forge (https://fhir.furore.com/forge/ )
– Simplifier Registry (https://registry.fhir.org/)
– clinFHIR / conMAN (clinfhir.com)
• Governance
53® Health Level Seven and HL7 are registered trademarks of Health
Page 54
Demonstration
54
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
http://hl7.org/fhir/uv/ips/2019Sep/
International Patient Summary
Page 55
Implementer support
• Development
– Libraries
• .net, java, python, swift, javascript
– Reference servers
• On-line, downloadable (http://hl7.org/fhir/downloads.html)
– Validation
• $validate operation
• Java library
• Design
– clinFHIR Logical Modeler
– conMan Graph Builder
Page 56
.net – update a patient
Page 57
.net – get extensions
Page 59
clinFHIR Logical Modeler
• Graphical tool to build model using FHIR datatypes
• 2 model types:
– Pure information (eg Adverse Reactions)
• Collect and document data from clinicians
• Can review and publish as HISO information standard
– Resource based (eg NHI / HPI)
• To generate FHIR artifacts for Implementation Guide
– Eg profiles
– Can follow Information model
• Review and publish in conjunction with HL7 NZ
Page 60
Demonstration
• Creating a resource model to inform a
profile
– (Exercise 1 uses the Logical modeler)
60
® Health Level Seven and HL7
Page 62
Exercises
• https://docs.google.com/document/d/18pns_rXOjzgSBHM4
Fi7nXc54BWrpY94PWy7kVbYxty0/edit#
• http://bit.ly/2PhBZHN
Page 63
Exchange Paradigms
63
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
REST Documents
Messages
Services
(Operations)
Page 64
Bundles
• Container resource
• Types of Bundle
– Searchset
– Transaction
– Document
– Message
– …
• Inherit from Resource
– No text or extensions
64® Health Level Seven and HL7 are registered trademarks of Health
Bundle Resource
Patient Resource
List Resource
Condition Resource
Page 65
Exchange paradigm: REST
• Preferred paradigm
– Can be async
– Also Document
• Searching
– Defined searches per resource
• Can add others
– Chaining
– Parameters (eg _include)
– Bundle resource
• Operations
– For more complex interactions (still real-time)
– Defined and Custom
• Eg Terminology search, $validate, Patient address update
– Parameters resource
Server can support any subset
Page 67
When to use REST?
• Want low coupling between systems
– In theory, very little up-front negotiation required
• Small, light-weight exchanges
• Focus is CRUD operations
– Also for publish/subscribe
• Client-driven client-server orchestration
• Server endpoint has fixed location
• Well-suited for Mobile, PHR, Registries
67
Page 68
When to avoid REST?
• Complex or server-driven orchestration
– Order of operations matters (e.g. complex decision support)
• Unit of work != resource
– “Transaction” may be an option
• No natural “server” or no fixed network location
• Lack of trust in the client for contextual audit, etc.
68
Page 69
Locating a single resource…
http://server.org/FHIR/Patient/1
base path resource type
id
Not the same as a resource identifier
Page 71
Business identifiers
• Id is not the same as a business identifier
– Eg a Medical Records Number
– Eg Patient.identifier, Encounter.identifier
• Id is ‘structural’ – depends on server
• Identifier is a resource property.
– Same if a resource is moved
71
Page 72
Specify format
URL: GET [server]/fhir/Patient/1?_format=json
Response: HTTP/1.1 200 OK
Response headers: Content-Type: application/json+fhir;charset=utf-8
Content-Length: 787
URL: GET [server]/fhir/Patient/1 HTTP/1.1
Request header: accept: application/fhir+json
Response: HTTP/1.1 200 OK
Response headers: Content-Type: application/json+fhir;charset=utf-8
Content-Length: 787
Page 73
CRU(P)D: Mapping to verbs
create
The create interaction creates a new resource in a server assigned location. The create interaction is performed by an HTTP
POST operation as shown:
POST [base]/[resourcetype] (?_format=mimeType)
read
The read interaction accesses the current contents of a resource. The interaction is performed by an HTTP GET operation as
shown:
GET [base]/[resourcetype]/{id} (?_format=mimeType)
update
The update interaction creates a new current version for an existing resource or creates a new resource if no resource
already exists for the given id. The update interaction is performed by an HTTP PUT operation as shown:
PUT [base]/[resourcetype]/{id} (?_format=mimeType)
patch
The patch interaction updates an exiting resource by supplying a document with the list of changes to apply. The document
can be Json, XML or FHIR Path. The interaction is performed by an HTTP PATCH operation as shown:
PATCH [base]/[resourcetype]/{id}
delete
The delete interaction removes an existing resource. The interaction is performed by an HTTP DELETE operation as shown
(note logical delete & versioning):
DELETE [base]/[resourcetype]/{id}
Page 74
Versioning
• FHIR defines an API for managing changes
– Optional
• Previous versions can be listed / returned
– At resource level
• Delete is a ‘marker’ in the history
– Can re-animate with a PUT to the same location
• Resource history
– GET [base]/[type]/[id]/_history
• Get a specific version
– GET [base]/[type]/[id]/_history/3
– Version not necessarily a number
Page 75
REST SEARCHING
http://hl7.org/fhir/search.html
75
Page 76
Standard parameters
• Each resource has a set of “standard” search operations, so not every element can be searched
– Search name not always same as element name
• Can define custom ones
– SearchParameter resource
Page 77
Executing queries
• POSTMan - https://www.getpostman.com/
• Server declares support in CapabilityStatement
– GET [host]/metadata
– http://hl7.org/fhir/http.html#capabilities
• Returns a Bundle
– Watch out for paging
• _count parameter
• Reference database really helpful
– I use hapi (http://fhirtest.uhn.ca/baseDstu3/)
• clinFHIR to create sample data
– Patient Viewer -> Select Patient ? Add new patient
– Much more at synthea - https://github.com/synthetichealth/synthea
• Examples
http://snapp.clinfhir.com:8081/baseDstu3/Patient?name=hay
77
Page 78
Combining parameters
• Can search by GET & POST
• Multiple parameters
– Specifying multiple parameters finds resources matching all params  “AND”
http://snapp.clinfhir.com:8081/baseDstu3/Patient?name=hay&gender=male
– Parameters may list multiple values  “OR”
http://snapp.clinfhir.com:8081/baseDstu3/Patient?name=smith,hay
Page 79
Summary of common parameters
Page 80
Chained searches
• Search based on referenced properties
– http://hl7.org/fhir/search.html#chaining
• eg
– Observations for a patient
• Observation has a search for “subject” (the id of the Patient, Group or Device)
• Patient has a search for “name” and “identifier”.
• ‘chained’ search:
– [host]/Observation?subject.name={x}
– [host]/Observation?subject.identifier={y}
• But note: this still only works on the predefined search parameters. You cannot
just use any property of the resource.
http://snapp.clinfhir.com:8081/baseDstu3/Observation?subject.name=hay
Page 81
Reverse Chaining
• Selecting resources based on the properties of resources that refer to them
– http://hl7.org/fhir/search.html#has
• Return patients that have an Observation with a code of 9279-1
81
http://snapp.clinfhir.com:8081/baseDstu3/Patient?_has:Observation:patient:code=92
Particularly useful when using Proven
Return a patient ‘search’ property on Observation
Observation code
Observations
that reference
the patient
Page 82
_Include related resources
• Include related resources in the response
• Based on search parameters
• Server declares in conformance
• Format
– [host]/{type}?_include={source type}:{search parameter}:{target type}
• Eg
– [host]/MedicationOrder?_include=MedicationOrder:patient&criteria...
http://snapp.clinfhir.com:8081/baseDstu3/Observation?_id=7294&_include=Observation:patient
http://snapp.clinfhir.com:8081/baseDstu3/Observation?code=http://loinc.org|8310-
5&_include=Observation:patient
Page 83
Conditionals
• Perform an operation if conditions met
– Based on search parameters
• Conditional Read
– ‘If-modified-since’ header
• Conditional Create
– HTTP header
– If-None-Exist: [search parameters]
• Conditional Update
– PUT [base]/[type]?[search parameters]
• Conditional Delete
– DELETE [base]/[type]/?[search parameters]
Page 84
Custom queries
• Use SearchParameter to define
– http://hl7.org/fhir/searchparameter.html
• Like custom operations, does raise the interoperability bar
Page 85
Compartment
• Syntactic sugar for queries
• Resources that share common property
– Eg patient
• Purpose:
– Access mechanism for finding a set of related resources quickly
– Provide a definitional basis for applying access control to resources quickly
• http://hl7.org/fhir/compartmentdefinition.html
• Eg
– http://snapp.clinfhir.com:8081/baseDstu3/Patient/7268/$everything
Page 86
$match
• Defined operation for EMPI searching
• Send partial Patient resource
– Elements to match filled in
• POST to server
– Server applies business rules then (potentially) runs query
• Response is bundle of matching patients with score
{
"resourceType":"Patient",
"name":[{"family":"Doe"}],
"birthDate":"1987-03-12",
"gender":"male”
}
POST http://home.clinfhir.com:1880/Patient/$match
Page 87
GraphQL
• Allows queries to specify ‘shape’ to return
– Generally REST returns whole resource
– Though note _elements and _summary modifier
• Can operate on single resource or at the ‘system’ level
• Mostly query
– Update not well defined
• http://hl7.org/fhir/graphql.html
http://test.fhir.org/r3/Patient/example/$graphql?q
uery={name(use:official){text,given,family}}
Page 88
Updating patterns
• Resource PUT
– Replace the entire resource
• Patch
– The patch document
• Operations
– User defined update operations
Page 89
Resource PUT
• Submit an updated resource
• Client is in control (mostly)
• Server
– Doesn’t have to support
– Can apply business logic / security to call
Page 90
Validating first…
• Knowing the resource is valid
– Actually, ‘conformant’ is the preferred term
– Must be conformant to the core spec, additionally other profiles
• Validation code from the community
• $validate operation
– Most reference servers support
• http://hl7.org/fhir/validation.html
90
Page 92
Operations example
• Operations hide complexity
– Some in spec, can defined custom
• OperationDefinition resource to define
• Parameters resource
– Enclose input data
– Return result
• Custom operations are a barrier to global interoperability
– Not consistent across implementations
https://fhirblog.com/2019/07/09/thoughts-about-updating-registries/
Page 93
Parameters resource
• Use Parameters resource to pass parameters
{ "resourceType":"Parameters",
"parameter":[
{"name":"nhi","valueIdentifier":
{"system":"https://standards.digital.health.nz/id/nhi",
"value":"XXX1234"}
},
{"name":"address","valueAddress":
{"use":"home","text":"23 Thule Street "}
}
]
}
Page 94
Using a Library
Page 95
PATCH example
• Update part of a resource
• Patch document
– Specify changes to make
– JSON, XML, FHIRPath
• Careful with arrays
https://fhirblog.com/2019/08/13/updating-a-resource-using-patch/
[{ "op": "add", "path": "/gender", "value": "female" }]
Page 97
Transactions & Batches
• Same principle as Db transactions
– POST a Bundle to server root
• Transaction
– Succeed / Fail as a unit
• Batch
– Partial update
• http://hl7.org/fhir/http.html
Page 98
DOCUMENTS AND MESSAGES
98
Page 99
Document paradigm
• Summary at a point in time
• Part of record
• Very common
– Discharge Summary
– Referral letter
– Progress Note
• A collection of resources
• Equivalent to CDA
– CCDA on FHIR
99® Health Level Seven and HL7 are registered trademarks of Health
Patient
Practitione
r
Observatio
n
Resource
Device
List
Condition
Composition
• Subject
• Author
• Obs.
• Problems
List
Condition
Bundle
Note: Most resources have a reference to Patient
Page 100
Composition resource
• 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
• Can be profiled (i.e. specific document types)
100® Health Level Seven and HL7 are registered trademarks of Health
Page 101
Messaging
• Similar to v2 and v3 messaging
• Also a collection of resources as a
Bundle resource
• Allows request/response behavior
with bundles for both request and
response
• Event-driven
• Needs agreement between parties
– Tight coupling
• E.g. Send lab order, get back result
• Can be asynchronous and/or
indirect
Page 102
Conversion between v2 & FHIR
• Often replaced by REST
– (REST wasn’t an option until recently)
– Eg instead of ADT message, POST Patient resource to Lab server
• Conversion ‘reasonably’ straightforward
– Quite a few nuances though
• HL7 working on mapping advice
• https://chat.fhir.org/#narrow/stream/179188-v2-to.20FHIR
Page 104
FHIR AND THE MOH
(Adapted from a HISO presentation)
Page 105
Current NZ projects
• Adverse Reactions
– Improve collection of Adverse Reaction data
– Information model ready for comment
• FHIR interface for NHI / HPI
– Draft models created (multiple resources)
• Practitioner, PractitionerRole, Organization, Location
– Plan to release test API asap
• Medication query API against NZULM
– Support new users (ULM is complicated)
– Support new functionality (future phase)
• Bulk download for local caches
• Decision support
• CDS-hooks for EHR integration
– Plan to release test API asap
Page 106
HPI Graph
Page 107
Development Process
• Confirm requirements
• Setup Test server & project app
– http://nz.clinfhir.com/
– Currently standard FHIR server (HAPI)
• Use clinFHIR Logical Modeler to build information models
– Use conMan to build resource graphs where useful
– Examples
• Review models
– HISO document based process at the moment
– https://chat.fhir.org/#narrow/stream/179178-new-zealand
• Build FHIR artifacts from models & publish in IG
– Extension definitions automatically
– Profiles combination manual / automatic
– ValueSets & CodeSystems manual
– Searches, queries, other technical stuff
– FHIR IG publisher to generate IG
• Technical review / ballot
– With HL7 NZ – details TBD.
2 stage process as
technical review is
specialized.
Separate business &
technical aspects
Page 108
FHIR Community Process (FCP)
• Proposed process for building FHIR Implementation Guides
– Minimize overlap between IGs
– Encourage/support community development
– HL7 membership encouraged – not required
• Co-ordination committee
– Clearing House, not veto
• Each project:
– Documented governance process for IG development
– Description, License, Maintenance Plan, Realm
• https://wiki.hl7.org/index.php?title=FHIR_Community_Proc
ess
Page 109
clinFHIR Logical Modeler (redux)
• Graphical tool to build model using FHIR datatypes
• 2 model types:
– Pure information (eg Adverse Reactions)
• Collect and document data from clinicians
• Can review and publish as HISO information standard
– Resource based (eg NHI / HPI)
• To generate FHIR artifacts for Implementation Guide
– Eg profiles
– Can follow Information model
• Review and publish in conjunction with HL7 NZ
Page 110
Adverse reactions (Information Model)
Page 111
CSIRO: (Information Model)
• a
Page 112
NHI (single resource)
Page 113
Once it’s in a model:
We can generate different views /quality reports
Page 114
Analysis: ValueSets list
Page 115
Analysis: Extensions
Page 116
Generate document
Page 117
Tracking comments
Page 118
Summing up
Page 119
Security
• FHIR is not a security standard, but…
• Existing privacy well aligned with GDPR
– (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
119® Health Level Seven and HL7 are registered trademarks of Health
https://healthcaresecprivacy.blogspot.co.uk/2018/05/gdpr-on-fhir.html
https://chat.fhir.org/#narrow/stream/111-Security-and.20Privacy
Page 120
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)
120® Health Level Seven and HL7 are registered trademarks of Health
Page 121
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/
121® Health Level Seven and HL7 are registered trademarks of Health
Page 122
Oauth2
App Resource
Server
Authz
Server
1. Delegate
Authorization
3. Use App
4. Authenticate and Grant access
5. Issue code
7. Access resource
(with token)
2. Application is
registered with Auth
server
6. Request access
token (+refresh token)
Repeat step 6 when access token expires
Page 123
Ecosystem
• An ecosystem really needs one, shared Auth server
– Most implementations combine Auth & Data servers
• For this to work, more standards will help
– Dynamic Client Registration (RFC 7591)
– Token introspection (RFC 7662)
– Server discovery (RFC 5785)
• More granular scopes
• Common Consent models
• Standardized auditing
– So consumer can see who accessed their data
More data: bit.ly/smart-fhir-tech
Page 124
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
124® Health Level Seven and HL7 are registered trademarks of Health
http://cds-hooks.org/specification/1.0/
https://chat.fhir.org/#narrow/stream/179159-cds-hooks
Page 125
Bulk Data
• Population level data
– Multiple patients
– Large data sets
• Define operations
– $export / $import
– ndjson as format
• Asynchronous operation
• SMART as security
• Still in development
• http://hl7.org/fhir/uv/bulkdata/STU1/
• https://chat.fhir.org/#narrow/stream/179250-bulk-data
Page 126
Decision Support
• Clinical Reasoning module
• 2 main use cases
– Sharing knowledge artifacts
– Evaluating knowledge artifacts in the context of a population
• Decision Support, Quality measures
• A complex area!
• http://hl7.org/fhir/clinicalreasoning-module.html
• https://chat.fhir.org/#narrow/stream/179220-cql
Page 127
WorkFlow
• Eg Referral, tracking
orders
• Resource characteristics
– Request
• Eg MedicationRequest
– Event
• Eg
MedicationDispense
– Definition
– Eg PlanDefinition
• Task Resource
– As a ‘tracker’
Page 128
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
® Health Level Seven and HL7 are registered trademarks of Health128
Page 129
More information
• 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/
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
129
Page 130
That’s it!
® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
1

Weitere ähnliche Inhalte

Was ist angesagt?

HL7 New Zealand: FHIR for developers
HL7 New Zealand: FHIR for developersHL7 New Zealand: FHIR for developers
HL7 New Zealand: FHIR for developersDavid Hay
 
FHIR for Hackers
FHIR for HackersFHIR for Hackers
FHIR for HackersJames Agnew
 
itx presentation: FHIR and the New Zealand EHR
itx presentation: FHIR and the New Zealand EHRitx presentation: FHIR and the New Zealand EHR
itx presentation: FHIR and the New Zealand EHRDavid Hay
 
Accessing SNOMED CT With FHIR Terminology Services
Accessing SNOMED CT With FHIR Terminology ServicesAccessing SNOMED CT With FHIR Terminology Services
Accessing SNOMED CT With FHIR Terminology ServicesPeter Jordan
 
Discover the new face of HL7 FHIR v4 - Ideas2IT
Discover the new face of  HL7 FHIR v4 - Ideas2ITDiscover the new face of  HL7 FHIR v4 - Ideas2IT
Discover the new face of HL7 FHIR v4 - Ideas2ITIdeas2IT Technologies
 
Information Models & FHIR --- It’s all about content!
Information Models & FHIR --- It’s all about content!Information Models & FHIR --- It’s all about content!
Information Models & FHIR --- It’s all about content!Koray Atalag
 
HL7 Fhir for Developers
HL7 Fhir for DevelopersHL7 Fhir for Developers
HL7 Fhir for DevelopersEwout Kramer
 
Terminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieTerminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieFurore_com
 
FHIR - more than the basics
FHIR - more than the basicsFHIR - more than the basics
FHIR - more than the basicsEwout Kramer
 
FHIR® Profiling Using Forge and Simplifier.net
FHIR® Profiling Using Forge and Simplifier.netFHIR® Profiling Using Forge and Simplifier.net
FHIR® Profiling Using Forge and Simplifier.netFurore_com
 
Fhir foundation (grahame)
Fhir foundation (grahame)Fhir foundation (grahame)
Fhir foundation (grahame)DevDays
 
Interoperability, SNOMED, HL7 and FHIR
Interoperability, SNOMED, HL7 and FHIRInteroperability, SNOMED, HL7 and FHIR
Interoperability, SNOMED, HL7 and FHIRTim Benson
 
Getting started with FHIR by Ewout Kramer
Getting started with FHIR by Ewout KramerGetting started with FHIR by Ewout Kramer
Getting started with FHIR by Ewout KramerFHIR Developer Days
 
Building a Scenario using clinFHIR
Building a Scenario using clinFHIRBuilding a Scenario using clinFHIR
Building a Scenario using clinFHIRDevDays
 
Fire and Ice - FHIR in New Zealand - David Hay
Fire and Ice - FHIR in New Zealand - David HayFire and Ice - FHIR in New Zealand - David Hay
Fire and Ice - FHIR in New Zealand - David HayHL7 New Zealand
 
IHE on FHIR and DICOMweb 2017
IHE on FHIR and DICOMweb 2017IHE on FHIR and DICOMweb 2017
IHE on FHIR and DICOMweb 2017Brad Genereaux
 
Furore devdays 2017- fhir and devices - cooper thc2
Furore devdays 2017- fhir and devices - cooper thc2Furore devdays 2017- fhir and devices - cooper thc2
Furore devdays 2017- fhir and devices - cooper thc2DevDays
 
Profiling with clin fhir
Profiling with clin fhirProfiling with clin fhir
Profiling with clin fhirDevDays
 

Was ist angesagt? (20)

HL7 New Zealand: FHIR for developers
HL7 New Zealand: FHIR for developersHL7 New Zealand: FHIR for developers
HL7 New Zealand: FHIR for developers
 
FHIR for Hackers
FHIR for HackersFHIR for Hackers
FHIR for Hackers
 
FHIR & Ice
FHIR & IceFHIR & Ice
FHIR & Ice
 
itx presentation: FHIR and the New Zealand EHR
itx presentation: FHIR and the New Zealand EHRitx presentation: FHIR and the New Zealand EHR
itx presentation: FHIR and the New Zealand EHR
 
An Introduction to HL7 FHIR
An Introduction to HL7 FHIRAn Introduction to HL7 FHIR
An Introduction to HL7 FHIR
 
Accessing SNOMED CT With FHIR Terminology Services
Accessing SNOMED CT With FHIR Terminology ServicesAccessing SNOMED CT With FHIR Terminology Services
Accessing SNOMED CT With FHIR Terminology Services
 
Discover the new face of HL7 FHIR v4 - Ideas2IT
Discover the new face of  HL7 FHIR v4 - Ideas2ITDiscover the new face of  HL7 FHIR v4 - Ideas2IT
Discover the new face of HL7 FHIR v4 - Ideas2IT
 
Information Models & FHIR --- It’s all about content!
Information Models & FHIR --- It’s all about content!Information Models & FHIR --- It’s all about content!
Information Models & FHIR --- It’s all about content!
 
HL7 Fhir for Developers
HL7 Fhir for DevelopersHL7 Fhir for Developers
HL7 Fhir for Developers
 
Terminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieTerminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzie
 
FHIR - more than the basics
FHIR - more than the basicsFHIR - more than the basics
FHIR - more than the basics
 
FHIR® Profiling Using Forge and Simplifier.net
FHIR® Profiling Using Forge and Simplifier.netFHIR® Profiling Using Forge and Simplifier.net
FHIR® Profiling Using Forge and Simplifier.net
 
Fhir foundation (grahame)
Fhir foundation (grahame)Fhir foundation (grahame)
Fhir foundation (grahame)
 
Interoperability, SNOMED, HL7 and FHIR
Interoperability, SNOMED, HL7 and FHIRInteroperability, SNOMED, HL7 and FHIR
Interoperability, SNOMED, HL7 and FHIR
 
Getting started with FHIR by Ewout Kramer
Getting started with FHIR by Ewout KramerGetting started with FHIR by Ewout Kramer
Getting started with FHIR by Ewout Kramer
 
Building a Scenario using clinFHIR
Building a Scenario using clinFHIRBuilding a Scenario using clinFHIR
Building a Scenario using clinFHIR
 
Fire and Ice - FHIR in New Zealand - David Hay
Fire and Ice - FHIR in New Zealand - David HayFire and Ice - FHIR in New Zealand - David Hay
Fire and Ice - FHIR in New Zealand - David Hay
 
IHE on FHIR and DICOMweb 2017
IHE on FHIR and DICOMweb 2017IHE on FHIR and DICOMweb 2017
IHE on FHIR and DICOMweb 2017
 
Furore devdays 2017- fhir and devices - cooper thc2
Furore devdays 2017- fhir and devices - cooper thc2Furore devdays 2017- fhir and devices - cooper thc2
Furore devdays 2017- fhir and devices - cooper thc2
 
Profiling with clin fhir
Profiling with clin fhirProfiling with clin fhir
Profiling with clin fhir
 

Ähnlich wie Christchurch presentation

Intro_To_FHIR.pptx
Intro_To_FHIR.pptxIntro_To_FHIR.pptx
Intro_To_FHIR.pptxPierluigi10
 
03 FHIR Deep dive - 20191116 v2.pptx
03 FHIR Deep dive - 20191116 v2.pptx03 FHIR Deep dive - 20191116 v2.pptx
03 FHIR Deep dive - 20191116 v2.pptxVITNetflix
 
New Zealand on FHIR - HiNZ 2019
New Zealand on FHIR - HiNZ 2019New Zealand on FHIR - HiNZ 2019
New Zealand on FHIR - HiNZ 2019Peter Jordan
 
Data Virtualization Modernizes Biobanking
Data Virtualization Modernizes BiobankingData Virtualization Modernizes Biobanking
Data Virtualization Modernizes BiobankingDenodo
 
ICIC 2014 Finding Answers in the Data – The Future Role of Text and Data Mini...
ICIC 2014 Finding Answers in the Data – The Future Role of Text and Data Mini...ICIC 2014 Finding Answers in the Data – The Future Role of Text and Data Mini...
ICIC 2014 Finding Answers in the Data – The Future Role of Text and Data Mini...Dr. Haxel Consult
 
BizTalk on FHIR
BizTalk on FHIRBizTalk on FHIR
BizTalk on FHIRBizTalk360
 
Why HL7 FHIR is Hot & SNOMED CT Is Cool - For Healthcare CIOs
Why HL7 FHIR is Hot & SNOMED CT Is Cool - For Healthcare CIOsWhy HL7 FHIR is Hot & SNOMED CT Is Cool - For Healthcare CIOs
Why HL7 FHIR is Hot & SNOMED CT Is Cool - For Healthcare CIOsPeter Jordan
 
fhir-documents
fhir-documentsfhir-documents
fhir-documentsDevDays
 
Health Information Exchange Standards - Compliance via Integration Testing
Health Information Exchange Standards  -  Compliance via Integration TestingHealth Information Exchange Standards  -  Compliance via Integration Testing
Health Information Exchange Standards - Compliance via Integration TestingHealth Informatics New Zealand
 
3.0 FHIR Deep Dive AMIA SA 2022.pdf
3.0 FHIR Deep Dive AMIA SA 2022.pdf3.0 FHIR Deep Dive AMIA SA 2022.pdf
3.0 FHIR Deep Dive AMIA SA 2022.pdfVaishnaviYadav151699
 
Ihic preso v2
Ihic preso v2Ihic preso v2
Ihic preso v2David Hay
 
HANDI Summit 18 - Introducing HANDI-HOPD - Ewan Davis
HANDI Summit 18 - Introducing HANDI-HOPD - Ewan DavisHANDI Summit 18 - Introducing HANDI-HOPD - Ewan Davis
HANDI Summit 18 - Introducing HANDI-HOPD - Ewan DavisHANDI HEALTH
 
Introduction to cda may 2019 montreal
Introduction to cda may 2019 montrealIntroduction to cda may 2019 montreal
Introduction to cda may 2019 montrealAbdul-Malik Shakir
 
FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014Ewout Kramer
 
Toward F.A.I.R. Pharma. PhUSE Linked Data Initiatives Past and Present
Toward F.A.I.R. Pharma. PhUSE Linked Data Initiatives Past and PresentToward F.A.I.R. Pharma. PhUSE Linked Data Initiatives Past and Present
Toward F.A.I.R. Pharma. PhUSE Linked Data Initiatives Past and PresentTim Williams
 
A Cognitive-Based Semantic Approach to Deep Content Analysis in Search Engines
A Cognitive-Based Semantic Approach to Deep Content Analysis in Search EnginesA Cognitive-Based Semantic Approach to Deep Content Analysis in Search Engines
A Cognitive-Based Semantic Approach to Deep Content Analysis in Search EnginesMei Chen, PhD
 
Standards in health informatics - problem, clinical models and terminology
Standards in health informatics - problem, clinical models and terminologyStandards in health informatics - problem, clinical models and terminology
Standards in health informatics - problem, clinical models and terminologySilje Ljosland Bakke
 

Ähnlich wie Christchurch presentation (20)

FHIR.pptx
FHIR.pptxFHIR.pptx
FHIR.pptx
 
Intro_To_FHIR.pptx
Intro_To_FHIR.pptxIntro_To_FHIR.pptx
Intro_To_FHIR.pptx
 
03 FHIR Deep dive - 20191116 v2.pptx
03 FHIR Deep dive - 20191116 v2.pptx03 FHIR Deep dive - 20191116 v2.pptx
03 FHIR Deep dive - 20191116 v2.pptx
 
New Zealand on FHIR - HiNZ 2019
New Zealand on FHIR - HiNZ 2019New Zealand on FHIR - HiNZ 2019
New Zealand on FHIR - HiNZ 2019
 
Data Virtualization Modernizes Biobanking
Data Virtualization Modernizes BiobankingData Virtualization Modernizes Biobanking
Data Virtualization Modernizes Biobanking
 
ICIC 2014 Finding Answers in the Data – The Future Role of Text and Data Mini...
ICIC 2014 Finding Answers in the Data – The Future Role of Text and Data Mini...ICIC 2014 Finding Answers in the Data – The Future Role of Text and Data Mini...
ICIC 2014 Finding Answers in the Data – The Future Role of Text and Data Mini...
 
BizTalk on FHIR
BizTalk on FHIRBizTalk on FHIR
BizTalk on FHIR
 
Why HL7 FHIR is Hot & SNOMED CT Is Cool - For Healthcare CIOs
Why HL7 FHIR is Hot & SNOMED CT Is Cool - For Healthcare CIOsWhy HL7 FHIR is Hot & SNOMED CT Is Cool - For Healthcare CIOs
Why HL7 FHIR is Hot & SNOMED CT Is Cool - For Healthcare CIOs
 
fhir-documents
fhir-documentsfhir-documents
fhir-documents
 
Health Information Exchange Standards - Compliance via Integration Testing
Health Information Exchange Standards  -  Compliance via Integration TestingHealth Information Exchange Standards  -  Compliance via Integration Testing
Health Information Exchange Standards - Compliance via Integration Testing
 
3.0 FHIR Deep Dive AMIA SA 2022.pdf
3.0 FHIR Deep Dive AMIA SA 2022.pdf3.0 FHIR Deep Dive AMIA SA 2022.pdf
3.0 FHIR Deep Dive AMIA SA 2022.pdf
 
Sistemas de Gestão de Ciência e Repositórios - Diretrizes nacionais e interna...
Sistemas de Gestão de Ciência e Repositórios - Diretrizes nacionais e interna...Sistemas de Gestão de Ciência e Repositórios - Diretrizes nacionais e interna...
Sistemas de Gestão de Ciência e Repositórios - Diretrizes nacionais e interna...
 
Ihic preso v2
Ihic preso v2Ihic preso v2
Ihic preso v2
 
HANDI Summit 18 - Introducing HANDI-HOPD - Ewan Davis
HANDI Summit 18 - Introducing HANDI-HOPD - Ewan DavisHANDI Summit 18 - Introducing HANDI-HOPD - Ewan Davis
HANDI Summit 18 - Introducing HANDI-HOPD - Ewan Davis
 
Introduction to cda may 2019 montreal
Introduction to cda may 2019 montrealIntroduction to cda may 2019 montreal
Introduction to cda may 2019 montreal
 
FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014
 
Building blocks for success: criteria for trusted institutional repositories
Building blocks for success: criteria for trusted institutional repositoriesBuilding blocks for success: criteria for trusted institutional repositories
Building blocks for success: criteria for trusted institutional repositories
 
Toward F.A.I.R. Pharma. PhUSE Linked Data Initiatives Past and Present
Toward F.A.I.R. Pharma. PhUSE Linked Data Initiatives Past and PresentToward F.A.I.R. Pharma. PhUSE Linked Data Initiatives Past and Present
Toward F.A.I.R. Pharma. PhUSE Linked Data Initiatives Past and Present
 
A Cognitive-Based Semantic Approach to Deep Content Analysis in Search Engines
A Cognitive-Based Semantic Approach to Deep Content Analysis in Search EnginesA Cognitive-Based Semantic Approach to Deep Content Analysis in Search Engines
A Cognitive-Based Semantic Approach to Deep Content Analysis in Search Engines
 
Standards in health informatics - problem, clinical models and terminology
Standards in health informatics - problem, clinical models and terminologyStandards in health informatics - problem, clinical models and terminology
Standards in health informatics - problem, clinical models and terminology
 

Kürzlich hochgeladen

Call Girl in Indore 8827247818 {Low Price}👉 Nitya Indore Call Girls * ITRG...
Call Girl in Indore 8827247818 {Low Price}👉   Nitya Indore Call Girls  * ITRG...Call Girl in Indore 8827247818 {Low Price}👉   Nitya Indore Call Girls  * ITRG...
Call Girl in Indore 8827247818 {Low Price}👉 Nitya Indore Call Girls * ITRG...mahaiklolahd
 
Sangli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sangli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetSangli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sangli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetSambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetNanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
nagpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
nagpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meetnagpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
nagpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
neemuch Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
neemuch Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meetneemuch Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
neemuch Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Call Girl in Bangalore 9632137771 {LowPrice} ❤️ (Navya) Bangalore Call Girls ...
Call Girl in Bangalore 9632137771 {LowPrice} ❤️ (Navya) Bangalore Call Girls ...Call Girl in Bangalore 9632137771 {LowPrice} ❤️ (Navya) Bangalore Call Girls ...
Call Girl in Bangalore 9632137771 {LowPrice} ❤️ (Navya) Bangalore Call Girls ...mahaiklolahd
 
Top 20 Famous Indian Female Pornstars Name List 2024
Top 20 Famous Indian Female Pornstars Name List 2024Top 20 Famous Indian Female Pornstars Name List 2024
Top 20 Famous Indian Female Pornstars Name List 2024Sheetaleventcompany
 
kochi Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
kochi Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meetkochi Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
kochi Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Kolkata Call Girls Miss Inaaya ❤️ at @30% discount Everyday Call girl
Kolkata Call Girls Miss Inaaya ❤️ at @30% discount Everyday Call girlKolkata Call Girls Miss Inaaya ❤️ at @30% discount Everyday Call girl
Kolkata Call Girls Miss Inaaya ❤️ at @30% discount Everyday Call girlonly4webmaster01
 
Best Lahore Escorts 😮‍💨03250114445 || VIP escorts in Lahore
Best Lahore Escorts 😮‍💨03250114445 || VIP escorts in LahoreBest Lahore Escorts 😮‍💨03250114445 || VIP escorts in Lahore
Best Lahore Escorts 😮‍💨03250114445 || VIP escorts in LahoreDeny Daniel
 
(Deeksha) 💓 9920725232 💓High Profile Call Girls Navi Mumbai You Can Get The S...
(Deeksha) 💓 9920725232 💓High Profile Call Girls Navi Mumbai You Can Get The S...(Deeksha) 💓 9920725232 💓High Profile Call Girls Navi Mumbai You Can Get The S...
(Deeksha) 💓 9920725232 💓High Profile Call Girls Navi Mumbai You Can Get The S...Ahmedabad Call Girls
 
Premium Call Girls Bangalore {7304373326} ❤️VVIP POOJA Call Girls in Bangalor...
Premium Call Girls Bangalore {7304373326} ❤️VVIP POOJA Call Girls in Bangalor...Premium Call Girls Bangalore {7304373326} ❤️VVIP POOJA Call Girls in Bangalor...
Premium Call Girls Bangalore {7304373326} ❤️VVIP POOJA Call Girls in Bangalor...Sheetaleventcompany
 
💚 Punjabi Call Girls In Chandigarh 💯Lucky 🔝8868886958🔝Call Girl In Chandigarh
💚 Punjabi Call Girls In Chandigarh 💯Lucky 🔝8868886958🔝Call Girl In Chandigarh💚 Punjabi Call Girls In Chandigarh 💯Lucky 🔝8868886958🔝Call Girl In Chandigarh
💚 Punjabi Call Girls In Chandigarh 💯Lucky 🔝8868886958🔝Call Girl In ChandigarhSheetaleventcompany
 
Mathura Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Mathura Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetMathura Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Mathura Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Thrissur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Thrissur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetThrissur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Thrissur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Dehradun Call Girls 8854095900 Call Girl in Dehradun Uttrakhand
Dehradun Call Girls 8854095900 Call Girl in Dehradun  UttrakhandDehradun Call Girls 8854095900 Call Girl in Dehradun  Uttrakhand
Dehradun Call Girls 8854095900 Call Girl in Dehradun Uttrakhandindiancallgirl4rent
 
Jaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
Jaipur Call Girls 9257276172 Call Girl in Jaipur RajasthanJaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
Jaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthanindiancallgirl4rent
 
Kochi call girls Mallu escort girls available 7877702510
Kochi call girls Mallu escort girls available 7877702510Kochi call girls Mallu escort girls available 7877702510
Kochi call girls Mallu escort girls available 7877702510Vipesco
 
Vip Call Girls Makarba 👙 6367187148 👙 Genuine WhatsApp Number for Real Meet
Vip Call Girls Makarba 👙 6367187148 👙 Genuine WhatsApp Number for Real MeetVip Call Girls Makarba 👙 6367187148 👙 Genuine WhatsApp Number for Real Meet
Vip Call Girls Makarba 👙 6367187148 👙 Genuine WhatsApp Number for Real MeetAhmedabad Call Girls
 

Kürzlich hochgeladen (20)

Call Girl in Indore 8827247818 {Low Price}👉 Nitya Indore Call Girls * ITRG...
Call Girl in Indore 8827247818 {Low Price}👉   Nitya Indore Call Girls  * ITRG...Call Girl in Indore 8827247818 {Low Price}👉   Nitya Indore Call Girls  * ITRG...
Call Girl in Indore 8827247818 {Low Price}👉 Nitya Indore Call Girls * ITRG...
 
Sangli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sangli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetSangli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sangli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetSambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetNanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
nagpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
nagpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meetnagpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
nagpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
neemuch Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
neemuch Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meetneemuch Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
neemuch Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Call Girl in Bangalore 9632137771 {LowPrice} ❤️ (Navya) Bangalore Call Girls ...
Call Girl in Bangalore 9632137771 {LowPrice} ❤️ (Navya) Bangalore Call Girls ...Call Girl in Bangalore 9632137771 {LowPrice} ❤️ (Navya) Bangalore Call Girls ...
Call Girl in Bangalore 9632137771 {LowPrice} ❤️ (Navya) Bangalore Call Girls ...
 
Top 20 Famous Indian Female Pornstars Name List 2024
Top 20 Famous Indian Female Pornstars Name List 2024Top 20 Famous Indian Female Pornstars Name List 2024
Top 20 Famous Indian Female Pornstars Name List 2024
 
kochi Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
kochi Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meetkochi Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
kochi Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Kolkata Call Girls Miss Inaaya ❤️ at @30% discount Everyday Call girl
Kolkata Call Girls Miss Inaaya ❤️ at @30% discount Everyday Call girlKolkata Call Girls Miss Inaaya ❤️ at @30% discount Everyday Call girl
Kolkata Call Girls Miss Inaaya ❤️ at @30% discount Everyday Call girl
 
Best Lahore Escorts 😮‍💨03250114445 || VIP escorts in Lahore
Best Lahore Escorts 😮‍💨03250114445 || VIP escorts in LahoreBest Lahore Escorts 😮‍💨03250114445 || VIP escorts in Lahore
Best Lahore Escorts 😮‍💨03250114445 || VIP escorts in Lahore
 
(Deeksha) 💓 9920725232 💓High Profile Call Girls Navi Mumbai You Can Get The S...
(Deeksha) 💓 9920725232 💓High Profile Call Girls Navi Mumbai You Can Get The S...(Deeksha) 💓 9920725232 💓High Profile Call Girls Navi Mumbai You Can Get The S...
(Deeksha) 💓 9920725232 💓High Profile Call Girls Navi Mumbai You Can Get The S...
 
Premium Call Girls Bangalore {7304373326} ❤️VVIP POOJA Call Girls in Bangalor...
Premium Call Girls Bangalore {7304373326} ❤️VVIP POOJA Call Girls in Bangalor...Premium Call Girls Bangalore {7304373326} ❤️VVIP POOJA Call Girls in Bangalor...
Premium Call Girls Bangalore {7304373326} ❤️VVIP POOJA Call Girls in Bangalor...
 
💚 Punjabi Call Girls In Chandigarh 💯Lucky 🔝8868886958🔝Call Girl In Chandigarh
💚 Punjabi Call Girls In Chandigarh 💯Lucky 🔝8868886958🔝Call Girl In Chandigarh💚 Punjabi Call Girls In Chandigarh 💯Lucky 🔝8868886958🔝Call Girl In Chandigarh
💚 Punjabi Call Girls In Chandigarh 💯Lucky 🔝8868886958🔝Call Girl In Chandigarh
 
Mathura Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Mathura Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetMathura Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Mathura Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Thrissur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Thrissur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetThrissur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Thrissur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Dehradun Call Girls 8854095900 Call Girl in Dehradun Uttrakhand
Dehradun Call Girls 8854095900 Call Girl in Dehradun  UttrakhandDehradun Call Girls 8854095900 Call Girl in Dehradun  Uttrakhand
Dehradun Call Girls 8854095900 Call Girl in Dehradun Uttrakhand
 
Jaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
Jaipur Call Girls 9257276172 Call Girl in Jaipur RajasthanJaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
Jaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
 
Kochi call girls Mallu escort girls available 7877702510
Kochi call girls Mallu escort girls available 7877702510Kochi call girls Mallu escort girls available 7877702510
Kochi call girls Mallu escort girls available 7877702510
 
Vip Call Girls Makarba 👙 6367187148 👙 Genuine WhatsApp Number for Real Meet
Vip Call Girls Makarba 👙 6367187148 👙 Genuine WhatsApp Number for Real MeetVip Call Girls Makarba 👙 6367187148 👙 Genuine WhatsApp Number for Real Meet
Vip Call Girls Makarba 👙 6367187148 👙 Genuine WhatsApp Number for Real Meet
 

Christchurch presentation

  • 2. Page 2 Thanks to our sponsors
  • 3. Page 3 About me • Medical Doctor • Developer – EMR – Tooling: clinFHIR, conMan • HL7 Fellow • Chair Emeritus of HL7 New Zealand • Co-chair FHIR Management Group • Contractor – MOH, Rhapsody, CSIRO, HL7 Intl. • Blog: fhirblog.com 3
  • 4. Page 4 Objectives for day • Understand the basics of FHIR • Feel confident to participate in a FHIR Implementation • Know how to use clinFHIR / conMan tooling • Know where to find more info and help • Build the community! – Encourage people to comment on work…
  • 5. Page 5 Agenda Time Activity 9.00 – 10.30 Technical Overview, Terminology 10.30 – 11.00 Morning tea 11.00 – 11.45 Profiling, Implementer support 11.45 – 12.30 Individual Exercises 12.30 - 1.15 Lunch 1.15 - 2.00 Exchange paradigms 2.00 – 2.30 National perspective – current projects, ecosystem, reviewing 2.30 – 3.00 Afternoon tea 3.00 – 3.30 Security & Additional standards 3.30 – 4.00 Exercises 4.00 – 4.30 Wrap up, unanswered questions, next steps
  • 7. Page 8 Technical Overview • What is FHIR • Resources • Resource Graphs (incl. clinFHIR) • Terminology – Interaction and resources • Exchange Paradigms – CRUD operations – Update operations • PUT, PATCH, Operation • Wire representation – Extensions & Contained • Implementer Support – Tooling and Libraries
  • 8. Page 9 What is FHIR • Fast Healthcare Interoperability Resources • An HL7 Interoperability Standard – For sharing clinical information – No assumption on storage form – Focused on the now • (with an eye to the future) • 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 – https://chat.fhir.org/ – Libraries – Reference servers ® Health Level Seven and HL7 are registered trademarks of Health9
  • 9. Page 10 Where can you use FHIR 10 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. FHIR Application PHR FHIR API Library Database FHIR Integration Engine V3 V2
  • 10. Page 11 Timeline: Where does FHIR fit? ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. FHIR Maturity model & releases 1980 1990 2000 2010 2020 FHIR CDA V3 V2 V2 1987 Start V3 1995 V3 CDA 2005 Fresh Look 2011 FHIR Release 4 2018
  • 11. Page 12 Where is it going? • More resources • Moving resources to Normative – More implementation experience, connectathons • Moving beyond Interoperability – Extending into Clinical Knowledge • Decision Support • Quality Measures – Bulk extract and query – Research – Also being used for persistence • Associated standards – SMART – CDS-Hooks – Bulk Data • Accelerating implementations • Supporting the community ® Health Level Seven and HL7 are registered trademarks of Health12
  • 12. Page 13 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 13® Health Level Seven and HL7 are registered trademarks of Health
  • 13. Page 14 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
  • 14. Page 15 References between resources 15 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. PROCEDURE Patient Diagnostic reportCondition Subject Report Related Item Encounter Performer Encounter Practitioner http://hl7.org/fhir/references.html
  • 15. Page 16 Recording a consultation 16 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. 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 perforation. Diagnosis Otitis Media, and prescribed Amoxicillin 250mg 3 times per day for 7 days. Follow up consultation 2 days later returned with an itchy skin rash. No Breathing Normal. On examination, urticarial rash on both arms. No evidence meningitis. Diagnosis of penicillin allergy. Antibiotics changed to Erythromycin 250mg 4 times per day for 10 days. Patient Encounter Condition Observation Medication Allergy Intolerance
  • 16. Page 17 First consultation as a Graph 17 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
  • 17. Page 18 Visualizing the connections: ConMan 18 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office.
  • 18. Page 19 Demonstration http://conman.clinfhir.com/connectathon.html?event=nz  Build a resource graph for the first consultation - (Exercise 2 uses conMan)
  • 19. Page 20 Resources: Type vs Instance • ‘Type’ is the definition in the spec – Like a template or a cookie cutter • ‘Instance’ is a ‘filled out’ type – Like a cookie • Take Patient: – Patient type (in spec) is what can be recorded for a patient • (Can alter with Profiling) – An actual patient is a particular instance of the Patient type 20® Health Level Seven and HL7 are registered trademarks of Health
  • 20. Page 21 Contained resources • Resources generally stand alone – With references between them • Contained resources: – Resources ‘inside’ another – When doesn’t have separate identity • Wire format (‘contained’ element) • Library support http://hl7.org/fhir/references.html#contained
  • 21. Page 22 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”/>
  • 22. Page 23 Structured / coded data • Unstructured vs Structured vs Coded • Value: – Greatly improves quality of exchange – ‘semantic’ interoperability • Secondary uses – Decision Support – Analytics – Population Health – Reporting 23® Health Level Seven and HL7 are registered trademarks of Health
  • 23. Page 24 Resource type structure and definition 24 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. Examine the spec…
  • 24. Page 25 Resource Hierarchy Resource • Id • Meta Domain Resource • Text • Contained • Extensions Specific type Bundle
  • 25. Page 26 Base Types • DataTypes – Each element in an instance is a single datatype • Spec indicates allowed types • Choice element – 2 classes of datatype • Primitive • Complex • Other types – MetaData – Element – Resource / Domain Resource – Logical Model 26® Health Level Seven and HL7 are registered trademarks of Health
  • 26. Page 27 Data types: Primitive (R3) 27 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. 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 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 Value : xs : decimal 0..1
  • 27. Page 28 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! 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 (R3) 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] 28
  • 28. Page 29 Identifiers • Business identifiers – NHI, Driving License, CSC Card, Lab order number – Most resources have them • Identifier datatype – Key child elements • System – The ‘namespace’ within which the value is unique (uri) » NamingSystem resource to describe • Value – The actual value • Not the same as the resource Id
  • 29. Page 30 Coded datatypes • Refer to a terminology • Code: "status" : "confirmed" • Coding: { "system": "http://www.nlm.nih.gov/research/umls/rxnorm", "code": "C3214954", "display": "cashew nut allergenic extract Injectable" } • CodeableConcept: { "coding": [{ "system": "http://snomed.info/sct", "code": "39579001", "display": "Anaphylactic reaction“ }], "text" : "Anaphylaxis" } Datatypes in the spec…
  • 31. Page 32 Why have structured / coded data • Unstructured vs Structured vs Coded • Value: – Greatly improves quality of exchange – ‘semantic’ interoperability • Secondary uses – Decision Support – Analytics – Population Health – Reporting 32s of States
  • 33. Page 34 Terminology Sub-system 34 Code System: Defines a set of concepts with a coherent meaning Code Display Definition ‣ SNOMED CT / LOINC ‣ NZULM / NZMT ‣ ICPC, MIMS + 100s more ‣ ICD-X+ ‣ A drug formulary ‣ Custom
  • 34. Page 35 Terminology Sub-system 35 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. Code System: Defines a set of concepts with a coherent meaning Code Display Definition Value Set: A selection of a set of codes for use in a particular context Selects
  • 35. Page 36 Terminology Sub-system 36 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. Code System: Defines a set of concepts with a coherent meaning Code Display Definition Value Set: A selection of a set of codes for use in a particular context Element Definition: Type and Value set reference Selects Binds ▸ Binding:  Connection between element and ValueSet  Strength determines if can change
  • 36. Page 37 Terminology Sub-system 37 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. Code System: Defines a set of concepts with a coherent meaning Code Display Definition Value Set: A selection of a set of codes for use in a particular context Element: code/ Coding/ CodeableConcept Element Definition: Type and Value set reference Selects Binds Refers to Conforms
  • 37. Page 38 Terminology Sub-system 38 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. Code System: Defines a set of concepts with a coherent meaning Code Display Definition Value Set: A selection of a set of codes for use in a particular context Element: code/ Coding/ CodeableConcept Element Definition: Type and Value set reference Selects Binds Refers to Conforms Definition Instance
  • 38. Page 39 Terminology binding: Condition resource 39 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. • a ValueSet binding in the spec…
  • 39. Page 40 Canonical Urls / system • Certain resources – http://hl7.org/fhir/references.html#canonical-list • StructureDefinition • ValueSet • CodeSystem • Is really a URI – Globally unique • Eg Extension definition or profile url – A form of reference • Eg ValueSet to CodeSystem • Should resolve (usually) but not required to – Eg support registry
  • 40. Page 41 Example of canonical url • ValueSet -> CodeSystem
  • 42. Page 43 Adapting FHIR to your needs: Profiling • Many different contexts in healthcare, but want a single set of Resources • The 80% rule • 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. • Profiling adapts FHIR for specific scenarios – A Statement of Use 43® Health Level Seven and HL7 are registered trademarks of Health
  • 43. Page 44 FHIR as a platform spec • Base on which profiles / IGs are created • ‘80%’ rule • Minimum required fields • Minimum ‘required’ bindings Base Spec Profiling Customized Spec Eg IPS
  • 44. Page 45 More on Profiling • 3 main aspects: – Constraining a resource - remove element, change multiplicity fix values – Change coded element binding – Adding a new element (an extension) • Modifier Extensions • Each profile has a unique (canonical) url – Represent as StructureDefinition resource • Package multiple profiles as Implementation Guide – Along with other artifacts (ValueSets, ConceptMaps etc.) 45® Health Level Seven and HL7 are registered trademarks of Health
  • 45. Page 46 Example: Profile on a Patient Limit names to just 1 (instead of 0..*) Change maritalStatus to another set of codes that extends the one from HL7 international Specify that the identifier uses the NHI – and is required Don’t support photo Add an extension to support ethnicity
  • 46. Page 47 Profiling in (more) depth • Conformance resources – StructureDefinition • Profile • Extension definitions • Conformance registries – FHIR server • Terminology – ValueSets, CodeSystems, NamingSystem
  • 47. Page 48 Extensions • Extensions are normal – Can occur at many levels in resource instance • Same capabilities as core • ‘Levels’ and reuse – Core, National, Regional, Local • Extension Definition – (StructureDefinition) • Canonical Url in definition • Resource instance includes that Url – Therefore client can locate definition • Registry of extension definitions 48 ® Health Level Seven and HL7
  • 48. Page 49 Extension in an instance <valueStringvalue=“jedi”/>
  • 49. Page 51 Extensions: Examples • Simple • Complex
  • 50. Page 52 Implementation Guide • All the artifacts for a particular business need – Outcome of profiling • For an implementer • Can be balloted by HL7 • Examples – US Core – Argonaut – IPS – QI-Core – CCDA on FHIR – Da Vinci (multiple) – Provider directory 52® Health Level Seven and HL7 are registered trademarks of Health http://www.fhir.org/guides/regis
  • 51. Page 53 IG: General considerations • Must Support • Tooling – Forge (https://fhir.furore.com/forge/ ) – Simplifier Registry (https://registry.fhir.org/) – clinFHIR / conMAN (clinfhir.com) • Governance 53® Health Level Seven and HL7 are registered trademarks of Health
  • 52. Page 54 Demonstration 54 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. http://hl7.org/fhir/uv/ips/2019Sep/ International Patient Summary
  • 53. Page 55 Implementer support • Development – Libraries • .net, java, python, swift, javascript – Reference servers • On-line, downloadable (http://hl7.org/fhir/downloads.html) – Validation • $validate operation • Java library • Design – clinFHIR Logical Modeler – conMan Graph Builder
  • 54. Page 56 .net – update a patient
  • 55. Page 57 .net – get extensions
  • 56. Page 59 clinFHIR Logical Modeler • Graphical tool to build model using FHIR datatypes • 2 model types: – Pure information (eg Adverse Reactions) • Collect and document data from clinicians • Can review and publish as HISO information standard – Resource based (eg NHI / HPI) • To generate FHIR artifacts for Implementation Guide – Eg profiles – Can follow Information model • Review and publish in conjunction with HL7 NZ
  • 57. Page 60 Demonstration • Creating a resource model to inform a profile – (Exercise 1 uses the Logical modeler) 60 ® Health Level Seven and HL7
  • 59. Page 63 Exchange Paradigms 63 ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. REST Documents Messages Services (Operations)
  • 60. Page 64 Bundles • Container resource • Types of Bundle – Searchset – Transaction – Document – Message – … • Inherit from Resource – No text or extensions 64® Health Level Seven and HL7 are registered trademarks of Health Bundle Resource Patient Resource List Resource Condition Resource
  • 61. Page 65 Exchange paradigm: REST • Preferred paradigm – Can be async – Also Document • Searching – Defined searches per resource • Can add others – Chaining – Parameters (eg _include) – Bundle resource • Operations – For more complex interactions (still real-time) – Defined and Custom • Eg Terminology search, $validate, Patient address update – Parameters resource Server can support any subset
  • 62. Page 67 When to use REST? • Want low coupling between systems – In theory, very little up-front negotiation required • Small, light-weight exchanges • Focus is CRUD operations – Also for publish/subscribe • Client-driven client-server orchestration • Server endpoint has fixed location • Well-suited for Mobile, PHR, Registries 67
  • 63. Page 68 When to avoid REST? • Complex or server-driven orchestration – Order of operations matters (e.g. complex decision support) • Unit of work != resource – “Transaction” may be an option • No natural “server” or no fixed network location • Lack of trust in the client for contextual audit, etc. 68
  • 64. Page 69 Locating a single resource… http://server.org/FHIR/Patient/1 base path resource type id Not the same as a resource identifier
  • 65. Page 71 Business identifiers • Id is not the same as a business identifier – Eg a Medical Records Number – Eg Patient.identifier, Encounter.identifier • Id is ‘structural’ – depends on server • Identifier is a resource property. – Same if a resource is moved 71
  • 66. Page 72 Specify format URL: GET [server]/fhir/Patient/1?_format=json Response: HTTP/1.1 200 OK Response headers: Content-Type: application/json+fhir;charset=utf-8 Content-Length: 787 URL: GET [server]/fhir/Patient/1 HTTP/1.1 Request header: accept: application/fhir+json Response: HTTP/1.1 200 OK Response headers: Content-Type: application/json+fhir;charset=utf-8 Content-Length: 787
  • 67. Page 73 CRU(P)D: Mapping to verbs create The create interaction creates a new resource in a server assigned location. The create interaction is performed by an HTTP POST operation as shown: POST [base]/[resourcetype] (?_format=mimeType) read The read interaction accesses the current contents of a resource. The interaction is performed by an HTTP GET operation as shown: GET [base]/[resourcetype]/{id} (?_format=mimeType) update The update interaction creates a new current version for an existing resource or creates a new resource if no resource already exists for the given id. The update interaction is performed by an HTTP PUT operation as shown: PUT [base]/[resourcetype]/{id} (?_format=mimeType) patch The patch interaction updates an exiting resource by supplying a document with the list of changes to apply. The document can be Json, XML or FHIR Path. The interaction is performed by an HTTP PATCH operation as shown: PATCH [base]/[resourcetype]/{id} delete The delete interaction removes an existing resource. The interaction is performed by an HTTP DELETE operation as shown (note logical delete & versioning): DELETE [base]/[resourcetype]/{id}
  • 68. Page 74 Versioning • FHIR defines an API for managing changes – Optional • Previous versions can be listed / returned – At resource level • Delete is a ‘marker’ in the history – Can re-animate with a PUT to the same location • Resource history – GET [base]/[type]/[id]/_history • Get a specific version – GET [base]/[type]/[id]/_history/3 – Version not necessarily a number
  • 70. Page 76 Standard parameters • Each resource has a set of “standard” search operations, so not every element can be searched – Search name not always same as element name • Can define custom ones – SearchParameter resource
  • 71. Page 77 Executing queries • POSTMan - https://www.getpostman.com/ • Server declares support in CapabilityStatement – GET [host]/metadata – http://hl7.org/fhir/http.html#capabilities • Returns a Bundle – Watch out for paging • _count parameter • Reference database really helpful – I use hapi (http://fhirtest.uhn.ca/baseDstu3/) • clinFHIR to create sample data – Patient Viewer -> Select Patient ? Add new patient – Much more at synthea - https://github.com/synthetichealth/synthea • Examples http://snapp.clinfhir.com:8081/baseDstu3/Patient?name=hay 77
  • 72. Page 78 Combining parameters • Can search by GET & POST • Multiple parameters – Specifying multiple parameters finds resources matching all params  “AND” http://snapp.clinfhir.com:8081/baseDstu3/Patient?name=hay&gender=male – Parameters may list multiple values  “OR” http://snapp.clinfhir.com:8081/baseDstu3/Patient?name=smith,hay
  • 73. Page 79 Summary of common parameters
  • 74. Page 80 Chained searches • Search based on referenced properties – http://hl7.org/fhir/search.html#chaining • eg – Observations for a patient • Observation has a search for “subject” (the id of the Patient, Group or Device) • Patient has a search for “name” and “identifier”. • ‘chained’ search: – [host]/Observation?subject.name={x} – [host]/Observation?subject.identifier={y} • But note: this still only works on the predefined search parameters. You cannot just use any property of the resource. http://snapp.clinfhir.com:8081/baseDstu3/Observation?subject.name=hay
  • 75. Page 81 Reverse Chaining • Selecting resources based on the properties of resources that refer to them – http://hl7.org/fhir/search.html#has • Return patients that have an Observation with a code of 9279-1 81 http://snapp.clinfhir.com:8081/baseDstu3/Patient?_has:Observation:patient:code=92 Particularly useful when using Proven Return a patient ‘search’ property on Observation Observation code Observations that reference the patient
  • 76. Page 82 _Include related resources • Include related resources in the response • Based on search parameters • Server declares in conformance • Format – [host]/{type}?_include={source type}:{search parameter}:{target type} • Eg – [host]/MedicationOrder?_include=MedicationOrder:patient&criteria... http://snapp.clinfhir.com:8081/baseDstu3/Observation?_id=7294&_include=Observation:patient http://snapp.clinfhir.com:8081/baseDstu3/Observation?code=http://loinc.org|8310- 5&_include=Observation:patient
  • 77. Page 83 Conditionals • Perform an operation if conditions met – Based on search parameters • Conditional Read – ‘If-modified-since’ header • Conditional Create – HTTP header – If-None-Exist: [search parameters] • Conditional Update – PUT [base]/[type]?[search parameters] • Conditional Delete – DELETE [base]/[type]/?[search parameters]
  • 78. Page 84 Custom queries • Use SearchParameter to define – http://hl7.org/fhir/searchparameter.html • Like custom operations, does raise the interoperability bar
  • 79. Page 85 Compartment • Syntactic sugar for queries • Resources that share common property – Eg patient • Purpose: – Access mechanism for finding a set of related resources quickly – Provide a definitional basis for applying access control to resources quickly • http://hl7.org/fhir/compartmentdefinition.html • Eg – http://snapp.clinfhir.com:8081/baseDstu3/Patient/7268/$everything
  • 80. Page 86 $match • Defined operation for EMPI searching • Send partial Patient resource – Elements to match filled in • POST to server – Server applies business rules then (potentially) runs query • Response is bundle of matching patients with score { "resourceType":"Patient", "name":[{"family":"Doe"}], "birthDate":"1987-03-12", "gender":"male” } POST http://home.clinfhir.com:1880/Patient/$match
  • 81. Page 87 GraphQL • Allows queries to specify ‘shape’ to return – Generally REST returns whole resource – Though note _elements and _summary modifier • Can operate on single resource or at the ‘system’ level • Mostly query – Update not well defined • http://hl7.org/fhir/graphql.html http://test.fhir.org/r3/Patient/example/$graphql?q uery={name(use:official){text,given,family}}
  • 82. Page 88 Updating patterns • Resource PUT – Replace the entire resource • Patch – The patch document • Operations – User defined update operations
  • 83. Page 89 Resource PUT • Submit an updated resource • Client is in control (mostly) • Server – Doesn’t have to support – Can apply business logic / security to call
  • 84. Page 90 Validating first… • Knowing the resource is valid – Actually, ‘conformant’ is the preferred term – Must be conformant to the core spec, additionally other profiles • Validation code from the community • $validate operation – Most reference servers support • http://hl7.org/fhir/validation.html 90
  • 85. Page 92 Operations example • Operations hide complexity – Some in spec, can defined custom • OperationDefinition resource to define • Parameters resource – Enclose input data – Return result • Custom operations are a barrier to global interoperability – Not consistent across implementations https://fhirblog.com/2019/07/09/thoughts-about-updating-registries/
  • 86. Page 93 Parameters resource • Use Parameters resource to pass parameters { "resourceType":"Parameters", "parameter":[ {"name":"nhi","valueIdentifier": {"system":"https://standards.digital.health.nz/id/nhi", "value":"XXX1234"} }, {"name":"address","valueAddress": {"use":"home","text":"23 Thule Street "} } ] }
  • 87. Page 94 Using a Library
  • 88. Page 95 PATCH example • Update part of a resource • Patch document – Specify changes to make – JSON, XML, FHIRPath • Careful with arrays https://fhirblog.com/2019/08/13/updating-a-resource-using-patch/ [{ "op": "add", "path": "/gender", "value": "female" }]
  • 89. Page 97 Transactions & Batches • Same principle as Db transactions – POST a Bundle to server root • Transaction – Succeed / Fail as a unit • Batch – Partial update • http://hl7.org/fhir/http.html
  • 90. Page 98 DOCUMENTS AND MESSAGES 98
  • 91. Page 99 Document paradigm • Summary at a point in time • Part of record • Very common – Discharge Summary – Referral letter – Progress Note • A collection of resources • Equivalent to CDA – CCDA on FHIR 99® Health Level Seven and HL7 are registered trademarks of Health Patient Practitione r Observatio n Resource Device List Condition Composition • Subject • Author • Obs. • Problems List Condition Bundle Note: Most resources have a reference to Patient
  • 92. Page 100 Composition resource • 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 • Can be profiled (i.e. specific document types) 100® Health Level Seven and HL7 are registered trademarks of Health
  • 93. Page 101 Messaging • Similar to v2 and v3 messaging • Also a collection of resources as a Bundle resource • Allows request/response behavior with bundles for both request and response • Event-driven • Needs agreement between parties – Tight coupling • E.g. Send lab order, get back result • Can be asynchronous and/or indirect
  • 94. Page 102 Conversion between v2 & FHIR • Often replaced by REST – (REST wasn’t an option until recently) – Eg instead of ADT message, POST Patient resource to Lab server • Conversion ‘reasonably’ straightforward – Quite a few nuances though • HL7 working on mapping advice • https://chat.fhir.org/#narrow/stream/179188-v2-to.20FHIR
  • 95. Page 104 FHIR AND THE MOH (Adapted from a HISO presentation)
  • 96. Page 105 Current NZ projects • Adverse Reactions – Improve collection of Adverse Reaction data – Information model ready for comment • FHIR interface for NHI / HPI – Draft models created (multiple resources) • Practitioner, PractitionerRole, Organization, Location – Plan to release test API asap • Medication query API against NZULM – Support new users (ULM is complicated) – Support new functionality (future phase) • Bulk download for local caches • Decision support • CDS-hooks for EHR integration – Plan to release test API asap
  • 98. Page 107 Development Process • Confirm requirements • Setup Test server & project app – http://nz.clinfhir.com/ – Currently standard FHIR server (HAPI) • Use clinFHIR Logical Modeler to build information models – Use conMan to build resource graphs where useful – Examples • Review models – HISO document based process at the moment – https://chat.fhir.org/#narrow/stream/179178-new-zealand • Build FHIR artifacts from models & publish in IG – Extension definitions automatically – Profiles combination manual / automatic – ValueSets & CodeSystems manual – Searches, queries, other technical stuff – FHIR IG publisher to generate IG • Technical review / ballot – With HL7 NZ – details TBD. 2 stage process as technical review is specialized. Separate business & technical aspects
  • 99. Page 108 FHIR Community Process (FCP) • Proposed process for building FHIR Implementation Guides – Minimize overlap between IGs – Encourage/support community development – HL7 membership encouraged – not required • Co-ordination committee – Clearing House, not veto • Each project: – Documented governance process for IG development – Description, License, Maintenance Plan, Realm • https://wiki.hl7.org/index.php?title=FHIR_Community_Proc ess
  • 100. Page 109 clinFHIR Logical Modeler (redux) • Graphical tool to build model using FHIR datatypes • 2 model types: – Pure information (eg Adverse Reactions) • Collect and document data from clinicians • Can review and publish as HISO information standard – Resource based (eg NHI / HPI) • To generate FHIR artifacts for Implementation Guide – Eg profiles – Can follow Information model • Review and publish in conjunction with HL7 NZ
  • 101. Page 110 Adverse reactions (Information Model)
  • 103. Page 112 NHI (single resource)
  • 104. Page 113 Once it’s in a model: We can generate different views /quality reports
  • 110. Page 119 Security • FHIR is not a security standard, but… • Existing privacy well aligned with GDPR – (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 119® Health Level Seven and HL7 are registered trademarks of Health https://healthcaresecprivacy.blogspot.co.uk/2018/05/gdpr-on-fhir.html https://chat.fhir.org/#narrow/stream/111-Security-and.20Privacy
  • 111. Page 120 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) 120® Health Level Seven and HL7 are registered trademarks of Health
  • 112. Page 121 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/ 121® Health Level Seven and HL7 are registered trademarks of Health
  • 113. Page 122 Oauth2 App Resource Server Authz Server 1. Delegate Authorization 3. Use App 4. Authenticate and Grant access 5. Issue code 7. Access resource (with token) 2. Application is registered with Auth server 6. Request access token (+refresh token) Repeat step 6 when access token expires
  • 114. Page 123 Ecosystem • An ecosystem really needs one, shared Auth server – Most implementations combine Auth & Data servers • For this to work, more standards will help – Dynamic Client Registration (RFC 7591) – Token introspection (RFC 7662) – Server discovery (RFC 5785) • More granular scopes • Common Consent models • Standardized auditing – So consumer can see who accessed their data More data: bit.ly/smart-fhir-tech
  • 115. Page 124 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 124® Health Level Seven and HL7 are registered trademarks of Health http://cds-hooks.org/specification/1.0/ https://chat.fhir.org/#narrow/stream/179159-cds-hooks
  • 116. Page 125 Bulk Data • Population level data – Multiple patients – Large data sets • Define operations – $export / $import – ndjson as format • Asynchronous operation • SMART as security • Still in development • http://hl7.org/fhir/uv/bulkdata/STU1/ • https://chat.fhir.org/#narrow/stream/179250-bulk-data
  • 117. Page 126 Decision Support • Clinical Reasoning module • 2 main use cases – Sharing knowledge artifacts – Evaluating knowledge artifacts in the context of a population • Decision Support, Quality measures • A complex area! • http://hl7.org/fhir/clinicalreasoning-module.html • https://chat.fhir.org/#narrow/stream/179220-cql
  • 118. Page 127 WorkFlow • Eg Referral, tracking orders • Resource characteristics – Request • Eg MedicationRequest – Event • Eg MedicationDispense – Definition – Eg PlanDefinition • Task Resource – As a ‘tracker’
  • 119. Page 128 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 ® Health Level Seven and HL7 are registered trademarks of Health128
  • 120. Page 129 More information • 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/ ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. 129
  • 121. Page 130 That’s it! ® Health Level Seven and HL7 are registered trademarks of Health Level Seven International, registered with the United States Patent and Trademark Office. 1