This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
(v5.0.0-draft-final:
Final
QA
Preview
for
R5
-
STU
see
ballot
notes
).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
FHIR
Infrastructure
Work
Group
|
Maturity Level : 1 | Trial Use | Security Category : Anonymous | Compartments : Not linked to any defined compartments |
A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.
An
implementation
guide
(IG)
is
a
set
of
rules
about
how
FHIR
resources
are
used
(or
should
be
used)
to
solve
a
particular
problem,
with
associated
documentation
to
support
and
clarify
the
usage.
Classically,
FHIR
implementation
guides
are
published
on
the
web
after
they
are
generated
using
the
FHIR
Implementation
Guide
Publisher
.
The
ImplementationGuide
resource
is
a
single
resource
that
defines
the
logical
content
of
the
IG,
along
with
the
important
entry
pages
into
the
publication,
so
that
the
logical
package
that
the
IG
represents,
so
that
the
contents
are
computable.
In particular, validators are able to use the ImplementationGuide resource to validate content against the implementation guide as a whole. The significant conformance expectation introduced by the ImplementationGuide resource is the idea of Default Profiles . Implementations may conform to multiple implementation guides at once, but this requires that the implementation guides are compatible (see below ).
Implementation Guides contain two different types of resource references:
An application's Capability Statement may identify one or more implementation guides that an application conforms to.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
A
set
of
rules
about
how
FHIR
is
used
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Rule: If a resource has a fhirVersion, it must be Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: CanonicalResource |
|
|
Σ C | 1..1 | uri |
Canonical
identifier
for
this
implementation
guide,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ |
|
Identifier |
Additional
identifier
for
the
implementation
guide
(business
identifier)
|
![]() ![]() | Σ | 0..1 | string |
Business
version
of
the
implementation
guide
|
| Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) | |
![]() ![]() ![]() | string | |||
![]() ![]() ![]() | Coding | |||
|
Σ C | 1..1 | string |
Name
for
this
implementation
guide
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
implementation
guide
(human
friendly)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
purposes,
not
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
T | 0..1 | markdown |
Natural
language
description
of
the
implementation
guide
|
|
Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
implementation
guide
(if
applicable)
Binding: Jurisdiction ValueSet ( Extensible ) |
|
T | 0..1 | markdown |
Why
this
implementation
guide
is
defined
|
![]() ![]() | T | 0..1 | markdown |
Use
and/or
publishing
restrictions
|
| T | 0..1 | string |
Copyright
holder
and
year(s)
|
|
Σ | 1..1 | id |
NPM
Package
name
for
IG
|
|
Σ | 0..1 | code |
SPDX
license
code
for
this
IG
(or
not-open-source)
Binding: |
|
Σ C | 1..* | code |
FHIR
Version(s)
this
Implementation
Guide
targets
Binding: FHIRVersion ( Required ) |
|
Σ | 0..* | BackboneElement |
Another
Implementation
guide
this
depends
on
|
|
Σ | 1..1 | canonical ( ImplementationGuide ) |
Identity
of
the
IG
that
this
depends
on
|
|
Σ | 0..1 | id |
NPM
Package
name
for
IG
this
depends
on
|
|
Σ | 0..1 | string |
Version
of
the
IG
|
| 0..1 | markdown |
Why
dependency
exists
| |
|
Σ | 0..* | BackboneElement |
Profiles
that
apply
globally
|
|
Σ | 1..1 | code |
Type
this
profile
applies
to
Binding: |
|
Σ | 1..1 | canonical ( StructureDefinition ) |
Profile
that
all
resources
must
conform
to
|
|
|
0..1 | BackboneElement |
Information
needed
to
build
the
IG
+ Rule: If a resource has a groupingId, it must refer to a grouping defined in the Implementation Guide |
|
C | 0..* | BackboneElement |
Grouping
used
to
present
related
resources
in
the
IG
|
|
T | 1..1 | string |
Descriptive
name
for
the
package
|
|
T | 0..1 |
|
Human
readable
text
describing
the
package
|
|
C | 0..* | BackboneElement |
Resource
in
the
implementation
guide
|
|
1..1 | Reference ( Any ) |
Location
of
the
resource
|
|
|
C | 0..* | code |
Versions
this
applies
to
(if
different
to
IG)
Binding: FHIRVersion ( Required ) |
|
T | 0..1 | string |
Human
|
|
T | 0..1 |
|
Reason
why
included
in
guide
|
|
0..1 | boolean |
Is
this
an
example
|
|
|
0..* | canonical ( StructureDefinition ) |
Profile(s)
this
is
an
example
of
|
|
|
C | 0..1 | id |
Grouping
this
is
part
of
|
|
C | 0..1 | BackboneElement |
Page/Section
in
the
Guide
+ Rule: Source must be absent if 'generated' is generated |
|
T C |
|
|
|
|
url | |||
|
string | |||
|
markdown | |||
|
1..1 | url |
Name
of
the
page
when
published
|
|
|
T | 1..1 | string |
Short
title
shown
for
navigational
assistance
|
|
C | 1..1 | code |
html
|
markdown
|
xml
|
generated
Binding: |
|
0..* | see page |
Nested
Pages
/
Sections
|
|
|
0..* | BackboneElement |
Defines
how
IG
is
built
by
tools
|
|
|
1..1 |
|
Binding: |
|
|
1..1 | string |
Value
for
named
type
|
|
|
0..* | BackboneElement |
A
template
for
building
resources
|
|
|
1..1 | code |
Type
of
template
specified
|
|
|
1..1 | string |
The
source
location
for
the
template
|
|
|
0..1 | string |
The
scope
in
which
the
template
applies
|
|
|
0..1 | BackboneElement |
Information
about
an
assembled
IG
|
|
|
Σ | 0..1 | url |
Location
of
rendered
implementation
guide
|
|
Σ | 1..* | BackboneElement |
Resource
in
the
implementation
guide
|
|
Σ | 1..1 | Reference ( Any ) |
Location
of
the
resource
|
|
0..1 | boolean |
Is
|
|
|
|
|
Profile(s)
this
is
an
example
of
|
|
|
0..1 | url |
Relative
path
for
page
in
IG
|
|
|
0..* | BackboneElement |
HTML
page
within
the
parent
IG
|
|
|
1..1 | string |
HTML
page
name
|
|
|
0..1 | string |
Title
of
the
page,
for
references
|
|
|
0..* | string |
Anchor
available
on
the
page
|
|
|
0..* | string |
Image
within
the
IG
|
|
|
0..* | string |
Additional
linkable
file
in
IG
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<ImplementationGuide xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<<url value="[uri]"/><!-- 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the implementation guide (business identifier) --></identifier> <version value="[string]"/><!-- 0..1 Business version of the implementation guide --><<versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 1..1 Name for this implementation guide (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this implementation guide (human friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->< <<date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the implementation guide --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for implementation guide (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this implementation guide is defined --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <packageId value="[id]"/><!-- 1..1 NPM Package name for IG --> <license value="[code]"/><!-- 0..1 SPDX license code for this IG (or not-open-source) --><<fhirVersion value="[code]"/><!-- I 1..* FHIR Version(s) this Implementation Guide targets --> <dependsOn> <!-- 0..* Another Implementation guide this depends on --> <uri><!-- 1..1 canonical(ImplementationGuide) Identity of the IG that this depends on --></uri> <packageId value="[id]"/><!-- 0..1 NPM Package name for IG this depends on --> <version value="[string]"/><!-- 0..1 Version of the IG --> <reason value="[markdown]"/><!-- 0..1 Why dependency exists --> </dependsOn> <global> <!-- 0..* Profiles that apply globally --> <type value="[code]"/><!-- 1..1 Type this profile applies to --> <profile><!-- 1..1 canonical(StructureDefinition) Profile that all resources must conform to --></profile> </global>< <<definition> <!-- I 0..1 Information needed to build the IG --> <grouping> <!-- I 0..* Grouping used to present related resources in the IG --> <name value="[string]"/><!-- 1..1 Descriptive name for the package --><<description value="[markdown]"/><!-- 0..1 Human readable text describing the package --> </grouping><<resource> <!-- I 0..* Resource in the implementation guide --> <reference><!-- 1..1 Reference(Any) Location of the resource --></reference>< < < <</example[x]> <<fhirVersion value="[code]"/><!-- I 0..* Versions this applies to (if different to IG) --> <name value="[string]"/><!-- 0..1 Human readable name for the resource --> <description value="[markdown]"/><!-- 0..1 Reason why included in guide --> <isExample value="[boolean]"/><!-- 0..1 Is this an example --> <profile><!-- 0..* canonical(StructureDefinition) Profile(s) this is an example of --></profile> <groupingId value="[id]"/><!-- I 0..1 Grouping this is part of --> </resource> <page> <!-- 0..1 Page/Section in the Guide --><</name[x]><source[x]><!-- I 0..1 url|string|markdown Source for page --></source[x]> <name value="[url]"/><!-- 1..1 Name of the page when published --> <title value="[string]"/><!-- 1..1 Short title shown for navigational assistance --><<generation value="[code]"/><!-- I 1..1 html | markdown | xml | generated --> <page><!-- 0..* Content as for ImplementationGuide.definition.page Nested Pages / Sections --></page> </page>< <<parameter> <!-- 0..* Defines how IG is built by tools --> <code><!-- 1..1 Coding Code that identifies parameter --></code> <value value="[string]"/><!-- 1..1 Value for named type --> </parameter> <template> <!-- 0..* A template for building resources --> <code value="[code]"/><!-- 1..1 Type of template specified --> <source value="[string]"/><!-- 1..1 The source location for the template --> <scope value="[string]"/><!-- 0..1 The scope in which the template applies --> </template> </definition> <manifest> <!-- 0..1 Information about an assembled IG --> <rendering value="[url]"/><!-- 0..1 Location of rendered implementation guide --> <resource> <!-- 1..* Resource in the implementation guide --> <reference><!-- 1..1 Reference(Any) Location of the resource --></reference><</example[x]><isExample value="[boolean]"/><!-- 0..1 Is this an example --> <profile><!-- 0..* canonical(StructureDefinition) Profile(s) this is an example of --></profile> <relativePath value="[url]"/><!-- 0..1 Relative path for page in IG --> </resource> <page> <!-- 0..* HTML page within the parent IG --> <name value="[string]"/><!-- 1..1 HTML page name --> <title value="[string]"/><!-- 0..1 Title of the page, for references --> <anchor value="[string]"/><!-- 0..* Anchor available on the page --> </page> <image value="[string]"/><!-- 0..* Image within the IG --> <other value="[string]"/><!-- 0..* Additional linkable file in IG --> </manifest> </ImplementationGuide>
JSON Template
{
"resourceType" : "ImplementationGuide",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"url" : "<uri>", // R! Canonical identifier for this implementation guide, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the implementation guide (business identifier)
"version" : "<string>", // Business version of the implementation guide
"
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I R! Name for this implementation guide (computer friendly)
"title" : "<string>", // Name for this implementation guide (human friendly)
"status" : "<code>", // R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing purposes, not real usage
"
"
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the implementation guide
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for implementation guide (if applicable)
"purpose" : "<markdown>", // Why this implementation guide is defined
"copyright" : "<markdown>", // Use and/or publishing restrictions
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"packageId" : "<id>", // R! NPM Package name for IG
"license" : "<code>", // SPDX license code for this IG (or not-open-source)
"
"fhirVersion" : ["<code>"], // I R! FHIR Version(s) this Implementation Guide targets
"dependsOn" : [{ // Another Implementation guide this depends on
"
"uri" : "<canonical(ImplementationGuide)>", // R! Identity of the IG that this depends on
"packageId" : "<id>", // NPM Package name for IG this depends on
"
"version" : "<string>", // Version of the IG
"reason" : "<markdown>" // Why dependency exists
}],
"global" : [{ // Profiles that apply globally
"type" : "<code>", // R! Type this profile applies to
"
"profile" : "<canonical(StructureDefinition)>" // R! Profile that all resources must conform to
}],
"
"
"definition" : { // I Information needed to build the IG
"grouping" : [{ // I Grouping used to present related resources in the IG
"name" : "<string>", // R! Descriptive name for the package
"
"description" : "<markdown>" // Human readable text describing the package
}],
"
"resource" : [{ // I Resource in the implementation guide
"reference" : { Reference(Any) }, // R! Location of the resource
"
"
"
">,
" },
"
"fhirVersion" : ["<code>"], // I Versions this applies to (if different to IG)
"name" : "<string>", // Human readable name for the resource
"description" : "<markdown>", // Reason why included in guide
"isExample" : <boolean>, // Is this an example
"profile" : ["<canonical(StructureDefinition)>"], // Profile(s) this is an example of
"groupingId" : "<id>" // I Grouping this is part of
}],
"page" : { // Page/Section in the Guide
">",
" },
// source[x]: Source for page. One of these 3:
"sourceUrl" : "<url>",
"sourceString" : "<string>",
"sourceMarkdown" : "<markdown>",
"name" : "<url>", // R! Name of the page when published
"title" : "<string>", // R! Short title shown for navigational assistance
"
"generation" : "<code>", // I R! html | markdown | xml | generated
"page" : [{ Content as for ImplementationGuide.definition.page }] // Nested Pages / Sections
},
"
"
"parameter" : [{ // Defines how IG is built by tools
"code" : { Coding }, // R! Code that identifies parameter
"value" : "<string>" // R! Value for named type
}],
"template" : [{ // A template for building resources
"code" : "<code>", // R! Type of template specified
"source" : "<string>", // R! The source location for the template
"scope" : "<string>" // The scope in which the template applies
}]
},
"manifest" : { // Information about an assembled IG
"rendering" : "<url>", // Location of rendered implementation guide
"resource" : [{ // R! Resource in the implementation guide
"reference" : { Reference(Any) }, // R! Location of the resource
">,
" },
"isExample" : <boolean>, // Is this an example
"profile" : ["<canonical(StructureDefinition)>"], // Profile(s) this is an example of
"relativePath" : "<url>" // Relative path for page in IG
}],
"page" : [{ // HTML page within the parent IG
"name" : "<string>", // R! HTML page name
"title" : "<string>", // Title of the page, for references
"anchor" : ["<string>"] // Anchor available on the page
}],
"image" : ["<string>"], // Image within the IG
"other" : ["<string>"] // Additional linkable file in IG
}
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:ImplementationGuide; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir:) ] fhir: ], ...; fhir: # . One of these 2 fhir: ] fhir:) ] fhir: fhir: fhir: ]; fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: ], ...; ]; fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir:) ] fhir: ], ...; fhir: fhir: fhir: fhir: ], ...; fhir: fhir: ];fhir:url [ uri ] ; # 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the implementation guide (business identifier) fhir:version [ string ] ; # 0..1 Business version of the implementation guide # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2 fhir:versionAlgorithm [ a fhir:string ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 1..1 I Name for this implementation guide (computer friendly) fhir:title [ string ] ; # 0..1 Name for this implementation guide (human friendly) fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the implementation guide fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for implementation guide (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this implementation guide is defined fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:packageId [ id ] ; # 1..1 NPM Package name for IG fhir:license [ code ] ; # 0..1 SPDX license code for this IG (or not-open-source) fhir:fhirVersion ( [ code ] ... ) ; # 1..* I FHIR Version(s) this Implementation Guide targets fhir:dependsOn ( [ # 0..* Another Implementation guide this depends on fhir:uri [ canonical(ImplementationGuide) ] ; # 1..1 Identity of the IG that this depends on fhir:packageId [ id ] ; # 0..1 NPM Package name for IG this depends on fhir:version [ string ] ; # 0..1 Version of the IG fhir:reason [ markdown ] ; # 0..1 Why dependency exists ] ... ) ; fhir:global ( [ # 0..* Profiles that apply globally fhir:type [ code ] ; # 1..1 Type this profile applies to fhir:profile [ canonical(StructureDefinition) ] ; # 1..1 Profile that all resources must conform to ] ... ) ; fhir:definition [ # 0..1 I Information needed to build the IG fhir:grouping ( [ # 0..* I Grouping used to present related resources in the IG fhir:name [ string ] ; # 1..1 Descriptive name for the package fhir:description [ markdown ] ; # 0..1 Human readable text describing the package ] ... ) ; fhir:resource ( [ # 0..* I Resource in the implementation guide fhir:reference [ Reference(Any) ] ; # 1..1 Location of the resource fhir:fhirVersion ( [ code ] ... ) ; # 0..* I Versions this applies to (if different to IG) fhir:name [ string ] ; # 0..1 Human readable name for the resource fhir:description [ markdown ] ; # 0..1 Reason why included in guide fhir:isExample [ boolean ] ; # 0..1 Is this an example fhir:profile ( [ canonical(StructureDefinition) ] ... ) ; # 0..* Profile(s) this is an example of fhir:groupingId [ id ] ; # 0..1 I Grouping this is part of ] ... ) ; fhir:page [ # 0..1 Page/Section in the Guide # source[x] : 0..1 I Source for page. One of these 3 fhir:source [ a fhir:url ; url ] fhir:source [ a fhir:string ; string ] fhir:source [ a fhir:markdown ; markdown ] fhir:name [ url ] ; # 1..1 Name of the page when published fhir:title [ string ] ; # 1..1 Short title shown for navigational assistance fhir:generation [ code ] ; # 1..1 I html | markdown | xml | generated fhir:page ( [ See ImplementationGuide.definition.page ] ... ) ; # 0..* Nested Pages / Sections ] ; fhir:parameter ( [ # 0..* Defines how IG is built by tools fhir:code [ Coding ] ; # 1..1 Code that identifies parameter fhir:value [ string ] ; # 1..1 Value for named type ] ... ) ; fhir:template ( [ # 0..* A template for building resources fhir:code [ code ] ; # 1..1 Type of template specified fhir:source [ string ] ; # 1..1 The source location for the template fhir:scope [ string ] ; # 0..1 The scope in which the template applies ] ... ) ; ] ; fhir:manifest [ # 0..1 Information about an assembled IG fhir:rendering [ url ] ; # 0..1 Location of rendered implementation guide fhir:resource ( [ # 1..* Resource in the implementation guide fhir:reference [ Reference(Any) ] ; # 1..1 Location of the resource fhir:isExample [ boolean ] ; # 0..1 Is this an example fhir:profile ( [ canonical(StructureDefinition) ] ... ) ; # 0..* Profile(s) this is an example of fhir:relativePath [ url ] ; # 0..1 Relative path for page in IG ] ... ) ; fhir:page ( [ # 0..* HTML page within the parent IG fhir:name [ string ] ; # 1..1 HTML page name fhir:title [ string ] ; # 0..1 Title of the page, for references fhir:anchor ( [ string ] ... ) ; # 0..* Anchor available on the page ] ... ) ; fhir:image ( [ string ] ... ) ; # 0..* Image within the IG fhir:other ( [ string ] ... ) ; # 0..* Additional linkable file in IG ] ; ]
Changes since R4
| ImplementationGuide | |
| ImplementationGuide.identifier |
|
| ImplementationGuide.versionAlgorithm[x] |
|
| ImplementationGuide.purpose |
|
| ImplementationGuide.copyrightLabel |
|
| ImplementationGuide.dependsOn.reason |
|
| ImplementationGuide.definition.grouping.description |
|
| ImplementationGuide.definition.resource |
|
| ImplementationGuide.definition.resource.description |
|
| ImplementationGuide.definition.resource.isExample |
|
| ImplementationGuide.definition.resource.profile |
|
| ImplementationGuide.definition.page.source[x] |
|
| ImplementationGuide.definition.page.name |
|
| ImplementationGuide.definition.parameter.code |
|
| ImplementationGuide.manifest.resource.isExample |
|
| ImplementationGuide.manifest.resource.profile |
|
| ImplementationGuide.definition.resource.example[x] |
|
| ImplementationGuide.definition.page.name[x] |
|
| ImplementationGuide.manifest.resource.example[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
1
test
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
1
r3
resources
are
invalid
(0
errors).
)
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
A
set
of
rules
about
how
FHIR
is
used
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Rule: If a resource has a fhirVersion, it must be Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: CanonicalResource |
|
|
Σ C | 1..1 | uri |
Canonical
identifier
for
this
implementation
guide,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ |
|
Identifier |
Additional
identifier
for
the
implementation
guide
(business
identifier)
|
![]() ![]() | Σ | 0..1 | string |
Business
version
of
the
implementation
guide
|
| Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) | |
![]() ![]() ![]() | string | |||
![]() ![]() ![]() | Coding | |||
|
Σ C | 1..1 | string |
Name
for
this
implementation
guide
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
implementation
guide
(human
friendly)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
purposes,
not
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
T | 0..1 | markdown |
Natural
language
description
of
the
implementation
guide
|
|
Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
implementation
guide
(if
applicable)
Binding: Jurisdiction ValueSet ( Extensible ) |
|
T | 0..1 | markdown |
Why
this
implementation
guide
is
defined
|
![]() ![]() | T | 0..1 | markdown |
Use
and/or
publishing
restrictions
|
| T | 0..1 | string |
Copyright
holder
and
year(s)
|
|
Σ | 1..1 | id |
NPM
Package
name
for
IG
|
|
Σ | 0..1 | code |
SPDX
license
code
for
this
IG
(or
not-open-source)
Binding: |
|
Σ C | 1..* | code |
FHIR
Version(s)
this
Implementation
Guide
targets
Binding: FHIRVersion ( Required ) |
|
Σ | 0..* | BackboneElement |
Another
Implementation
guide
this
depends
on
|
|
Σ | 1..1 | canonical ( ImplementationGuide ) |
Identity
of
the
IG
that
this
depends
on
|
|
Σ | 0..1 | id |
NPM
Package
name
for
IG
this
depends
on
|
|
Σ | 0..1 | string |
Version
of
the
IG
|
| 0..1 | markdown |
Why
dependency
exists
| |
|
Σ | 0..* | BackboneElement |
Profiles
that
apply
globally
|
|
Σ | 1..1 | code |
Type
this
profile
applies
to
Binding: |
|
Σ | 1..1 | canonical ( StructureDefinition ) |
Profile
that
all
resources
must
conform
to
|
|
|
0..1 | BackboneElement |
Information
needed
to
build
the
IG
+ Rule: If a resource has a groupingId, it must refer to a grouping defined in the Implementation Guide |
|
C | 0..* | BackboneElement |
Grouping
used
to
present
related
resources
in
the
IG
|
|
T | 1..1 | string |
Descriptive
name
for
the
package
|
|
T | 0..1 |
|
Human
readable
text
describing
the
package
|
|
C | 0..* | BackboneElement |
Resource
in
the
implementation
guide
|
|
1..1 | Reference ( Any ) |
Location
of
the
resource
|
|
|
C | 0..* | code |
Versions
this
applies
to
(if
different
to
IG)
Binding: FHIRVersion ( Required ) |
|
T | 0..1 | string |
Human
|
|
T | 0..1 |
|
Reason
why
included
in
guide
|
|
0..1 | boolean |
Is
this
an
example
|
|
|
0..* | canonical ( StructureDefinition ) |
Profile(s)
this
is
an
example
of
|
|
|
C | 0..1 | id |
Grouping
this
is
part
of
|
|
C | 0..1 | BackboneElement |
Page/Section
in
the
Guide
+ Rule: Source must be absent if 'generated' is generated |
|
T C |
|
|
|
|
url | |||
| string | |||
|
markdown | |||
|
1..1 | url |
Name
of
the
page
when
published
|
|
|
T | 1..1 | string |
Short
title
shown
for
navigational
assistance
|
|
C | 1..1 | code |
html
|
markdown
|
xml
|
generated
Binding: |
|
0..* | see page |
Nested
Pages
/
Sections
|
|
|
0..* | BackboneElement |
Defines
how
IG
is
built
by
tools
|
|
|
1..1 |
|
Binding: |
|
|
1..1 | string |
Value
for
named
type
|
|
|
0..* | BackboneElement |
A
template
for
building
resources
|
|
|
1..1 | code |
Type
of
template
specified
|
|
|
1..1 | string |
The
source
location
for
the
template
|
|
|
0..1 | string |
The
scope
in
which
the
template
applies
|
|
|
0..1 | BackboneElement |
Information
about
an
assembled
IG
|
|
|
Σ | 0..1 | url |
Location
of
rendered
implementation
guide
|
|
Σ | 1..* | BackboneElement |
Resource
in
the
implementation
guide
|
|
Σ | 1..1 | Reference ( Any ) |
Location
of
the
resource
|
|
0..1 | boolean |
Is
|
|
|
|
|
Profile(s)
this
is
an
example
of
|
|
|
0..1 | url |
Relative
path
for
page
in
IG
|
|
|
0..* | BackboneElement |
HTML
page
within
the
parent
IG
|
|
|
1..1 | string |
HTML
page
name
|
|
|
0..1 | string |
Title
of
the
page,
for
references
|
|
|
0..* | string |
Anchor
available
on
the
page
|
|
|
0..* | string |
Image
within
the
IG
|
|
|
0..* | string |
Additional
linkable
file
in
IG
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<ImplementationGuide xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<<url value="[uri]"/><!-- 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the implementation guide (business identifier) --></identifier> <version value="[string]"/><!-- 0..1 Business version of the implementation guide --><<versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 1..1 Name for this implementation guide (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this implementation guide (human friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->< <<date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the implementation guide --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for implementation guide (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this implementation guide is defined --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <packageId value="[id]"/><!-- 1..1 NPM Package name for IG --> <license value="[code]"/><!-- 0..1 SPDX license code for this IG (or not-open-source) --><<fhirVersion value="[code]"/><!-- I 1..* FHIR Version(s) this Implementation Guide targets --> <dependsOn> <!-- 0..* Another Implementation guide this depends on --> <uri><!-- 1..1 canonical(ImplementationGuide) Identity of the IG that this depends on --></uri> <packageId value="[id]"/><!-- 0..1 NPM Package name for IG this depends on --> <version value="[string]"/><!-- 0..1 Version of the IG --> <reason value="[markdown]"/><!-- 0..1 Why dependency exists --> </dependsOn> <global> <!-- 0..* Profiles that apply globally --> <type value="[code]"/><!-- 1..1 Type this profile applies to --> <profile><!-- 1..1 canonical(StructureDefinition) Profile that all resources must conform to --></profile> </global>< <<definition> <!-- I 0..1 Information needed to build the IG --> <grouping> <!-- I 0..* Grouping used to present related resources in the IG --> <name value="[string]"/><!-- 1..1 Descriptive name for the package --><<description value="[markdown]"/><!-- 0..1 Human readable text describing the package --> </grouping><<resource> <!-- I 0..* Resource in the implementation guide --> <reference><!-- 1..1 Reference(Any) Location of the resource --></reference>< < < <</example[x]> <<fhirVersion value="[code]"/><!-- I 0..* Versions this applies to (if different to IG) --> <name value="[string]"/><!-- 0..1 Human readable name for the resource --> <description value="[markdown]"/><!-- 0..1 Reason why included in guide --> <isExample value="[boolean]"/><!-- 0..1 Is this an example --> <profile><!-- 0..* canonical(StructureDefinition) Profile(s) this is an example of --></profile> <groupingId value="[id]"/><!-- I 0..1 Grouping this is part of --> </resource> <page> <!-- 0..1 Page/Section in the Guide --><</name[x]><source[x]><!-- I 0..1 url|string|markdown Source for page --></source[x]> <name value="[url]"/><!-- 1..1 Name of the page when published --> <title value="[string]"/><!-- 1..1 Short title shown for navigational assistance --><<generation value="[code]"/><!-- I 1..1 html | markdown | xml | generated --> <page><!-- 0..* Content as for ImplementationGuide.definition.page Nested Pages / Sections --></page> </page>< <<parameter> <!-- 0..* Defines how IG is built by tools --> <code><!-- 1..1 Coding Code that identifies parameter --></code> <value value="[string]"/><!-- 1..1 Value for named type --> </parameter> <template> <!-- 0..* A template for building resources --> <code value="[code]"/><!-- 1..1 Type of template specified --> <source value="[string]"/><!-- 1..1 The source location for the template --> <scope value="[string]"/><!-- 0..1 The scope in which the template applies --> </template> </definition> <manifest> <!-- 0..1 Information about an assembled IG --> <rendering value="[url]"/><!-- 0..1 Location of rendered implementation guide --> <resource> <!-- 1..* Resource in the implementation guide --> <reference><!-- 1..1 Reference(Any) Location of the resource --></reference><</example[x]><isExample value="[boolean]"/><!-- 0..1 Is this an example --> <profile><!-- 0..* canonical(StructureDefinition) Profile(s) this is an example of --></profile> <relativePath value="[url]"/><!-- 0..1 Relative path for page in IG --> </resource> <page> <!-- 0..* HTML page within the parent IG --> <name value="[string]"/><!-- 1..1 HTML page name --> <title value="[string]"/><!-- 0..1 Title of the page, for references --> <anchor value="[string]"/><!-- 0..* Anchor available on the page --> </page> <image value="[string]"/><!-- 0..* Image within the IG --> <other value="[string]"/><!-- 0..* Additional linkable file in IG --> </manifest> </ImplementationGuide>
JSON Template
{
"resourceType" : "ImplementationGuide",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"url" : "<uri>", // R! Canonical identifier for this implementation guide, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the implementation guide (business identifier)
"version" : "<string>", // Business version of the implementation guide
"
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I R! Name for this implementation guide (computer friendly)
"title" : "<string>", // Name for this implementation guide (human friendly)
"status" : "<code>", // R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing purposes, not real usage
"
"
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the implementation guide
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for implementation guide (if applicable)
"purpose" : "<markdown>", // Why this implementation guide is defined
"copyright" : "<markdown>", // Use and/or publishing restrictions
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"packageId" : "<id>", // R! NPM Package name for IG
"license" : "<code>", // SPDX license code for this IG (or not-open-source)
"
"fhirVersion" : ["<code>"], // I R! FHIR Version(s) this Implementation Guide targets
"dependsOn" : [{ // Another Implementation guide this depends on
"
"uri" : "<canonical(ImplementationGuide)>", // R! Identity of the IG that this depends on
"packageId" : "<id>", // NPM Package name for IG this depends on
"
"version" : "<string>", // Version of the IG
"reason" : "<markdown>" // Why dependency exists
}],
"global" : [{ // Profiles that apply globally
"type" : "<code>", // R! Type this profile applies to
"
"profile" : "<canonical(StructureDefinition)>" // R! Profile that all resources must conform to
}],
"
"
"definition" : { // I Information needed to build the IG
"grouping" : [{ // I Grouping used to present related resources in the IG
"name" : "<string>", // R! Descriptive name for the package
"
"description" : "<markdown>" // Human readable text describing the package
}],
"
"resource" : [{ // I Resource in the implementation guide
"reference" : { Reference(Any) }, // R! Location of the resource
"
"
"
">,
" },
"
"fhirVersion" : ["<code>"], // I Versions this applies to (if different to IG)
"name" : "<string>", // Human readable name for the resource
"description" : "<markdown>", // Reason why included in guide
"isExample" : <boolean>, // Is this an example
"profile" : ["<canonical(StructureDefinition)>"], // Profile(s) this is an example of
"groupingId" : "<id>" // I Grouping this is part of
}],
"page" : { // Page/Section in the Guide
">",
" },
// source[x]: Source for page. One of these 3:
"sourceUrl" : "<url>",
"sourceString" : "<string>",
"sourceMarkdown" : "<markdown>",
"name" : "<url>", // R! Name of the page when published
"title" : "<string>", // R! Short title shown for navigational assistance
"
"generation" : "<code>", // I R! html | markdown | xml | generated
"page" : [{ Content as for ImplementationGuide.definition.page }] // Nested Pages / Sections
},
"
"
"parameter" : [{ // Defines how IG is built by tools
"code" : { Coding }, // R! Code that identifies parameter
"value" : "<string>" // R! Value for named type
}],
"template" : [{ // A template for building resources
"code" : "<code>", // R! Type of template specified
"source" : "<string>", // R! The source location for the template
"scope" : "<string>" // The scope in which the template applies
}]
},
"manifest" : { // Information about an assembled IG
"rendering" : "<url>", // Location of rendered implementation guide
"resource" : [{ // R! Resource in the implementation guide
"reference" : { Reference(Any) }, // R! Location of the resource
">,
" },
"isExample" : <boolean>, // Is this an example
"profile" : ["<canonical(StructureDefinition)>"], // Profile(s) this is an example of
"relativePath" : "<url>" // Relative path for page in IG
}],
"page" : [{ // HTML page within the parent IG
"name" : "<string>", // R! HTML page name
"title" : "<string>", // Title of the page, for references
"anchor" : ["<string>"] // Anchor available on the page
}],
"image" : ["<string>"], // Image within the IG
"other" : ["<string>"] // Additional linkable file in IG
}
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:ImplementationGuide; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir:) ] fhir: ], ...; fhir: # . One of these 2 fhir: ] fhir:) ] fhir: fhir: fhir: ]; fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: ], ...; ]; fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir:) ] fhir: ], ...; fhir: fhir: fhir: fhir: ], ...; fhir: fhir: ];fhir:url [ uri ] ; # 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the implementation guide (business identifier) fhir:version [ string ] ; # 0..1 Business version of the implementation guide # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2 fhir:versionAlgorithm [ a fhir:string ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 1..1 I Name for this implementation guide (computer friendly) fhir:title [ string ] ; # 0..1 Name for this implementation guide (human friendly) fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the implementation guide fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for implementation guide (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this implementation guide is defined fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:packageId [ id ] ; # 1..1 NPM Package name for IG fhir:license [ code ] ; # 0..1 SPDX license code for this IG (or not-open-source) fhir:fhirVersion ( [ code ] ... ) ; # 1..* I FHIR Version(s) this Implementation Guide targets fhir:dependsOn ( [ # 0..* Another Implementation guide this depends on fhir:uri [ canonical(ImplementationGuide) ] ; # 1..1 Identity of the IG that this depends on fhir:packageId [ id ] ; # 0..1 NPM Package name for IG this depends on fhir:version [ string ] ; # 0..1 Version of the IG fhir:reason [ markdown ] ; # 0..1 Why dependency exists ] ... ) ; fhir:global ( [ # 0..* Profiles that apply globally fhir:type [ code ] ; # 1..1 Type this profile applies to fhir:profile [ canonical(StructureDefinition) ] ; # 1..1 Profile that all resources must conform to ] ... ) ; fhir:definition [ # 0..1 I Information needed to build the IG fhir:grouping ( [ # 0..* I Grouping used to present related resources in the IG fhir:name [ string ] ; # 1..1 Descriptive name for the package fhir:description [ markdown ] ; # 0..1 Human readable text describing the package ] ... ) ; fhir:resource ( [ # 0..* I Resource in the implementation guide fhir:reference [ Reference(Any) ] ; # 1..1 Location of the resource fhir:fhirVersion ( [ code ] ... ) ; # 0..* I Versions this applies to (if different to IG) fhir:name [ string ] ; # 0..1 Human readable name for the resource fhir:description [ markdown ] ; # 0..1 Reason why included in guide fhir:isExample [ boolean ] ; # 0..1 Is this an example fhir:profile ( [ canonical(StructureDefinition) ] ... ) ; # 0..* Profile(s) this is an example of fhir:groupingId [ id ] ; # 0..1 I Grouping this is part of ] ... ) ; fhir:page [ # 0..1 Page/Section in the Guide # source[x] : 0..1 I Source for page. One of these 3 fhir:source [ a fhir:url ; url ] fhir:source [ a fhir:string ; string ] fhir:source [ a fhir:markdown ; markdown ] fhir:name [ url ] ; # 1..1 Name of the page when published fhir:title [ string ] ; # 1..1 Short title shown for navigational assistance fhir:generation [ code ] ; # 1..1 I html | markdown | xml | generated fhir:page ( [ See ImplementationGuide.definition.page ] ... ) ; # 0..* Nested Pages / Sections ] ; fhir:parameter ( [ # 0..* Defines how IG is built by tools fhir:code [ Coding ] ; # 1..1 Code that identifies parameter fhir:value [ string ] ; # 1..1 Value for named type ] ... ) ; fhir:template ( [ # 0..* A template for building resources fhir:code [ code ] ; # 1..1 Type of template specified fhir:source [ string ] ; # 1..1 The source location for the template fhir:scope [ string ] ; # 0..1 The scope in which the template applies ] ... ) ; ] ; fhir:manifest [ # 0..1 Information about an assembled IG fhir:rendering [ url ] ; # 0..1 Location of rendered implementation guide fhir:resource ( [ # 1..* Resource in the implementation guide fhir:reference [ Reference(Any) ] ; # 1..1 Location of the resource fhir:isExample [ boolean ] ; # 0..1 Is this an example fhir:profile ( [ canonical(StructureDefinition) ] ... ) ; # 0..* Profile(s) this is an example of fhir:relativePath [ url ] ; # 0..1 Relative path for page in IG ] ... ) ; fhir:page ( [ # 0..* HTML page within the parent IG fhir:name [ string ] ; # 1..1 HTML page name fhir:title [ string ] ; # 0..1 Title of the page, for references fhir:anchor ( [ string ] ... ) ; # 0..* Anchor available on the page ] ... ) ; fhir:image ( [ string ] ... ) ; # 0..* Image within the IG fhir:other ( [ string ] ... ) ; # 0..* Additional linkable file in IG ] ; ]
Changes since Release 4
| ImplementationGuide | |
| ImplementationGuide.identifier |
|
| ImplementationGuide.versionAlgorithm[x] |
|
| ImplementationGuide.purpose |
|
| ImplementationGuide.copyrightLabel |
|
| ImplementationGuide.dependsOn.reason |
|
| ImplementationGuide.definition.grouping.description |
|
| ImplementationGuide.definition.resource |
|
| ImplementationGuide.definition.resource.description |
|
| ImplementationGuide.definition.resource.isExample |
|
| ImplementationGuide.definition.resource.profile |
|
| ImplementationGuide.definition.page.source[x] |
|
| ImplementationGuide.definition.page.name |
|
| ImplementationGuide.definition.parameter.code |
|
| ImplementationGuide.manifest.resource.isExample |
|
| ImplementationGuide.manifest.resource.profile |
|
| ImplementationGuide.definition.resource.example[x] |
|
| ImplementationGuide.definition.page.name[x] |
|
| ImplementationGuide.manifest.resource.example[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
1
test
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
1
r3
resources
are
invalid
(0
errors).
)
See
the
Profiles
&
Extensions
and
the
alternate
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
,
the
extensions
spreadsheet
version
&
the
dependency
analysis
| Path |
|
Type |
|
|---|---|---|---|
| ImplementationGuide.versionAlgorithm[x] | VersionAlgorithm | Extensible | Indicates the mechanism used to compare versions to determine which is more current. |
| ImplementationGuide.status | PublicationStatus | Required |
The lifecycle status of an artifact. |
| ImplementationGuide.jurisdiction | JurisdictionValueSet | Extensible |
This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.
Note:
The
codes
for
countries
and
country
subdivisions
are
taken
from
ISO
3166
|
| ImplementationGuide.license | SPDXLicense | Required |
The license that applies to an Implementation Guide (using an SPDX license Identifiers, or 'not-open-source'). The binding is required but new SPDX license Identifiers are allowed to be used (https://spdx.org/licenses/). |
| ImplementationGuide.fhirVersion | FHIRVersion | Required |
All published FHIR Versions. |
| ImplementationGuide.global.type | ResourceType | Required |
Concrete FHIR Resource Types |
| ImplementationGuide.definition.resource.fhirVersion | FHIRVersion | Required |
All published FHIR Versions. |
| ImplementationGuide.definition.page.generation | GuidePageGeneration | Required |
A code that indicates how the page is generated. |
| ImplementationGuide.definition.parameter.code | GuideParameterCode |
|
Codes used to define implementation guide parameters |
|
|
Level | Location | Description | Expression |
cnl-0
|
Warning | (base) | Name should be usable as an identifier for the module by machine processing applications such as code generation |
name.exists()
implies
|
cnl-1
| Warning | ImplementationGuide.url | URL should not contain | or # - these characters make processing canonical references problematic | exists() implies matches('^[^|# ]+$') |
ig-1
|
Rule | ImplementationGuide.definition | If a resource has a groupingId, it must refer to a grouping defined in the Implementation Guide | resource.groupingId.all(%context.grouping.id contains $this) |
ig-2
|
Rule | (base) |
If
a
resource
has
a
fhirVersion,
it
must
be
|
definition.resource.fhirVersion.all(%context.fhirVersion contains $this) |
ig-3
| Rule | ImplementationGuide.definition.page | Source must be absent if 'generated' is generated | generation='generated' implies source.empty() |
Implementation Guides are published through the FHIR Package distribution system. For further details, see the FHIR NPM Packages .
Implementation Guides can be produced using any tooling that produces a human readable output and a package that includes an ImplementationGuide along with all the supporting resources it refers to, and their dependencies. Note that dependencies included in other packages that the Implementation guide identifies as dependencies are not included in the package.
See
Confluence
site
.
This
for
a
list
of
tools
that
can
assist
with
authoring
implementation
guides.
HL7
publishes
a
Guidance
Implementation
Guide
that
provides
specific
guidance
on
best
practices
around
IG
creation
as
well
as
information
about
some
of
the
tooling
extensions
and
capabilities
relevant
to
creation
and
publication
of
implementation
guides.
Note
that
this
documentation
mixes
general
documentation
about
the
design
of
implementation
guides
with
tooling
specific
advice
based
on
one
particular
tool.
Implementation
Guides
are
packages
of
both
computer
processible
content
may
(resources)
and
human
readable
documentation
(html).
The
resources
typically
specify
some
combination
of:
Note
that
any
kinds
of
resources
can
be
moved
into
included;
these
are
just
the
specification
common
uses.
In
addition,
in
a
future
version.
the
human
readable
portions,
implementation
guides
often:
Most
implementation
guides
target
a
single
version
-
that
is,
they
describe
how
to
use
a
particular
version,
and
all
the
profiles,
value
sets
and
examples
they
contain
etc
etc.
are
valid
for
that
particular
version.
In other cases, however, implementation of an implementation guide is not confined to a single version. Typically, the requirement to support multiple versions arises as implementation matures and different implementation communities are stuck at different versions by regulation or market dynamics. Applications may be stuck at different versions of the specification. See Managing Multiple Versions for further information about cross-version support.
For this reason, implementation guides might describe how to use multiple different versions of FHIR for the same purpose. The different versions might have different profiles, extensions, and examples, while sharing common value set definitions, for example. For some reasons, profiles and examples could be common across all versions. And an implementation guide will generally have a lot of common narrative describing the problem, security approaches, and other deployment information irrespective of specific FHIR versions.
An implementation guide specifies which versions of FHIR it describes in the ImplementationGuide.fhirVersion property:
"fhirVersion" : ["3.0", "4.0"],"fhirVersion" : ["4.0", "5.0"],
This
specifies
that
the
implementation
guide
applies
to
both
release
3
Release
4
and
Release
4
5
.
Note
that
the
patch
version
(".1"
for
Release
3)
is
omitted,
since
the
patch
releases
never
make
changes
that
make
any
difference
to
Implementation
Guides.
Note
that
it
is
possible
to
have
an
Implementation
Guide
that
declares
support
for
one
version
and
imports
an
Implementation
Guide
that
declares
support
for
a
different
version.
It
is
up
to
the
importing
IG
ad/or
the
tooling
that
supports
Implenentation
Implementation
Guides
to
determine
whether
it's
safe
and/or
appropriate
to
reference
the
different
resources
from
the
new
IG,
and
what
to
make
of
this.
As yet, there is no experience with multi-version implementation guides and current publication tooling does not support creation of such IGs. As we work to evolve the tools to provide such support, additional guidance on how such guides should be created, what types of content can safely be shared across versions, and how such sharing should occur will be forthcoming.
An
implementation
guide
can
define
default
profiles
using
ImplementationGuide.global
-
these
are
profiles
that
apply
to
any
resource
that
does
not
otherwise
have
an
explicit
profile
assigned
by
the
implementation
guide.
Default
profiles
are
always
references
to
profiles
(
StructureDefinition
resources)
that
are
also
contained
in
the
resources.
By
defining
default
profiles,
an
implementation
guide
can
save
itself
from
exhaustively
defining
profiles
on
every
resource
type
just
to
profile
every
reference
to
a
particular
resource
type.
Note that a resource can conform to the default profile by conforming to any profile derived from it.
Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
| context | token | A use context assigned to the implementation guide |
|
30 Resources |
| context-quantity | quantity | A quantity- or range-valued use context assigned to the implementation guide |
|
30 Resources |
| context-type | token | A type of use context assigned to the implementation guide | ImplementationGuide.useContext.code | 30 Resources |
| context-type-quantity | composite | A use context type and quantity- or range-based value assigned to the implementation guide |
On
ImplementationGuide.useContext:
context-type: code context-quantity: |
30 Resources |
| context-type-value | composite | A use context type and value assigned to the implementation guide |
On
ImplementationGuide.useContext:
context-type: code context: |
30 Resources |
| date | date | The implementation guide publication date | ImplementationGuide.date | 30 Resources |
| depends-on | reference | Identity of the IG that this depends on |
ImplementationGuide.dependsOn.uri
( ImplementationGuide ) |
|
| description | string | The description of the implementation guide | ImplementationGuide.description | 28 Resources |
| experimental | token | For testing purposes, not real usage | ImplementationGuide.experimental | |
| global | reference | Profile that all resources must conform to |
ImplementationGuide.global.profile
( StructureDefinition ) |
|
| identifier N | token | External identifier for the implementation guide | ImplementationGuide.identifier | 33 Resources |
| jurisdiction | token | Intended jurisdiction for the implementation guide | ImplementationGuide.jurisdiction | 26 Resources |
| name | string | Computationally friendly name of the implementation guide | ImplementationGuide.name | 26 Resources |
| publisher | string | Name of the publisher of the implementation guide | ImplementationGuide.publisher | 30 Resources |
| resource | reference | Location of the resource |
ImplementationGuide.definition.resource.reference
(Any) |
|
| status | token | The current status of the implementation guide | ImplementationGuide.status | 34 Resources |
| title | string | The human-friendly name of the implementation guide | ImplementationGuide.title | 27 Resources |
| url | uri | The uri that identifies the implementation guide | ImplementationGuide.url | 33 Resources |
| version | token | The business version of the implementation guide | ImplementationGuide.version | 30 Resources |