getting smart about fhir part 2 · why do we need profiling? fhir provides a single set of...
TRANSCRIPT
Getting smart about FHIR – part 2Michael Lawley
Research Group Leader, AEHRC
AUSTRALIAN E-HEALTH RESEARCH CENTRE
Profiling
Why do we need profiling?
FHIR provides a single set of Resources
Many usage contexts:• Jurisdictional boundaries
• Acute care, primary care, specialist care, …
• Scale: Patient-oriented use, cohort-use, population-level use
Few systems will ever implement the entire specification
Most clients will only use a subset of the specification
FHIR Profiles
Describe adaptations based on use & context• Which resources & elements are used
• Which API features are used
• Which terminologies are used
• How to map these to local requirements
Computable• Publish, share, re-use
• Drive tooling: validation, conformance checking, code generation
FHIR Conformance Resources
Terminology
CodeSystem
ValueSet
ConceptMap
NamingSystem
Content
StructureDefinition
ElementDefinition
StructureMap
DataElement
Operations
OperationDefinition
SearchParameter
Compartment-Definition
Misc.
CapabilityStatement
Implementation-Guide
TestScript
TestReport
FHIR Conformance Resources
Terminology
CodeSystem
ValueSet
ConceptMap
NamingSystem
Content
StructureDefinition
ElementDefinition
StructureMap
DataElement
Operations
OperationDefinition
SearchParameter
Compartment-Definition
Misc.
CapabilityStatement
Implementation-Guide
TestScript
TestReport
FHIR Conformance Resources
Terminology
CodeSystem
ValueSet
ConceptMap
NamingSystem
Content
StructureDefinition
ElementDefinition
StructureMap
DataElement
Operations
OperationDefinition
SearchParameter
Compartment-Definition
Misc.
CapabilityStatement
Implementation-Guide
TestScript
TestReport
StructureDefinition
Defines data structures
Core datatypes
Core resources
Constraints on resources & datatypes
Extensions
Logical Models
StructureDefinition
Defines data structures
Core datatypes
Core resources
Constraints on resources & datatypes
Extensions – additions to resources
Logical Models
StructureDefinition - metadata
Canonical url
Name, Title
Status (draft, active)
Date, Version (author assigned)
Author, publisher, contact, ...
Base profile
StructureDefinition - content
List of ElementDefinitions•Name, cardinality, data type
•Definitions, usage notes, requirements
•Default or fixed values
•Complex constraints, length limits
•Terminology bindings
•Mappings to other specifications
ImplementationGuide
Defines scope of usage
Describes requirements for a FHIR implementation
Specifies links to• Relevant FHIR artifacts (e.g. profiles, other IGs)
• Editorial content (documentation)
Usage• Allow authors to publish an implementation guide
• Allow tools to validate conformance
Tooling
•Forgehttps://simplifier.net/forge/
•Lantana Trifolia Workbenchhttps://trifolia.lantanagroup.com/
•ClinFHIRhttp://clinfhir.com
•Manually author XML/JSON
•Excel (build tool)
on FHIR
Substitutable Medical Apps, Reusable Technology
“An App Platform for Healthcare”
A set of specifications to integrate Apps with EHRsand other Health IT systems
Source: https://apps.smarthealthit.org/app/growth-chart (Boston Children’s Hospital)
Data: FHIR
Scopes and permissions: OAuth2
Simple authentication: OpenID Connect
Lightweight UI: HTML5
Scopes & permissions
patient/*.read
user/*.*
openid profile
launch
launch/patient
Launch
Launch from host system:GET https://{app_launch_url}?
launch=123&
iss={fhir_base_url}
App requests CapabilityStatement to determine OAuth2 endpoint details
App performs OAuth2 authorization for required scopes
CDS-hooks
Trigger decision support from the EHR
CDS Service
Invoked by EHR using a hook
Evaluates own rules using FHIR data
Returns decision support via cards
Example hooks
patient-view•a patient’s chart is opened
medication-prescribe•a medication is selected for prescription
order-review•reviewing pending orders for signing
Context and pre-fetch
Context•e.g., current patientId, encounterId, etc
Prefetch•e.g., the actual MedicationOrder
Cards
Information•Text for the user to read
Suggestion•Options for the user to choose between
App link•Link to an App (eg SMART) for more complex interactions
Example - https://example.com/cds-services
{
"services": [{
"hook": "medication-prescribe",
"title": "Medication Brand Substitution CDS Service",
"description": "An example CDS Service that offers other brands
of the medication being prescribed",
"id": "medication-echo",
"prefetch": {
"patient": "Patient/{{context.patientId}}",
"medications": "MedicationOrder?patient={{context.patientId}}”
}
}]
}
FHIR & the Open Community
FHIR is disrupting healthcare IT & healthcare:
• Encouraging the development of open community
• Significantly reducing the cost of data exchange
• Creating new economies of scale and methods of engagement
• Building a solid base to scale healthcare analytics and application
Join our open community – or another one…
Q & A
More FHIR
The National Children’s DigitalHealth Collaborative
Mon 2:35-3:20, C2.2/3
MSIA Engagement Forum:FHIR State of the Nation
Tue 2:00-3:30, Pyrmont Theatre
AEHRC