devdays profiling with clin fhir

45
© 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

Upload: devdays

Post on 08-Jan-2017

155 views

Category:

Healthcare


3 download

TRANSCRIPT

Page 1: Devdays   profiling with clin fhir

© 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

Page 2: Devdays   profiling with clin fhir

© 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

Page 3: Devdays   profiling with clin fhir

© 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

Page 4: Devdays   profiling with clin fhir

© 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

Page 5: Devdays   profiling with clin fhir

© 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

Page 6: Devdays   profiling with clin fhir

© 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

Page 7: Devdays   profiling with clin fhir

© 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

Page 8: Devdays   profiling with clin fhir

© 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)

Page 9: Devdays   profiling with clin fhir

© 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

Page 10: Devdays   profiling with clin fhir

© 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

Page 11: Devdays   profiling with clin fhir

© 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

Page 12: Devdays   profiling with clin fhir

© 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

Page 13: Devdays   profiling with clin fhir

© 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

Page 14: Devdays   profiling with clin fhir

© 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

Page 15: Devdays   profiling with clin fhir

© 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)

Page 16: Devdays   profiling with clin fhir

© 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…

Page 17: Devdays   profiling with clin fhir

© 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

Page 18: Devdays   profiling with clin fhir

© 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)

Page 19: Devdays   profiling with clin fhir

© 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

Page 20: Devdays   profiling with clin fhir

© 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…

Page 21: Devdays   profiling with clin fhir

© 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

Page 22: Devdays   profiling with clin fhir

© 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"}

Page 23: Devdays   profiling with clin fhir

© 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)

Page 24: Devdays   profiling with clin fhir

© 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)

Page 25: Devdays   profiling with clin fhir

© 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

Page 26: Devdays   profiling with clin fhir

© 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

Page 27: Devdays   profiling with clin fhir

© 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

Page 28: Devdays   profiling with clin fhir

© 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

Page 29: Devdays   profiling with clin fhir

© 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)

Page 30: Devdays   profiling with clin fhir

© 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

Page 31: Devdays   profiling with clin fhir

© 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

Page 32: Devdays   profiling with clin fhir

© 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

Page 33: Devdays   profiling with clin fhir

© 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

Page 34: Devdays   profiling with clin fhir

© 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

Page 35: Devdays   profiling with clin fhir

© 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>

Page 36: Devdays   profiling with clin fhir

© 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

Page 37: Devdays   profiling with clin fhir

© 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

Page 38: Devdays   profiling with clin fhir

© 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…

Page 39: Devdays   profiling with clin fhir

© 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

Page 40: Devdays   profiling with clin fhir

© 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

Page 41: Devdays   profiling with clin fhir

© 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

Page 42: Devdays   profiling with clin fhir

© 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

Page 43: Devdays   profiling with clin fhir

© 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

Page 44: Devdays   profiling with clin fhir

© 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

Page 45: Devdays   profiling with clin fhir

© 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…