SlideShare a Scribd company logo
1 of 63
Profiles and 
Validation 
Grahame Grieve 
FHIR Developer Days 
November 26, 2014 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
The need for Profiles 
Healthcare is a highly variable domain 
 Between Countries 
 Between Disciplines 
 Between different clinicians within a single 
practice 
 Between different IT implementations 
There’s no single authority to set the rules 
2 
© 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 
From RFC 2119 
An implementation which does not include a 
particular option MUST be prepared to interoperate 
with another implementation which does include the 
option, though perhaps with reduced functionality. 
In the same vein an implementation which does 
include a particular option MUST be prepared to 
interoperate with another implementation which 
does not include the option (except, of course, for 
the feature the option provides.) 
3 
© 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 
 We can’t expect global interoperability 
 The goal of FHIR is to create a common 
platform or framework 
 It’s a small step from common 
implementations to interoperability 
4 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
The last step 
 It’s a small step from platform from 
implementation 
 “how do you use the platform?” 
 The Conformance resources give the 
answer 
9 
© 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 cases 
 Application Statement of Functionality 
 Domain Specialist Guidance 
 Purchaser’s/Integrator’s statement of intent 
 Regional/National statement of agreements 
10 
© 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 Layer 
 Value set – definitions of codes and sets of 
codes 
 Profile – statement of how a resource is 
used 
 Conformance – statement of how a system 
behaves (client or server) 
 Concept Map – maps from one system to 
another (codes or fields) 
11 
© 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 Set 
 Describe a set of concepts 
 Can include codes from LOINC, SNOMED CT etc 
 By listing them, or by their properties 
 Can define their own codes 
 Can add descriptions to codes 
 Basis for a terminology service 
12 
© 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 
 Describes a set of rules about what can be 
in a profile 
 By implication, how it is used 
 Describes Extension (defines them and their 
meaning) 
 Describes search parameters for a resource 
13 
© 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 Statement 
 Describes what resources are supported 
 What operations are possible 
 What profiles apply to resources 
 What security rules apply 
 Required for servers 
 encouraged for clients 
14 
© 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 (1) 
Name Use 
identifier Globally unique URI, OID, or UUID 
version Identify this version of the profile when it is referenced in a 
specification, model, design or instance. 
This is an arbitrary value managed by the profile author manually 
and the value should be a timestamp 
name Natural language name identifying the Profile 
status draft, active, retired 
date Date that this version of the profile was published 
fhirVersion Version of the FHIR specification on which this profile is based 
Mostly not necessary: most profiles are valid across multiple 
versions, validity can be checked by tooling. 
15 
© 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 (2) 
Name Use 
publisher Individual or organization who accepts responsibility for 
publishing the profile 
telecom Contact details to assist a user in finding and communicating 
with the publisher 
description A free text natural language description of the profile and its use 
requirements The Scope and Usage that this profile was created to meet 
code A set of terms from external terminologies that may be used to 
assist with indexing and searching of profiles 
16 
© 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 Contents 
 Metadata – context + findability 
 Structure 0..* - constraint on a resource or 
data type 
 Search Parameter 0..* 
 Extension Definition 0..*- an extension that 
can be used in a resource 
17 
© 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 Structure 
Name Use 
type The Resource or Data Type being described 
name Name for this particular structure (reference target) 
e.g. uri#[name] to reference this structure 
publish Whether this can be used as an external reference 
e.g. you can define “support” structures that aren’t “entry points” 
purpose Human description of the purpose of this structure 
element Definition of the actual constraints on the elements of the type 
18 
© 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 Structure 
 A linear list of Elements 
 Each Element has a path 
 The path specifies a tree of elements with a 
‘.’ name e.g. Patient.contact.telecom 
 The type of an element can specify further 
contained trees e.g. 
 a Data Type 
 a reference to another part of the tree 
19 
© 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 Structure 
 ValueSet 
 ValueSet.identifier : string 
 ValueSet.telecom : Contact 
 ValueSet.define 
 ValueSet.define.system 
 ValueSet.define.concept 
 ValueSet.define.concept.concept 
: @ ValueSet.define.concept 
20 
© 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 Structure 
 An element for each node in the path 
 Can’t “imply” elements 
 The element refers to a pre-defined resource 
element 
 Profile can’t define it’s own new data elements 
 Profile can “walk into” a data type 
 E.g. ValueSet.telecom.use 
21 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Structure / Element 
 A set of rules on the element content 
 Cannot define any new content the element 
isn’t allowed to have 
 Cannot revoke any rules already established 
in the base resource 
22 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Structure / Element 
 Cardinality – how many times the element 
can appear 
 Binding – what codes can be used (if coded) 
 Constraints – additional content rules 
 Type – restrict the contents be referring to 
another (profiled) type 
 Meanings + mappings – what the content 
means 
23 
© 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 
 Base cardinality 0..1, 1..1, 0..*, 1.. * 
 Can increase minimum up to max (but not *) 
 Can decrease maximum down to min 
 E.g. 
 1..1: can’t do anything with it 
 0..1: can change to 0..0 or 1..1 
 0..*: can change to 0..0, 0..3, 1..2 etc 
 1..*: can change to 1..1, 1..2, 1..3 etc 
24 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Binding 
 Elements that have codes: 
 code 
 Coding 
 CodeableConcept 
 Quantity (system + code) 
 All elements are “bound” to a value set – the 
set of codes that are allowed to be used 
25 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Binding Properties 
Name Use 
name Arbitrary descriptive name for the binding (should be optional, but 
is a tooling limitation) 
description A description of the kind of codes in the value set (optional) 
isExtensible Whether additional codes can be used 
conformance The degree of conformance associated with the binding 
reference A reference to a value set or an external standard that provides 
the set of codes 
26 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Binding Conformance 
Conformance indicates the expectations for implementers of the 
specification 
required Only codes in the specified set are allowed. 
preferred For greater interoperability, implementers are strongly 
encouraged to use the bound set of codes, however 
alternate codes may be used in profiles if necessary 
without being considered non-conformant. 
example The codes in the set are an example to illustrate the 
meaning of the field. There is no particular preference for 
its use 
27 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Binding Extensibility 
isExtensible indicates whether additional codes are allowed beyond 
those in the defined set of codes 
false No additional codes are to be used beyond the list 
provided 
true Supplemental codes or plain text may be needed (this is 
common because it is reasonable to think that concepts 
will need to be used which won't be in the defined set of 
codes) 
28 
© 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 vs Extensibility 
29 
Conformance isExtensible=false isExtensible=true 
Required Implementers SHALL use 
a code from the defined 
set 
Implementers SHALL use a code from 
the defined set if one is applicable, but 
otherwise may provide their own code 
or use text 
Preferred Implementers SHOULD 
use a code from the 
defined set 
Implementers SHOULD use a code from 
the defined set if one is applicable, but 
MAY provide their own code or use text 
Example Implementers MAY use a 
code from the defined set 
Implementers MAY use a code from the 
defined set or provide their own code 
or use text 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraining Bindings 
 Profiles “replace” the binding 
 New name, rules, value set reference 
 Codes that were not valid cannot become 
valid 
 Profiles can override “SHOULD” 
30 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraints 
 Attach to an element 
 Make rules about it’s content 
 Have a name, a human readable statement, 
and a machine processible format (XPath) 
 Can say anything that can be said in XPath 
 Can reference constraints from the sub 
elements that it affects 
31 
© 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 Constraint 
 Human: If you have a procedure that has a 
complication, it must have some follow up 
 A ‘business rule’ that can’t be in the base spec 
 Context: Procedure 
 XPath: 
not(exists(f:complication)) or 
exists(f:followUp) 
32 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraining the Type 
 Elements that do not have children defined 
in the profile must have a type 
 Type can have a profile applied 
 E.g. type must conform to the profile 
 If the resource allows multiple types, can 
restrict to a single type e.g. value[x]  
valueString 
 Or to lesser set of choices e.g. string or Quantity 
33 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Meaning / Mapping 
 Profiles can change the meaning and 
mappings of the element 
 Meaning must be consistent, but can be 
narrower. E.g: 
 Can’t change “Date Time this was made available” 
to “Date/Time the doctor saw it” 
 Can change “date time this was made available” to 
“Date/Time posted to the portal” 
34 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraining Lists 
 If an element can repeat, it’s common to 
constrain the repeats differently: 
 The first code must come LOINC 
 First, the chemistry observations, then the 
microbiology ones 
 A blood pressure has components for Systolic and 
Diastolic pressures 
 Vital signs must have a component observation for 
posture, for prior exercise, and for stress estimate 
(e.g. children) 
35 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraining Lists 
 Can’t just divide the list up into different slots 
in the instance 
 General systems can’t process the data 
 Divide the list into “slices” – implied slots 
rather than explicit slots 
36 
© 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 
37 
© 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 
<Observation> 
... 
<related> 
<type value="component"/> 
<target ...> 
</related> 
<related> 
<type value="component"/> 
<target ...> 
</related> 
</Observation> 
38 
Systolic 
Slice 
Diastolic 
Slice 
© 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 
 If you know about the slices, you can 
process by them 
 If you don’t know, what you don’t know won’t 
hurt you 
 But how can you tell which elements are in 
which slice? 
 Need to do this in generated code 
39 
© 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 Discriminator 
 Depth first constraint testing 
 Reasonably easy but computationally intensive 
 Hard to produce comprehensible error messages 
 No good for generated code 
 So we add a shortcut - the “discriminator” 
 A field that has a fixed or limited set of values that 
differs for each slice 
 E.g. switch () on the values of the field 
 Profile designer has to organize this 
40 
© 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 
discriminator Path to the element that is holds the discriminating value 
ordered Whether the slices have to appear in the order in which 
they are defined (mostly, it doesn’t matter, but when it 
does, it’s important) 
rules Closed - No additional content is allowed other than that 
described by the slices in this profile 
Open - Additional content is allowed anywhere in the list 
openAtEnd - Additional content is allowed, but only at the 
end of the list (must be ordered) 
41 
© 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 in a profile 
 Multiple element definitions with the same 
path 
 Elements differentiated by their “name” 
 Name is the name of the slice 
 Just like you can refer to an element by path, 
you can refer to a slice by name and re-use 
it (.element.definition.nameReference) 
42 
© 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 
 Every Element has 
extension : Extension 0..* 
 So saying that an extension must appear on 
an element is actually “constraining” an 
element 
 This is done by slicing the extension list with 
extension.url as the discriminator 
43 
© 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 (2) 
 Extensions can be prohibited by closing the 
extension list with no defined slices 
 Making an extension optional in an open list 
is just a reminder that it’s allowed – it’s 
allowed anyway 
44 
© 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 
 Define an extension as a profile on the base 
Extension type 
 all the techniques we already talked about 
 Give it a code. URL for the extension is 
[profile]#[code] 
 Define where it can be used 
45 
© 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 
46 
Code Definition 
resource The context is all elements matching a particular resource 
element path. 
datatype The context is all nodes matching a particular data type 
element path (root or repeating element) or all elements 
referencing a particular primitive data type (expressed as 
the datatype name). 
mapping The context is all nodes whose mapping to a specified 
reference model corresponds to a particular mapping 
structure. The context identifies the mapping target. The 
mapping should clearly identify where such an extension 
could be used. 
extension The context is a particular extension from a particular 
profile. Expressed as uri#name, where uri identifies the 
profile and #name identifies the extension code. 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Search Parameter 
Property Meaning 
name The name to use in the URL 
type The rules around interpreting the parameter value 
documentation Description of the parameter 
xpath XPath used to extract the values (not all parameters have 
an XPath) 
target A list of the resource types that are possible targets (if type 
is a reference) 
47 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Summary 
 Profiles can “constrain” the use and meaning 
of the contents of a resource or type 
 There’s a fair bit of complexity in the fine 
details of the solution 
 Represents 20 years of work on “design by 
constraint” 
48 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Changes DSTU  Dev 
 Introduce Differential vs Snapshot 
 Decompose Profile into 
 Profile 
 ExtensionDefinition 
 SearchParameter 
 Discriminator 1..1  0..* 
 Add pattern, default value 
49 
© 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 
 How to validate 
 Code Generation Considerations 
 Future tooling anticipated 
50 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
How to validate 
 Schema – validates the base structure, 
never profiles 
 Schematron – could generate schematron 
for a profile (but don’t yet) 
 Java Validator 
 RESTful API 
 Web Validator 
51 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Java Validator 
 Source (from downloads page): 
http://hl7.org/documentcenter/public/standards/FHIR/validator.zip 
 Contains validator jar + base definitions + a 
readme 
 FHIRValidator.jar [source] (-defn 
[definitions]) (-output [output]) (-profile 
[profile]) 
 Profile – file name or URL of a Profile 
resource 
52 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
RESTful API 
 Post the resource to 
[base]/[type]/_validate(/[id]) 
 Without ID: Is this resource valid? 
 With ID: is this a valid update 
 Validate against a profile: add a profile tag to 
the HTTP headers: 
Category: [url]; scheme= 
"http://hl7.org/fhir/tag/profile" 
53 
© 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 the Web Interface 
 http://fhir.healthintersections.com.au/open 
Go to bottom of page 
54 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
UML Theory of Profiles 
object Class Model 
? 
+ classCode: CS = STD 
+ id: II = 1.2.3.4.5::2234 
+ statusCode: CS = ACTIVE 
This instance conforms to 
all three models. Which is 
the class? 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Simple Class Model 
object Class Model 
Student 
+ classCode: CS = STD 
+ id: II = 1.2.3.4.5::2234 
+ statusCode: CS = ACTIVE 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
“Student” as a template 
? 
Student is treated 
as a set of rules 
instead of a “class” 
definition – doesn’t 
take ownership 
object Class Model 
IdentifiedPerson 
+ classCode: CS = STD 
+ id: II = 1.2.3.4.5::2234 
+ statusCode: CS = ACTIVE 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
“Student” as a template 
Use Stereotype 
“Student” to mark 
the relationship 
(class or instance 
level) 
object Class Model 
«Student» 
IdentifiedPerson 
+ classCode: CS = STD 
+ id: II = 1.2.3.4.5::2234 
+ statusCode: CS = ACTIVE 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
“IdentifiedPerson” as a 
template 
Use Stereotype 
“Student” and 
“IdentifiedPerson” 
to mark 
the relationships 
object Class Model 
«Student,IdentifiedPerson» 
Role 
+ classCode: CS = STD 
+ id: II = 1.2.3.4.5::2234 
+ statusCode: CS = ACTIVE 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
OO Design theory 
 Design by Inheritance 
 Design by Composition 
 Design by Constraint 
 Which is actually design by Contract on steroids 
60 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Code Generation 
 A profile is not a “specialisation” 
 You can generate them that way, but it’s not 
a perfect fit 
class MyProfiledResource extends Resource 
 I generate them as a façade 
class MyProfiledResource extends 
ProfileWrapper 
constructor (Resource wrapped) 
61 
© 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 Tools 
 Profile Registry (desperately needed) 
 Profile Comparison Tooling 
 Do profiles overlap 
 Are profiles compatible 
 Clinical Reasoning tools using profiles + 
additional resources 
62 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiles 
 A tool for managing fractal variance 
 Only as successful as the community wants 
to make them 
63 
© 2014 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

FHIR Profiling tutorial
FHIR Profiling tutorialFHIR Profiling tutorial
FHIR Profiling tutorialEwout Kramer
 
Authoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionAuthoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionEwout 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
 
FHIR Tutorial - Morning
FHIR Tutorial - MorningFHIR Tutorial - Morning
FHIR Tutorial - MorningEwout Kramer
 
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
 
Introduction to FHIR™
Introduction to FHIR™Introduction to FHIR™
Introduction to FHIR™Grahame Grieve
 
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
 
Nhs trusts meeting at salford
Nhs trusts meeting at salfordNhs trusts meeting at salford
Nhs trusts meeting at salfordEwout Kramer
 
Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Ewout 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
 
FHIR tutorial - Afternoon
FHIR tutorial - AfternoonFHIR tutorial - Afternoon
FHIR tutorial - AfternoonEwout Kramer
 
Authoring Profiles in FHIR
Authoring Profiles in FHIRAuthoring Profiles in FHIR
Authoring Profiles in FHIREwout Kramer
 
Route from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveRoute from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveFurore_com
 
Vitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionVitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionEwout Kramer
 
Edifecs- warming up to fhir
Edifecs- warming up to fhirEdifecs- warming up to fhir
Edifecs- warming up to fhirEdifecs Inc
 
FHIR Profiles
FHIR ProfilesFHIR Profiles
FHIR ProfilesDavid Hay
 
IHE France on FHIR
IHE France on FHIRIHE France on FHIR
IHE France on FHIREwout Kramer
 
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
 
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
 

What's hot (20)

FHIR Profiling tutorial
FHIR Profiling tutorialFHIR Profiling tutorial
FHIR Profiling tutorial
 
Authoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionAuthoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended version
 
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
 
FHIR and DICOM by Marten Smits
FHIR and DICOM by Marten SmitsFHIR and DICOM by Marten Smits
FHIR and DICOM by Marten Smits
 
FHIR Tutorial - Morning
FHIR Tutorial - MorningFHIR Tutorial - Morning
FHIR Tutorial - Morning
 
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
 
Introduction to FHIR™
Introduction to FHIR™Introduction to FHIR™
Introduction to FHIR™
 
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)
 
Nhs trusts meeting at salford
Nhs trusts meeting at salfordNhs trusts meeting at salford
Nhs trusts meeting at salford
 
Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Advanced .NET API (Ewout)
Advanced .NET API (Ewout)
 
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
 
FHIR tutorial - Afternoon
FHIR tutorial - AfternoonFHIR tutorial - Afternoon
FHIR tutorial - Afternoon
 
Authoring Profiles in FHIR
Authoring Profiles in FHIRAuthoring Profiles in FHIR
Authoring Profiles in FHIR
 
Route from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveRoute from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame Grieve
 
Vitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionVitalis 2016 FHIR Introduction
Vitalis 2016 FHIR Introduction
 
Edifecs- warming up to fhir
Edifecs- warming up to fhirEdifecs- warming up to fhir
Edifecs- warming up to fhir
 
FHIR Profiles
FHIR ProfilesFHIR Profiles
FHIR Profiles
 
IHE France on FHIR
IHE France on FHIRIHE France on FHIR
IHE France on FHIR
 
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
 
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
 

Similar to Profile and validation by Grahame Grieve

Structure definition 101 (ewout)
Structure definition 101 (ewout)Structure definition 101 (ewout)
Structure definition 101 (ewout)DevDays
 
Advanced .net api (ewout)
Advanced .net api (ewout)Advanced .net api (ewout)
Advanced .net api (ewout)DevDays
 
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
 
HL7 Fhir for Developers
HL7 Fhir for DevelopersHL7 Fhir for Developers
HL7 Fhir for DevelopersEwout Kramer
 
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
 
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
 
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
 
FHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIRFHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIREwout Kramer
 
Fhir path (ewout)
Fhir path (ewout)Fhir path (ewout)
Fhir path (ewout)DevDays
 
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
 
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
 
Route from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveRoute from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveFHIR Developer Days
 

Similar to Profile and validation by Grahame Grieve (14)

Structure definition 101 (ewout)
Structure definition 101 (ewout)Structure definition 101 (ewout)
Structure definition 101 (ewout)
 
Advanced .net api (ewout)
Advanced .net api (ewout)Advanced .net api (ewout)
Advanced .net api (ewout)
 
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
 
HL7 Fhir for Developers
HL7 Fhir for DevelopersHL7 Fhir for Developers
HL7 Fhir for Developers
 
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...
 
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
 
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
 
FHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIRFHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIR
 
Fhir path (ewout)
Fhir path (ewout)Fhir path (ewout)
Fhir path (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)
 
FHIR: What's it All About?
FHIR: What's it All About?FHIR: What's it All About?
FHIR: What's it All About?
 
Hl7 advance cda may 2019 webinar
Hl7 advance cda may 2019 webinarHl7 advance cda may 2019 webinar
Hl7 advance cda may 2019 webinar
 
Route from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveRoute from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame Grieve
 

Recently uploaded

Call Girls Service Faridabad 📲 9999965857 ヅ10k NiGhT Call Girls In Faridabad
Call Girls Service Faridabad 📲 9999965857 ヅ10k NiGhT Call Girls In FaridabadCall Girls Service Faridabad 📲 9999965857 ヅ10k NiGhT Call Girls In Faridabad
Call Girls Service Faridabad 📲 9999965857 ヅ10k NiGhT Call Girls In Faridabadgragmanisha42
 
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in LucknowRussian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknowgragteena
 
VIP Call Girls Sector 67 Gurgaon Just Call Me 9711199012
VIP Call Girls Sector 67 Gurgaon Just Call Me 9711199012VIP Call Girls Sector 67 Gurgaon Just Call Me 9711199012
VIP Call Girls Sector 67 Gurgaon Just Call Me 9711199012Call Girls Service Gurgaon
 
Call Girls Service Chandigarh Gori WhatsApp ❤7710465962 VIP Call Girls Chandi...
Call Girls Service Chandigarh Gori WhatsApp ❤7710465962 VIP Call Girls Chandi...Call Girls Service Chandigarh Gori WhatsApp ❤7710465962 VIP Call Girls Chandi...
Call Girls Service Chandigarh Gori WhatsApp ❤7710465962 VIP Call Girls Chandi...Niamh verma
 
Hot Call Girl In Ludhiana 👅🥵 9053'900678 Call Girls Service In Ludhiana
Hot  Call Girl In Ludhiana 👅🥵 9053'900678 Call Girls Service In LudhianaHot  Call Girl In Ludhiana 👅🥵 9053'900678 Call Girls Service In Ludhiana
Hot Call Girl In Ludhiana 👅🥵 9053'900678 Call Girls Service In LudhianaRussian Call Girls in Ludhiana
 
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...Call Girls Noida
 
Udaipur Call Girls 📲 9999965857 Call Girl in Udaipur
Udaipur Call Girls 📲 9999965857 Call Girl in UdaipurUdaipur Call Girls 📲 9999965857 Call Girl in Udaipur
Udaipur Call Girls 📲 9999965857 Call Girl in Udaipurseemahedar019
 
Dehradun Call Girls Service 08854095900 Real Russian Girls Looking Models
Dehradun Call Girls Service 08854095900 Real Russian Girls Looking ModelsDehradun Call Girls Service 08854095900 Real Russian Girls Looking Models
Dehradun Call Girls Service 08854095900 Real Russian Girls Looking Modelsindiancallgirl4rent
 
Nepali Escort Girl * 9999965857 Naughty Call Girls Service in Faridabad
Nepali Escort Girl * 9999965857 Naughty Call Girls Service in FaridabadNepali Escort Girl * 9999965857 Naughty Call Girls Service in Faridabad
Nepali Escort Girl * 9999965857 Naughty Call Girls Service in Faridabadgragteena
 
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real MeetChandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meetpriyashah722354
 
💚😋Mumbai Escort Service Call Girls, ₹5000 To 25K With AC💚😋
💚😋Mumbai Escort Service Call Girls, ₹5000 To 25K With AC💚😋💚😋Mumbai Escort Service Call Girls, ₹5000 To 25K With AC💚😋
💚😋Mumbai Escort Service Call Girls, ₹5000 To 25K With AC💚😋Sheetaleventcompany
 
Krishnagiri call girls Tamil aunty 7877702510
Krishnagiri call girls Tamil aunty 7877702510Krishnagiri call girls Tamil aunty 7877702510
Krishnagiri call girls Tamil aunty 7877702510Vipesco
 
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Russian Call Girls Amritsar
 
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★indiancallgirl4rent
 
indian Call Girl Panchkula ❤️🍑 9907093804 Low Rate Call Girls Ludhiana Tulsi
indian Call Girl Panchkula ❤️🍑 9907093804 Low Rate Call Girls Ludhiana Tulsiindian Call Girl Panchkula ❤️🍑 9907093804 Low Rate Call Girls Ludhiana Tulsi
indian Call Girl Panchkula ❤️🍑 9907093804 Low Rate Call Girls Ludhiana TulsiHigh Profile Call Girls Chandigarh Aarushi
 
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In RaipurCall Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipurgragmanisha42
 
Dehradun Call Girls Service ❤️🍑 8854095900 👄🫦Independent Escort Service Dehradun
Dehradun Call Girls Service ❤️🍑 8854095900 👄🫦Independent Escort Service DehradunDehradun Call Girls Service ❤️🍑 8854095900 👄🫦Independent Escort Service Dehradun
Dehradun Call Girls Service ❤️🍑 8854095900 👄🫦Independent Escort Service DehradunNiamh verma
 
Call Girls Amritsar 💯Call Us 🔝 8725944379 🔝 💃 Independent Escort Service Amri...
Call Girls Amritsar 💯Call Us 🔝 8725944379 🔝 💃 Independent Escort Service Amri...Call Girls Amritsar 💯Call Us 🔝 8725944379 🔝 💃 Independent Escort Service Amri...
Call Girls Amritsar 💯Call Us 🔝 8725944379 🔝 💃 Independent Escort Service Amri...Niamh verma
 
Call Girls Hyderabad Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Hyderabad Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Hyderabad Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Hyderabad Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 

Recently uploaded (20)

Call Girls Service Faridabad 📲 9999965857 ヅ10k NiGhT Call Girls In Faridabad
Call Girls Service Faridabad 📲 9999965857 ヅ10k NiGhT Call Girls In FaridabadCall Girls Service Faridabad 📲 9999965857 ヅ10k NiGhT Call Girls In Faridabad
Call Girls Service Faridabad 📲 9999965857 ヅ10k NiGhT Call Girls In Faridabad
 
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in LucknowRussian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
 
VIP Call Girls Sector 67 Gurgaon Just Call Me 9711199012
VIP Call Girls Sector 67 Gurgaon Just Call Me 9711199012VIP Call Girls Sector 67 Gurgaon Just Call Me 9711199012
VIP Call Girls Sector 67 Gurgaon Just Call Me 9711199012
 
Call Girls Service Chandigarh Gori WhatsApp ❤7710465962 VIP Call Girls Chandi...
Call Girls Service Chandigarh Gori WhatsApp ❤7710465962 VIP Call Girls Chandi...Call Girls Service Chandigarh Gori WhatsApp ❤7710465962 VIP Call Girls Chandi...
Call Girls Service Chandigarh Gori WhatsApp ❤7710465962 VIP Call Girls Chandi...
 
Hot Call Girl In Ludhiana 👅🥵 9053'900678 Call Girls Service In Ludhiana
Hot  Call Girl In Ludhiana 👅🥵 9053'900678 Call Girls Service In LudhianaHot  Call Girl In Ludhiana 👅🥵 9053'900678 Call Girls Service In Ludhiana
Hot Call Girl In Ludhiana 👅🥵 9053'900678 Call Girls Service In Ludhiana
 
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
 
Udaipur Call Girls 📲 9999965857 Call Girl in Udaipur
Udaipur Call Girls 📲 9999965857 Call Girl in UdaipurUdaipur Call Girls 📲 9999965857 Call Girl in Udaipur
Udaipur Call Girls 📲 9999965857 Call Girl in Udaipur
 
Dehradun Call Girls Service 08854095900 Real Russian Girls Looking Models
Dehradun Call Girls Service 08854095900 Real Russian Girls Looking ModelsDehradun Call Girls Service 08854095900 Real Russian Girls Looking Models
Dehradun Call Girls Service 08854095900 Real Russian Girls Looking Models
 
Nepali Escort Girl * 9999965857 Naughty Call Girls Service in Faridabad
Nepali Escort Girl * 9999965857 Naughty Call Girls Service in FaridabadNepali Escort Girl * 9999965857 Naughty Call Girls Service in Faridabad
Nepali Escort Girl * 9999965857 Naughty Call Girls Service in Faridabad
 
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real MeetChandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
 
💚😋Mumbai Escort Service Call Girls, ₹5000 To 25K With AC💚😋
💚😋Mumbai Escort Service Call Girls, ₹5000 To 25K With AC💚😋💚😋Mumbai Escort Service Call Girls, ₹5000 To 25K With AC💚😋
💚😋Mumbai Escort Service Call Girls, ₹5000 To 25K With AC💚😋
 
Krishnagiri call girls Tamil aunty 7877702510
Krishnagiri call girls Tamil aunty 7877702510Krishnagiri call girls Tamil aunty 7877702510
Krishnagiri call girls Tamil aunty 7877702510
 
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
 
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
 
indian Call Girl Panchkula ❤️🍑 9907093804 Low Rate Call Girls Ludhiana Tulsi
indian Call Girl Panchkula ❤️🍑 9907093804 Low Rate Call Girls Ludhiana Tulsiindian Call Girl Panchkula ❤️🍑 9907093804 Low Rate Call Girls Ludhiana Tulsi
indian Call Girl Panchkula ❤️🍑 9907093804 Low Rate Call Girls Ludhiana Tulsi
 
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In RaipurCall Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
 
Dehradun Call Girls Service ❤️🍑 8854095900 👄🫦Independent Escort Service Dehradun
Dehradun Call Girls Service ❤️🍑 8854095900 👄🫦Independent Escort Service DehradunDehradun Call Girls Service ❤️🍑 8854095900 👄🫦Independent Escort Service Dehradun
Dehradun Call Girls Service ❤️🍑 8854095900 👄🫦Independent Escort Service Dehradun
 
Call Girls Amritsar 💯Call Us 🔝 8725944379 🔝 💃 Independent Escort Service Amri...
Call Girls Amritsar 💯Call Us 🔝 8725944379 🔝 💃 Independent Escort Service Amri...Call Girls Amritsar 💯Call Us 🔝 8725944379 🔝 💃 Independent Escort Service Amri...
Call Girls Amritsar 💯Call Us 🔝 8725944379 🔝 💃 Independent Escort Service Amri...
 
Model Call Girl in Subhash Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Subhash Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Subhash Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Subhash Nagar Delhi reach out to us at 🔝9953056974🔝
 
Call Girls Hyderabad Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Hyderabad Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Hyderabad Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Hyderabad Just Call 9907093804 Top Class Call Girl Service Available
 

Profile and validation by Grahame Grieve

  • 1. Profiles and Validation Grahame Grieve FHIR Developer Days November 26, 2014 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 2. The need for Profiles Healthcare is a highly variable domain  Between Countries  Between Disciplines  Between different clinicians within a single practice  Between different IT implementations There’s no single authority to set the rules 2 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 3. The need for Profiles From RFC 2119 An implementation which does not include a particular option MUST be prepared to interoperate with another implementation which does include the option, though perhaps with reduced functionality. In the same vein an implementation which does include a particular option MUST be prepared to interoperate with another implementation which does not include the option (except, of course, for the feature the option provides.) 3 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 4. The need for Profiles  We can’t expect global interoperability  The goal of FHIR is to create a common platform or framework  It’s a small step from common implementations to interoperability 4 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 5. © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 6. © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 7. © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 8. © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 9. The last step  It’s a small step from platform from implementation  “how do you use the platform?”  The Conformance resources give the answer 9 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 10. Use cases  Application Statement of Functionality  Domain Specialist Guidance  Purchaser’s/Integrator’s statement of intent  Regional/National statement of agreements 10 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 11. Conformance Layer  Value set – definitions of codes and sets of codes  Profile – statement of how a resource is used  Conformance – statement of how a system behaves (client or server)  Concept Map – maps from one system to another (codes or fields) 11 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 12. Value Set  Describe a set of concepts  Can include codes from LOINC, SNOMED CT etc  By listing them, or by their properties  Can define their own codes  Can add descriptions to codes  Basis for a terminology service 12 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 13. Profile  Describes a set of rules about what can be in a profile  By implication, how it is used  Describes Extension (defines them and their meaning)  Describes search parameters for a resource 13 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 14. Conformance Statement  Describes what resources are supported  What operations are possible  What profiles apply to resources  What security rules apply  Required for servers  encouraged for clients 14 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 15. Profile Metadata (1) Name Use identifier Globally unique URI, OID, or UUID version Identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp name Natural language name identifying the Profile status draft, active, retired date Date that this version of the profile was published fhirVersion Version of the FHIR specification on which this profile is based Mostly not necessary: most profiles are valid across multiple versions, validity can be checked by tooling. 15 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 16. Profile Metadata (2) Name Use publisher Individual or organization who accepts responsibility for publishing the profile telecom Contact details to assist a user in finding and communicating with the publisher description A free text natural language description of the profile and its use requirements The Scope and Usage that this profile was created to meet code A set of terms from external terminologies that may be used to assist with indexing and searching of profiles 16 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 17. Profile Contents  Metadata – context + findability  Structure 0..* - constraint on a resource or data type  Search Parameter 0..*  Extension Definition 0..*- an extension that can be used in a resource 17 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 18. Profile Structure Name Use type The Resource or Data Type being described name Name for this particular structure (reference target) e.g. uri#[name] to reference this structure publish Whether this can be used as an external reference e.g. you can define “support” structures that aren’t “entry points” purpose Human description of the purpose of this structure element Definition of the actual constraints on the elements of the type 18 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 19. Profile Structure  A linear list of Elements  Each Element has a path  The path specifies a tree of elements with a ‘.’ name e.g. Patient.contact.telecom  The type of an element can specify further contained trees e.g.  a Data Type  a reference to another part of the tree 19 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 20. Profile Structure  ValueSet  ValueSet.identifier : string  ValueSet.telecom : Contact  ValueSet.define  ValueSet.define.system  ValueSet.define.concept  ValueSet.define.concept.concept : @ ValueSet.define.concept 20 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 21. Profile Structure  An element for each node in the path  Can’t “imply” elements  The element refers to a pre-defined resource element  Profile can’t define it’s own new data elements  Profile can “walk into” a data type  E.g. ValueSet.telecom.use 21 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 22. Structure / Element  A set of rules on the element content  Cannot define any new content the element isn’t allowed to have  Cannot revoke any rules already established in the base resource 22 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 23. Structure / Element  Cardinality – how many times the element can appear  Binding – what codes can be used (if coded)  Constraints – additional content rules  Type – restrict the contents be referring to another (profiled) type  Meanings + mappings – what the content means 23 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 24. Cardinality  Base cardinality 0..1, 1..1, 0..*, 1.. *  Can increase minimum up to max (but not *)  Can decrease maximum down to min  E.g.  1..1: can’t do anything with it  0..1: can change to 0..0 or 1..1  0..*: can change to 0..0, 0..3, 1..2 etc  1..*: can change to 1..1, 1..2, 1..3 etc 24 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 25. Binding  Elements that have codes:  code  Coding  CodeableConcept  Quantity (system + code)  All elements are “bound” to a value set – the set of codes that are allowed to be used 25 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 26. Binding Properties Name Use name Arbitrary descriptive name for the binding (should be optional, but is a tooling limitation) description A description of the kind of codes in the value set (optional) isExtensible Whether additional codes can be used conformance The degree of conformance associated with the binding reference A reference to a value set or an external standard that provides the set of codes 26 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 27. Binding Conformance Conformance indicates the expectations for implementers of the specification required Only codes in the specified set are allowed. preferred For greater interoperability, implementers are strongly encouraged to use the bound set of codes, however alternate codes may be used in profiles if necessary without being considered non-conformant. example The codes in the set are an example to illustrate the meaning of the field. There is no particular preference for its use 27 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 28. Binding Extensibility isExtensible indicates whether additional codes are allowed beyond those in the defined set of codes false No additional codes are to be used beyond the list provided true Supplemental codes or plain text may be needed (this is common because it is reasonable to think that concepts will need to be used which won't be in the defined set of codes) 28 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 29. Conformance vs Extensibility 29 Conformance isExtensible=false isExtensible=true Required Implementers SHALL use a code from the defined set Implementers SHALL use a code from the defined set if one is applicable, but otherwise may provide their own code or use text Preferred Implementers SHOULD use a code from the defined set Implementers SHOULD use a code from the defined set if one is applicable, but MAY provide their own code or use text Example Implementers MAY use a code from the defined set Implementers MAY use a code from the defined set or provide their own code or use text © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 30. Constraining Bindings  Profiles “replace” the binding  New name, rules, value set reference  Codes that were not valid cannot become valid  Profiles can override “SHOULD” 30 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 31. Constraints  Attach to an element  Make rules about it’s content  Have a name, a human readable statement, and a machine processible format (XPath)  Can say anything that can be said in XPath  Can reference constraints from the sub elements that it affects 31 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 32. Example Constraint  Human: If you have a procedure that has a complication, it must have some follow up  A ‘business rule’ that can’t be in the base spec  Context: Procedure  XPath: not(exists(f:complication)) or exists(f:followUp) 32 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 33. Constraining the Type  Elements that do not have children defined in the profile must have a type  Type can have a profile applied  E.g. type must conform to the profile  If the resource allows multiple types, can restrict to a single type e.g. value[x]  valueString  Or to lesser set of choices e.g. string or Quantity 33 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 34. Meaning / Mapping  Profiles can change the meaning and mappings of the element  Meaning must be consistent, but can be narrower. E.g:  Can’t change “Date Time this was made available” to “Date/Time the doctor saw it”  Can change “date time this was made available” to “Date/Time posted to the portal” 34 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 35. Constraining Lists  If an element can repeat, it’s common to constrain the repeats differently:  The first code must come LOINC  First, the chemistry observations, then the microbiology ones  A blood pressure has components for Systolic and Diastolic pressures  Vital signs must have a component observation for posture, for prior exercise, and for stress estimate (e.g. children) 35 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 36. Constraining Lists  Can’t just divide the list up into different slots in the instance  General systems can’t process the data  Divide the list into “slices” – implied slots rather than explicit slots 36 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 37. Slicing 37 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 38. Slicing <Observation> ... <related> <type value="component"/> <target ...> </related> <related> <type value="component"/> <target ...> </related> </Observation> 38 Systolic Slice Diastolic Slice © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 39. Slicing  If you know about the slices, you can process by them  If you don’t know, what you don’t know won’t hurt you  But how can you tell which elements are in which slice?  Need to do this in generated code 39 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 40. Slicing Discriminator  Depth first constraint testing  Reasonably easy but computationally intensive  Hard to produce comprehensible error messages  No good for generated code  So we add a shortcut - the “discriminator”  A field that has a fixed or limited set of values that differs for each slice  E.g. switch () on the values of the field  Profile designer has to organize this 40 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 41. Slicing discriminator Path to the element that is holds the discriminating value ordered Whether the slices have to appear in the order in which they are defined (mostly, it doesn’t matter, but when it does, it’s important) rules Closed - No additional content is allowed other than that described by the slices in this profile Open - Additional content is allowed anywhere in the list openAtEnd - Additional content is allowed, but only at the end of the list (must be ordered) 41 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 42. Slicing in a profile  Multiple element definitions with the same path  Elements differentiated by their “name”  Name is the name of the slice  Just like you can refer to an element by path, you can refer to a slice by name and re-use it (.element.definition.nameReference) 42 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 43. Extensions  Every Element has extension : Extension 0..*  So saying that an extension must appear on an element is actually “constraining” an element  This is done by slicing the extension list with extension.url as the discriminator 43 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 44. Extensions (2)  Extensions can be prohibited by closing the extension list with no defined slices  Making an extension optional in an open list is just a reminder that it’s allowed – it’s allowed anyway 44 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 45. Extension Definition  Define an extension as a profile on the base Extension type  all the techniques we already talked about  Give it a code. URL for the extension is [profile]#[code]  Define where it can be used 45 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 46. Extension Context 46 Code Definition resource The context is all elements matching a particular resource element path. datatype The context is all nodes matching a particular data type element path (root or repeating element) or all elements referencing a particular primitive data type (expressed as the datatype name). mapping The context is all nodes whose mapping to a specified reference model corresponds to a particular mapping structure. The context identifies the mapping target. The mapping should clearly identify where such an extension could be used. extension The context is a particular extension from a particular profile. Expressed as uri#name, where uri identifies the profile and #name identifies the extension code. © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 47. Search Parameter Property Meaning name The name to use in the URL type The rules around interpreting the parameter value documentation Description of the parameter xpath XPath used to extract the values (not all parameters have an XPath) target A list of the resource types that are possible targets (if type is a reference) 47 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 48. Summary  Profiles can “constrain” the use and meaning of the contents of a resource or type  There’s a fair bit of complexity in the fine details of the solution  Represents 20 years of work on “design by constraint” 48 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 49. Changes DSTU  Dev  Introduce Differential vs Snapshot  Decompose Profile into  Profile  ExtensionDefinition  SearchParameter  Discriminator 1..1  0..*  Add pattern, default value 49 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 50. Using Profiles  How to validate  Code Generation Considerations  Future tooling anticipated 50 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 51. How to validate  Schema – validates the base structure, never profiles  Schematron – could generate schematron for a profile (but don’t yet)  Java Validator  RESTful API  Web Validator 51 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 52. Java Validator  Source (from downloads page): http://hl7.org/documentcenter/public/standards/FHIR/validator.zip  Contains validator jar + base definitions + a readme  FHIRValidator.jar [source] (-defn [definitions]) (-output [output]) (-profile [profile])  Profile – file name or URL of a Profile resource 52 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 53. RESTful API  Post the resource to [base]/[type]/_validate(/[id])  Without ID: Is this resource valid?  With ID: is this a valid update  Validate against a profile: add a profile tag to the HTTP headers: Category: [url]; scheme= "http://hl7.org/fhir/tag/profile" 53 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 54. Use the Web Interface  http://fhir.healthintersections.com.au/open Go to bottom of page 54 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 55. UML Theory of Profiles object Class Model ? + classCode: CS = STD + id: II = 1.2.3.4.5::2234 + statusCode: CS = ACTIVE This instance conforms to all three models. Which is the class? © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 56. Simple Class Model object Class Model Student + classCode: CS = STD + id: II = 1.2.3.4.5::2234 + statusCode: CS = ACTIVE © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 57. “Student” as a template ? Student is treated as a set of rules instead of a “class” definition – doesn’t take ownership object Class Model IdentifiedPerson + classCode: CS = STD + id: II = 1.2.3.4.5::2234 + statusCode: CS = ACTIVE © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 58. “Student” as a template Use Stereotype “Student” to mark the relationship (class or instance level) object Class Model «Student» IdentifiedPerson + classCode: CS = STD + id: II = 1.2.3.4.5::2234 + statusCode: CS = ACTIVE © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 59. “IdentifiedPerson” as a template Use Stereotype “Student” and “IdentifiedPerson” to mark the relationships object Class Model «Student,IdentifiedPerson» Role + classCode: CS = STD + id: II = 1.2.3.4.5::2234 + statusCode: CS = ACTIVE © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 60. OO Design theory  Design by Inheritance  Design by Composition  Design by Constraint  Which is actually design by Contract on steroids 60 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 61. Code Generation  A profile is not a “specialisation”  You can generate them that way, but it’s not a perfect fit class MyProfiledResource extends Resource  I generate them as a façade class MyProfiledResource extends ProfileWrapper constructor (Resource wrapped) 61 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 62. Future Tools  Profile Registry (desperately needed)  Profile Comparison Tooling  Do profiles overlap  Are profiles compatible  Clinical Reasoning tools using profiles + additional resources 62 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 63. Profiles  A tool for managing fractal variance  Only as successful as the community wants to make them 63 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.