SlideShare a Scribd company logo
FHIR® is the registered trademark of HL7 and is used with the permission of HL7. The Flame Design mark is the registered trademark of HL7 and is used with the permission of HL7.
Amsterdam, 15-17 November | @fhir_furore | #fhirdevdays17 | www.fhirdevdays.com
FHIR Profiling - Overview and Introduction
Michel Rutten, Furore
Who am I?
• Name: Michel Rutten
• Company: Furore, Amsterdam
• Background:
• Professional software developer since 1998
• Microsoft .NET; Healthcare industries
• Technical Specialist at Furore since May 2014
• Member of the Furore FHIR development team
• Specialized in FHIR Profiling & Conformance
• Tool smith; Lead developer of Forge
Topics
1. The need for profiling
2. FHIR Conformance layer
3. Profiles
4. Extensions
5. Implementation Guides
6. Registry
FHIR Profiling - Overview and Introduction
1. The need for profiling
Why do we need profiling?
• Many different contexts in
healthcare, but only a single set of
resources
• FHIR provides a “platform
specification”
• Requires further adaptation to
context of use
Profiling
Describe adaptations based on use & context:
• Which resources & elements are used?
• Which API features are used?
• Which terminologies are used?
• How to map these to local requirements?
Profiling
Allow for these usage statements:
• To be authored in a structured manner
• Independent of serialization format
• To be published in a repository
• To drive validation, code generation etc.
FHIR Profiling - Overview and Introduction
2. FHIR Conformance layer
Terminology
NamingSystem
CodingSystem
ValueSet
ConceptMap
Content
Structure-Definition
Element-Definition
StructureMap
DataElement
Operations
Operation-
Definition
SearchParameter
Compartment-
Definition
Misc.
Capability-
Statement
Implementation-
Guide
TestScript
TestReport
FHIR Conformance Resources
StructureDefinition
• Defines data structures
• Core datatypes
• Core resources
• Constraints on resources & datatypes
• Extensions
• Logical Models
StructureDefinition
• Publish to repository/registry
• Compare
• Transform
• Validate resource
• Generate code
• Generate UI
• Computable!
OperationDefinition
• Defines REST interactions
• Name of the operation
• Input/output parameters
• Behavior
• Works on which resources?
• Extend/restrict the API
• Computable!
SearchParameter
• Defines named search parameters for REST API
• Name
• Interpretation?
• Supports which resources?
• Matches which resource elements?
• Extend/restrict the API
• Computable!
CapabilityStatement
• Defines capabilities of a FHIR server
• Binds all conformance resources together
Usage:
• Advertise supported capabilities
• Describe required capabilities
• Computable!
CapabilityStatement
Defines supported:
• Serialization formats
• Security services
• Operations
• Search Parameters
• Resources
• Profiles
ImplementationGuide
• Defines scope of usage
• Describes requirements for a FHIR implementation
• Specifies links to:
• Relevant FHIR artifacts (e.g. profiles, other IGs)
• Editorial content (documentation)
• Usage:
• Allow authors to publish an implementation guide
• Allow tools to validate conformance
• Computable!
FHIR Conformance Module
Used to define the FHIR core spec
• Core datatypes
• Core resources
• Standard REST operations
• Standard search parameters
• Standard terminology
• Bootstrap
• Eat Your Own Dogfood
Canonical Url
• Unique identifier for a conformance resource
• Reference to a conformance resource
• Author-assigned
• Cf. resource Id (server-assigned)
• Example:
http://hl7.org/fhir/StructureDefinition/Patient
Canonical Url
EU Server US Server Asia Server
Name NL-Core-Patient
Canonical http://fhir.nl/fhir/StructureDefinition/nl-core-patient
Resource Id 1 2 3
Uri http://acme-eu.com/.../1 http://acme-us.com/.../2 http://acme-cn.com/.../3
FHIR Profiling - Overview and Introduction
3. Profiles
Profile
Define constraints on:
• A FHIR core datatype
• A FHIR core resource
• Another FHIR profile
Also used loosely to refer to:
• An implementation guide
• A conformance package
What is the difference
between a resource
and a datatype?
Layered profilesMorespecific
Moregeneric
Volume Volume
Conform to
Conform to
Conform to
Conform to
StructureDefinition
Metadata:
• Canonical url
• Name, Title
• Status (draft, active)
• Date, Version (author assigned)
• Author, publisher, contact, …
• Base profile
StructureDefinition
List of ElementDefinitions:
• Name, cardinality, data type
• Definitions, usage notes, requirements
• Default or fixed values
• Complex constraints, length limits
• Terminology bindings
• Mappings to other specifications
Referring to a profile
Observation
Cholesterol
6.3 mmol/L
High
Observation Resource
StructureDefinition
LDLCholesterol
url: http://acme.org/fhir/StructureDefinition/LDLCholesterol
Observation Profile
Validate
Resolve
Acme.orgsimplifier.net
Versioning – non breaking change(s)
• Compatible
• Old data can still be
• validated against new profile
• Correctly interpreted against new
profile
• Maintain same canonical url
• Bump author-assigned version
Versioning - breaking changes
• Incompatible with previous profile
version
• Must assign new canonical url
Published profiles should be
considered as eternal contracts
Differential vs. Snapshot
Differential component Snapshot Component
Partial list of definitions for elements
constrained by this profile
Complete list of definitions for all elements in
the datatype or resource
Specifies only constraints introduced by this
profile
Specifies all constraints, incl. inherited from base
Authored by modeler Computer-generated (FHIR Operation)
Relatively small (KBs) Fairly large (MBs)
For efficient data interchange & storage For processing
(validation, code generation, reporting etc.)
Authoring Profiles
• Manually author XML/JSON
• Excel (build tool)
• Lantana Trifolia Workbench
https://trifolia.lantanagroup.com/
• MDHT UML-based modelling tool
https://projects.eclipse.org/projec
ts/modeling.mdht
• Forge
https://simplifier.net/forge/
FHIR Profiling - Overview and Introduction
4. Extensions
Extensions
Allows to define and introduce
custom elements
Example: Patient race, ethnicity
• Registration is mandatory in US
• Registration is illegal in EU
• Can NOT be included in core Patient
resource definition!
Defining an extension
• Defined by StructureDefinition resource
• Unique identifier: canonical url
• Define extension context
• Where can this extension be used?
• Target structure: Resource | Datatype | Extension
• List of type names and/or element paths
• Reusable in many profiles
Using an extension in a resource
• By default, FHIR allows resource instances to specify any number of
extension elements
• Inherited from Element.extension
• A profile can constrain the extension list of each element
• Require/prohibit certain extensions
• Disallow extensions
• Extension elements in profiles refer to external extension definitions
Using extensions
StructureDefinition
nl-core-patient
http://hl7.nl/fhir/StructureDefinition/nl-core-patient
Patient.name : HumanName
…
Patient.nationality : Extension(patient-nationality)
Patient
Irma Jongeneel-de Haas
…
Nationality: NL
Extension Definition
Patient Instance Patient Profile
StructureDefinition
Patient-nationality
http://hl7.org/fhir/StructureDefinition/patient-nationality
Extension value in instance Reference
to external
extension
definition
Conforms
to profile
Primitive extension
• Define a single custom element
• Constrain the type of the element value
• Primitive value
• Complex value
• Examples:
• patient-birthTime (dateTime)
• birthPlace (Address)
Complex extension
• Define a set of related custom elements
• Elements may be nested (subtree)
• Constrain the type of each element value
• Example: patient-nationality
• code: CodeableConcept
• period: Period
FHIR Profiling - Overview and Introduction
5. Implementation Guides
Implementation Guide Resource
• Define conformance package(s)
• Set of conceptually related artifacts
• Specify references to external artifacts
• StructureDefinition
• OperationDefinition
• SearchParameter
• ValueSet
• Example resources
Implementation Guide Resource
• Define IG content hierarchy
• Specify references to external artifacts
• Page content files
• Images, CSS, JavaScript
• Supported page formats:
• Markdown
• HTML
IG Resource - Applications
 Exchange
 Inbetween IG authoring and/or publication environments
 Publish
 To registry
 Render content (website, PDF, print, …)
 cf. FHIR spec
 Validate
 Deploy to FHIR server
 Validate resource instances
Authoring Implementation Guides
• IG Builder
• Official command line tool
• Can render IG resource as a website
• Examples:
• FHIR specification
• DAF Argonaut
Authoring Implementation Guides
• Simplifier
• Browse & find published IGs
• Supports online IG authoring & publication
• Embed rendered artifacts
• Examples:
• HL7 Germany
• Devices on FHIR POCD
Authoring & Publication workflows
Finalize
Create
CollaborateReview
Update
Publish
Distribute
UpdateArchive
Unpublish
Publish
Draft Final
FHIR Profiling - Overview and Introduction
6. Registry
Official HL7 FHIR registries
• HL7 FHIR Profile registry
• https://registry.fhir.org/
• Find official profiles published by HL7 intl. & WGs
• HL7 FHIR Implementation Guide registry
• http://www.fhir.org/guides/registry
• Browse official HL7 implementation guides
• Public FHIR registry at https://simplifier.net
• Find & browse FHIR profiles, IGs, examples etc.
• Author & publish implementation guides
• Contains:
• Official HL7 profiles
• HL7 affiliate profiles
• Private company profiles
• Public user profiles
• Official back-end for https://registry.fhir.org/
Next: Profiling Tools Overview
By Vadim Peretokin
Exercises
Print outs available at the registration desk
Download from https://www.fhirdevdays.com/exercises/
FHIR Profiling Academy
Coffee!

More Related Content

PPTX
Introduction to FHIR™
PPTX
Getting started with FHIR by Ewout Kramer
PPTX
FHIR Profiles
PDF
Fhir basics session 1 Introduction to Interoperabilty & Principles of FHIR
PPTX
FHIR Documents by Lloyd McKenzie
PDF
What is FHIR
PDF
Pavel Smirnov. FHIR-first application development.
PPTX
HL7 New Zealand: FHIR for developers
Introduction to FHIR™
Getting started with FHIR by Ewout Kramer
FHIR Profiles
Fhir basics session 1 Introduction to Interoperabilty & Principles of FHIR
FHIR Documents by Lloyd McKenzie
What is FHIR
Pavel Smirnov. FHIR-first application development.
HL7 New Zealand: FHIR for developers

What's hot (20)

PPTX
Patient matching in FHIR
PPTX
Security in FHIR with OAuth by Grahame Grieve
PDF
Introduction to Digital Health Standards with HL7 FHIR
PPTX
Introduction to HL7 FHIR
PPTX
An Introduction to HL7 FHIR
PDF
Fhir basics session4_conformance_and_terminology
PPTX
FHIR architecture overview for non-programmers by René Spronk
PPTX
FHIR tutorial - Afternoon
PPTX
FHIR and DICOM by Marten Smits
PPTX
FHIR Tutorial - Morning
PPTX
FHIR Profiling tutorial
PDF
HL7 Clinical Document Architecture: Overview and Applications
PPTX
HL7 Fhir for Developers
PDF
PeopleSoft Test Framework Walkthrough
PDF
PPTX
FHIR - more than the basics
PPTX
FHIR API for .Net programmers by Mirjam Baltus
PPT
Hl7 standard
PDF
fhir and loinc
PPT
Domain Name System
Patient matching in FHIR
Security in FHIR with OAuth by Grahame Grieve
Introduction to Digital Health Standards with HL7 FHIR
Introduction to HL7 FHIR
An Introduction to HL7 FHIR
Fhir basics session4_conformance_and_terminology
FHIR architecture overview for non-programmers by René Spronk
FHIR tutorial - Afternoon
FHIR and DICOM by Marten Smits
FHIR Tutorial - Morning
FHIR Profiling tutorial
HL7 Clinical Document Architecture: Overview and Applications
HL7 Fhir for Developers
PeopleSoft Test Framework Walkthrough
FHIR - more than the basics
FHIR API for .Net programmers by Mirjam Baltus
Hl7 standard
fhir and loinc
Domain Name System
Ad

Similar to Fhir dev days 2017 fhir profiling - overview and introduction v07 (20)

PPTX
Discover the new face of HL7 FHIR v4 - Ideas2IT
PPTX
HL7 FHIR FoundationTopics for Non-Developers
PDF
Building APIs in an easy way using API Platform
PPTX
Enterprise Data Classification and Provenance
PPTX
Devdays 2017 implementation guide authoring - ardon toonstra
PPTX
FHIR Server internals - sqlonfhir
PPTX
FHIR REST API
PDF
Best Practices in Web Service Design
PPTX
FHIR Client Development with .NET
PPTX
API Docs with OpenAPI 3.0
PPTX
Building Software Backend (Web API)
PDF
2018 09-03 aOS Aachen - SharePoint demystified - Thomas Vochten
PPTX
Furore devdays2017 general-introtofhir
PPTX
Frame - Feature Management for Productive Machine Learning
PPTX
Introduction to Monsoon PHP framework
PDF
Fhir your applications
PPTX
Snk fhir-for-OpenMRS-wip-07102014
PPTX
Data Governance Initiative
PDF
Intro apache
PDF
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Discover the new face of HL7 FHIR v4 - Ideas2IT
HL7 FHIR FoundationTopics for Non-Developers
Building APIs in an easy way using API Platform
Enterprise Data Classification and Provenance
Devdays 2017 implementation guide authoring - ardon toonstra
FHIR Server internals - sqlonfhir
FHIR REST API
Best Practices in Web Service Design
FHIR Client Development with .NET
API Docs with OpenAPI 3.0
Building Software Backend (Web API)
2018 09-03 aOS Aachen - SharePoint demystified - Thomas Vochten
Furore devdays2017 general-introtofhir
Frame - Feature Management for Productive Machine Learning
Introduction to Monsoon PHP framework
Fhir your applications
Snk fhir-for-OpenMRS-wip-07102014
Data Governance Initiative
Intro apache
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Ad

More from DevDays (20)

PPTX
Consent dev days
PDF
Integrating with the epic platform fhir dev days 17
PPTX
Mohannad hussain dicom and imaging tools
PPTX
Mohannad hussain community track - siim dataset & dico mweb proxy
PPTX
final Keynote (grahame)
PPTX
Validation in net and java (ewout james)
PPTX
Transforming other content (grahame)
PPTX
Structure definition 101 (ewout)
PPTX
Quality improvement dev days-2017
PPTX
Furore devdays 2017-sdc (lloyd)
PPTX
Furore devdays 2017- rdf2(solbrig)
PPTX
Furore devdays 2017- rdf1(solbrig)
PPTX
Furore devdays 2017- oai
PPTX
Furore devdays 2017 - implementation guides (lloyd)
PPTX
Dev days 2017 questionnaires (brian postlethwaite)
PPTX
Dev days 2017 advanced directories (brian postlethwaite)
PPTX
Connectathon opening 2017
PPTX
Building bridges devdays 2017- powerpoint template
PPTX
20171127 rene spronk_messaging_the_unloved_paradigm
PPTX
Vonk fhir facade (christiaan)
Consent dev days
Integrating with the epic platform fhir dev days 17
Mohannad hussain dicom and imaging tools
Mohannad hussain community track - siim dataset & dico mweb proxy
final Keynote (grahame)
Validation in net and java (ewout james)
Transforming other content (grahame)
Structure definition 101 (ewout)
Quality improvement dev days-2017
Furore devdays 2017-sdc (lloyd)
Furore devdays 2017- rdf2(solbrig)
Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- oai
Furore devdays 2017 - implementation guides (lloyd)
Dev days 2017 questionnaires (brian postlethwaite)
Dev days 2017 advanced directories (brian postlethwaite)
Connectathon opening 2017
Building bridges devdays 2017- powerpoint template
20171127 rene spronk_messaging_the_unloved_paradigm
Vonk fhir facade (christiaan)

Recently uploaded (20)

PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
01-Introduction-to-Information-Management.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
RMMM.pdf make it easy to upload and study
PDF
Classroom Observation Tools for Teachers
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Pharma ospi slides which help in ospi learning
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Pre independence Education in Inndia.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Cell Structure & Organelles in detailed.
Final Presentation General Medicine 03-08-2024.pptx
01-Introduction-to-Information-Management.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
RMMM.pdf make it easy to upload and study
Classroom Observation Tools for Teachers
Module 4: Burden of Disease Tutorial Slides S2 2025
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Anesthesia in Laparoscopic Surgery in India
102 student loan defaulters named and shamed – Is someone you know on the list?
Pharma ospi slides which help in ospi learning
O7-L3 Supply Chain Operations - ICLT Program
Pre independence Education in Inndia.pdf
Renaissance Architecture: A Journey from Faith to Humanism
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Supply Chain Operations Speaking Notes -ICLT Program
TR - Agricultural Crops Production NC III.pdf
Cell Structure & Organelles in detailed.

Fhir dev days 2017 fhir profiling - overview and introduction v07

  • 1. FHIR® is the registered trademark of HL7 and is used with the permission of HL7. The Flame Design mark is the registered trademark of HL7 and is used with the permission of HL7. Amsterdam, 15-17 November | @fhir_furore | #fhirdevdays17 | www.fhirdevdays.com FHIR Profiling - Overview and Introduction Michel Rutten, Furore
  • 2. Who am I? • Name: Michel Rutten • Company: Furore, Amsterdam • Background: • Professional software developer since 1998 • Microsoft .NET; Healthcare industries • Technical Specialist at Furore since May 2014 • Member of the Furore FHIR development team • Specialized in FHIR Profiling & Conformance • Tool smith; Lead developer of Forge
  • 3. Topics 1. The need for profiling 2. FHIR Conformance layer 3. Profiles 4. Extensions 5. Implementation Guides 6. Registry
  • 4. FHIR Profiling - Overview and Introduction 1. The need for profiling
  • 5. Why do we need profiling? • Many different contexts in healthcare, but only a single set of resources • FHIR provides a “platform specification” • Requires further adaptation to context of use
  • 6. Profiling Describe adaptations based on use & context: • Which resources & elements are used? • Which API features are used? • Which terminologies are used? • How to map these to local requirements?
  • 7. Profiling Allow for these usage statements: • To be authored in a structured manner • Independent of serialization format • To be published in a repository • To drive validation, code generation etc.
  • 8. FHIR Profiling - Overview and Introduction 2. FHIR Conformance layer
  • 10. StructureDefinition • Defines data structures • Core datatypes • Core resources • Constraints on resources & datatypes • Extensions • Logical Models
  • 11. StructureDefinition • Publish to repository/registry • Compare • Transform • Validate resource • Generate code • Generate UI • Computable!
  • 12. OperationDefinition • Defines REST interactions • Name of the operation • Input/output parameters • Behavior • Works on which resources? • Extend/restrict the API • Computable!
  • 13. SearchParameter • Defines named search parameters for REST API • Name • Interpretation? • Supports which resources? • Matches which resource elements? • Extend/restrict the API • Computable!
  • 14. CapabilityStatement • Defines capabilities of a FHIR server • Binds all conformance resources together Usage: • Advertise supported capabilities • Describe required capabilities • Computable!
  • 15. CapabilityStatement Defines supported: • Serialization formats • Security services • Operations • Search Parameters • Resources • Profiles
  • 16. ImplementationGuide • Defines scope of usage • Describes requirements for a FHIR implementation • Specifies links to: • Relevant FHIR artifacts (e.g. profiles, other IGs) • Editorial content (documentation) • Usage: • Allow authors to publish an implementation guide • Allow tools to validate conformance • Computable!
  • 18. Used to define the FHIR core spec • Core datatypes • Core resources • Standard REST operations • Standard search parameters • Standard terminology • Bootstrap • Eat Your Own Dogfood
  • 19. Canonical Url • Unique identifier for a conformance resource • Reference to a conformance resource • Author-assigned • Cf. resource Id (server-assigned) • Example: http://hl7.org/fhir/StructureDefinition/Patient
  • 20. Canonical Url EU Server US Server Asia Server Name NL-Core-Patient Canonical http://fhir.nl/fhir/StructureDefinition/nl-core-patient Resource Id 1 2 3 Uri http://acme-eu.com/.../1 http://acme-us.com/.../2 http://acme-cn.com/.../3
  • 21. FHIR Profiling - Overview and Introduction 3. Profiles
  • 22. Profile Define constraints on: • A FHIR core datatype • A FHIR core resource • Another FHIR profile Also used loosely to refer to: • An implementation guide • A conformance package What is the difference between a resource and a datatype?
  • 24. StructureDefinition Metadata: • Canonical url • Name, Title • Status (draft, active) • Date, Version (author assigned) • Author, publisher, contact, … • Base profile
  • 25. StructureDefinition List of ElementDefinitions: • Name, cardinality, data type • Definitions, usage notes, requirements • Default or fixed values • Complex constraints, length limits • Terminology bindings • Mappings to other specifications
  • 26. Referring to a profile Observation Cholesterol 6.3 mmol/L High Observation Resource StructureDefinition LDLCholesterol url: http://acme.org/fhir/StructureDefinition/LDLCholesterol Observation Profile Validate Resolve Acme.orgsimplifier.net
  • 27. Versioning – non breaking change(s) • Compatible • Old data can still be • validated against new profile • Correctly interpreted against new profile • Maintain same canonical url • Bump author-assigned version
  • 28. Versioning - breaking changes • Incompatible with previous profile version • Must assign new canonical url Published profiles should be considered as eternal contracts
  • 29. Differential vs. Snapshot Differential component Snapshot Component Partial list of definitions for elements constrained by this profile Complete list of definitions for all elements in the datatype or resource Specifies only constraints introduced by this profile Specifies all constraints, incl. inherited from base Authored by modeler Computer-generated (FHIR Operation) Relatively small (KBs) Fairly large (MBs) For efficient data interchange & storage For processing (validation, code generation, reporting etc.)
  • 30. Authoring Profiles • Manually author XML/JSON • Excel (build tool) • Lantana Trifolia Workbench https://trifolia.lantanagroup.com/ • MDHT UML-based modelling tool https://projects.eclipse.org/projec ts/modeling.mdht • Forge https://simplifier.net/forge/
  • 31. FHIR Profiling - Overview and Introduction 4. Extensions
  • 32. Extensions Allows to define and introduce custom elements Example: Patient race, ethnicity • Registration is mandatory in US • Registration is illegal in EU • Can NOT be included in core Patient resource definition!
  • 33. Defining an extension • Defined by StructureDefinition resource • Unique identifier: canonical url • Define extension context • Where can this extension be used? • Target structure: Resource | Datatype | Extension • List of type names and/or element paths • Reusable in many profiles
  • 34. Using an extension in a resource • By default, FHIR allows resource instances to specify any number of extension elements • Inherited from Element.extension • A profile can constrain the extension list of each element • Require/prohibit certain extensions • Disallow extensions • Extension elements in profiles refer to external extension definitions
  • 35. Using extensions StructureDefinition nl-core-patient http://hl7.nl/fhir/StructureDefinition/nl-core-patient Patient.name : HumanName … Patient.nationality : Extension(patient-nationality) Patient Irma Jongeneel-de Haas … Nationality: NL Extension Definition Patient Instance Patient Profile StructureDefinition Patient-nationality http://hl7.org/fhir/StructureDefinition/patient-nationality Extension value in instance Reference to external extension definition Conforms to profile
  • 36. Primitive extension • Define a single custom element • Constrain the type of the element value • Primitive value • Complex value • Examples: • patient-birthTime (dateTime) • birthPlace (Address)
  • 37. Complex extension • Define a set of related custom elements • Elements may be nested (subtree) • Constrain the type of each element value • Example: patient-nationality • code: CodeableConcept • period: Period
  • 38. FHIR Profiling - Overview and Introduction 5. Implementation Guides
  • 39. Implementation Guide Resource • Define conformance package(s) • Set of conceptually related artifacts • Specify references to external artifacts • StructureDefinition • OperationDefinition • SearchParameter • ValueSet • Example resources
  • 40. Implementation Guide Resource • Define IG content hierarchy • Specify references to external artifacts • Page content files • Images, CSS, JavaScript • Supported page formats: • Markdown • HTML
  • 41. IG Resource - Applications  Exchange  Inbetween IG authoring and/or publication environments  Publish  To registry  Render content (website, PDF, print, …)  cf. FHIR spec  Validate  Deploy to FHIR server  Validate resource instances
  • 42. Authoring Implementation Guides • IG Builder • Official command line tool • Can render IG resource as a website • Examples: • FHIR specification • DAF Argonaut
  • 43. Authoring Implementation Guides • Simplifier • Browse & find published IGs • Supports online IG authoring & publication • Embed rendered artifacts • Examples: • HL7 Germany • Devices on FHIR POCD
  • 44. Authoring & Publication workflows Finalize Create CollaborateReview Update Publish Distribute UpdateArchive Unpublish Publish Draft Final
  • 45. FHIR Profiling - Overview and Introduction 6. Registry
  • 46. Official HL7 FHIR registries • HL7 FHIR Profile registry • https://registry.fhir.org/ • Find official profiles published by HL7 intl. & WGs • HL7 FHIR Implementation Guide registry • http://www.fhir.org/guides/registry • Browse official HL7 implementation guides
  • 47. • Public FHIR registry at https://simplifier.net • Find & browse FHIR profiles, IGs, examples etc. • Author & publish implementation guides • Contains: • Official HL7 profiles • HL7 affiliate profiles • Private company profiles • Public user profiles • Official back-end for https://registry.fhir.org/
  • 48. Next: Profiling Tools Overview By Vadim Peretokin
  • 49. Exercises Print outs available at the registration desk Download from https://www.fhirdevdays.com/exercises/