37
HL7 FHIR DevDays 2020, Virtual Edition, November 17–20, 2020 | @FirelyTeam | #fhirdevdays | www.devdays.com/november-2020 HL7®, FHIR® and the flame Design mark are the registered trademarks of Health Level Seven International and are used with permission. FHIR Profiling Overview Mirjam Baltus, Firely

FHIR Profiling Overview

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FHIR Profiling Overview

HL7 FHIR DevDays 2020, Virtual Edition, November 17–20, 2020 | @FirelyTeam | #fhirdevdays | www.devdays.com/november-2020

HL7®, FHIR® and the flame Design mark are the registered trademarks of Health Level Seven International and are used with permission.

FHIR Profiling Overview

Mirjam Baltus, Firely

Page 2: FHIR Profiling Overview

1

Who am I?

• Name: Mirjam Baltus• Company: Firely, Amsterdam

• Background:• FHIR team since 2012• FHIR trainer

Page 3: FHIR Profiling Overview

2

The Firely FHIR ecosystem

Forge Simplifier Vonk

Publish

ImplementersProfile authors

Edit Collaborate Retrieve Governance

Validate

API

Developers

IG Build apps

Read/write

Page 4: FHIR Profiling Overview

3

Topics

1. The need for profiling2. FHIR Conformance layer3. Profiles/Extensions4. Packages5. Registry

Page 5: FHIR Profiling Overview

4

FHIR Profiling Overview

1. The need for profiling

Page 6: FHIR Profiling Overview

5

Why do we need profiling?

• FHIR provides a platform specification

“Standard building blocks for interoperability solutions”

• Single set of resources for many different contexts in healthcare• Requires further adaptation to

context of use

Page 7: FHIR Profiling Overview

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?

Page 8: FHIR Profiling Overview

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.

Page 9: FHIR Profiling Overview

8

FHIR Profiling Overview

2. FHIR Conformance layer

Page 10: FHIR Profiling Overview

9

FHIR Conformance Resources

Content

Structure Definition

Element Definition

Graph Definition

Terminology

Naming System

Code System

Value Set

Concept Map

Operations

Operation Definition

Search Parameter

Structure Map

Misc.

Capability Statement

Implementation Guide

Test Script

Test Report

Page 11: FHIR Profiling Overview

10

StructureDefinition

Defines data structures:• Datatypes• Resources• Constraints (“profiles”) on resources & datatypes• Extensions• Logical Models

Page 12: FHIR Profiling Overview

11

OperationDefinition

• Defines REST interactions• Name of the operation• Input/output parameters• Behavior• Works on which resources?

• Extend/restrict the API

Page 13: FHIR Profiling Overview

12

SearchParameter

• Defines named search parameters for REST API• Name• Interpretation?• Supports which resources?• Matches which resource elements?

• Extend/restrict the API

Page 14: FHIR Profiling Overview

13

CapabilityStatement

Defines capabilities of a FHIR systemBinds all conformance resources together

Usage:• Advertise supported capabilities• Describe required capabilities

Page 15: FHIR Profiling Overview

14

CapabilityStatement

Defines supported:• Serialization formats• Operations• Resources, interactions, search parameters• Profiles

Usage:• Advertise supported capabilities• Describe required capabilities

Page 16: FHIR Profiling Overview

15

StructureMap

• Map of relationshipsbetween 2 structures

• Based on FHIR Mapping Language• Can be used to transform data

Page 17: FHIR Profiling Overview

16

ImplementationGuide

• Describes requirements for a FHIR implementation• Specifies links to:• Relevant FHIR artifacts (e.g. profiles)• Editorial content (documentation)

• Usage:• Publish an implementation guide• Validate conformance

Page 18: FHIR Profiling Overview

17

Conformance Module

Page 19: FHIR Profiling Overview

18

Used to define the FHIR core spec

• Core datatypes• Core resources• Standard REST operations• Standard search parameters• Standard terminology

🐶 Eat Your Own Dogfood

Page 20: FHIR Profiling Overview

19

Canonical Url

• Unique identifier (uri) for a conformance resource• Author-assigned• Shared by all instances

• Compare: Resource Id• Server-assigned• Unique per instance

• Example: http://hl7.org/fhir/StructureDefinition/Patienthttp://fhir.alp/StructureDefinition/AlpCorePatient

Page 21: FHIR Profiling Overview

20

FHIR Profiling Overview

3. Profiles/Extensions

Page 22: FHIR Profiling Overview

21

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

Page 23: FHIR Profiling Overview

22

Layered Profiles

Core Profiles

National Profiles

Regional Profiles

Organizational Profiles

All resources

National resources

Regional resources

Organizatio-nal resources

More specific

More generic

Volume Volume

Conform to

Conform to

Conform to

Conform to

Page 24: FHIR Profiling Overview

23

StructureDefinition

Metadata:• Canonical url• Name, Title• Status (draft, active)• Date, Version (author assigned)• Author, publisher, contact, …• Base profile

Page 25: FHIR Profiling Overview

24

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

Page 26: FHIR Profiling Overview

25

StructureDefinition

• Publish to repository/registry• Compare• Transform• Validate resource• Generate code• Generate UI

Page 27: FHIR Profiling Overview

26

simplifier.net

Referring to a profile

ObservationCholesterol

6.3 mmol/LHigh

Observation Resource

StructureDefinitionLDLCholesterol

url: http://acme.org/fhir/StructureDefinition/LDLCholesterol

Observation Profile

I’m conforming to profile:

http://acme.org/fhir/StructureDefinition/LDLCholesterolProfile Tag

Validate

ResolveAcme.org

Page 28: FHIR Profiling Overview

27

Extensions

Allows to define and introduce custom elements

Example: Patient race, ethnicity• Registration is mandatory in US• Registration is illegal in EU• Cannot be defined by the core

Patient resource definition!

Page 29: FHIR Profiling Overview

28

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

Page 30: FHIR Profiling Overview

29

FHIR Profiling Overview

4. Packages

Page 31: FHIR Profiling Overview

30

FHIR Package

Versioned and published set of conceptually relatedFHIR conformance resources:• Structure Definitions (Profiles)• Value Sets• Operation Definitions• Search Parameter Definitions• Example Resources• …

Page 32: FHIR Profiling Overview

31

Forge Package Manager

• Browse and download FHIR packages from Simplifier registry• Add/remove project dependencies• Select profile extensions from package• Derive profile from external dependency

Page 33: FHIR Profiling Overview

32

FHIR Profiling Overview

5. Registry

Page 34: FHIR Profiling Overview

33

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

Page 35: FHIR Profiling Overview

34

• Public FHIR registry• Search, browse & find FHIR

conformance resources:• Profiles, IGs, Valuesets, Examples,

• Contains:• Official HL7 profiles• HL7 affiliate profiles• Private company profiles• Public user profiles https://simplifier.net

Page 36: FHIR Profiling Overview

35

• Validate examples against profiles• Are my example resources valid?

• Incoming & outgoing references• Who is depending on my profiles/extensions?

• Official back-end for https://registry.fhir.org/• Publish from Simplifier to HL7 registry

• Create/Download FHIR NPM packages• Create Implementation Guides

Page 37: FHIR Profiling Overview

36

What’s next?

• Participate in the ”Let’s build a FHIR spec” track • Runs throughout DevDays• First session after this one

• Find me on Whova• Speaker’s gallery à send message