profiling concepts
TRANSCRIPT
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiling Concepts
Grahame GrieveFHIR Developer DaysNovember 18, 2014
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
2
Who am I?
Name: Grahame Grieve Company: Health Intersections (Australia) Background:
Clinical Scientist CTO/Development lead for ISV (Diagnostics) Project Lead, FHIR project
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
3
Why we need Profiling
FHIR is an international specification Used in all sorts of contexts There’s lots of disagreements around:
Jurisdiction laws/regulations/cultures Population / funding requirements Different goals of participants
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
8
Why we need Profiling
FHIR is an international specification Used in all sorts of contexts There’s lots of disagreements around:
Jurisdiction laws/regulations/cultures Population / funding requirements Different goals of participants
FHIR is a “platform specification” Additional Agreements are necessary
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
9
What can be profiled
What are used / not used / extended: Elements in resources Codes in coded elements API features (interactions, operations) Search Parameters Security Details
Detailing mapping to local requirements & alternative views of the data
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
10
Profiling Goals
Communicate to humans what is decided or expected
Enable automated checking / comparison Support code-generation / run time discovery Create publishing / exchange eco-system Allow testing for conformance
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
11
Conformance Resources
Profiling functions are implemented by a set of resources
“Eat your own dog food’
A conformance registry is a FHIR end-point E.g. FHIR Extension registry The specification itself is a FHIR Server (also IGs)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
12
Conformance Resources Services Provided / Used
Conformance – API feature set OperationDefinition – describes additional operations SearchParameter – describes search parameter implementation
Content StructureDefinition – structure / use / mappings DataElement – a single logical element (11179)
Terminology ValueSet – a selection of codes from some defining system ConceptMap – map from one set of concepts to another NamingSystem – describe a code/identifier issuing system
Assembly ImplementationGuide – package everything together for publishing TestScript – define a set of automatable tests
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
13
Conformance Statement
List of supported resources. For each: Profile supported Interactions and operations supported Search parameters supported Versioning information
REST security + Smart-on-FHIR pointers
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
14
StructureDefinition
Defines a hierarchy of elements Name Cardinality Type (primitive type, or another hierarchy) Definitions Mappings Constraints Implementation Requirements
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
15
StructureDefinition Usage
Defining base data types and resources Defining “profiles” on these
Limit cardinality Change value set mappings Additional constraint, mappings Say which extensions are allowed, and control
them Defining “Logical Models” – mapped to
actual resources and data types
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
16
Profile StructureDefinitions
Differential A list of things that have been changed from a base
profile Sparse – only the things that have changed Human Author view
Snapshot The outcome of applying the changes Lists everything that is allowed For use by tooling (validation etc)
Rule: cannot ‘undo’ the base profile rules
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
17
Slicing
<Observation> ... <component> <code {LOINC="8480-6"}/> <value ...> </component> <component> <code {LOINC="8462-4"}/> <value ...> </component> </Observation>
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
18
Discriminators
How to tell the slices apart? You can exhaustively test all entries against
all the rules for the slice too hard (code generation) Pick a single element (or a short list) that you
can use to tell the slices apart Can use for switch/case statements when
processing the data
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
19
ImplementationGuide
A resource that ties everything together Profiles, Extensions, Value Sets Examples Page layout, built pages
To allow tooling to know what is in a published guide
To define a scope of implementation To suppose publication (tools)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
20