© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office. Profiling with clinFHIR FHIR Developer Days Amsterdam, November 2016 David Hay
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiling with clinFHIR
FHIR Developer DaysAmsterdam, November 2016
David Hay
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Summary of process
1. Define Business Requirements2. Create Models3. Find/Create ValueSets4. Gap analysis5. Find/Create Extension definition6. Build Profile7. Build resource
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
1. Establish business requirements
Locate subject matter experts Document Use Cases
Focused on interoperability What data is being shared Paradigm
REST, Message, Document Privacy Edge cases Test data
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
2. Define models
May be just one E.g. representing a problem
Maybe more than one E.g. a list of problems
Be aware of FHIR resources, but not constrained by them Will use profiles, extensions & valueSets to adapt Manually for now, eventually automated (to some degree)
Idea is to collect information from clinician
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
3. Find/Create ValueSets
Will discuss in detail later Defines the set of optional values for a coded datatype in a given
context Can bind to the Logical model
Helps clinician understand model Will definitely bind to profile Can sometimes find one, but no issue in creating a new
one
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
4. Gap analysis between resource/s and logical model
Determine what resource type/s will be the base (if not done when creating model)
For each resource What elements are not supported in the Use Cases/s Changes to multiplicity or standard ValueSets New elements = Extensions (other changes possible in spec)
Extensions Are normal and expected ALWAYS have a computable definition (StructureDefinition)
available SHOULD be re-used if possible
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
5. Find/Create Extension Definition
Defines the new elements Same capabilities as existing Prefer to reuse
Note some in spec
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
6. Build profile
Adapts a resource to a specific need (context) Is a StructureDefinition resource
Exactly the same as core resource types from the spec The main output of the modeling exercise Needs the ValueSets & Extension Definitions to be made
(hence the suggested order in this process)
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
7. Build resource instance and view all resources
Use the profiles as ‘templates’ to build actual resource instances Instances are ‘conformant’ to those profiles One instance can be conformant to multiple profiles
Resources can be viewed by clinFHIR
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
CLINFHIR
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
clinFHIR: Server roles
Specific server roles (according to clinFHIR)
Data/patient – patient related (clinical) and ‘reference’ (Practitioner, Organization)
Conformance – profile, extensionDefinition (both StructureDefinition)
Terminology – ValueSet & Terminology operations
Important to be STU consistent! Hapi STU-3 for Data, Grahame
for Conformance, Terminology
clinFHIR
Patient and Data
Profiles(Conformance)
Terminology
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
LOGICAL MODEL
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Purpose
To capture requirements from Clinicians in structured form Using FHIR infrastructure – DataTypes, ValueSets
Each model could become: A profile on a single resource Type A collection of resources (Document, Message)
Ideally determine this when creating model May not be able to – iterative development
Currently quite limited Working on that!
Requires STU-3
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Process
Get idea of initial requirements Determine if single or multi resource
Build initial model/s Review with stakeholders
Conversation capability for virtual work (basic at the moment) As the design progresses:
Could build/find ValueSets and bind to model Add mapping comments to model Update model/s based on reviews
Main outputs: Resources needed to profile ValueSets and Extension Definitions needed
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
This example
We want to add a profile that allows us to record the phase of the moon when a condition is at its worst (I’ve been watching Harry Potter again).
There’s a fixed set of values for the phase of the moon: new, waxing, full, waning.
We’ll also take the opportunity to remove some of the elements from Condition that we don’t want to support.
So the model will be on a single resource (Condition)
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
The finished model…
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Element definition:
Name – unique in ‘branch’ of mode;
Short & description Datatype
Some (coded & reference) allow extra options
Multiplicity – think long and hard before making something required
Mapping Path in profiled resource Textual notes about how to map this element to a profile Will be enhanced
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Some datatypes are special
Coded items Initially describe the nature of the element Subsequently find/build the ValueSet and bind in the model
(will help with later auto-generation) References
Use to refer to other Logical models that represent a profiled resources
Currently all other models (will be refining)
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Features
Build model Must be logged in to edit
From empty or start with existing model (currently core resource type)
Views Designer (tree) MindMap Table Mapping Coded items References to other models
History of changes
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Demo…
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
VALUESET
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Coded elements
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"}
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Coded types
When used in a Resource, the modelers include Bindings Bindings specify which codes can be used via a ValueSet
• Binding strength• How closely the options in the value set should be followed• Values
• Required (must come from set)• Extensible (may use alternate if have to)• Preferred (don’t have to, but should)• Example (set isn’t specified)
• Can vary in Profile• (Make stronger not weaker)
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
ValueSet resource
Defines list of possible values for a particular context from a codeSet / terminology Can reference external Terminology/s
Or define own sets Why?
A common valueSet improves recording consistency Improves user experience (pick lists)
Examples in New Zealand ED diagnoses (derived from SNOMED) NZ POCS (Pathology Observation Code Set) (derived from LOINC) List of NZ Iwi (defined in ValueSet)
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Terminology Sub-system
SNOMED CT / LOINC / RxNORM
HGVS, ICPC, MIMS + 100s more
ICD-X+ A drug formulary
Code System:Defines a set of concepts with a
coherent meaning
CodeDisplay
Definition
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Terminology Sub-system
Value Set:A selection of a set of codes for
use in a particular context
Code System:Defines a set of concepts with a
coherent meaning
CodeDisplay
Definition
Selects
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Terminology Sub-system
Code System:Defines a set of concepts with a
coherent meaning
CodeDisplay
Definition
Element Definition: Type and Value set reference
Value Set:A selection of a set of codes for
use in a particular context
SelectsBinds
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Terminology Sub-system
Code System:Defines a set of concepts with a
coherent meaning
CodeDisplay
Definition
Element Definition: Type and Value set reference
Value Set:A selection of a set of codes for
use in a particular context
SelectsBinds
Element: code/
Coding/CodeableConcept
Refers to
Conforms
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
More on Terminology in FHIR
Can get very complex Other resources – eg CodeSystem,NamingSystem Terminology operations
ValueSet/$expand, CodingSystem/$lookup ClinFHIR ValueSet editor is basic
Educational And not strictly accurate
Eg allows codes to be directly defined (should be CodeSystem) More comprehensive tooling being developed Is a separate window to clinFHIR (though selected from the gear
menu)
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Demo of ValueSet editor…
Select an existing ValueSet Show expansion
Create new Talk about name Add from terminology
Select from binding• Talk about search root• Discuss what ‘add as ‘branch’ means• Show the navigate
Save ValueSet and do expansion Create another ValueSet
Enter directly (eg moonPhase) Talk about expansion not working with non-SNOMED sets
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
EXTENSION DEFINITION
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extensions - I
Only most common elements in base resource Keeps the resources small (Adding everything was the problem with version 3)
Extensions allow other elements to be defined Same capabilities as core elements
Including resource references and terminology bindings Can extend properties and datatypes as well as the resource
Instance has reference to definition (which is StructureDefinition resource) Can be resolvable or in a registry
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extensions - II
‘normal’ and modifierExtensions Normal extensions can be ignored by a recipient Unknown modifierExtensions cannot be ignored
Expect all real implementations to use extensions
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
What can be extended
ResourceNarrative
Extensions
Metadata
Elements
Extensions
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example of extension in a resource{ "resourceType": "Condition", ... "extension": [ { "url": "http://fhirtest.uhn.ca/baseDstu3/StructureDefinition/eyeColour", "valueCodeableConcept": { "coding": [ { "code": "red", "display": "Red" } ], "text": "Red" } } ], ... "subject": { "reference": "Patient/1564", "display": "Sebastian Roberts male 1960-07-28" }}
<Condition xmlns="http://hl7.org/fhir">... <extension url="http://fhirtest.uhn.ca/baseDstu3/StructureDefinition/eyeColour"> <valueCodeableConcept> <coding> <code value="red"/> <display value="Red"/> </coding> <text value="Red"/> </valueCodeableConcept> </extension> ... <subject> <reference value="Patient/1564"/> <display value="Sebastian Roberts male 1960-07-28"/> </subject></Condition>
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
List of Extension Definitions for a Publisher
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
New Extension Definition
a
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Demo…
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
PROFILE
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
The profile…
Acts as the ‘template’ for the resource instance ClinFHIR has simple profile builder
Only a subset of capabilities Use Forge for more complete
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
References between Instance & definitions
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiles screen in clinFHIR
a
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profile display/edit screen
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Editing profile
Select node to edit Can remove, change properties or add extension
© 2016 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Demo…