SlideShare a Scribd company logo
1 of 50
Download to read offline
Modeling with
FHIR
An Introduction to FHIR
Claude Nanjo
Research Associate, University of Utah
What is FHIR
FHIR is
● A resource-oriented RESTful API
● A metamodel
● An extensible model
The bigger picture - an example
Electronic Health
Record System
(EHR)
Health Application
An application is invoked based on a trigger event in
the clinical workflow
The application invokes the EHR’s FHIR API to get
patient data
The application returns a recommendation that is
persisted in the EHR
FHIR
messages are
exchanged
during these
calls
The bigger picture - HTN management
Electronic Health
Record System
(EHR)
Blood Pressure
Management
Application
On opening the patient’s chart, trigger call to blood
pressure management app (patient, encounter, current
user)
Get patient’s blood pressure goal, blood pressure,
current medications, problem list
Recommend modifications to the patient’s current HTN
medication regimen
Assumption
The EHR system and the application agree on the message payload and the
API. That is, they agree on:
● The syntax and structure of the messages exchanged
● The semantics of the message
What if I want to use my application on another EHR?
1. Both parties agree to a common specification - point-to-point
2. Both parties decide to adhere to a common standard
a. Allows ‘application portability’ - the application can be used with any EHR that
understands the standard
Is FHIR that common standard?
Yes (but with a caveat)
FHIR defines an API
CRUD + Search
Resource-Oriented RESTful API
Fairly complete
Can be extended
FHIR also specifies a health information model but ...
The model only represents the resources and attributes that are found in the
most prevalent health IT systems (known as the 80/20 rule)
The model is therefore extensible/configurable to support use cases that
extend beyond this core set of models
But the model can be extended in different ways by different
stakeholders
A Very Quick Overview of the FHIR API
Operation Categories
Syntax Examples
read
GET [base]/[type]/[id] {?_format=[mime-type]}
vread
GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]}
Update
PUT [base]/[type]/[id] {?_format=[mime-type]}
PUT [base]/[type]/?[search parameters]
Syntax Examples
delete
DELETE [base]/[type]/[id]
DELETE [base]/[type]/?[search parameters]
create
POST [base]/[type] {?_format=[mime-type]}
Syntax Examples
GET [base]/[type]{?[parameters]{&_format=[mime-type]}}
http://my.server/fhir/ProcedureRequest?patient=123&code=http://exampl
e.com/proc_code|9199929,http://example.com/proc_code|8928923,&_sor
t:desc=date&_count=1
The FHIR Model
Next steps
We will learn more about:
1. Health information models
2. The FHIR model
3. The FHIR metamodel
4. How to extend FHIR
What is a Health Information Model?
It consists of the classes, the properties of those classes, the relationships that
exist between these classes and the constraints and rules needed to support
the exchange of health information.
A core aim of the FHIR standard is to support the specification of a
computable, shareable, and semantically precise representation of health
information.
Where can I find the latest stable model (FHIR R4)
http://hl7.org/fhir/
How do I find FHIR resources (classes)?
Claude Nanjo. Modeling with FHIR. An Introduction to FHIR.
How is the FHIR health information model represented?
1. Visually
a. Generally as a UML-like diagram or as a tree-like structure
2. In a computable form using the FHIR meta-modeling language
a. Via the StructureDefinition, ElementDefinition, and ValueSet classes
b. Authors typically use an Excel spreadsheet to define or update a model
Visual representation: tree-like structure
Visual representation: UML-like diagram
A little more about modeling - some concepts
Resources in FHIR are classes
Classes represent concepts relevant to health care such as a procedure or a
medication
Classes have attributes/properties/fields - e.g., a procedure may have a code, a
performer, and a performedDateTime
Attributes have types and cardinality - e.g., performedDateTime is of type
DateTime, and its cardinality is 0..1 meaning that it is optional.
Typical UML-like syntax
MyClass
myAttribute: attrType [m..n]
FHIR Datatypes
‘Inline’ types: the FHIR BackboneElement
Reference types
Choice Types
‘Concept’ Types
The following types have special meanings:
1. code - an enumerated type
2. Coding - a reference to a concept in a terminology or ontology
3. CodeableConcept - a set of references to synonymous concepts in one or
more terminology or ontology
Unlike ‘string’, concept types point to elements in a formal vocabulary
(controlled terminology, thesaurus, or ontology)
Example - FHIR Procedure
About cardinalities
0..1 - Optional and no more than one
1..1 - Required and no more than one
0..* - Optional and collection type
1..* - Required and collection type
-----------------
0..0 - Constrained out
m..n - Not less than m and not more than n
Extending FHIR
The basics
The FHIR resource hierarchy
Resource
DomainResource
Medication Procedure Condition ...
Resource gives FHIR resources an id
DomainResource enable model extensibility
Extensions are essentially name value pairs
Extensions and Types are Elements and are thus
extensible too!
Extensions on Extensions
Person
url: citizenship
(Extension)
url: country
value: CodeableConcept
(Extension)
url: obtainedOn
value: Date
(Extension)
Extending FHIR
Profiling
How can one specialize FHIR resources?
By using a mechanism called ‘FHIR Profiles’
FHIR Profiles
FHIR profiles allow a modeler to:
● Add new attributes to a FHIR resource
● Remove attributes from a FHIR resource
● Constrain the definition of specific parts of the FHIR model
Important constraint types
● Type constraints: e.g., constrain an integer type to a positiveInt
● Choice constraints: e.g., reduce the options available for a choice type
● Reference constraints: e.g., reduce the options available for a reference
type
● Cardinality constraints:
○ Constraint out: 0..0
○ Make mandatory: 0..1 -> 1..1 (the reverse is illegal)
○ Specify other lower and upper bound: 0..* -> 3-5 (not common)
● Terminology constraints (a type of range constraint)
○ All procedure codes must be descendants of the SNOMED CT Procedure code.
○ The category codes must be one of the following five codes {A,B,C,D,E}
○ Often referred to as ‘value set constraints’
● Slicing constraints - more on that later
Profiles at a high level
Procedure
code: CodeableConcept [0..1]
status: code [1..1]
category: CodeableConcept [0..1]
statusReason: CodeableConcept
[0..1]
LaboratoryProcedure
(profile)
code: CodeableConcept [1..1]
Bound to MyLaboratoryProcedureValueSet
statusReason: CodeableConcept
[0..0]
specimen: CodeableConcept
[1..*] - an extension
Slicing
Slicing allows modelers to turn a collection into a set of attributes with
different cardinalities
Extensions are the most common example of slicing
An example using Extension
FHIR defines a DomainResource attribute called extension: Extension 0..*
● All resources inherit this attribute
● It is a collection (0..*)
● It is essentially a name (really a URL)-value pair
● The name (url) is the attribute name
● The value is the attribute value
● What distinguishes each attribute derived from a slice from one another
is the URL (name)
● The URL is called the discriminator and is used to determine the slices in
this collection
The FHIR Metamodel
The FHIR Metamodel
● StructureDefinition - used to define resources and their
specializations/constraints
● ElementDefinition - used to define and/or constrain attributes in a
resource
● ValueSet - used to define the sets of allowed values for concept types
○ May be used to define the rules to generate the set: e.g., all medications that are
beta-blockers
○ May specify each member of the set by explicitly enumerating them.
○ Can be built using a combination of the two approaches: e.g., ValueSetC = ValueSetA U
ValueSetB
Ensuring interoperability with FHIR
FHIR can be extended and constrained using FHIR profiles
This can be done in many ways
To support interoperability, a community must agree on a specific set of FHIR
profiles and FHIR API calls that it wishes to support
A FHIR Implementation Guide (IG) expresses such a specification.
IGs provide guidance to a community on the definitions of message payloads
(FHIR profiles and extensions), FHIR API calls (operations and search params),
terminologies, and other requirements that are necessary for a given use.
US Core
Base IG for interoperability in the US
Defines minimum conformance requirements for accessing patient data
http://hl7.org/fhir/us/core/STU3/

More Related Content

What's hot

Advanced .net api (ewout)
Advanced .net api (ewout)Advanced .net api (ewout)
Advanced .net api (ewout)DevDays
 
Devdays 2017 implementation guide authoring - ardon toonstra
Devdays 2017  implementation guide authoring - ardon toonstraDevdays 2017  implementation guide authoring - ardon toonstra
Devdays 2017 implementation guide authoring - ardon toonstraDevDays
 
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
 
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
 
SMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgSMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgFurore_com
 
Security overview (grahame)
Security overview (grahame)Security overview (grahame)
Security overview (grahame)DevDays
 
A Baptism of FHIR - The Layman's intro to HL7 FHIR
A Baptism of FHIR - The Layman's intro to HL7 FHIRA Baptism of FHIR - The Layman's intro to HL7 FHIR
A Baptism of FHIR - The Layman's intro to HL7 FHIRMark Scrimshire
 
Dev days 2017 referrals (brian postlethwaite)
Dev days 2017 referrals (brian postlethwaite)Dev days 2017 referrals (brian postlethwaite)
Dev days 2017 referrals (brian postlethwaite)DevDays
 
Healthcare - SMART on FHIR (HealthCare OpenSource is here!!!)
Healthcare - SMART on FHIR (HealthCare OpenSource is here!!!)Healthcare - SMART on FHIR (HealthCare OpenSource is here!!!)
Healthcare - SMART on FHIR (HealthCare OpenSource is here!!!)All Things Open
 
Building a Scenario using clinFHIR
Building a Scenario using clinFHIRBuilding a Scenario using clinFHIR
Building a Scenario using clinFHIRDevDays
 
BizTalk on FHIR
BizTalk on FHIRBizTalk on FHIR
BizTalk on FHIRBizTalk360
 
Cds hooks fhir dev days 2017
Cds hooks   fhir dev days 2017Cds hooks   fhir dev days 2017
Cds hooks fhir dev days 2017DevDays
 
Furore devdays2017 general-introtofhir
Furore devdays2017 general-introtofhirFurore devdays2017 general-introtofhir
Furore devdays2017 general-introtofhirDevDays
 
FHIR for Hackers
FHIR for HackersFHIR for Hackers
FHIR for HackersJames Agnew
 
Validation in net and java (ewout james)
Validation in net and java (ewout james)Validation in net and java (ewout james)
Validation in net and java (ewout james)DevDays
 
FHIR Profiles
FHIR ProfilesFHIR Profiles
FHIR ProfilesDavid Hay
 
Nick Radov, Payer/Provider - Interoperability & HL7 Da Vinci Project.
Nick Radov, Payer/Provider - Interoperability & HL7 Da Vinci Project.Nick Radov, Payer/Provider - Interoperability & HL7 Da Vinci Project.
Nick Radov, Payer/Provider - Interoperability & HL7 Da Vinci Project.HealthDev
 
Building on cerner with smart on fhir fhir dev days 2017
Building on cerner with smart on fhir   fhir dev days 2017Building on cerner with smart on fhir   fhir dev days 2017
Building on cerner with smart on fhir fhir dev days 2017DevDays
 

What's hot (20)

Advanced .net api (ewout)
Advanced .net api (ewout)Advanced .net api (ewout)
Advanced .net api (ewout)
 
Devdays 2017 implementation guide authoring - ardon toonstra
Devdays 2017  implementation guide authoring - ardon toonstraDevdays 2017  implementation guide authoring - ardon toonstra
Devdays 2017 implementation guide authoring - ardon toonstra
 
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
 
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
 
SMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgSMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der Burg
 
Security overview (grahame)
Security overview (grahame)Security overview (grahame)
Security overview (grahame)
 
A Baptism of FHIR - The Layman's intro to HL7 FHIR
A Baptism of FHIR - The Layman's intro to HL7 FHIRA Baptism of FHIR - The Layman's intro to HL7 FHIR
A Baptism of FHIR - The Layman's intro to HL7 FHIR
 
Dev days 2017 referrals (brian postlethwaite)
Dev days 2017 referrals (brian postlethwaite)Dev days 2017 referrals (brian postlethwaite)
Dev days 2017 referrals (brian postlethwaite)
 
Healthcare - SMART on FHIR (HealthCare OpenSource is here!!!)
Healthcare - SMART on FHIR (HealthCare OpenSource is here!!!)Healthcare - SMART on FHIR (HealthCare OpenSource is here!!!)
Healthcare - SMART on FHIR (HealthCare OpenSource is here!!!)
 
Building a Scenario using clinFHIR
Building a Scenario using clinFHIRBuilding a Scenario using clinFHIR
Building a Scenario using clinFHIR
 
BizTalk on FHIR
BizTalk on FHIRBizTalk on FHIR
BizTalk on FHIR
 
Cds hooks fhir dev days 2017
Cds hooks   fhir dev days 2017Cds hooks   fhir dev days 2017
Cds hooks fhir dev days 2017
 
Interoperability, the rise of HL7 and FHIR
Interoperability, the rise of HL7 and FHIRInteroperability, the rise of HL7 and FHIR
Interoperability, the rise of HL7 and FHIR
 
Furore devdays2017 general-introtofhir
Furore devdays2017 general-introtofhirFurore devdays2017 general-introtofhir
Furore devdays2017 general-introtofhir
 
FHIR for Hackers
FHIR for HackersFHIR for Hackers
FHIR for Hackers
 
Validation in net and java (ewout james)
Validation in net and java (ewout james)Validation in net and java (ewout james)
Validation in net and java (ewout james)
 
FHIR Profiles
FHIR ProfilesFHIR Profiles
FHIR Profiles
 
Nick Radov, Payer/Provider - Interoperability & HL7 Da Vinci Project.
Nick Radov, Payer/Provider - Interoperability & HL7 Da Vinci Project.Nick Radov, Payer/Provider - Interoperability & HL7 Da Vinci Project.
Nick Radov, Payer/Provider - Interoperability & HL7 Da Vinci Project.
 
Building on cerner with smart on fhir fhir dev days 2017
Building on cerner with smart on fhir   fhir dev days 2017Building on cerner with smart on fhir   fhir dev days 2017
Building on cerner with smart on fhir fhir dev days 2017
 
FHIR & Ice
FHIR & IceFHIR & Ice
FHIR & Ice
 

Similar to Claude Nanjo. Modeling with FHIR. An Introduction to FHIR.

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
 
Intro_To_FHIR.pptx
Intro_To_FHIR.pptxIntro_To_FHIR.pptx
Intro_To_FHIR.pptxPierluigi10
 
Combining archetypes with FHIR in future-proof health information systems
Combining archetypes with FHIR in future-proof health information systemsCombining archetypes with FHIR in future-proof health information systems
Combining archetypes with FHIR in future-proof health information systemsyampeku
 
Fhir seminar hinz 2015
Fhir seminar hinz 2015Fhir seminar hinz 2015
Fhir seminar hinz 2015David Hay
 
Hl7 common terminology services
Hl7 common terminology servicesHl7 common terminology services
Hl7 common terminology servicesSyed Ali Raza
 
Profiling with clin fhir
Profiling with clin fhirProfiling with clin fhir
Profiling with clin fhirDevDays
 
Using FHIR for Interoperability
Using FHIR for InteroperabilityUsing FHIR for Interoperability
Using FHIR for InteroperabilityIatric Systems
 
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
 
Healthcare Exchange Interoperability
Healthcare Exchange InteroperabilityHealthcare Exchange Interoperability
Healthcare Exchange InteroperabilityTomislav Milinović
 
Healthcare Information System Standards.docx
Healthcare Information System Standards.docxHealthcare Information System Standards.docx
Healthcare Information System Standards.docxbkbk37
 
Chapter 4 Requirement Engineering.pdf
Chapter 4 Requirement Engineering.pdfChapter 4 Requirement Engineering.pdf
Chapter 4 Requirement Engineering.pdfHardikGupta400524
 
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
 
Requirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsRequirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsKamalika Guha Roy
 
Anish Arora - Playing With FHIR - A Practical Approach
Anish Arora - Playing With FHIR - A Practical ApproachAnish Arora - Playing With FHIR - A Practical Approach
Anish Arora - Playing With FHIR - A Practical ApproachHealthDev
 
Autonomous medical coding with discriminative transformers
Autonomous medical coding with discriminative transformersAutonomous medical coding with discriminative transformers
Autonomous medical coding with discriminative transformersPatrick Nicolas
 
Introduction to CrossRef Text and Data Mining Webinar
Introduction to CrossRef Text and Data Mining WebinarIntroduction to CrossRef Text and Data Mining Webinar
Introduction to CrossRef Text and Data Mining WebinarCrossref
 

Similar to Claude Nanjo. Modeling with FHIR. An Introduction to FHIR. (20)

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
 
Intro_To_FHIR.pptx
Intro_To_FHIR.pptxIntro_To_FHIR.pptx
Intro_To_FHIR.pptx
 
Combining archetypes with FHIR in future-proof health information systems
Combining archetypes with FHIR in future-proof health information systemsCombining archetypes with FHIR in future-proof health information systems
Combining archetypes with FHIR in future-proof health information systems
 
Fhir seminar hinz 2015
Fhir seminar hinz 2015Fhir seminar hinz 2015
Fhir seminar hinz 2015
 
Hl7 common terminology services
Hl7 common terminology servicesHl7 common terminology services
Hl7 common terminology services
 
Profiling with clin fhir
Profiling with clin fhirProfiling with clin fhir
Profiling with clin fhir
 
Using FHIR for Interoperability
Using FHIR for InteroperabilityUsing FHIR for Interoperability
Using FHIR for Interoperability
 
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
 
Healthcare Exchange Interoperability
Healthcare Exchange InteroperabilityHealthcare Exchange Interoperability
Healthcare Exchange Interoperability
 
Healthcare Information System Standards.docx
Healthcare Information System Standards.docxHealthcare Information System Standards.docx
Healthcare Information System Standards.docx
 
Ch4 - Req Eng
Ch4 - Req EngCh4 - Req Eng
Ch4 - Req Eng
 
Chapter 4 Requirement Engineering.pdf
Chapter 4 Requirement Engineering.pdfChapter 4 Requirement Engineering.pdf
Chapter 4 Requirement Engineering.pdf
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
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
 
Requirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsRequirement Engineering for Dependable Systems
Requirement Engineering for Dependable Systems
 
Anish Arora - Playing With FHIR - A Practical Approach
Anish Arora - Playing With FHIR - A Practical ApproachAnish Arora - Playing With FHIR - A Practical Approach
Anish Arora - Playing With FHIR - A Practical Approach
 
Autonomous medical coding with discriminative transformers
Autonomous medical coding with discriminative transformersAutonomous medical coding with discriminative transformers
Autonomous medical coding with discriminative transformers
 
Introduction to CrossRef Text and Data Mining Webinar
Introduction to CrossRef Text and Data Mining WebinarIntroduction to CrossRef Text and Data Mining Webinar
Introduction to CrossRef Text and Data Mining Webinar
 
Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 

More from HealthDev

CMS Interoperability and Patient Access final rule and Health Samurai FHIR pl...
CMS Interoperability and Patient Access final rule and Health Samurai FHIR pl...CMS Interoperability and Patient Access final rule and Health Samurai FHIR pl...
CMS Interoperability and Patient Access final rule and Health Samurai FHIR pl...HealthDev
 
FHIR® in Action: How UCSF Uses FHIR® to Enable Innovation by Ed Martin
FHIR® in Action: How UCSF Uses FHIR® to Enable Innovation by Ed Martin FHIR® in Action: How UCSF Uses FHIR® to Enable Innovation by Ed Martin
FHIR® in Action: How UCSF Uses FHIR® to Enable Innovation by Ed Martin HealthDev
 
Oncology data on FHIR, Kaushal Parekh & Sujata Patil
Oncology data on FHIR, Kaushal Parekh & Sujata PatilOncology data on FHIR, Kaushal Parekh & Sujata Patil
Oncology data on FHIR, Kaushal Parekh & Sujata PatilHealthDev
 
Virtual FHIR meetup introduction
Virtual FHIR meetup introductionVirtual FHIR meetup introduction
Virtual FHIR meetup introductionHealthDev
 
Pavel Smirnov, Health Samurai - FHIR business opportunities
Pavel Smirnov, Health Samurai - FHIR business opportunitiesPavel Smirnov, Health Samurai - FHIR business opportunities
Pavel Smirnov, Health Samurai - FHIR business opportunitiesHealthDev
 
Tarek Ibrahim - Human API introduction
Tarek Ibrahim - Human API introductionTarek Ibrahim - Human API introduction
Tarek Ibrahim - Human API introductionHealthDev
 
Omar Shaker - How can FHIR Influence our standard of clinical care?
Omar Shaker - How can FHIR Influence our standard of clinical care?Omar Shaker - How can FHIR Influence our standard of clinical care?
Omar Shaker - How can FHIR Influence our standard of clinical care?HealthDev
 
Brendan Keeler - Who Trusts FHIR? Paradigms of Exchange in an API World
Brendan Keeler - Who Trusts FHIR? Paradigms of Exchange in an API WorldBrendan Keeler - Who Trusts FHIR? Paradigms of Exchange in an API World
Brendan Keeler - Who Trusts FHIR? Paradigms of Exchange in an API WorldHealthDev
 
FHIR databases by Nikolai Ryzhikov, PhD at ScaleLA
FHIR databases by Nikolai Ryzhikov, PhD at ScaleLAFHIR databases by Nikolai Ryzhikov, PhD at ScaleLA
FHIR databases by Nikolai Ryzhikov, PhD at ScaleLAHealthDev
 
SMART on FHIR apps by Aziz Boxwala, MD, PhD at ScaleLA
SMART on FHIR apps by Aziz Boxwala, MD, PhD at ScaleLASMART on FHIR apps by Aziz Boxwala, MD, PhD at ScaleLA
SMART on FHIR apps by Aziz Boxwala, MD, PhD at ScaleLAHealthDev
 
STATE OF MOBILE HEALTH on FHIR by Gora Datta at ScaleLA
STATE OF MOBILE HEALTH on FHIR by Gora Datta at ScaleLASTATE OF MOBILE HEALTH on FHIR by Gora Datta at ScaleLA
STATE OF MOBILE HEALTH on FHIR by Gora Datta at ScaleLAHealthDev
 
FHIR-first development of healthcare applications
FHIR-first development of healthcare applicationsFHIR-first development of healthcare applications
FHIR-first development of healthcare applicationsHealthDev
 
Open mHealth, FHIR and beyond
Open mHealth, FHIR and beyondOpen mHealth, FHIR and beyond
Open mHealth, FHIR and beyondHealthDev
 

More from HealthDev (13)

CMS Interoperability and Patient Access final rule and Health Samurai FHIR pl...
CMS Interoperability and Patient Access final rule and Health Samurai FHIR pl...CMS Interoperability and Patient Access final rule and Health Samurai FHIR pl...
CMS Interoperability and Patient Access final rule and Health Samurai FHIR pl...
 
FHIR® in Action: How UCSF Uses FHIR® to Enable Innovation by Ed Martin
FHIR® in Action: How UCSF Uses FHIR® to Enable Innovation by Ed Martin FHIR® in Action: How UCSF Uses FHIR® to Enable Innovation by Ed Martin
FHIR® in Action: How UCSF Uses FHIR® to Enable Innovation by Ed Martin
 
Oncology data on FHIR, Kaushal Parekh & Sujata Patil
Oncology data on FHIR, Kaushal Parekh & Sujata PatilOncology data on FHIR, Kaushal Parekh & Sujata Patil
Oncology data on FHIR, Kaushal Parekh & Sujata Patil
 
Virtual FHIR meetup introduction
Virtual FHIR meetup introductionVirtual FHIR meetup introduction
Virtual FHIR meetup introduction
 
Pavel Smirnov, Health Samurai - FHIR business opportunities
Pavel Smirnov, Health Samurai - FHIR business opportunitiesPavel Smirnov, Health Samurai - FHIR business opportunities
Pavel Smirnov, Health Samurai - FHIR business opportunities
 
Tarek Ibrahim - Human API introduction
Tarek Ibrahim - Human API introductionTarek Ibrahim - Human API introduction
Tarek Ibrahim - Human API introduction
 
Omar Shaker - How can FHIR Influence our standard of clinical care?
Omar Shaker - How can FHIR Influence our standard of clinical care?Omar Shaker - How can FHIR Influence our standard of clinical care?
Omar Shaker - How can FHIR Influence our standard of clinical care?
 
Brendan Keeler - Who Trusts FHIR? Paradigms of Exchange in an API World
Brendan Keeler - Who Trusts FHIR? Paradigms of Exchange in an API WorldBrendan Keeler - Who Trusts FHIR? Paradigms of Exchange in an API World
Brendan Keeler - Who Trusts FHIR? Paradigms of Exchange in an API World
 
FHIR databases by Nikolai Ryzhikov, PhD at ScaleLA
FHIR databases by Nikolai Ryzhikov, PhD at ScaleLAFHIR databases by Nikolai Ryzhikov, PhD at ScaleLA
FHIR databases by Nikolai Ryzhikov, PhD at ScaleLA
 
SMART on FHIR apps by Aziz Boxwala, MD, PhD at ScaleLA
SMART on FHIR apps by Aziz Boxwala, MD, PhD at ScaleLASMART on FHIR apps by Aziz Boxwala, MD, PhD at ScaleLA
SMART on FHIR apps by Aziz Boxwala, MD, PhD at ScaleLA
 
STATE OF MOBILE HEALTH on FHIR by Gora Datta at ScaleLA
STATE OF MOBILE HEALTH on FHIR by Gora Datta at ScaleLASTATE OF MOBILE HEALTH on FHIR by Gora Datta at ScaleLA
STATE OF MOBILE HEALTH on FHIR by Gora Datta at ScaleLA
 
FHIR-first development of healthcare applications
FHIR-first development of healthcare applicationsFHIR-first development of healthcare applications
FHIR-first development of healthcare applications
 
Open mHealth, FHIR and beyond
Open mHealth, FHIR and beyondOpen mHealth, FHIR and beyond
Open mHealth, FHIR and beyond
 

Recently uploaded

Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 

Recently uploaded (20)

Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 

Claude Nanjo. Modeling with FHIR. An Introduction to FHIR.

  • 1. Modeling with FHIR An Introduction to FHIR Claude Nanjo Research Associate, University of Utah
  • 2. What is FHIR FHIR is ● A resource-oriented RESTful API ● A metamodel ● An extensible model
  • 3. The bigger picture - an example Electronic Health Record System (EHR) Health Application An application is invoked based on a trigger event in the clinical workflow The application invokes the EHR’s FHIR API to get patient data The application returns a recommendation that is persisted in the EHR FHIR messages are exchanged during these calls
  • 4. The bigger picture - HTN management Electronic Health Record System (EHR) Blood Pressure Management Application On opening the patient’s chart, trigger call to blood pressure management app (patient, encounter, current user) Get patient’s blood pressure goal, blood pressure, current medications, problem list Recommend modifications to the patient’s current HTN medication regimen
  • 5. Assumption The EHR system and the application agree on the message payload and the API. That is, they agree on: ● The syntax and structure of the messages exchanged ● The semantics of the message
  • 6. What if I want to use my application on another EHR? 1. Both parties agree to a common specification - point-to-point 2. Both parties decide to adhere to a common standard a. Allows ‘application portability’ - the application can be used with any EHR that understands the standard
  • 7. Is FHIR that common standard? Yes (but with a caveat)
  • 8. FHIR defines an API CRUD + Search Resource-Oriented RESTful API Fairly complete Can be extended
  • 9. FHIR also specifies a health information model but ... The model only represents the resources and attributes that are found in the most prevalent health IT systems (known as the 80/20 rule) The model is therefore extensible/configurable to support use cases that extend beyond this core set of models But the model can be extended in different ways by different stakeholders
  • 10. A Very Quick Overview of the FHIR API
  • 12. Syntax Examples read GET [base]/[type]/[id] {?_format=[mime-type]} vread GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]} Update PUT [base]/[type]/[id] {?_format=[mime-type]} PUT [base]/[type]/?[search parameters]
  • 13. Syntax Examples delete DELETE [base]/[type]/[id] DELETE [base]/[type]/?[search parameters] create POST [base]/[type] {?_format=[mime-type]}
  • 16. Next steps We will learn more about: 1. Health information models 2. The FHIR model 3. The FHIR metamodel 4. How to extend FHIR
  • 17. What is a Health Information Model? It consists of the classes, the properties of those classes, the relationships that exist between these classes and the constraints and rules needed to support the exchange of health information. A core aim of the FHIR standard is to support the specification of a computable, shareable, and semantically precise representation of health information.
  • 18. Where can I find the latest stable model (FHIR R4) http://hl7.org/fhir/
  • 19. How do I find FHIR resources (classes)?
  • 21. How is the FHIR health information model represented? 1. Visually a. Generally as a UML-like diagram or as a tree-like structure 2. In a computable form using the FHIR meta-modeling language a. Via the StructureDefinition, ElementDefinition, and ValueSet classes b. Authors typically use an Excel spreadsheet to define or update a model
  • 24. A little more about modeling - some concepts Resources in FHIR are classes Classes represent concepts relevant to health care such as a procedure or a medication Classes have attributes/properties/fields - e.g., a procedure may have a code, a performer, and a performedDateTime Attributes have types and cardinality - e.g., performedDateTime is of type DateTime, and its cardinality is 0..1 meaning that it is optional.
  • 27. ‘Inline’ types: the FHIR BackboneElement
  • 30. ‘Concept’ Types The following types have special meanings: 1. code - an enumerated type 2. Coding - a reference to a concept in a terminology or ontology 3. CodeableConcept - a set of references to synonymous concepts in one or more terminology or ontology Unlike ‘string’, concept types point to elements in a formal vocabulary (controlled terminology, thesaurus, or ontology)
  • 31. Example - FHIR Procedure
  • 32. About cardinalities 0..1 - Optional and no more than one 1..1 - Required and no more than one 0..* - Optional and collection type 1..* - Required and collection type ----------------- 0..0 - Constrained out m..n - Not less than m and not more than n
  • 34. The FHIR resource hierarchy Resource DomainResource Medication Procedure Condition ...
  • 35. Resource gives FHIR resources an id
  • 37. Extensions are essentially name value pairs
  • 38. Extensions and Types are Elements and are thus extensible too!
  • 39. Extensions on Extensions Person url: citizenship (Extension) url: country value: CodeableConcept (Extension) url: obtainedOn value: Date (Extension)
  • 41. How can one specialize FHIR resources? By using a mechanism called ‘FHIR Profiles’
  • 42. FHIR Profiles FHIR profiles allow a modeler to: ● Add new attributes to a FHIR resource ● Remove attributes from a FHIR resource ● Constrain the definition of specific parts of the FHIR model
  • 43. Important constraint types ● Type constraints: e.g., constrain an integer type to a positiveInt ● Choice constraints: e.g., reduce the options available for a choice type ● Reference constraints: e.g., reduce the options available for a reference type ● Cardinality constraints: ○ Constraint out: 0..0 ○ Make mandatory: 0..1 -> 1..1 (the reverse is illegal) ○ Specify other lower and upper bound: 0..* -> 3-5 (not common) ● Terminology constraints (a type of range constraint) ○ All procedure codes must be descendants of the SNOMED CT Procedure code. ○ The category codes must be one of the following five codes {A,B,C,D,E} ○ Often referred to as ‘value set constraints’ ● Slicing constraints - more on that later
  • 44. Profiles at a high level Procedure code: CodeableConcept [0..1] status: code [1..1] category: CodeableConcept [0..1] statusReason: CodeableConcept [0..1] LaboratoryProcedure (profile) code: CodeableConcept [1..1] Bound to MyLaboratoryProcedureValueSet statusReason: CodeableConcept [0..0] specimen: CodeableConcept [1..*] - an extension
  • 45. Slicing Slicing allows modelers to turn a collection into a set of attributes with different cardinalities Extensions are the most common example of slicing
  • 46. An example using Extension FHIR defines a DomainResource attribute called extension: Extension 0..* ● All resources inherit this attribute ● It is a collection (0..*) ● It is essentially a name (really a URL)-value pair ● The name (url) is the attribute name ● The value is the attribute value ● What distinguishes each attribute derived from a slice from one another is the URL (name) ● The URL is called the discriminator and is used to determine the slices in this collection
  • 48. The FHIR Metamodel ● StructureDefinition - used to define resources and their specializations/constraints ● ElementDefinition - used to define and/or constrain attributes in a resource ● ValueSet - used to define the sets of allowed values for concept types ○ May be used to define the rules to generate the set: e.g., all medications that are beta-blockers ○ May specify each member of the set by explicitly enumerating them. ○ Can be built using a combination of the two approaches: e.g., ValueSetC = ValueSetA U ValueSetB
  • 49. Ensuring interoperability with FHIR FHIR can be extended and constrained using FHIR profiles This can be done in many ways To support interoperability, a community must agree on a specific set of FHIR profiles and FHIR API calls that it wishes to support A FHIR Implementation Guide (IG) expresses such a specification. IGs provide guidance to a community on the definitions of message payloads (FHIR profiles and extensions), FHIR API calls (operations and search params), terminologies, and other requirements that are necessary for a given use.
  • 50. US Core Base IG for interoperability in the US Defines minimum conformance requirements for accessing patient data http://hl7.org/fhir/us/core/STU3/