This page is part of the FHIR Specification (v1.4.0:
STU
3 Ballot 3). The current version which supercedes this version is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
. For a full list of available versions, see the
Directory of published versions
.
Page
versions:
. Page versions:
R5
R4B
R4
R3
R2
|
|
Compartments
|
A set of rules or how FHIR is used to solve a particular problem. 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" defines a particular scope of usage for FHIR, and sets a bounded set of expectations for implementations to comply to.
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 applications Conformance Statement may identify one or more implementation guides that an application conforms to.
The ImplementationGuide resource is defined for two principle reasons:
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
DomainResource |
|
||
|
Σ | 1..1 | uri |
|
|
Σ | 0..1 | string |
|
|
Σ | 1..1 | string |
|
|
|
1..1 | code |
ConformanceResourceStatus |
|
Σ | 0..1 | boolean |
|
|
Σ | 0..1 | string |
|
|
Σ | 0..* | BackboneElement |
|
|
Σ | 0..1 | string |
|
|
Σ | 0..* | ContactPoint |
|
|
Σ | 0..1 | dateTime |
|
|
Σ | 0..1 | string |
|
|
Σ | 0..* | CodeableConcept |
|
|
0..1 | string |
|
|
|
Σ | 0..1 | id |
|
|
Σ | 0..* | BackboneElement |
|
|
Σ | 1..1 | code |
GuideDependencyType |
|
Σ | 1..1 | uri |
|
|
Σ | 1..* | BackboneElement |
|
|
Σ | 1..1 | string |
|
|
0..1 | string |
|
|
|
Σ | 1..* | BackboneElement |
|
|
Σ | 1..1 |
|
|
|
Σ | 0..1 | string |
|
|
0..1 | string |
|
|
|
0..1 | string |
|
|
|
Σ | 1..1 |
|
|
|
uri | |||
|
Reference ( Any ) | |||
|
0..1 | Reference ( StructureDefinition ) |
|
|
|
Σ | 0..* | BackboneElement |
|
|
Σ | 1..1 | code |
ResourceType |
|
Σ | 1..1 | Reference ( StructureDefinition ) |
|
|
0..* | uri |
|
|
|
Σ | 1..1 | BackboneElement |
|
|
Σ | 1..1 | uri |
|
|
Σ | 1..1 | string |
|
|
Σ | 1..1 | code |
GuidePageKind |
|
0..* | code |
ResourceType |
|
|
0..* | string |
|
|
|
0..1 | code |
|
|
|
0..* |
|
|
|
Documentation for this format
|
||||
UML
Diagram
UML Diagram
XML
Template
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 Absolute URL used to reference this Implementation Guide --> <version value="[string]"/><!-- 0..1 Logical id for this version of the Implementation Guide --> <name value="[string]"/><!-- 1..1 Informal name for this Implementation Guide --> <status value="[code]"/><!-- 1..1 draft | active | retired --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact> <!-- 0..* Contact details of the publisher -->
<<name value="[string]"/><!-- 0..1 Name of an individual to contact --> <telecom><!-- 0..* ContactPoint Contact details for individual or publisher --></telecom> </contact> <date value="[dateTime]"/><!-- 0..1 Date for this version of the Implementation Guide --> <description value="[string]"/><!-- 0..1 Natural language description of the Implementation Guide --> <useContext><!-- 0..* CodeableConcept The implementation guide is intended to support these contexts --></useContext> <copyright value="[string]"/><!-- 0..1 Use and/or publishing restrictions --><<fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets --> <dependency> <!-- 0..* Another Implementation guide this depends on --> <type value="[code]"/><!-- 1..1 reference | inclusion --> <uri value="[uri]"/><!-- 1..1 Where to find dependency --> </dependency> <package> <!-- 1..* Group of resources as used in .page.package --> <name value="[string]"/><!-- 1..1 Name used .page.package --> <description value="[string]"/><!-- 0..1 Human readable text describing the package --> <resource> <!-- 1..* Resource in the implementation guide --><<example value="[boolean]"/><!-- 1..1 If not an example, has it's normal meaning --> <name value="[string]"/><!-- 0..1 Human Name for the resource --> <description value="[string]"/><!-- 0..1 Reason why included in guide --> <acronym value="[string]"/><!-- 0..1 Short code to identify the resource --> <source[x]><!-- 1..1 uri|Reference(Any) Location of the resource --></source[x]> <exampleFor><!-- 0..1 Reference(StructureDefinition) Resource this is an example of (if applicable) --></exampleFor> </resource> </package> <global> <!-- 0..* Profiles that apply globally --> <type value="[code]"/><!-- 1..1 Type this profiles applies to --> <profile><!-- 1..1 Reference(StructureDefinition) Profile that all resources must conform to --></profile> </global> <binary value="[uri]"/><!-- 0..* Image, css, script, etc. --> <page> <!-- 1..1 Page/Section in the Guide --> <source value="[uri]"/><!-- 1..1 Where to find that page --> <name value="[string]"/><!-- 1..1 Short name shown for navigational assistance --> <kind value="[code]"/><!-- 1..1 page | example | list | include | directory | dictionary | toc | resource --> <type value="[code]"/><!-- 0..* Kind of resource to include in the list --> <package value="[string]"/><!-- 0..* Name of package to include --> <format value="[code]"/><!-- 0..1 Format of the page (e.g. html, markdown, etc.)--> <page><!-- 0..* Content as for ImplementationGuide.page Nested Pages / Sections --></page> </page> </ImplementationGuide>
JSON
Template
JSON Template
{
"resourceType" : "ImplementationGuide",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // R! Absolute URL used to reference this Implementation Guide
"version" : "<string>", // Logical id for this version of the Implementation Guide
"name" : "<string>", // R! Informal name for this Implementation Guide
"status" : "<code>", // R! draft | active | retired
"experimental" : <boolean>, // If for testing purposes, not real usage
"publisher" : "<string>", // Name of the publisher (Organization or individual)
"contact" : [{ // Contact details of the publisher
"
"name" : "<string>", // Name of an individual to contact
"telecom" : [{ ContactPoint }] // Contact details for individual or publisher
}],
"date" : "<dateTime>", // Date for this version of the Implementation Guide
"description" : "<string>", // Natural language description of the Implementation Guide
"useContext" : [{ CodeableConcept }], // The implementation guide is intended to support these contexts
"copyright" : "<string>", // Use and/or publishing restrictions
"
"fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets
"dependency" : [{ // Another Implementation guide this depends on
"type" : "<code>", // R! reference | inclusion
"uri" : "<uri>" // R! Where to find dependency
}],
"package" : [{ // R! Group of resources as used in .page.package
"name" : "<string>", // R! Name used .page.package
"description" : "<string>", // Human readable text describing the package
"resource" : [{ // R! Resource in the implementation guide
"
"example" : <boolean>, // R! If not an example, has it's normal meaning
"name" : "<string>", // Human Name for the resource
"description" : "<string>", // Reason why included in guide
"acronym" : "<string>", // Short code to identify the resource
// source[x]: Location of the resource. One of these 2:
"sourceUri" : "<uri>",
"sourceReference" : { Reference(Any) },
"exampleFor" : { Reference(StructureDefinition) } // Resource this is an example of (if applicable)
}]
}],
"global" : [{ // Profiles that apply globally
"type" : "<code>", // R! Type this profiles applies to
"profile" : { Reference(StructureDefinition) } // R! Profile that all resources must conform to
}],
"binary" : ["<uri>"], // Image, css, script, etc.
"page" : { // R! Page/Section in the Guide
"source" : "<uri>", // R! Where to find that page
"name" : "<string>", // R! Short name shown for navigational assistance
"kind" : "<code>", // R! page | example | list | include | directory | dictionary | toc | resource
"type" : ["<code>"], // Kind of resource to include in the list
"package" : ["<string>"], // Name of package to include
"format" : "<code>", // Format of the page (e.g. html, markdown, etc.)
"page" : [{ Content as for ImplementationGuide.page }] // Nested Pages / Sections
}
}
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
DomainResource |
|
||
|
Σ | 1..1 | uri |
|
|
Σ | 0..1 | string |
|
|
Σ | 1..1 | string |
|
|
|
1..1 | code |
ConformanceResourceStatus |
|
Σ | 0..1 | boolean |
|
|
Σ | 0..1 | string |
|
|
Σ | 0..* | BackboneElement |
|
|
Σ | 0..1 | string |
|
|
Σ | 0..* | ContactPoint |
|
|
Σ | 0..1 | dateTime |
|
|
Σ | 0..1 | string |
|
|
Σ | 0..* | CodeableConcept |
|
|
0..1 | string |
|
|
|
Σ | 0..1 | id |
|
|
Σ | 0..* | BackboneElement |
|
|
Σ | 1..1 | code |
GuideDependencyType |
|
Σ | 1..1 | uri |
|
|
Σ | 1..* | BackboneElement |
|
|
Σ | 1..1 | string |
|
|
0..1 | string |
|
|
|
Σ | 1..* | BackboneElement |
|
|
Σ | 1..1 |
|
|
|
Σ | 0..1 | string |
|
|
0..1 | string |
|
|
|
0..1 | string |
|
|
|
Σ | 1..1 |
|
|
|
uri | |||
|
Reference ( Any ) | |||
|
0..1 | Reference ( StructureDefinition ) |
|
|
|
Σ | 0..* | BackboneElement |
|
|
Σ | 1..1 | code |
ResourceType |
|
Σ | 1..1 | Reference ( StructureDefinition ) |
|
|
0..* | uri |
|
|
|
Σ | 1..1 | BackboneElement |
|
|
Σ | 1..1 | uri |
|
|
Σ | 1..1 | string |
|
|
Σ | 1..1 | code |
GuidePageKind |
|
0..* | code |
ResourceType |
|
|
0..* | string |
|
|
|
0..1 | code |
|
|
|
0..* |
|
|
|
Documentation for this format
|
||||
XML
Template
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 Absolute URL used to reference this Implementation Guide --> <version value="[string]"/><!-- 0..1 Logical id for this version of the Implementation Guide --> <name value="[string]"/><!-- 1..1 Informal name for this Implementation Guide --> <status value="[code]"/><!-- 1..1 draft | active | retired --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact> <!-- 0..* Contact details of the publisher -->
<<name value="[string]"/><!-- 0..1 Name of an individual to contact --> <telecom><!-- 0..* ContactPoint Contact details for individual or publisher --></telecom> </contact> <date value="[dateTime]"/><!-- 0..1 Date for this version of the Implementation Guide --> <description value="[string]"/><!-- 0..1 Natural language description of the Implementation Guide --> <useContext><!-- 0..* CodeableConcept The implementation guide is intended to support these contexts --></useContext> <copyright value="[string]"/><!-- 0..1 Use and/or publishing restrictions --><<fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets --> <dependency> <!-- 0..* Another Implementation guide this depends on --> <type value="[code]"/><!-- 1..1 reference | inclusion --> <uri value="[uri]"/><!-- 1..1 Where to find dependency --> </dependency> <package> <!-- 1..* Group of resources as used in .page.package --> <name value="[string]"/><!-- 1..1 Name used .page.package --> <description value="[string]"/><!-- 0..1 Human readable text describing the package --> <resource> <!-- 1..* Resource in the implementation guide --><<example value="[boolean]"/><!-- 1..1 If not an example, has it's normal meaning --> <name value="[string]"/><!-- 0..1 Human Name for the resource --> <description value="[string]"/><!-- 0..1 Reason why included in guide --> <acronym value="[string]"/><!-- 0..1 Short code to identify the resource --> <source[x]><!-- 1..1 uri|Reference(Any) Location of the resource --></source[x]> <exampleFor><!-- 0..1 Reference(StructureDefinition) Resource this is an example of (if applicable) --></exampleFor> </resource> </package> <global> <!-- 0..* Profiles that apply globally --> <type value="[code]"/><!-- 1..1 Type this profiles applies to --> <profile><!-- 1..1 Reference(StructureDefinition) Profile that all resources must conform to --></profile> </global> <binary value="[uri]"/><!-- 0..* Image, css, script, etc. --> <page> <!-- 1..1 Page/Section in the Guide --> <source value="[uri]"/><!-- 1..1 Where to find that page --> <name value="[string]"/><!-- 1..1 Short name shown for navigational assistance --> <kind value="[code]"/><!-- 1..1 page | example | list | include | directory | dictionary | toc | resource --> <type value="[code]"/><!-- 0..* Kind of resource to include in the list --> <package value="[string]"/><!-- 0..* Name of package to include --> <format value="[code]"/><!-- 0..1 Format of the page (e.g. html, markdown, etc.)--> <page><!-- 0..* Content as for ImplementationGuide.page Nested Pages / Sections --></page> </page> </ImplementationGuide>
JSON
Template
JSON Template
{
"resourceType" : "ImplementationGuide",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // R! Absolute URL used to reference this Implementation Guide
"version" : "<string>", // Logical id for this version of the Implementation Guide
"name" : "<string>", // R! Informal name for this Implementation Guide
"status" : "<code>", // R! draft | active | retired
"experimental" : <boolean>, // If for testing purposes, not real usage
"publisher" : "<string>", // Name of the publisher (Organization or individual)
"contact" : [{ // Contact details of the publisher
"
"name" : "<string>", // Name of an individual to contact
"telecom" : [{ ContactPoint }] // Contact details for individual or publisher
}],
"date" : "<dateTime>", // Date for this version of the Implementation Guide
"description" : "<string>", // Natural language description of the Implementation Guide
"useContext" : [{ CodeableConcept }], // The implementation guide is intended to support these contexts
"copyright" : "<string>", // Use and/or publishing restrictions
"
"fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets
"dependency" : [{ // Another Implementation guide this depends on
"type" : "<code>", // R! reference | inclusion
"uri" : "<uri>" // R! Where to find dependency
}],
"package" : [{ // R! Group of resources as used in .page.package
"name" : "<string>", // R! Name used .page.package
"description" : "<string>", // Human readable text describing the package
"resource" : [{ // R! Resource in the implementation guide
"
"example" : <boolean>, // R! If not an example, has it's normal meaning
"name" : "<string>", // Human Name for the resource
"description" : "<string>", // Reason why included in guide
"acronym" : "<string>", // Short code to identify the resource
// source[x]: Location of the resource. One of these 2:
"sourceUri" : "<uri>",
"sourceReference" : { Reference(Any) },
"exampleFor" : { Reference(StructureDefinition) } // Resource this is an example of (if applicable)
}]
}],
"global" : [{ // Profiles that apply globally
"type" : "<code>", // R! Type this profiles applies to
"profile" : { Reference(StructureDefinition) } // R! Profile that all resources must conform to
}],
"binary" : ["<uri>"], // Image, css, script, etc.
"page" : { // R! Page/Section in the Guide
"source" : "<uri>", // R! Where to find that page
"name" : "<string>", // R! Short name shown for navigational assistance
"kind" : "<code>", // R! page | example | list | include | directory | dictionary | toc | resource
"type" : ["<code>"], // Kind of resource to include in the list
"package" : ["<string>"], // Name of package to include
"format" : "<code>", // Format of the page (e.g. html, markdown, etc.)
"page" : [{ Content as for ImplementationGuide.page }] // Nested Pages / Sections
}
}
Alternate
definitions:
Alternate definitions:
Schema
/
Schematron
,
Resource
Profile
(
, Resource Profile (
XML
,
,
JSON
),
),
Questionnaire
| Path | Definition | Type | Reference |
|---|---|---|---|
|
|
|
Required | ConformanceResourceStatus |
|
|
|
Extensible |
|
|
|
|
Required |
GuideDependencyType
|
|
ImplementationGuide.global.type
|
|
Required | http://hl7.org/fhir/valueset/resource-types ResourceType |
|
|
|
Required | GuidePageKind |
|
|
|
Required |
|
An implementation guide can define default profiles - 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.
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.
This table declares the compatibility between the various resources as determined by the Implementation Guide comparison tool:
Yet to be done
Search parameters for this resource. The
common parameters
also apply. See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| context | token |
|
ImplementationGuide.useContext |
| date | date |
|
ImplementationGuide.date |
| dependency | uri |
|
ImplementationGuide.dependency.uri |
| description | string |
|
ImplementationGuide.description |
| experimental | token |
|
ImplementationGuide.experimental |
| name | string |
|
ImplementationGuide.name |
| publisher | string |
|
ImplementationGuide.publisher |
| resource | reference | Location of the resource |
ImplementationGuide.package.resource.source[x]
(Any) |
| status | token |
|
ImplementationGuide.status |
| url | uri |
|
ImplementationGuide.url |
| version | token |
|
ImplementationGuide.version |