Authoring profiles by Michel Rutten
-
Upload
fhir-developer-days-2014 -
Category
Healthcare
-
view
221 -
download
6
Transcript of Authoring profiles by Michel Rutten
![Page 1: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/1.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Authoring Profiles
Michel Rutten
FHIR Developer Days
November 25, 2014
![Page 2: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/2.jpg)
© 2014 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: Michel Rutten
Company: Furore
Background:
Professional software developer since 1998
Microsoft .NET; Healthcare industries
Technical Specialist at Furore since May 2014
Member of the Furore FHIR development team
Lead developer of Forge
2
![Page 3: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/3.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
TOPICS
![Page 4: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/4.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Presentation Topics
Introduction
Resources
Profiles
Representations
Authoring Tools
Authoring Profiles
Metadata
Structures
Bindings
Constraints
Extensions
Slicing
4
![Page 5: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/5.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
PROFILESIntroducing
![Page 6: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/6.jpg)
© 2014 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.
17
![Page 7: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/7.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Use of Profiles
Profile
Publish to repository
Report
Implementation guide
POCO
Conformance statement
Validate Resource
18
![Page 8: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/8.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
What is a profile?
Special resource
Statement of use of one or more FHIR
resources
Provides additional rules about how a type of
resource is utilized in a particular context of use, or
for a particular use case
Specify restrictions / constraints on resources
Specify extensions on resources
19
![Page 9: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/9.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiling a resource
Profiled
Resource
Resource Definition Patient
My Patient
20
![Page 10: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/10.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiling a resource
21
“Must use only the Dutch national patient identifier”
“Need to register an administrative race code for a Patient in the US”
“Patient Discharge documents must at least contain section “Discharge Medication” and section “Discharge Diagnosis”
“In our Patient registration system, we use these maritalStatus codes beyond those provided by HL7…”
“Our patient registration system, only supports having one single name per Patient”
![Page 11: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/11.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiling a resource
22
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”
Note: hardly any
mandatory elements in
the core spec!
![Page 12: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/12.jpg)
© 2014 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
Formulate what exchanging partners must
adhere to
Server & client may publish their
conformance to profile
When communicating a resource, a resource
can indicate the profiles it conforms to.
Receiving side may verify conformance
23
![Page 13: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/13.jpg)
© 2014 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
• MRN 31415
• “Michel Rutten”
• 20-01-1973
• Sittard
• “I’m a Patient conforming to the Dutch Profile”See http://hl7.nl/Profiles/patient-nl
Patient
24
![Page 14: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/14.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profile –a “normal” resource
25 …computable!
![Page 15: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/15.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
REPRESENTATIONSIntroducing profiles
![Page 16: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/16.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Formats
27
XML
Namespace: http://hl7.org/fhir
Also includes XHTML
JSON
No namespaces…
JSON XPath Navigator
![Page 17: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/17.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Differential Structure
28
Describes only modified elements
Different from resource definition
Does not describe default elements
Identical to resource definition
Targeted at profile authors
Concise XML
Focus on customizations
![Page 18: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/18.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Lipid
29
![Page 19: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/19.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Snapshot
30
Contains all resource elements
Modified elements
Default elements
Targeted at profile tooling
Easier to process programmatically
![Page 20: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/20.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Lipid
31
![Page 21: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/21.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Expansion
32
FHIR API supports the expansion of
differential profiles
Tooling
Open: Expand differential profile
Save: Generate differential profile
![Page 22: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/22.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
SPREADSHEETProfile Authoring Tools
![Page 23: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/23.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profile spreadsheet
HL7 Wiki http://wiki.hl7.org/index.php?title=FHIR_Spreadsheet_Profile_Authoring
Tab page ↔ resource
Row ↔ resource element
Column ↔ element property
34
![Page 24: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/24.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Lipid
35
![Page 25: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/25.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profile spreadsheet
Supports differential structures
Only include rows for modified elements
Supports snapshots
May include default elements by copying rows
form resource definition sheet
36
![Page 26: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/26.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
FORGEProfile Authoring Tools
![Page 27: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/27.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Forge
FHIR Profile Editor
http://fhir.furore.com/forge
Windows Desktop Application
Supports online & offline use
Load from / save to FHIR server
Load from / save to disk
38
![Page 28: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/28.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Forge
Implementation based on FHIR API
Resource definitions
Deserialize XML to POCO
Serialize POCO to XML
Profile error validation
Supports differential and snapshot structures
Open differential/snapshot profile
Generates compressed XML39
![Page 29: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/29.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Work In Progress
Current release supports most of DSTU 1
Some advanced features are not yet
supported, e.g.
Type slicing (value[x])
Search parameters
Some bugs...
40
![Page 30: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/30.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Lipid
41
![Page 31: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/31.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
STEP BY STEPAuthoring Profiles
![Page 32: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/32.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Running Example
“Lipid Profile” example from spec
http://www.hl7.org/implement/standards/fhir/diagno
sticreport-profile-lipids.html
DiagnosticReport containing 4 results:
1x Cholesterol
1x Triglyceride
1x HDL Cholesterol
0/1x LDL Cholesterol
Package it up in a message44
![Page 33: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/33.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
METADATAAuthoring Profiles
![Page 34: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/34.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Identification
REST Id on server
http://spark.furore.com/fhir/profile/lipid.v1
Server assigned
Name
“Lipid Profile”
Human readable
Author assigned
46
![Page 35: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/35.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Identification
Identifier
Globally unique
Author assigned
UUID: 15046b9c-2da0-4b80-82ef-c6af6fcfd2bf
OID: 2.16.840.1.113883.10.20.2.1
URN
urn:openEHR.org:EHR-ACTION.medication.v1
http://hl7.org/fhir/Profiles/iso-21090-2011
47
![Page 36: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/36.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Versioning
We used semantic versioning
Uses “<major>.<minor>.<patch>”
See semver.org
Major version number is increased on
breaking changes
Major version number is part of author-
assigned identifier AND REST url
Both versions may co-exist on server, they
have different URLs and names48
![Page 37: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/37.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Versioning example
URL Id v
http://fhir.nl/Profile/patient.v1 urn:fhir.nl:profile:patient:v1 1.0.0 Original
version
http://fhir.nl/Profile/patient.v1 urn:fhir.nl:profile:patient:v1 1.0.1 Typo
Clarification
Correction
Bugfix
http://fhir.nl/Profile/patient.v1 urn:fhir.nl:profile:patient:v1 1.1.0 Non-breaking
change
Addition
http://fhir.nl/Profile/patient.v2 urn:fhir.nl:profile:patient:v2 2.0.0 Breaking
change
49
![Page 38: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/38.jpg)
© 2014 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
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
• e.g. LOINC 58239-5 (lipid)
Status
• Draft, Active, Retired
• Experimental Y/N
Requirements
• Scope & Usage
• The “need” or “why” of the profile
Date
• Of publication
• YYY-MM-DD
• e.g. “2013-07-07"
50
![Page 39: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/39.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example
51
![Page 40: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/40.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
STRUCTURESAuthoring Profiles
![Page 41: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/41.jpg)
© 2014 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?
53
Profile
Extensions
Constrained Resources
& Datatypes
Metadata
![Page 42: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/42.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Structures
54
Profiles contain “Structures”
Set of constraints on (nested) elements of a
Resource or Datatype
“Subclass” of a Resource, with specific limits
on its elements
Cardinality
Value domains
Invariants
![Page 43: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/43.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example
55
“Cholesterol observation” is an Observation : That has a fixed LOINC code 35200-5 (Cholesterol) as its
name
Has a quantity as value that’s expressed in mmol/L (a
UCUM unit) (without a ‘comparator’) OR ELSE there’s a
comment
An interpretation limited to LL,L,N,H,HH
A “recommended” high reference range of 4.5 (no low)
mmol/L, independent of age (no age)
Is an independent observation (no related)
![Page 44: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/44.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Cardinality
Number of elements in a set
0 - None
1 – Single element
N – N elements
* – Many elements
Multiplicity
Minimum cardinality
Maximum cardinality56
![Page 45: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/45.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Cardinality
Minimum Maximum Description
0 0 Prohibited / removed element
0 1 Optional single element
0 * Zero or more elements
1 1 Required element
1 * One or more elements
2 3 Specific bounds
57
![Page 46: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/46.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constrain Cardinality
58
You can only further restrict the cardinality of
resource elements
Increase minimum cardinality
Decrease maximum cardinality
An element that is mandatory in the resource
definition cannot be constrained as optional
![Page 47: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/47.jpg)
© 2014 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
59
Only allow “active” Patients
=“true”
If deceased is given, it must be
a dateTime, not a boolean
AddressNL
Use a profiled datatype (from
this or other profile)
Only allow reference to a
profiled resource
OrganizationNL
![Page 48: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/48.jpg)
© 2014 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
60
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)
![Page 49: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/49.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: spreadsheet
61
![Page 50: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/50.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Forge
62
![Page 51: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/51.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Demo: Forge
63
0..1
= ‘ok’
“if no value…”
1..1
1..1
![Page 52: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/52.jpg)
© 2014 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?
64
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
![Page 53: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/53.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Reusable constraints
65
We have multiple components within the
“Lipid Profile” with Quantity
All with the same constraints
Units are mmol/L
in UCUM (http://unitsofmeasure.org)
no comparator
Let us first make a reusable “lipid quantity”
constraint on the Quantity datatype!
![Page 54: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/54.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Demo: Lipid Quantity
66
Element Property Value
Quantity Short Quantity as used in lipid measurements
Quantity Formal Quantity as used in lipid measurements
Quantity Comments Lipid measurements are expressed in
mmol/L
Quantity.units Fixed value mmol/L
Quantity.system Fixed value http://unitsofmeasure.org/
Quantity.code Fixed value mmol/L
![Page 55: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/55.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Demo: Lipid Quantity
67
![Page 56: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/56.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
BINDINGSAuthoring Profiles
![Page 57: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/57.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Coded types
69
Codes are defined
in code systems
In a Profile, we may want to limit the codes that can possibly be used in
coded elements in the Resources
![Page 58: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/58.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
CodeSystem vs. ValueSet
70
“Code System”
“Dante’s deadly sins”
Pride
Envy
Wrath
Sloth
Avarice
Gluttony
Lust
“ValueSet”
Takes concepts from…
Defintion of
terms
Example: SNOMED-CT Example: “Childhood diseases”
An enumeration
of terms
![Page 59: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/59.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Identification of CodeSystems
If you refer to CodeSystems, you use a URL
(instead of OID in v2 and v3):
http://snomed.info/sct
http://loinc.org
http://hl7.org/fhir/sid/icd-10
We have introduced them for v2 and v3:
http://hl7.org/fhir/v2/0078
http://hl7.org/fhir/v3/ActClass71
![Page 60: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/60.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
ValueSet
Has metadata
much like Profile: identifier, version, name, etc
Is built by inclusion of terms from
CodeSystems
Can exclude specific codes from other
valuesets
Can import codes from other ValueSets
72
![Page 61: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/61.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
ValueSet
73
In/exclude concepts
Metadata
![Page 62: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/62.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
ValueSet
But it can also enumerate (and so indirectly
define) all concepts for a new codesystem:
A ValueSet has metadata (much like Profile:
identifier, version, name, etc)
A ValueSet is built by defining terms from
and for a new CodeSystem
These new concepts have a display label
and a definition
…and may be hierarchically organized74
![Page 63: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/63.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
ValueSet
75
![Page 64: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/64.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
ValueSet: Gender
76
![Page 65: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/65.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Bindings
When used in a Resource, the modelers
include Bindings
Bindings specify which codes can be used
77
![Page 66: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/66.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Forge
78
![Page 67: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/67.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Conformance
79
isExtensible=N isExtensible=Y
Required SHALL Validation error
Non-conformant
Additional codes
allowed
Preferred SHOULD Validation error
Discouraged
Supplemental
codes likely
Alternatives
allowed
Example MAY Just a suggestion, no preference
If implementers of your profile provide a
different code than you have in your profile….
![Page 68: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/68.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
FORMAL CONSTRAINTSAuthoring Profiles
![Page 69: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/69.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Formal constraints
Examples:
“If a Cholesterol value result is not available, use
the comments field”
“A patient’s birthdate must be on or before today’s
date”
May concern a single element, or cover
multiple elements.
![Page 70: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/70.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Formal constraints
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) ‘Key’
Involved elements refer to that id
Specify severity
“error” or “warning”
![Page 71: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/71.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Context of a constraint
83
• This constraint is on the
elements “valueQuantity” and
“comments”
• We would have to formulate this
constraint on the Observation,
this is the context of the
constraint
• We assign the constraint a “key”
value that’s unique within the
Observations’ constraints
• We refer from both “value[x]”
and “comments” to this “key”.
This means: if my value
changes -> revalidate the
constraint
“If a Cholesterol value result is not available, use the comments field”
![Page 72: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/72.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Forge
84
![Page 73: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/73.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Forge
85
![Page 74: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/74.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Forge
86
![Page 75: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/75.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
EXTENSIONSAuthoring Profiles
![Page 76: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/76.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extensions
Extension Definition
Global, shared
Extension Reference
Structure element
References an Extension Definition
88
![Page 77: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/77.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extension Context
An extension has a context type
Resource, Datatype, Extension, Mapping
And a context path
(Resource) Observation
“The observation was calculated”
(Resource) Observation.value
“The observation’s ‘value’ was calculated”
(Datatype) Quantity
“This quantity was calculated”
(any Quantity used in any resource!)89
![Page 78: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/78.jpg)
© 2014 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
90
Note: multiple
contexts!
![Page 79: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/79.jpg)
© 2014 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
91
Key = location of formal definition
Value = value according to definition
![Page 80: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/80.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Calculated - Definition
92
![Page 81: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/81.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Calculated - Use
93
![Page 82: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/82.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
SLICINGAuthoring Profiles
![Page 83: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/83.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Slicing
Slicing Group
Discriminator
Cardinality
Slice
Cardinality within the group
Additional constraints
![Page 84: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/84.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Contact
Resource definition is very generic:
Telecom
Contact { phone, fax, email, url } (0-*)
Let’s constrain; require phone & email:
Telecom (2)
Phone (1)
Email (1)
Discriminator = system
96
![Page 85: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/85.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Slice Cardinality
97
Slice Group Cardinality Slice Cardinality
Telecom 2…2 Phone 1…1
Email 1…1
Slice Group Cardinality Slice Cardinality
Telecom 1…2 Phone 0…1
Email 0…1
Must specify both Phone and Email
Must specify Phone and/or Email
Slice Group Cardinality Slice Cardinality
Telecom 0…2 Phone 0…1
Email 0…1
Optional Phone and/or Email
![Page 86: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/86.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Contact
98
![Page 87: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/87.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Lipid
99
![Page 88: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/88.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example: Lipid
100
![Page 89: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/89.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
FUTURE DEVELOPMENTForge
![Page 90: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/90.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profile Validation
User friendly validation error messages
Validation error message provided by API…
Highlight invalid controls
Red border
Click on message => focus associated control
Support for XPath validation rules…
Hard-coded subset?
102
![Page 91: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/91.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Resource Validation
Validate a resource against the profile
Generate validation report
List discrepancies
103
![Page 92: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/92.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Value Slicing
Slice value[x] element
Slice element for each included type
Automatically generate/synchronize slices
Cf. regular slice – all slices share a common
type
Example
Schedule OR Period
104
![Page 93: Authoring profiles by Michel Rutten](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a71e5d1a28ab3f4a8b46fa/html5/thumbnails/93.jpg)
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Modifier Extensions
Extension with isModifier = True
Slicing within ModifierExtensions collection
Instead of regular Extensions collection
Issue:
If a profile is updated by clearing the isModifier
property value, then all related profile definitions
become invalid…
105