SlideShare a Scribd company logo
1 of 43
Authoring
Profiles
Ewout Kramer
january 2014

© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Who am I?




Name: Ewout Kramer
Company: Furore, Amsterdam
Background:





FHIR core team, RIMBAA
Software developer & healthcare
architect

Contact:



e.kramer@furore.com
www.thefhirplace.com

2
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Introduce ourselves


Who has looked at Profile in the spec?



Who has near-future needs for authoring
profiles?



Who’s comfortable looking at XML?

3
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Contents of this tutorial









Intro to Profiles
Extensions
Restrictions
Bindings & ValueSets
Slicing
Aggregation
A combined example

4
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
The need for Profiles




Many different contexts in healthcare, but a
single set of Resources
Need to be able to describe restrictions
based on use and context
Allow for these usage statements to:





Authored in a structured manner
Published in a repository
Used as the basis for validation, code, report and UI
generation.

5
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiling a resource
Demand that the identifier uses your
national patient identifier
Limit names to just 1 (instead of 0..*)

Limit maritalStatus to another set of
codes that extends the one from
HL7 international

Add an extension to support
“RaceCode”

6

Note: hardly any
mandatory elements in
the core spec!

© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Structured & published



A Profile is just a “normal” Resource
Any FHIR server could serve Profiles (just
like Patients, Observations, etc…)
So, any FHIR server is a profile repository!



A resource is simply referred to by its URI:






e.g. http://hl7.org/fhir/Profile/iso-21090

7
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Using profiles





When communicating a resource, you can
indicate the profiles it conforms to.
A server might explicitly state it only accepts
resources conforming to a certain profile
(and verify!)
You can ask a FHIR server to validate a
resource against a given profile

8
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Tagging a Resource
Patient
MRN 22234
“Ewout Kramer”
30-11-1972
Amsterdam

http://hl7.org/fhir/tag/security
http://hl7.org/fhir/v3/ActCode#TABOO

http://hl7.org/fhir/tag
http://example.org/fhir/Status#Test

http://hl7.org/fhir/tag/profile
http://hl7.org/fhir/Profile/us-core

“a claim that the Resource
conforms to the profile
identified in the term”

© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
(Distributed) validation
App’s server

Store &
Validate

Country validation server

Profile X
Profile Y

Validate

Profile Y

10
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Who publishes?

http://www.hl7.org/fhir/Profile/iso-21090

http://www.hl7.nl/fhir/Profile/patient-nl

http://www.health4all.org/fhir/Profile/

© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
What’s in a profile?
Metadata
Identifier
Name, Version
Publisher
Description, Code
Status
Date (of publication)

Resource and
Datatype
Constraints

Conformance

Resource
(via Tag)
Extension
Extension in
Resource

ValueSet
ValueSet
12
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Scale / design




Make a profile with just extensions
Make a profile with just 1 resource +
extensions on that resource
Make a profile with all (say national)
resources + extensions.

13
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profile metadata











Identifier: Universally unique identifier, assigned by author
value=“urn:hl7.org:extensions:iso-21090“ or “2.16.840.1.113883.10.20.2.1”
Version: Version of the profile, manually maintained by author. Suggested
format: a timestamp (e.g. 2013-01-01T12:34:45)
Name: Free natural text name (e.g. “ISO 21090 Data Type Extensions”)
Publisher: organization or individual responsible for publishing. Should be
populated (e.g. “FHIR Project Team“)
Telecom: one or more contact points of the publisher (telephone, email,
website etc)
Description: longer description of the contents of the profile
Code: one or more coded descriptions to help with finding the profile
Status (fixed choice of draft, active, retired) + experimental Y/N
Requirements: scope & usage (the “need” or “why” of the profile)
Date (of publication), e.g. “2013-07-07"

14
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Authoring a Profile


Let’s do this in Forge

15
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extensions



Design for the 80% - Allow easy extension for
the remaining 20% of elements
Note - You’re not extending a resource per se,
but you specify where an extension may occur:






A specific element within a resource (even root)
A specific element within a datatype
All elements referencing a datatype
All elements mapping to a specific mapping target
An extension
1/20/2014

(c) 2012 HL7 International

16

© 2013 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
Note: multiple
contexts!

17
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Must support?





18

Authors: SHALL be capable of providing a
value for the element and resource
Consumers: SHALL be capable of extracting
and doing something useful with the data
element.
"Something useful" is context dependent.
The Profile SHALL describe what it means
for applications to “support” the element

© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extending a name
Key = location of formal definition

Value = value according to definition

19
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extending an extension?

20
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
The “Other” resource


Now, what if you have the need for a
completely “new” resource?



…then add extensions for each element

21
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Authoring an extension


Let’s do this in Forge

22
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraints






23

Profiles contain “Structures”: a set of
constraints on (nested) elements of a
Resource or Datatype
You give each structure a “name”, so you
can refer to it (e.g. from a Profile Tag)
You can make structures “internal”: local to
the package for purpose of reuse
Datatype constraints are always done for
reuse of constraints

© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraining cardinality

1..2

Limit cardinality to 1..2
(e.g. to at maximum your
organizations’ identifier + the
national one)

1..1
0..0
Limit names to just 1 (instead of 0..*)
Forbid any telecom elements
Note: something that’s mandatory in the core definition
cannot be made optional in a profile

24
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Limit value domains
If deceased is given, it must be
a dateTime, not a boolean
AddressNL
Use a profiled datatype (from
this or other profile)
OrganizationNL
=“true”

Only allow reference to a
profiled resource

Only allow “active” Patients
25
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Contextualize narrative
Override the base spec’s descriptions by
adding context specific narrative:









short : string 1..1
formal : string 1..1
comments : string 0..1
requirements : string 0..1
synonym : string 0..*
example[x] : 0..1 (example value!)
mappings : 0..* (more specific mappings)

26
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiling bindings


Depending on “core” spec, you can:






“fixed”: not specify a different binding
“incomplete”: specify a different binding if needed
“example”: very likely specify a different binding

Change the bindings as specified in core:


Define a new ValueSet




Allow additional codes, Restrict to a subset

Specify whether implementers of your profile can
deviate from your valueset.

27
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Conformance levels
If implementers of your profile choose to have different codes:
IsExtensible “N”

IsExtensible “Y”

Required “SHALL”

Validation error, nonconformant

Additional codes allowed

Preferred “SHOULD”
“Guidance”

Validation warning,
discouraged

Supplemental codes likely
Alternatives allowed

Example “MAY”

Just a suggestion, no preference

28
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
ValueSets





A “true” FHIR ValueSet resource (may be
version specific)
A general reference to some web content
that defines a set of codes. (e.g. mime
types).
A textual description of the possible codes

29
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
• Publication metadata
• Concepts from 1 or
more existing
systems
• Additional concepts

30
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraining Patient



Let’s try this in Forge
Example:





Structure on Patient, name “PatientNL”
Limit Patient.identifier cardinality to 1..1
Change short description to “Dutch BSN”
Fix value of Patient.identifier.system to
“urn:oid:2.16.840.1.113883.2.4.6.3”

31
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Add formal constraints







Invariants, co-occurrence
Uses free text (human) + xpath (executable)
Constraints should be declared on lowest
element in the hierarchy that is common to
all nodes referenced by the constraint.
Identified by (local) id, involved elements
refer to that id
Specify severity (“error” or “warning”)

32
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Formal constraint
example
“Patient’s birthDate < deceasedDate”
 Express as text and xpath (left as an
exercise to the reader ;-)
 Common context for both elements is
Patient itself -> add constraint to Patient
(give an id, say “1”)
 Add reference to constraint “1” on both the
birthDate and deceasedDate element


33
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Slicing
Schematic view of Composition (aka a Document header)
Composition
type: CodeableConcept





Section
0..*

code: CodeableConcept
content: Resource(Any) 0..1

Slicing = constraining a repeating element
Base Composition has 0..* “Sections”
Section has 0..1 element with content

34
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Slicing into a CCD
Composition
type = “34133-9”
“Summarization of
episode note”

Section
code = 42348-3 (“Advance directives”)
Section
code =11450-4 (“Problem list”)

…
Section
code = 18776-5 (“Treatment plan”)


35



“Slice” the repeating sections into a fixed set of
profiled sections.
“code” is fixed and is called the discriminator

© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Authoring slices


Let’s do this in Forge

36
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Resources are a network
DiagnosticReport
Practitioner
Practitioner
Location
Observation
Observation
Observation
Organization

Patient

Device

37
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
What’s contained in your
document or message?
DiagnosticReport
Practitioner
Practitioner
Location
Observation
Observation
Observation
Organization

Patient

Device

38
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
What’s in your
document?
Observation

DiagnosticReport

Practitioner

Location

Observation
Observation

Practitioner

Patient

Device

Organization

39
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Aggregation


Aggregation: for each ResourceReference
choose 1..3:
Code
contained
referenced

..bundled

Definition
Reference to a contained
resource.
Reference to to a resource
that has to be resolved
externally
Reference points to will be
found in the same bundle

40
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Try it all


Define a message that contains a Bloodpressure measurement

Questions:
 What components will our Profile contain?
 Is Patient present in the message?

41
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Possible solution
MessageHeader
event: Coding
data: Any(0..*) -> List(1..1)

List-Bloodpressure
subject: Patient|..|.. 0..1 ->
Patient (1..1)
(bundled | ref)
Entry
item: Observ.
(1..1)
(bundled)

Observation-Systolic
name: “Systolic”
value: Quantity
(value.units “mmHg”)

Entry
item: Observ.
(1..1)
(bundled)

Observation-Diastolic
name: “Diastolic”
value: Quantity
(value.units “mmHg”)

42
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Questions?

43
© 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.

More Related Content

What's hot

Security in FHIR with OAuth by Grahame Grieve
Security in FHIR with OAuth by Grahame GrieveSecurity in FHIR with OAuth by Grahame Grieve
Security in FHIR with OAuth by Grahame GrieveFHIR Developer Days
 
Terminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieTerminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieFHIR Developer Days
 
FHIR Tutorial - Morning
FHIR Tutorial - MorningFHIR Tutorial - Morning
FHIR Tutorial - MorningEwout Kramer
 
Getting started with FHIR by Ewout Kramer
Getting started with FHIR by Ewout KramerGetting started with FHIR by Ewout Kramer
Getting started with FHIR by Ewout KramerFHIR Developer Days
 
Understanding Resources in FHIR - Session 3 of FHIR basics training series
Understanding Resources in FHIR - Session 3 of FHIR basics training seriesUnderstanding Resources in FHIR - Session 3 of FHIR basics training series
Understanding Resources in FHIR - Session 3 of FHIR basics training seriesKumar Satyam
 
HL7 Fhir for Developers
HL7 Fhir for DevelopersHL7 Fhir for Developers
HL7 Fhir for DevelopersEwout Kramer
 
Fhir basics session 1 Introduction to Interoperabilty & Principles of FHIR
Fhir basics session 1 Introduction to Interoperabilty & Principles of FHIRFhir basics session 1 Introduction to Interoperabilty & Principles of FHIR
Fhir basics session 1 Introduction to Interoperabilty & Principles of FHIRKumar Satyam
 
FHIR API for .Net programmers by Mirjam Baltus
FHIR API for .Net programmers by Mirjam BaltusFHIR API for .Net programmers by Mirjam Baltus
FHIR API for .Net programmers by Mirjam BaltusFHIR Developer Days
 
FHIR for Architects and Developers - New Zealand Seminar, June 2014
FHIR for Architects and Developers - New Zealand Seminar, June 2014FHIR for Architects and Developers - New Zealand Seminar, June 2014
FHIR for Architects and Developers - New Zealand Seminar, June 2014David Hay
 
HL7 New Zealand: FHIR for developers
HL7 New Zealand: FHIR for developersHL7 New Zealand: FHIR for developers
HL7 New Zealand: FHIR for developersDavid Hay
 
FHIR tutorial - Afternoon
FHIR tutorial - AfternoonFHIR tutorial - Afternoon
FHIR tutorial - AfternoonEwout Kramer
 
FHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFHIR Developer Days
 
FHIR API for Java programmers by James Agnew
FHIR API for Java programmers by James AgnewFHIR API for Java programmers by James Agnew
FHIR API for Java programmers by James AgnewFHIR Developer Days
 
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...FHIR Developer Days
 
Fhir basics session4_conformance_and_terminology
Fhir basics session4_conformance_and_terminologyFhir basics session4_conformance_and_terminology
Fhir basics session4_conformance_and_terminologyKumar Satyam
 
Interoperability, SNOMED, HL7 and FHIR
Interoperability, SNOMED, HL7 and FHIRInteroperability, SNOMED, HL7 and FHIR
Interoperability, SNOMED, HL7 and FHIRTim Benson
 
Fhir dev days 2017 fhir profiling - overview and introduction v07
Fhir dev days 2017   fhir profiling - overview and introduction v07Fhir dev days 2017   fhir profiling - overview and introduction v07
Fhir dev days 2017 fhir profiling - overview and introduction v07DevDays
 

What's hot (20)

Security in FHIR with OAuth by Grahame Grieve
Security in FHIR with OAuth by Grahame GrieveSecurity in FHIR with OAuth by Grahame Grieve
Security in FHIR with OAuth by Grahame Grieve
 
Terminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieTerminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzie
 
Introduction to HL7 FHIR
Introduction to HL7 FHIRIntroduction to HL7 FHIR
Introduction to HL7 FHIR
 
FHIR Tutorial - Morning
FHIR Tutorial - MorningFHIR Tutorial - Morning
FHIR Tutorial - Morning
 
Getting started with FHIR by Ewout Kramer
Getting started with FHIR by Ewout KramerGetting started with FHIR by Ewout Kramer
Getting started with FHIR by Ewout Kramer
 
Understanding Resources in FHIR - Session 3 of FHIR basics training series
Understanding Resources in FHIR - Session 3 of FHIR basics training seriesUnderstanding Resources in FHIR - Session 3 of FHIR basics training series
Understanding Resources in FHIR - Session 3 of FHIR basics training series
 
HL7 Fhir for Developers
HL7 Fhir for DevelopersHL7 Fhir for Developers
HL7 Fhir for Developers
 
Fhir basics session 1 Introduction to Interoperabilty & Principles of FHIR
Fhir basics session 1 Introduction to Interoperabilty & Principles of FHIRFhir basics session 1 Introduction to Interoperabilty & Principles of FHIR
Fhir basics session 1 Introduction to Interoperabilty & Principles of FHIR
 
FHIR API for .Net programmers by Mirjam Baltus
FHIR API for .Net programmers by Mirjam BaltusFHIR API for .Net programmers by Mirjam Baltus
FHIR API for .Net programmers by Mirjam Baltus
 
FHIR for Architects and Developers - New Zealand Seminar, June 2014
FHIR for Architects and Developers - New Zealand Seminar, June 2014FHIR for Architects and Developers - New Zealand Seminar, June 2014
FHIR for Architects and Developers - New Zealand Seminar, June 2014
 
HL7 New Zealand: FHIR for developers
HL7 New Zealand: FHIR for developersHL7 New Zealand: FHIR for developers
HL7 New Zealand: FHIR for developers
 
FHIR tutorial - Afternoon
FHIR tutorial - AfternoonFHIR tutorial - Afternoon
FHIR tutorial - Afternoon
 
FHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René Spronk
 
FHIR API for Java programmers by James Agnew
FHIR API for Java programmers by James AgnewFHIR API for Java programmers by James Agnew
FHIR API for Java programmers by James Agnew
 
What is FHIR
What is FHIRWhat is FHIR
What is FHIR
 
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
 
Fhir basics session4_conformance_and_terminology
Fhir basics session4_conformance_and_terminologyFhir basics session4_conformance_and_terminology
Fhir basics session4_conformance_and_terminology
 
Interoperability, SNOMED, HL7 and FHIR
Interoperability, SNOMED, HL7 and FHIRInteroperability, SNOMED, HL7 and FHIR
Interoperability, SNOMED, HL7 and FHIR
 
Fhir dev days 2017 fhir profiling - overview and introduction v07
Fhir dev days 2017   fhir profiling - overview and introduction v07Fhir dev days 2017   fhir profiling - overview and introduction v07
Fhir dev days 2017 fhir profiling - overview and introduction v07
 
FHIR and DICOM by Marten Smits
FHIR and DICOM by Marten SmitsFHIR and DICOM by Marten Smits
FHIR and DICOM by Marten Smits
 

Similar to Authoring Profiles in FHIR

Profile and validation by Grahame Grieve
Profile and validation by Grahame GrieveProfile and validation by Grahame Grieve
Profile and validation by Grahame GrieveFHIR Developer Days
 
Structure definition 101 (ewout)
Structure definition 101 (ewout)Structure definition 101 (ewout)
Structure definition 101 (ewout)DevDays
 
Authoring profiles by Michel Rutten
Authoring profiles by Michel RuttenAuthoring profiles by Michel Rutten
Authoring profiles by Michel RuttenFHIR Developer Days
 
Authoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionAuthoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionEwout Kramer
 
FHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIRFHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIREwout Kramer
 
Terminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieTerminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieFurore_com
 
Advanced .net api (ewout)
Advanced .net api (ewout)Advanced .net api (ewout)
Advanced .net api (ewout)DevDays
 
IHE France on FHIR
IHE France on FHIRIHE France on FHIR
IHE France on FHIREwout Kramer
 
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
 
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 BurgFHIR Developer Days
 
Vitalis 2016 FHIR App Development
Vitalis 2016 FHIR App DevelopmentVitalis 2016 FHIR App Development
Vitalis 2016 FHIR App DevelopmentEwout Kramer
 
Vitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionVitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionEwout Kramer
 
FHIR Search for client developers by Mirjam Baltus
FHIR Search for client developers by Mirjam BaltusFHIR Search for client developers by Mirjam Baltus
FHIR Search for client developers by Mirjam BaltusFHIR Developer Days
 
Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Ewout Kramer
 
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
 
The FHIR burns brighter (what's new in DSTU2)
The FHIR burns brighter (what's new in DSTU2)The FHIR burns brighter (what's new in DSTU2)
The FHIR burns brighter (what's new in DSTU2)Ewout Kramer
 
Fhir path (ewout)
Fhir path (ewout)Fhir path (ewout)
Fhir path (ewout)DevDays
 
FHIR for Architects.pptx
FHIR for Architects.pptxFHIR for Architects.pptx
FHIR for Architects.pptxNazif18
 
Hl7 advance cda may 2019 webinar
Hl7 advance cda may 2019 webinarHl7 advance cda may 2019 webinar
Hl7 advance cda may 2019 webinarAbdul-Malik Shakir
 

Similar to Authoring Profiles in FHIR (20)

Profile and validation by Grahame Grieve
Profile and validation by Grahame GrieveProfile and validation by Grahame Grieve
Profile and validation by Grahame Grieve
 
Structure definition 101 (ewout)
Structure definition 101 (ewout)Structure definition 101 (ewout)
Structure definition 101 (ewout)
 
Authoring profiles by Michel Rutten
Authoring profiles by Michel RuttenAuthoring profiles by Michel Rutten
Authoring profiles by Michel Rutten
 
Authoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionAuthoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended version
 
FHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIRFHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIR
 
Terminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieTerminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzie
 
Advanced .net api (ewout)
Advanced .net api (ewout)Advanced .net api (ewout)
Advanced .net api (ewout)
 
IHE France on FHIR
IHE France on FHIRIHE France on FHIR
IHE France on FHIR
 
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
 
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
 
Vitalis 2016 FHIR App Development
Vitalis 2016 FHIR App DevelopmentVitalis 2016 FHIR App Development
Vitalis 2016 FHIR App Development
 
Vitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionVitalis 2016 FHIR Introduction
Vitalis 2016 FHIR Introduction
 
FHIR: What's it All About?
FHIR: What's it All About?FHIR: What's it All About?
FHIR: What's it All About?
 
FHIR Search for client developers by Mirjam Baltus
FHIR Search for client developers by Mirjam BaltusFHIR Search for client developers by Mirjam Baltus
FHIR Search for client developers by Mirjam Baltus
 
Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Advanced .NET API (Ewout)
Advanced .NET API (Ewout)
 
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)
 
The FHIR burns brighter (what's new in DSTU2)
The FHIR burns brighter (what's new in DSTU2)The FHIR burns brighter (what's new in DSTU2)
The FHIR burns brighter (what's new in DSTU2)
 
Fhir path (ewout)
Fhir path (ewout)Fhir path (ewout)
Fhir path (ewout)
 
FHIR for Architects.pptx
FHIR for Architects.pptxFHIR for Architects.pptx
FHIR for Architects.pptx
 
Hl7 advance cda may 2019 webinar
Hl7 advance cda may 2019 webinarHl7 advance cda may 2019 webinar
Hl7 advance cda may 2019 webinar
 

More from Ewout Kramer

Nhs trusts meeting at salford
Nhs trusts meeting at salfordNhs trusts meeting at salford
Nhs trusts meeting at salfordEwout Kramer
 
FHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, OsloFHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, OsloEwout Kramer
 
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
 
HL7 FHIR - Out-of-the-box eHealth interoperability
HL7 FHIR - Out-of-the-box eHealth interoperabilityHL7 FHIR - Out-of-the-box eHealth interoperability
HL7 FHIR - Out-of-the-box eHealth interoperabilityEwout Kramer
 
Hl7 uk fhir the basics
Hl7 uk fhir the basicsHl7 uk fhir the basics
Hl7 uk fhir the basicsEwout Kramer
 

More from Ewout Kramer (6)

Nhs trusts meeting at salford
Nhs trusts meeting at salfordNhs trusts meeting at salford
Nhs trusts meeting at salford
 
FHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, OsloFHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, Oslo
 
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
 
Wado and FHIR
Wado and FHIRWado and FHIR
Wado and FHIR
 
HL7 FHIR - Out-of-the-box eHealth interoperability
HL7 FHIR - Out-of-the-box eHealth interoperabilityHL7 FHIR - Out-of-the-box eHealth interoperability
HL7 FHIR - Out-of-the-box eHealth interoperability
 
Hl7 uk fhir the basics
Hl7 uk fhir the basicsHl7 uk fhir the basics
Hl7 uk fhir the basics
 

Recently uploaded

Call Girls Visakhapatnam Just Call 9907093804 Top Class Call Girl Service Ava...
Call Girls Visakhapatnam Just Call 9907093804 Top Class Call Girl Service Ava...Call Girls Visakhapatnam Just Call 9907093804 Top Class Call Girl Service Ava...
Call Girls Visakhapatnam Just Call 9907093804 Top Class Call Girl Service Ava...Dipal Arora
 
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...tanya dube
 
College Call Girls in Haridwar 9667172968 Short 4000 Night 10000 Best call gi...
College Call Girls in Haridwar 9667172968 Short 4000 Night 10000 Best call gi...College Call Girls in Haridwar 9667172968 Short 4000 Night 10000 Best call gi...
College Call Girls in Haridwar 9667172968 Short 4000 Night 10000 Best call gi...perfect solution
 
Premium Call Girls Cottonpet Whatsapp 7001035870 Independent Escort Service
Premium Call Girls Cottonpet Whatsapp 7001035870 Independent Escort ServicePremium Call Girls Cottonpet Whatsapp 7001035870 Independent Escort Service
Premium Call Girls Cottonpet Whatsapp 7001035870 Independent Escort Servicevidya singh
 
Call Girls Faridabad Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Faridabad Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Faridabad Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Faridabad Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
Night 7k to 12k Navi Mumbai Call Girl Photo 👉 BOOK NOW 9833363713 👈 ♀️ night ...
Night 7k to 12k Navi Mumbai Call Girl Photo 👉 BOOK NOW 9833363713 👈 ♀️ night ...Night 7k to 12k Navi Mumbai Call Girl Photo 👉 BOOK NOW 9833363713 👈 ♀️ night ...
Night 7k to 12k Navi Mumbai Call Girl Photo 👉 BOOK NOW 9833363713 👈 ♀️ night ...aartirawatdelhi
 
Call Girls Tirupati Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Tirupati Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Tirupati Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Tirupati Just Call 8250077686 Top Class Call Girl Service AvailableDipal Arora
 
Call Girls Bhubaneswar Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Bhubaneswar Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Bhubaneswar Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Bhubaneswar Just Call 9907093804 Top Class Call Girl Service Avail...Dipal Arora
 
Call Girls Kochi Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Kochi Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Kochi Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Kochi Just Call 8250077686 Top Class Call Girl Service AvailableDipal Arora
 
Call Girls Service Jaipur {9521753030} ❤️VVIP RIDDHI Call Girl in Jaipur Raja...
Call Girls Service Jaipur {9521753030} ❤️VVIP RIDDHI Call Girl in Jaipur Raja...Call Girls Service Jaipur {9521753030} ❤️VVIP RIDDHI Call Girl in Jaipur Raja...
Call Girls Service Jaipur {9521753030} ❤️VVIP RIDDHI Call Girl in Jaipur Raja...Sheetaleventcompany
 
O898O367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
O898O367676 Call Girls In Ahmedabad Escort Service Available 24×7 In AhmedabadO898O367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
O898O367676 Call Girls In Ahmedabad Escort Service Available 24×7 In AhmedabadGenuine Call Girls
 
Call Girls Ooty Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Ooty Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Ooty Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Ooty Just Call 8250077686 Top Class Call Girl Service AvailableDipal Arora
 
Call Girls Coimbatore Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Coimbatore Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Coimbatore Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Coimbatore Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋TANUJA PANDEY
 
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...Ishani Gupta
 
The Most Attractive Hyderabad Call Girls Kothapet 𖠋 9332606886 𖠋 Will You Mis...
The Most Attractive Hyderabad Call Girls Kothapet 𖠋 9332606886 𖠋 Will You Mis...The Most Attractive Hyderabad Call Girls Kothapet 𖠋 9332606886 𖠋 Will You Mis...
The Most Attractive Hyderabad Call Girls Kothapet 𖠋 9332606886 𖠋 Will You Mis...chandars293
 
Call Girls Aurangabad Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Aurangabad Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Aurangabad Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Aurangabad Just Call 8250077686 Top Class Call Girl Service AvailableDipal Arora
 
Top Rated Hyderabad Call Girls Erragadda ⟟ 9332606886 ⟟ Call Me For Genuine ...
Top Rated  Hyderabad Call Girls Erragadda ⟟ 9332606886 ⟟ Call Me For Genuine ...Top Rated  Hyderabad Call Girls Erragadda ⟟ 9332606886 ⟟ Call Me For Genuine ...
Top Rated Hyderabad Call Girls Erragadda ⟟ 9332606886 ⟟ Call Me For Genuine ...chandars293
 
Call Girls Jabalpur Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Jabalpur Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Jabalpur Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Jabalpur Just Call 8250077686 Top Class Call Girl Service AvailableDipal Arora
 
Call Girls Cuttack Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Cuttack Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Cuttack Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Cuttack Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 

Recently uploaded (20)

Call Girls Visakhapatnam Just Call 9907093804 Top Class Call Girl Service Ava...
Call Girls Visakhapatnam Just Call 9907093804 Top Class Call Girl Service Ava...Call Girls Visakhapatnam Just Call 9907093804 Top Class Call Girl Service Ava...
Call Girls Visakhapatnam Just Call 9907093804 Top Class Call Girl Service Ava...
 
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
 
College Call Girls in Haridwar 9667172968 Short 4000 Night 10000 Best call gi...
College Call Girls in Haridwar 9667172968 Short 4000 Night 10000 Best call gi...College Call Girls in Haridwar 9667172968 Short 4000 Night 10000 Best call gi...
College Call Girls in Haridwar 9667172968 Short 4000 Night 10000 Best call gi...
 
Premium Call Girls Cottonpet Whatsapp 7001035870 Independent Escort Service
Premium Call Girls Cottonpet Whatsapp 7001035870 Independent Escort ServicePremium Call Girls Cottonpet Whatsapp 7001035870 Independent Escort Service
Premium Call Girls Cottonpet Whatsapp 7001035870 Independent Escort Service
 
Call Girls Faridabad Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Faridabad Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Faridabad Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Faridabad Just Call 9907093804 Top Class Call Girl Service Available
 
Night 7k to 12k Navi Mumbai Call Girl Photo 👉 BOOK NOW 9833363713 👈 ♀️ night ...
Night 7k to 12k Navi Mumbai Call Girl Photo 👉 BOOK NOW 9833363713 👈 ♀️ night ...Night 7k to 12k Navi Mumbai Call Girl Photo 👉 BOOK NOW 9833363713 👈 ♀️ night ...
Night 7k to 12k Navi Mumbai Call Girl Photo 👉 BOOK NOW 9833363713 👈 ♀️ night ...
 
Call Girls Tirupati Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Tirupati Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Tirupati Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Tirupati Just Call 8250077686 Top Class Call Girl Service Available
 
Call Girls Bhubaneswar Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Bhubaneswar Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Bhubaneswar Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Bhubaneswar Just Call 9907093804 Top Class Call Girl Service Avail...
 
Call Girls Kochi Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Kochi Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Kochi Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Kochi Just Call 8250077686 Top Class Call Girl Service Available
 
Call Girls Service Jaipur {9521753030} ❤️VVIP RIDDHI Call Girl in Jaipur Raja...
Call Girls Service Jaipur {9521753030} ❤️VVIP RIDDHI Call Girl in Jaipur Raja...Call Girls Service Jaipur {9521753030} ❤️VVIP RIDDHI Call Girl in Jaipur Raja...
Call Girls Service Jaipur {9521753030} ❤️VVIP RIDDHI Call Girl in Jaipur Raja...
 
O898O367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
O898O367676 Call Girls In Ahmedabad Escort Service Available 24×7 In AhmedabadO898O367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
O898O367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
 
Call Girls Ooty Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Ooty Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Ooty Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Ooty Just Call 8250077686 Top Class Call Girl Service Available
 
Call Girls Coimbatore Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Coimbatore Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Coimbatore Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Coimbatore Just Call 9907093804 Top Class Call Girl Service Available
 
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
 
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
 
The Most Attractive Hyderabad Call Girls Kothapet 𖠋 9332606886 𖠋 Will You Mis...
The Most Attractive Hyderabad Call Girls Kothapet 𖠋 9332606886 𖠋 Will You Mis...The Most Attractive Hyderabad Call Girls Kothapet 𖠋 9332606886 𖠋 Will You Mis...
The Most Attractive Hyderabad Call Girls Kothapet 𖠋 9332606886 𖠋 Will You Mis...
 
Call Girls Aurangabad Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Aurangabad Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Aurangabad Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Aurangabad Just Call 8250077686 Top Class Call Girl Service Available
 
Top Rated Hyderabad Call Girls Erragadda ⟟ 9332606886 ⟟ Call Me For Genuine ...
Top Rated  Hyderabad Call Girls Erragadda ⟟ 9332606886 ⟟ Call Me For Genuine ...Top Rated  Hyderabad Call Girls Erragadda ⟟ 9332606886 ⟟ Call Me For Genuine ...
Top Rated Hyderabad Call Girls Erragadda ⟟ 9332606886 ⟟ Call Me For Genuine ...
 
Call Girls Jabalpur Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Jabalpur Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Jabalpur Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Jabalpur Just Call 8250077686 Top Class Call Girl Service Available
 
Call Girls Cuttack Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Cuttack Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Cuttack Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Cuttack Just Call 9907093804 Top Class Call Girl Service Available
 

Authoring Profiles in FHIR

  • 1. Authoring Profiles Ewout Kramer january 2014 © 2013 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: Ewout Kramer Company: Furore, Amsterdam Background:    FHIR core team, RIMBAA Software developer & healthcare architect Contact:   e.kramer@furore.com www.thefhirplace.com 2 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 3. Introduce ourselves  Who has looked at Profile in the spec?  Who has near-future needs for authoring profiles?  Who’s comfortable looking at XML? 3 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 4. Contents of this tutorial        Intro to Profiles Extensions Restrictions Bindings & ValueSets Slicing Aggregation A combined example 4 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 5. The need for Profiles    Many different contexts in healthcare, but a single set of Resources Need to be able to describe restrictions based on use and context Allow for these usage statements to:    Authored in a structured manner Published in a repository Used as the basis for validation, code, report and UI generation. 5 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 6. Profiling a resource Demand that the identifier uses your national patient identifier Limit names to just 1 (instead of 0..*) Limit maritalStatus to another set of codes that extends the one from HL7 international Add an extension to support “RaceCode” 6 Note: hardly any mandatory elements in the core spec! © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 7. Structured & published  A Profile is just a “normal” Resource Any FHIR server could serve Profiles (just like Patients, Observations, etc…) So, any FHIR server is a profile repository!  A resource is simply referred to by its URI:    e.g. http://hl7.org/fhir/Profile/iso-21090 7 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 8. Using profiles    When communicating a resource, you can indicate the profiles it conforms to. A server might explicitly state it only accepts resources conforming to a certain profile (and verify!) You can ask a FHIR server to validate a resource against a given profile 8 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 9. Tagging a Resource Patient MRN 22234 “Ewout Kramer” 30-11-1972 Amsterdam http://hl7.org/fhir/tag/security http://hl7.org/fhir/v3/ActCode#TABOO http://hl7.org/fhir/tag http://example.org/fhir/Status#Test http://hl7.org/fhir/tag/profile http://hl7.org/fhir/Profile/us-core “a claim that the Resource conforms to the profile identified in the term” © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 10. (Distributed) validation App’s server Store & Validate Country validation server Profile X Profile Y Validate Profile Y 10 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 11. Who publishes? http://www.hl7.org/fhir/Profile/iso-21090 http://www.hl7.nl/fhir/Profile/patient-nl http://www.health4all.org/fhir/Profile/ © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 12. What’s in a profile? Metadata Identifier Name, Version Publisher Description, Code Status Date (of publication) Resource and Datatype Constraints Conformance Resource (via Tag) Extension Extension in Resource ValueSet ValueSet 12 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 13. Scale / design    Make a profile with just extensions Make a profile with just 1 resource + extensions on that resource Make a profile with all (say national) resources + extensions. 13 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 14. Profile metadata           Identifier: Universally unique identifier, assigned by author value=“urn:hl7.org:extensions:iso-21090“ or “2.16.840.1.113883.10.20.2.1” Version: Version of the profile, manually maintained by author. Suggested format: a timestamp (e.g. 2013-01-01T12:34:45) Name: Free natural text name (e.g. “ISO 21090 Data Type Extensions”) Publisher: organization or individual responsible for publishing. Should be populated (e.g. “FHIR Project Team“) Telecom: one or more contact points of the publisher (telephone, email, website etc) Description: longer description of the contents of the profile Code: one or more coded descriptions to help with finding the profile Status (fixed choice of draft, active, retired) + experimental Y/N Requirements: scope & usage (the “need” or “why” of the profile) Date (of publication), e.g. “2013-07-07" 14 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 15. Authoring a Profile  Let’s do this in Forge 15 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 16. Extensions   Design for the 80% - Allow easy extension for the remaining 20% of elements Note - You’re not extending a resource per se, but you specify where an extension may occur:      A specific element within a resource (even root) A specific element within a datatype All elements referencing a datatype All elements mapping to a specific mapping target An extension 1/20/2014 (c) 2012 HL7 International 16 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 17. Extension definition Note: multiple contexts! 17 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 18. Must support?    18 Authors: SHALL be capable of providing a value for the element and resource Consumers: SHALL be capable of extracting and doing something useful with the data element. "Something useful" is context dependent. The Profile SHALL describe what it means for applications to “support” the element © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 19. Extending a name Key = location of formal definition Value = value according to definition 19 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 20. Extending an extension? 20 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 21. The “Other” resource  Now, what if you have the need for a completely “new” resource?  …then add extensions for each element 21 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 22. Authoring an extension  Let’s do this in Forge 22 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 23. Constraints     23 Profiles contain “Structures”: a set of constraints on (nested) elements of a Resource or Datatype You give each structure a “name”, so you can refer to it (e.g. from a Profile Tag) You can make structures “internal”: local to the package for purpose of reuse Datatype constraints are always done for reuse of constraints © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 24. Constraining cardinality 1..2 Limit cardinality to 1..2 (e.g. to at maximum your organizations’ identifier + the national one) 1..1 0..0 Limit names to just 1 (instead of 0..*) Forbid any telecom elements Note: something that’s mandatory in the core definition cannot be made optional in a profile 24 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 25. Limit value domains If deceased is given, it must be a dateTime, not a boolean AddressNL Use a profiled datatype (from this or other profile) OrganizationNL =“true” Only allow reference to a profiled resource Only allow “active” Patients 25 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 26. Contextualize narrative Override the base spec’s descriptions by adding context specific narrative:        short : string 1..1 formal : string 1..1 comments : string 0..1 requirements : string 0..1 synonym : string 0..* example[x] : 0..1 (example value!) mappings : 0..* (more specific mappings) 26 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 27. Profiling bindings  Depending on “core” spec, you can:     “fixed”: not specify a different binding “incomplete”: specify a different binding if needed “example”: very likely specify a different binding Change the bindings as specified in core:  Define a new ValueSet   Allow additional codes, Restrict to a subset Specify whether implementers of your profile can deviate from your valueset. 27 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 28. Conformance levels If implementers of your profile choose to have different codes: IsExtensible “N” IsExtensible “Y” Required “SHALL” Validation error, nonconformant Additional codes allowed Preferred “SHOULD” “Guidance” Validation warning, discouraged Supplemental codes likely Alternatives allowed Example “MAY” Just a suggestion, no preference 28 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 29. ValueSets    A “true” FHIR ValueSet resource (may be version specific) A general reference to some web content that defines a set of codes. (e.g. mime types). A textual description of the possible codes 29 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 30. • Publication metadata • Concepts from 1 or more existing systems • Additional concepts 30 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 31. Constraining Patient   Let’s try this in Forge Example:     Structure on Patient, name “PatientNL” Limit Patient.identifier cardinality to 1..1 Change short description to “Dutch BSN” Fix value of Patient.identifier.system to “urn:oid:2.16.840.1.113883.2.4.6.3” 31 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 32. Add formal constraints      Invariants, co-occurrence Uses free text (human) + xpath (executable) Constraints should be declared on lowest element in the hierarchy that is common to all nodes referenced by the constraint. Identified by (local) id, involved elements refer to that id Specify severity (“error” or “warning”) 32 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 33. Formal constraint example “Patient’s birthDate < deceasedDate”  Express as text and xpath (left as an exercise to the reader ;-)  Common context for both elements is Patient itself -> add constraint to Patient (give an id, say “1”)  Add reference to constraint “1” on both the birthDate and deceasedDate element  33 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 34. Slicing Schematic view of Composition (aka a Document header) Composition type: CodeableConcept    Section 0..* code: CodeableConcept content: Resource(Any) 0..1 Slicing = constraining a repeating element Base Composition has 0..* “Sections” Section has 0..1 element with content 34 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 35. Slicing into a CCD Composition type = “34133-9” “Summarization of episode note” Section code = 42348-3 (“Advance directives”) Section code =11450-4 (“Problem list”) … Section code = 18776-5 (“Treatment plan”)  35  “Slice” the repeating sections into a fixed set of profiled sections. “code” is fixed and is called the discriminator © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 36. Authoring slices  Let’s do this in Forge 36 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 37. Resources are a network DiagnosticReport Practitioner Practitioner Location Observation Observation Observation Organization Patient Device 37 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 38. What’s contained in your document or message? DiagnosticReport Practitioner Practitioner Location Observation Observation Observation Organization Patient Device 38 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 39. What’s in your document? Observation DiagnosticReport Practitioner Location Observation Observation Practitioner Patient Device Organization 39 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 40. Aggregation  Aggregation: for each ResourceReference choose 1..3: Code contained referenced ..bundled Definition Reference to a contained resource. Reference to to a resource that has to be resolved externally Reference points to will be found in the same bundle 40 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 41. Try it all  Define a message that contains a Bloodpressure measurement Questions:  What components will our Profile contain?  Is Patient present in the message? 41 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 42. Possible solution MessageHeader event: Coding data: Any(0..*) -> List(1..1) List-Bloodpressure subject: Patient|..|.. 0..1 -> Patient (1..1) (bundled | ref) Entry item: Observ. (1..1) (bundled) Observation-Systolic name: “Systolic” value: Quantity (value.units “mmHg”) Entry item: Observ. (1..1) (bundled) Observation-Diastolic name: “Diastolic” value: Quantity (value.units “mmHg”) 42 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 43. Questions? 43 © 2013 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.

Editor's Notes

  1. A server might defer validation to another server (because it doesn’t know the profile)A server may fetch the “unknown” profile and validate it itselfThere may be several servers sharing the work
  2. “Drive-by” or “bottom-up” operability: “Communicate first, standardize later”First, business partners. Then, collaborations, communities. Maybe, finally,nation-wideIt’s a naturalprocessthatpeoplewill want to make itwork first, thenonlycoordinatewhattheyreallyneedto, andthenrealizetheycanbroadentheir approach to a community.“Support”, of course top-down shouldstillbepossible! Maybe even a combi in the long-term
  3. * Note: the spec *never* sets this to true, since it’s context dependent.