SlideShare a Scribd company logo
Dr. David Hay | Orion Health Product Strategist | Chair Emeritus HL7 NZ
Profiling with clinFHIR
Devdays | November 2017
Plan for the sessions
‣ Yesterday
‣ Review overall process
‣ Review key FHIR elements
‣ ‘Clinical’ Models
‣ Information, Resources, References
‣ Today
‣ Structured and Coded data
‣ Profiling: create/view FHIR artifacts
‣ ValueSet
‣ Extension Definition
‣ Profile
‣ Implementation Guide
The road to FHIR (aka the process)
Clinical
Problem
Information
Model
Resources
Model
References
Graph
Clinician / Business Analyst
FHIR Expert / Terminology
FHIR
artifacts
Profiling
Adapting FHIR to your needs: Profiling
‣ Many different contexts in healthcare, but want a single set of Resources
‣ Need to be able to describe ‘usage of FHIR’ based on context
‣ Allow for these usage statements to:
- Authored in a structured manner
- Published in a registry & Discoverable
- Used as the basis for validation, code, report and UI generation.
‣ 3 main aspects:
- Constraining a resource - remove element, change multiplicity fix values
- Change coded element binding
- Adding a new element (an extension)
‣ Profiling adapts FHIR for specific scenarios
‣ A statement of use
For example…
Limit names to
just 1 (instead
of 0..*)
Change
maritalStatus to
another set of
codes that
extends the one
from HL7
international
Require that the
identifier uses the NHI
number – and is
required
Don’t support
photo
Add an
extension
to support
ethnicity
This talk:
‣ 3 Main aspects
‣ Coded data (and identifiers)
‣ Binding to a ValueSet
‣ Extensions
‣ The Profile
‣ Implementation Guide
Structured
and coded data
Why have structured / coded data
▸ Structured vs Coded
▸ Coded:
▸ Greatly improves quality of exchange
▸ ‘semantic’ interoperability
▸ Secondary uses
▸ Decision Support
▸ Analytics
▸ Population Health
▸ Reporting
Resource type structure in the spec
Datatypes
‣ Datatypes in resource type definition
- Backbone element
- ‘choice’ data types
- Eg deceased[x]
‣ Identifiers
‣ Review coded data
- ValueSet binding
Data types: Primitive
Based on w3c schema and ISO data types
▸ Stick to the “80% rule” – only expose what most will use
– Simplified
instant
Value : xs : dataTime 0..1
time
Value : xs : Time 0..1
date
Value : xs:gYear [xs:gYearMonth | Time 0..1
dateTime
Value : xs:gYear [xs:gYearMonth | xs:date | Time 0..1
decimal
Value : xs : decimal 0..1
integer
Value : xs : int 0..1
Element
Extension : Extension 0..*
boolean
value : xs:boolean 0..1
string
Value : xs :string 0..1
uri
Value : xs :anyURI 0..1
base64Binary
Value : xs : base64Binary 0..1
unsignedint positiveInt code id oid
Ratio
numerator: Quality [0..1]
denominator: Quantity [0..1]
Quantity
value: decimal [0..1]
comparator: code [0..1] QuantityComparator!
units: string [0...1]
system: uri [0..1]
code: code [0..1]
Range
low: Quantity(SimpleQuantity) [0..1]
high: Quantity(SimpleQuantity) [0..1]
HumanName
use: code [0..1] NameUse!
text: String [0..1]
family: String [0..*]
given: String [0..*]
prefix: String [0..*]
suffix: String [0..*]
period: Period [0..1]
Identifier
use: code [0..1] IdentifierUse!
type: CodeableConcept [0..1] IdentifierType+
system: uri [0..1]
value: String [0..1]
period: Period [0..1]
assigner: Reference [0..1] Organization
Address
use: code [0..1] AddressUse!
type: code [0..1] AddressType!
text: string [0..1]
line: string [0..*]
city: string [0..1]
district: string [0..1]
state: string [0..1]
postalCode: string [0..1]
country: string [0..1]
period: Period 0...1
Coding
system: uri [0..1]
version: string [0..1]
code: code [0..1]
display: String [0..1]
userSelected: boolean [0..1]
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
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]
Identifiers
‣ Identifies an object (Person) within a given system
‣ Eg National Identifier (NHI), Drivers License, HPI
‣ Main sub components:
‣ System – what ‘sort’ of identifier
‣ Value – unique within the system
‣ NamingSystem resource
Coded datatypes
• 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"
}
ValueSet
ValueSet
{
"resourceType": "ValueSet",
"compose": {
"include": [
{
"system": http://snomed.info/sct",
"filter": [
{
"property": "concept",
"op": "is-a",
"value": "404684003"
}
]
}
]
}
}
‣ A context specific subset of one or more
Code Systems
‣ Bound to an element
‣ Promotes consistency between
applications
‣ Key component of Terminology
- Also CodeSystem
‣ Start thinking about in Information model
‣ Used by a number of services
- $expand
Terminology Sub-system
Code System:
Defines a set of
concepts with a
coherent meaning
Code
Display
Definition
‣ SNOMED CT / LOINC / RxNORM
‣ ICPC, MIMS + 100s more
‣ ICD-X+
‣ A drug formulary
‣ Custom
Terminology Sub-system
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
Terminology Sub-system
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
Terminology Sub-system
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
Terminology Sub-system
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
Define
Instance
Demo
‣ Adding structures and coded data to
the scenario
Demo
‣ Viewing/Building a ValueSet in
clinFHIR
Extension Definition
Extension Definitions
‣ Also a StructureDefinition
• Defines the content of a single extension
‣ Simple or Complex
‣ Complex has children
‣ Definition:
• Available on the web
• Canonical Url – Globally unique identifier
- Resolvable or Registry
‣ In resource instance:
• Reference to Canonical Url
• Recipiant can always find out definition
• Extension or ModifierExtension
Demo
‣ Create an Extension Definition
The ‘Profile’
The ‘profile’
‣ On a single resource type
‣ Defined by StructureDefinition resource
- Same as used for core resources
‣ Defines each element
- Path, name, dataType, binding, multiplicity. mapping & much more
- Including allowable extension points
‣ Can use Forge tooling to build
- clinFHIR (and others) for learning/viewing
‣ US Core (was DAF)
- http://hl7.org/fhir/us/core/index.html
clinFHIR: Profiling support
‣ Build from Logical Model
‣ On single resource
‣ Main options
‣ Remove elements
‣ Add extensions
‣ Change Bindings
‣ This is not Forge!
Demo
‣ Build a profile
Implementation Guide
Implementation Guide
‣ Brings all the artifacts together
‣ Clinical & FHIR
‣ Demo of guide
‣ CareConnect (UK)
Main Conformance artifacts
‣ StructureDefinition
‣ Profile and Extension Definitions
‣ In resources model
‣ ValueSet
‣ From Information model
‣ CodeSystem
‣ ConceptMap
‣ NamingSystem
‣ ImplementationGuide
Exercises
1. Choose resource to profile
2. Build Logical model (single resource)
3. Edit model
1. Constrain
2. Extend
3. Re-bind
4. Create profile
• Getting started
• Set servers (hapi-3)
• Create user account
• Use initials for model name
• Remember to save models
Notes Process
clinFHIR help on the FHIR Chat
https://chat.fhir.org/#narrow/stream/clinFHIR
More information
From HL7
‣ http://hl7.org/fhir/index.html
‣ wiki.hl7.org/index.php?title=FHIR
‣ http://www.fhir.org/
Community
‣ 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)
‣ http://clinfhir.com/
Tooling
‣ Forge (http://fhir.furore.com/Forge)
‣ http://clinfhir.com/
Test servers
‣ http://wiki.hl7.org/index.php?title=Publi
cly_Available_FHIR_Servers_for_testi
ng
‣ https://fhirblog.com/2016/10/19/setting
-up-your-own-fhir-server-for-profiling/
All done!

More Related Content

What's hot (20)

PPTX
Fhir dev days_basic_fhir_terminology_services
DevDays
 
PPTX
Security overview (grahame)
DevDays
 
PPTX
Fhir foundation (grahame)
DevDays
 
PPTX
Devdays 2017 implementation guide authoring - ardon toonstra
DevDays
 
PPTX
Furore devdays 2017 - workflow
DevDays
 
PPTX
Building bridges devdays 2017- powerpoint template
DevDays
 
PPTX
Whats new (grahame)
DevDays
 
PPTX
Furore devdays 2017-sdc (lloyd)
DevDays
 
PPTX
Mohannad hussain dicom and imaging tools
DevDays
 
PPTX
Furore devdays2017 tdd-1-intro
DevDays
 
PPTX
Fhir tooling (grahame)
DevDays
 
PPTX
Furore devdays 2017- rdf1(solbrig)
DevDays
 
PPTX
Building a Scenario using clinFHIR
DevDays
 
PPTX
Furore devdays 2017 - implementation guides (lloyd)
DevDays
 
PPTX
Beginners .net api dev days2017
DevDays
 
PPTX
Transforming other content (grahame)
DevDays
 
PPTX
20171116 rene spronk_profiling_governance
DevDays
 
PPTX
Dev days 2017 advanced directories (brian postlethwaite)
DevDays
 
PPTX
Fhir seminar hinz 2015
David Hay
 
PPTX
FHIR for clinicians
David Hay
 
Fhir dev days_basic_fhir_terminology_services
DevDays
 
Security overview (grahame)
DevDays
 
Fhir foundation (grahame)
DevDays
 
Devdays 2017 implementation guide authoring - ardon toonstra
DevDays
 
Furore devdays 2017 - workflow
DevDays
 
Building bridges devdays 2017- powerpoint template
DevDays
 
Whats new (grahame)
DevDays
 
Furore devdays 2017-sdc (lloyd)
DevDays
 
Mohannad hussain dicom and imaging tools
DevDays
 
Furore devdays2017 tdd-1-intro
DevDays
 
Fhir tooling (grahame)
DevDays
 
Furore devdays 2017- rdf1(solbrig)
DevDays
 
Building a Scenario using clinFHIR
DevDays
 
Furore devdays 2017 - implementation guides (lloyd)
DevDays
 
Beginners .net api dev days2017
DevDays
 
Transforming other content (grahame)
DevDays
 
20171116 rene spronk_profiling_governance
DevDays
 
Dev days 2017 advanced directories (brian postlethwaite)
DevDays
 
Fhir seminar hinz 2015
David Hay
 
FHIR for clinicians
David Hay
 

Similar to Profiling with clin fhir (20)

PPTX
Intro_To_FHIR.pptx
Pierluigi10
 
PPTX
Christchurch presentation
David Hay
 
PPTX
2020-11-13 Anatomy of a FHIR Implementation Guide
Ryan M Harrison
 
PPTX
itx presentation: FHIR and the New Zealand EHR - deeper dive
David Hay
 
PDF
Claude Nanjo. Modeling with FHIR. An Introduction to FHIR.
HealthDev
 
PPTX
FHIR intro and background at HL7 Germany 2014
Ewout Kramer
 
PPTX
BizTalk on FHIR
BizTalk360
 
PPTX
Structure definition 101 (ewout)
DevDays
 
PPTX
Fire and Ice - FHIR in New Zealand - David Hay
HL7 New Zealand
 
PPTX
FHIR & Ice
David Hay
 
PPTX
Ontologising the Health Level Seven (HL7) Standard
Ratnesh Sahay
 
PDF
Introduction to Digital Health Standards with HL7 FHIR
Janaka Peiris
 
PPTX
Getting started with FHIR by Ewout Kramer
FHIR Developer Days
 
PPT
Combining archetypes with FHIR in future-proof health information systems
yampeku
 
PDF
FHIR for Hackers
James Agnew
 
PDF
Terminology in openEHR
Pablo Pazos
 
PDF
A GraphQL approach to Healthcare Information Exchange with HL7 FHIR
Suresh KUMAR Mukhiya
 
PPTX
FHIR Profiles
David Hay
 
PPTX
FHIR - more than the basics
Ewout Kramer
 
PPTX
Edifecs- warming up to fhir
Edifecs Inc
 
Intro_To_FHIR.pptx
Pierluigi10
 
Christchurch presentation
David Hay
 
2020-11-13 Anatomy of a FHIR Implementation Guide
Ryan M Harrison
 
itx presentation: FHIR and the New Zealand EHR - deeper dive
David Hay
 
Claude Nanjo. Modeling with FHIR. An Introduction to FHIR.
HealthDev
 
FHIR intro and background at HL7 Germany 2014
Ewout Kramer
 
BizTalk on FHIR
BizTalk360
 
Structure definition 101 (ewout)
DevDays
 
Fire and Ice - FHIR in New Zealand - David Hay
HL7 New Zealand
 
FHIR & Ice
David Hay
 
Ontologising the Health Level Seven (HL7) Standard
Ratnesh Sahay
 
Introduction to Digital Health Standards with HL7 FHIR
Janaka Peiris
 
Getting started with FHIR by Ewout Kramer
FHIR Developer Days
 
Combining archetypes with FHIR in future-proof health information systems
yampeku
 
FHIR for Hackers
James Agnew
 
Terminology in openEHR
Pablo Pazos
 
A GraphQL approach to Healthcare Information Exchange with HL7 FHIR
Suresh KUMAR Mukhiya
 
FHIR Profiles
David Hay
 
FHIR - more than the basics
Ewout Kramer
 
Edifecs- warming up to fhir
Edifecs Inc
 
Ad

More from DevDays (13)

PPTX
Consent dev days
DevDays
 
PDF
Integrating with the epic platform fhir dev days 17
DevDays
 
PPTX
Mohannad hussain community track - siim dataset & dico mweb proxy
DevDays
 
PPTX
final Keynote (grahame)
DevDays
 
PPTX
Validation in net and java (ewout james)
DevDays
 
PPTX
Quality improvement dev days-2017
DevDays
 
PPTX
Furore devdays 2017- oai
DevDays
 
PPTX
Connectathon opening 2017
DevDays
 
PPTX
20171127 rene spronk_messaging_the_unloved_paradigm
DevDays
 
PPTX
Vonk fhir facade (christiaan)
DevDays
 
PPTX
Opening student track
DevDays
 
PPTX
Furore devdays 2017- continua implementing fhir
DevDays
 
PPTX
Distributing cds dev days-2017
DevDays
 
Consent dev days
DevDays
 
Integrating with the epic platform fhir dev days 17
DevDays
 
Mohannad hussain community track - siim dataset & dico mweb proxy
DevDays
 
final Keynote (grahame)
DevDays
 
Validation in net and java (ewout james)
DevDays
 
Quality improvement dev days-2017
DevDays
 
Furore devdays 2017- oai
DevDays
 
Connectathon opening 2017
DevDays
 
20171127 rene spronk_messaging_the_unloved_paradigm
DevDays
 
Vonk fhir facade (christiaan)
DevDays
 
Opening student track
DevDays
 
Furore devdays 2017- continua implementing fhir
DevDays
 
Distributing cds dev days-2017
DevDays
 
Ad

Recently uploaded (20)

PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PPTX
MALABSORPTION SYNDROME: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
VOMITINGS - NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
PPTX
quizbeenutirtion-230726075512-0387d08e.pptx
domingoriahlyne
 
PDF
Stepwise procedure (Manually Submitted & Un Attended) Medical Devices Cases
MUHAMMAD SOHAIL
 
PDF
FULL DOCUMENT: Read the full Deloitte and Touche audit report on the National...
Kweku Zurek
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
PPTX
HERNIA: INGUINAL HERNIA, UMBLICAL HERNIA.pptx
PRADEEP ABOTHU
 
PPTX
Various Psychological tests: challenges and contemporary trends in psychologi...
santoshmohalik1
 
PDF
Module 1: Determinants of Health [Tutorial Slides]
JonathanHallett4
 
PPTX
IDEAS AND EARLY STATES Social science pptx
NIRANJANASSURESH
 
PPTX
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
PPTX
Digital Professionalism and Interpersonal Competence
rutvikgediya1
 
PPTX
Rules and Regulations of Madhya Pradesh Library Part-I
SantoshKumarKori2
 
PPTX
YSPH VMOC Special Report - Measles Outbreak Southwest US 7-20-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
PPTX
Nutrition Quiz bee for elementary 2025 1.pptx
RichellMarianoPugal
 
PPTX
INTESTINAL OBSTRUCTION: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
PPTX
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
MALABSORPTION SYNDROME: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
VOMITINGS - NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
quizbeenutirtion-230726075512-0387d08e.pptx
domingoriahlyne
 
Stepwise procedure (Manually Submitted & Un Attended) Medical Devices Cases
MUHAMMAD SOHAIL
 
FULL DOCUMENT: Read the full Deloitte and Touche audit report on the National...
Kweku Zurek
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
HERNIA: INGUINAL HERNIA, UMBLICAL HERNIA.pptx
PRADEEP ABOTHU
 
Various Psychological tests: challenges and contemporary trends in psychologi...
santoshmohalik1
 
Module 1: Determinants of Health [Tutorial Slides]
JonathanHallett4
 
IDEAS AND EARLY STATES Social science pptx
NIRANJANASSURESH
 
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
Digital Professionalism and Interpersonal Competence
rutvikgediya1
 
Rules and Regulations of Madhya Pradesh Library Part-I
SantoshKumarKori2
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 7-20-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
Nutrition Quiz bee for elementary 2025 1.pptx
RichellMarianoPugal
 
INTESTINAL OBSTRUCTION: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 

Profiling with clin fhir

  • 1. Dr. David Hay | Orion Health Product Strategist | Chair Emeritus HL7 NZ Profiling with clinFHIR Devdays | November 2017
  • 2. Plan for the sessions ‣ Yesterday ‣ Review overall process ‣ Review key FHIR elements ‣ ‘Clinical’ Models ‣ Information, Resources, References ‣ Today ‣ Structured and Coded data ‣ Profiling: create/view FHIR artifacts ‣ ValueSet ‣ Extension Definition ‣ Profile ‣ Implementation Guide
  • 3. The road to FHIR (aka the process) Clinical Problem Information Model Resources Model References Graph Clinician / Business Analyst FHIR Expert / Terminology FHIR artifacts
  • 5. Adapting FHIR to your needs: Profiling ‣ Many different contexts in healthcare, but want a single set of Resources ‣ Need to be able to describe ‘usage of FHIR’ based on context ‣ Allow for these usage statements to: - Authored in a structured manner - Published in a registry & Discoverable - Used as the basis for validation, code, report and UI generation. ‣ 3 main aspects: - Constraining a resource - remove element, change multiplicity fix values - Change coded element binding - Adding a new element (an extension) ‣ Profiling adapts FHIR for specific scenarios ‣ A statement of use
  • 6. For example… Limit names to just 1 (instead of 0..*) Change maritalStatus to another set of codes that extends the one from HL7 international Require that the identifier uses the NHI number – and is required Don’t support photo Add an extension to support ethnicity
  • 7. This talk: ‣ 3 Main aspects ‣ Coded data (and identifiers) ‣ Binding to a ValueSet ‣ Extensions ‣ The Profile ‣ Implementation Guide
  • 9. Why have structured / coded data ▸ Structured vs Coded ▸ Coded: ▸ Greatly improves quality of exchange ▸ ‘semantic’ interoperability ▸ Secondary uses ▸ Decision Support ▸ Analytics ▸ Population Health ▸ Reporting
  • 10. Resource type structure in the spec
  • 11. Datatypes ‣ Datatypes in resource type definition - Backbone element - ‘choice’ data types - Eg deceased[x] ‣ Identifiers ‣ Review coded data - ValueSet binding
  • 12. Data types: Primitive Based on w3c schema and ISO data types ▸ Stick to the “80% rule” – only expose what most will use – Simplified instant Value : xs : dataTime 0..1 time Value : xs : Time 0..1 date Value : xs:gYear [xs:gYearMonth | Time 0..1 dateTime Value : xs:gYear [xs:gYearMonth | xs:date | Time 0..1 decimal Value : xs : decimal 0..1 integer Value : xs : int 0..1 Element Extension : Extension 0..* boolean value : xs:boolean 0..1 string Value : xs :string 0..1 uri Value : xs :anyURI 0..1 base64Binary Value : xs : base64Binary 0..1 unsignedint positiveInt code id oid
  • 13. 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 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]
  • 14. Identifiers ‣ Identifies an object (Person) within a given system ‣ Eg National Identifier (NHI), Drivers License, HPI ‣ Main sub components: ‣ System – what ‘sort’ of identifier ‣ Value – unique within the system ‣ NamingSystem resource
  • 15. Coded datatypes • 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" }
  • 17. ValueSet { "resourceType": "ValueSet", "compose": { "include": [ { "system": http://snomed.info/sct", "filter": [ { "property": "concept", "op": "is-a", "value": "404684003" } ] } ] } } ‣ A context specific subset of one or more Code Systems ‣ Bound to an element ‣ Promotes consistency between applications ‣ Key component of Terminology - Also CodeSystem ‣ Start thinking about in Information model ‣ Used by a number of services - $expand
  • 18. Terminology Sub-system Code System: Defines a set of concepts with a coherent meaning Code Display Definition ‣ SNOMED CT / LOINC / RxNORM ‣ ICPC, MIMS + 100s more ‣ ICD-X+ ‣ A drug formulary ‣ Custom
  • 19. Terminology Sub-system 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
  • 20. Terminology Sub-system 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
  • 21. Terminology Sub-system 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
  • 22. Terminology Sub-system 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 Define Instance
  • 23. Demo ‣ Adding structures and coded data to the scenario
  • 24. Demo ‣ Viewing/Building a ValueSet in clinFHIR
  • 26. Extension Definitions ‣ Also a StructureDefinition • Defines the content of a single extension ‣ Simple or Complex ‣ Complex has children ‣ Definition: • Available on the web • Canonical Url – Globally unique identifier - Resolvable or Registry ‣ In resource instance: • Reference to Canonical Url • Recipiant can always find out definition • Extension or ModifierExtension
  • 27. Demo ‣ Create an Extension Definition
  • 29. The ‘profile’ ‣ On a single resource type ‣ Defined by StructureDefinition resource - Same as used for core resources ‣ Defines each element - Path, name, dataType, binding, multiplicity. mapping & much more - Including allowable extension points ‣ Can use Forge tooling to build - clinFHIR (and others) for learning/viewing ‣ US Core (was DAF) - http://hl7.org/fhir/us/core/index.html
  • 30. clinFHIR: Profiling support ‣ Build from Logical Model ‣ On single resource ‣ Main options ‣ Remove elements ‣ Add extensions ‣ Change Bindings ‣ This is not Forge!
  • 31. Demo ‣ Build a profile
  • 33. Implementation Guide ‣ Brings all the artifacts together ‣ Clinical & FHIR ‣ Demo of guide ‣ CareConnect (UK)
  • 34. Main Conformance artifacts ‣ StructureDefinition ‣ Profile and Extension Definitions ‣ In resources model ‣ ValueSet ‣ From Information model ‣ CodeSystem ‣ ConceptMap ‣ NamingSystem ‣ ImplementationGuide
  • 35. Exercises 1. Choose resource to profile 2. Build Logical model (single resource) 3. Edit model 1. Constrain 2. Extend 3. Re-bind 4. Create profile • Getting started • Set servers (hapi-3) • Create user account • Use initials for model name • Remember to save models Notes Process
  • 36. clinFHIR help on the FHIR Chat https://chat.fhir.org/#narrow/stream/clinFHIR
  • 37. More information From HL7 ‣ http://hl7.org/fhir/index.html ‣ wiki.hl7.org/index.php?title=FHIR ‣ http://www.fhir.org/ Community ‣ https://chat.fhir.org/ ‣ List server ([email protected] ) ‣ 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) ‣ http://clinfhir.com/ Tooling ‣ Forge (http://fhir.furore.com/Forge) ‣ http://clinfhir.com/ Test servers ‣ http://wiki.hl7.org/index.php?title=Publi cly_Available_FHIR_Servers_for_testi ng ‣ https://fhirblog.com/2016/10/19/setting -up-your-own-fhir-server-for-profiling/

Editor's Notes

  • #4: Not this linear in practice Clinical safety / terminology Mention Implementation guide at end
  • #24: 77532 – eve betterhalf – documents Georgia taylor
  • #25: 77532 – eve betterhalf – documents Georgia taylor
  • #28: 77532 – eve betterhalf – documents Georgia taylor
  • #32: 77532 – eve betterhalf – documents Georgia taylor