This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). 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 | Compartments: Not linked to any defined compartments |
A set of rules of 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 (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.
This resource is referenced by capabilitystatement
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ImplementationGuide | TU | DomainResource | A set of rules about how FHIR is used Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
url | Σ | 1..1 | uri | Canonical identifier for this implementation guide, represented as a URI (globally unique) |
version | Σ | 0..1 | string | Business version of the implementation guide |
name | Σ | 1..1 | string | Name for this implementation guide (computer friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
description | 0..1 | markdown | Natural language description of the implementation guide | |
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for implementation guide (if applicable) Jurisdiction ValueSet (Extensible) |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
fhirVersion | Σ | 0..1 | id | FHIR Version this Implementation Guide targets All Published FHIR versions (Required) |
dependsOn | Σ | 0..* | BackboneElement | Another Implementation guide this depends on |
uri | Σ | 1..1 | canonical | Identity of the IG that this depends on |
version | Σ | 0..1 | string | Version of the IG |
global | Σ | 0..* | BackboneElement | Profiles that apply globally |
type | Σ | 1..1 | code | Type this profile applies to ResourceType (Required) |
profile | Σ | 1..1 | canonical | Profile that all resources must conform to |
definition | 0..1 | BackboneElement | Information needed to build the IG | |
package | 0..* | BackboneElement | Group of resources as used in .page.package | |
name | 1..1 | string | Name used .resource.package and .page.package | |
description | 0..1 | string | Human readable text describing the package | |
resource | 1..* | BackboneElement | Resource in the implementation guide | |
reference | 1..1 | Reference(Any) | Location of the resource | |
name | 0..1 | string | Human Name for the resource | |
description | 0..1 | string | Reason why included in guide | |
example[x] | 0..1 | Is an example/What is this an example of? | ||
exampleBoolean | boolean | |||
exampleCanonical | canonical | |||
package | 0..1 | id | Pack this is part of | |
page | 0..1 | BackboneElement | Page/Section in the Guide | |
name[x] | 1..1 | Where to find that page | ||
nameUrl | url | |||
nameReference | Reference(Binary) | |||
title | 1..1 | string | Short title shown for navigational assistance | |
generation | 1..1 | code | html | markdown | xml | generated GuidePageGeneration (Required) | |
page | 0..* | see page | Nested Pages / Sections | |
parameter | 0..* | BackboneElement | Defines how IG is built by tools | |
code | 1..1 | code | apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template GuideParameterCode (Required) | |
value | 1..1 | string | Value for named type | |
template | 0..* | BackboneElement | A template for building resources | |
code | 1..1 | code | Type of template specified | |
source | 1..1 | string | The source location for the template | |
scope | 0..1 | string | The scope in which the template applies | |
manifest | 0..1 | BackboneElement | Information about an assembled IG | |
rendering | Σ | 0..1 | url | Location of rendered implementation guide |
resource | Σ | 1..* | BackboneElement | Resource in the implementation guide |
reference | Σ | 1..1 | Reference(Any) | Location of the resource |
example[x] | 0..1 | Is an example/What is this an example of? | ||
exampleBoolean | boolean | |||
exampleCanonical | canonical | |||
relativePath | 0..1 | url | Relative path for page in IG | |
page | 0..* | BackboneElement | HTML page within the parent IG | |
name | 1..1 | string | HTML page name | |
title | 0..1 | string | Title of the page, for references | |
anchor | 0..* | string | Anchor available on the page | |
image | 0..* | string | Image within the IG | |
other | 0..* | string | Additional linkable file in IG | |
Documentation for this format |
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) --> <version value="[string]"/><!-- 0..1 Business version of the implementation guide --> <name value="[string]"/><!-- 1..1 Name for this implementation guide (computer 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 (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> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets --> <dependsOn> <!-- 0..* Another Implementation guide this depends on --> <uri value="[canonical]"/><!-- 1..1 Identity of the IG that this depends on --> <version value="[string]"/><!-- 0..1 Version of the IG --> </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> <!-- 0..1 Information needed to build the IG --> <package> <!-- 0..* Group of resources as used in .page.package --> <name value="[string]"/><!-- 1..1 Name used .resource.package and .page.package --> <description value="[string]"/><!-- 0..1 Human readable text describing the package --> </package> <resource> <!-- 1..* Resource in the implementation guide --> <reference><!-- 1..1 Reference(Any) Location of the resource --></reference> <name value="[string]"/><!-- 0..1 Human Name for the resource --> <description value="[string]"/><!-- 0..1 Reason why included in guide --> <example[x]><!-- 0..1 boolean|canonical(StructureDefinition) Is an example/What is this an example of? --></example[x]> <package value="[id]"/><!-- 0..1 Pack this is part of --> </resource> <page> <!-- 0..1 Page/Section in the Guide --> <name[x]><!-- 1..1 url|Reference(Binary) Where to find that page --></name[x]> <title value="[string]"/><!-- 1..1 Short title shown for navigational assistance --> <generation value="[code]"/><!-- 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 value="[code]"/><!-- 1..1 apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template --> <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]><!-- 0..1 boolean|canonical(StructureDefinition) Is an example/What is this an example of? --></example[x]> <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) "version" : "<string>", // Business version of the implementation guide "name" : "<string>", // R! Name for this implementation guide (computer 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 (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) "copyright" : "<markdown>", // Use and/or publishing restrictions "fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets "dependsOn" : [{ // Another Implementation guide this depends on "uri" : "<canonical>", // R! Identity of the IG that this depends on "version" : "<string>" // Version of the IG }], "global" : [{ // Profiles that apply globally "type" : "<code>", // R! Type this profile applies to "profile" : "<canonical>" // R! Profile that all resources must conform to }], "definition" : { // Information needed to build the IG "package" : [{ // Group of resources as used in .page.package "name" : "<string>", // R! Name used .resource.package and .page.package "description" : "<string>" // Human readable text describing the package }], "resource" : [{ // R! Resource in the implementation guide "reference" : { Reference(Any) }, // R! Location of the resource "name" : "<string>", // Human Name for the resource "description" : "<string>", // Reason why included in guide // example[x]: Is an example/What is this an example of?. One of these 2: "exampleBoolean" : <boolean>, "exampleCanonical" : "<canonical>", "package" : "<id>" // Pack this is part of }], "page" : { // Page/Section in the Guide // name[x]: Where to find that page. One of these 2: "nameUrl" : "<url>", "nameReference" : { Reference(Binary) }, "title" : "<string>", // R! Short title shown for navigational assistance "generation" : "<code>", // R! html | markdown | xml | generated "page" : [{ Content as for ImplementationGuide.definition.page }] // Nested Pages / Sections }, "parameter" : [{ // Defines how IG is built by tools "code" : "<code>", // R! apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template "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 // example[x]: Is an example/What is this an example of?. One of these 2: "exampleBoolean" : <boolean>, "exampleCanonical" : "<canonical>", "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:ImplementationGuide.url [ uri ]; # 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique) fhir:ImplementationGuide.version [ string ]; # 0..1 Business version of the implementation guide fhir:ImplementationGuide.name [ string ]; # 1..1 Name for this implementation guide (computer friendly) fhir:ImplementationGuide.status [ code ]; # 1..1 draft | active | retired | unknown fhir:ImplementationGuide.experimental [ boolean ]; # 0..1 For testing purposes, not real usage fhir:ImplementationGuide.date [ dateTime ]; # 0..1 Date last changed fhir:ImplementationGuide.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:ImplementationGuide.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:ImplementationGuide.description [ markdown ]; # 0..1 Natural language description of the implementation guide fhir:ImplementationGuide.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support fhir:ImplementationGuide.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for implementation guide (if applicable) fhir:ImplementationGuide.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:ImplementationGuide.fhirVersion [ id ]; # 0..1 FHIR Version this Implementation Guide targets fhir:ImplementationGuide.dependsOn [ # 0..* Another Implementation guide this depends on fhir:ImplementationGuide.dependsOn.uri [ canonical ]; # 1..1 Identity of the IG that this depends on fhir:ImplementationGuide.dependsOn.version [ string ]; # 0..1 Version of the IG ], ...; fhir:ImplementationGuide.global [ # 0..* Profiles that apply globally fhir:ImplementationGuide.global.type [ code ]; # 1..1 Type this profile applies to fhir:ImplementationGuide.global.profile [ canonical(StructureDefinition) ]; # 1..1 Profile that all resources must conform to ], ...; fhir:ImplementationGuide.definition [ # 0..1 Information needed to build the IG fhir:ImplementationGuide.definition.package [ # 0..* Group of resources as used in .page.package fhir:ImplementationGuide.definition.package.name [ string ]; # 1..1 Name used .resource.package and .page.package fhir:ImplementationGuide.definition.package.description [ string ]; # 0..1 Human readable text describing the package ], ...; fhir:ImplementationGuide.definition.resource [ # 1..* Resource in the implementation guide fhir:ImplementationGuide.definition.resource.reference [ Reference(Any) ]; # 1..1 Location of the resource fhir:ImplementationGuide.definition.resource.name [ string ]; # 0..1 Human Name for the resource fhir:ImplementationGuide.definition.resource.description [ string ]; # 0..1 Reason why included in guide # ImplementationGuide.definition.resource.example[x] : 0..1 Is an example/What is this an example of?. One of these 2 fhir:ImplementationGuide.definition.resource.exampleBoolean [ boolean ] fhir:ImplementationGuide.definition.resource.exampleCanonical [ canonical(StructureDefinition) ] fhir:ImplementationGuide.definition.resource.package [ id ]; # 0..1 Pack this is part of ], ...; fhir:ImplementationGuide.definition.page [ # 0..1 Page/Section in the Guide # ImplementationGuide.definition.page.name[x] : 1..1 Where to find that page. One of these 2 fhir:ImplementationGuide.definition.page.nameUrl [ url ] fhir:ImplementationGuide.definition.page.nameReference [ Reference(Binary) ] fhir:ImplementationGuide.definition.page.title [ string ]; # 1..1 Short title shown for navigational assistance fhir:ImplementationGuide.definition.page.generation [ code ]; # 1..1 html | markdown | xml | generated fhir:ImplementationGuide.definition.page.page [ See ImplementationGuide.definition.page ], ... ; # 0..* Nested Pages / Sections ]; fhir:ImplementationGuide.definition.parameter [ # 0..* Defines how IG is built by tools fhir:ImplementationGuide.definition.parameter.code [ code ]; # 1..1 apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template fhir:ImplementationGuide.definition.parameter.value [ string ]; # 1..1 Value for named type ], ...; fhir:ImplementationGuide.definition.template [ # 0..* A template for building resources fhir:ImplementationGuide.definition.template.code [ code ]; # 1..1 Type of template specified fhir:ImplementationGuide.definition.template.source [ string ]; # 1..1 The source location for the template fhir:ImplementationGuide.definition.template.scope [ string ]; # 0..1 The scope in which the template applies ], ...; ]; fhir:ImplementationGuide.manifest [ # 0..1 Information about an assembled IG fhir:ImplementationGuide.manifest.rendering [ url ]; # 0..1 Location of rendered implementation guide fhir:ImplementationGuide.manifest.resource [ # 1..* Resource in the implementation guide fhir:ImplementationGuide.manifest.resource.reference [ Reference(Any) ]; # 1..1 Location of the resource # ImplementationGuide.manifest.resource.example[x] : 0..1 Is an example/What is this an example of?. One of these 2 fhir:ImplementationGuide.manifest.resource.exampleBoolean [ boolean ] fhir:ImplementationGuide.manifest.resource.exampleCanonical [ canonical(StructureDefinition) ] fhir:ImplementationGuide.manifest.resource.relativePath [ url ]; # 0..1 Relative path for page in IG ], ...; fhir:ImplementationGuide.manifest.page [ # 0..* HTML page within the parent IG fhir:ImplementationGuide.manifest.page.name [ string ]; # 1..1 HTML page name fhir:ImplementationGuide.manifest.page.title [ string ]; # 0..1 Title of the page, for references fhir:ImplementationGuide.manifest.page.anchor [ string ], ... ; # 0..* Anchor available on the page ], ...; fhir:ImplementationGuide.manifest.image [ string ], ... ; # 0..* Image within the IG fhir:ImplementationGuide.manifest.other [ string ], ... ; # 0..* Additional linkable file in IG ]; ]
Changes since R3
ImplementationGuide | |
ImplementationGuide.fhirVersion |
|
ImplementationGuide.dependsOn |
|
ImplementationGuide.dependsOn.uri |
|
ImplementationGuide.dependsOn.version |
|
ImplementationGuide.global.profile |
|
ImplementationGuide.definition |
|
ImplementationGuide.definition.package |
|
ImplementationGuide.definition.resource |
|
ImplementationGuide.definition.resource.reference |
|
ImplementationGuide.definition.resource.example[x] |
|
ImplementationGuide.definition.resource.package |
|
ImplementationGuide.definition.page |
|
ImplementationGuide.definition.page.name[x] |
|
ImplementationGuide.definition.page.generation |
|
ImplementationGuide.definition.parameter |
|
ImplementationGuide.definition.parameter.code |
|
ImplementationGuide.definition.parameter.value |
|
ImplementationGuide.definition.template |
|
ImplementationGuide.definition.template.code |
|
ImplementationGuide.definition.template.source |
|
ImplementationGuide.definition.template.scope |
|
ImplementationGuide.manifest |
|
ImplementationGuide.manifest.rendering |
|
ImplementationGuide.manifest.resource |
|
ImplementationGuide.manifest.resource.reference |
|
ImplementationGuide.manifest.resource.example[x] |
|
ImplementationGuide.manifest.resource.relativePath |
|
ImplementationGuide.manifest.page |
|
ImplementationGuide.manifest.page.name |
|
ImplementationGuide.manifest.page.title |
|
ImplementationGuide.manifest.page.anchor |
|
ImplementationGuide.manifest.image |
|
ImplementationGuide.manifest.other |
|
ImplementationGuide.dependency.type |
|
ImplementationGuide.package.resource.acronym |
|
ImplementationGuide.package.resource.source[x] |
|
ImplementationGuide.package.resource.exampleFor |
|
ImplementationGuide.binary |
|
ImplementationGuide.page.source |
|
ImplementationGuide.page.kind |
|
ImplementationGuide.page.type |
|
ImplementationGuide.page.package |
|
ImplementationGuide.page.format |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R2 <--> R3 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.). Note: these have note yet been updated to be R3 to R4
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ImplementationGuide | TU | DomainResource | A set of rules about how FHIR is used Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
url | Σ | 1..1 | uri | Canonical identifier for this implementation guide, represented as a URI (globally unique) |
version | Σ | 0..1 | string | Business version of the implementation guide |
name | Σ | 1..1 | string | Name for this implementation guide (computer friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
description | 0..1 | markdown | Natural language description of the implementation guide | |
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for implementation guide (if applicable) Jurisdiction ValueSet (Extensible) |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
fhirVersion | Σ | 0..1 | id | FHIR Version this Implementation Guide targets All Published FHIR versions (Required) |
dependsOn | Σ | 0..* | BackboneElement | Another Implementation guide this depends on |
uri | Σ | 1..1 | canonical | Identity of the IG that this depends on |
version | Σ | 0..1 | string | Version of the IG |
global | Σ | 0..* | BackboneElement | Profiles that apply globally |
type | Σ | 1..1 | code | Type this profile applies to ResourceType (Required) |
profile | Σ | 1..1 | canonical | Profile that all resources must conform to |
definition | 0..1 | BackboneElement | Information needed to build the IG | |
package | 0..* | BackboneElement | Group of resources as used in .page.package | |
name | 1..1 | string | Name used .resource.package and .page.package | |
description | 0..1 | string | Human readable text describing the package | |
resource | 1..* | BackboneElement | Resource in the implementation guide | |
reference | 1..1 | Reference(Any) | Location of the resource | |
name | 0..1 | string | Human Name for the resource | |
description | 0..1 | string | Reason why included in guide | |
example[x] | 0..1 | Is an example/What is this an example of? | ||
exampleBoolean | boolean | |||
exampleCanonical | canonical | |||
package | 0..1 | id | Pack this is part of | |
page | 0..1 | BackboneElement | Page/Section in the Guide | |
name[x] | 1..1 | Where to find that page | ||
nameUrl | url | |||
nameReference | Reference(Binary) | |||
title | 1..1 | string | Short title shown for navigational assistance | |
generation | 1..1 | code | html | markdown | xml | generated GuidePageGeneration (Required) | |
page | 0..* | see page | Nested Pages / Sections | |
parameter | 0..* | BackboneElement | Defines how IG is built by tools | |
code | 1..1 | code | apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template GuideParameterCode (Required) | |
value | 1..1 | string | Value for named type | |
template | 0..* | BackboneElement | A template for building resources | |
code | 1..1 | code | Type of template specified | |
source | 1..1 | string | The source location for the template | |
scope | 0..1 | string | The scope in which the template applies | |
manifest | 0..1 | BackboneElement | Information about an assembled IG | |
rendering | Σ | 0..1 | url | Location of rendered implementation guide |
resource | Σ | 1..* | BackboneElement | Resource in the implementation guide |
reference | Σ | 1..1 | Reference(Any) | Location of the resource |
example[x] | 0..1 | Is an example/What is this an example of? | ||
exampleBoolean | boolean | |||
exampleCanonical | canonical | |||
relativePath | 0..1 | url | Relative path for page in IG | |
page | 0..* | BackboneElement | HTML page within the parent IG | |
name | 1..1 | string | HTML page name | |
title | 0..1 | string | Title of the page, for references | |
anchor | 0..* | string | Anchor available on the page | |
image | 0..* | string | Image within the IG | |
other | 0..* | string | Additional linkable file in IG | |
Documentation for this format |
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) --> <version value="[string]"/><!-- 0..1 Business version of the implementation guide --> <name value="[string]"/><!-- 1..1 Name for this implementation guide (computer 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 (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> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets --> <dependsOn> <!-- 0..* Another Implementation guide this depends on --> <uri value="[canonical]"/><!-- 1..1 Identity of the IG that this depends on --> <version value="[string]"/><!-- 0..1 Version of the IG --> </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> <!-- 0..1 Information needed to build the IG --> <package> <!-- 0..* Group of resources as used in .page.package --> <name value="[string]"/><!-- 1..1 Name used .resource.package and .page.package --> <description value="[string]"/><!-- 0..1 Human readable text describing the package --> </package> <resource> <!-- 1..* Resource in the implementation guide --> <reference><!-- 1..1 Reference(Any) Location of the resource --></reference> <name value="[string]"/><!-- 0..1 Human Name for the resource --> <description value="[string]"/><!-- 0..1 Reason why included in guide --> <example[x]><!-- 0..1 boolean|canonical(StructureDefinition) Is an example/What is this an example of? --></example[x]> <package value="[id]"/><!-- 0..1 Pack this is part of --> </resource> <page> <!-- 0..1 Page/Section in the Guide --> <name[x]><!-- 1..1 url|Reference(Binary) Where to find that page --></name[x]> <title value="[string]"/><!-- 1..1 Short title shown for navigational assistance --> <generation value="[code]"/><!-- 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 value="[code]"/><!-- 1..1 apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template --> <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]><!-- 0..1 boolean|canonical(StructureDefinition) Is an example/What is this an example of? --></example[x]> <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) "version" : "<string>", // Business version of the implementation guide "name" : "<string>", // R! Name for this implementation guide (computer 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 (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) "copyright" : "<markdown>", // Use and/or publishing restrictions "fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets "dependsOn" : [{ // Another Implementation guide this depends on "uri" : "<canonical>", // R! Identity of the IG that this depends on "version" : "<string>" // Version of the IG }], "global" : [{ // Profiles that apply globally "type" : "<code>", // R! Type this profile applies to "profile" : "<canonical>" // R! Profile that all resources must conform to }], "definition" : { // Information needed to build the IG "package" : [{ // Group of resources as used in .page.package "name" : "<string>", // R! Name used .resource.package and .page.package "description" : "<string>" // Human readable text describing the package }], "resource" : [{ // R! Resource in the implementation guide "reference" : { Reference(Any) }, // R! Location of the resource "name" : "<string>", // Human Name for the resource "description" : "<string>", // Reason why included in guide // example[x]: Is an example/What is this an example of?. One of these 2: "exampleBoolean" : <boolean>, "exampleCanonical" : "<canonical>", "package" : "<id>" // Pack this is part of }], "page" : { // Page/Section in the Guide // name[x]: Where to find that page. One of these 2: "nameUrl" : "<url>", "nameReference" : { Reference(Binary) }, "title" : "<string>", // R! Short title shown for navigational assistance "generation" : "<code>", // R! html | markdown | xml | generated "page" : [{ Content as for ImplementationGuide.definition.page }] // Nested Pages / Sections }, "parameter" : [{ // Defines how IG is built by tools "code" : "<code>", // R! apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template "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 // example[x]: Is an example/What is this an example of?. One of these 2: "exampleBoolean" : <boolean>, "exampleCanonical" : "<canonical>", "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:ImplementationGuide.url [ uri ]; # 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique) fhir:ImplementationGuide.version [ string ]; # 0..1 Business version of the implementation guide fhir:ImplementationGuide.name [ string ]; # 1..1 Name for this implementation guide (computer friendly) fhir:ImplementationGuide.status [ code ]; # 1..1 draft | active | retired | unknown fhir:ImplementationGuide.experimental [ boolean ]; # 0..1 For testing purposes, not real usage fhir:ImplementationGuide.date [ dateTime ]; # 0..1 Date last changed fhir:ImplementationGuide.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:ImplementationGuide.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:ImplementationGuide.description [ markdown ]; # 0..1 Natural language description of the implementation guide fhir:ImplementationGuide.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support fhir:ImplementationGuide.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for implementation guide (if applicable) fhir:ImplementationGuide.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:ImplementationGuide.fhirVersion [ id ]; # 0..1 FHIR Version this Implementation Guide targets fhir:ImplementationGuide.dependsOn [ # 0..* Another Implementation guide this depends on fhir:ImplementationGuide.dependsOn.uri [ canonical ]; # 1..1 Identity of the IG that this depends on fhir:ImplementationGuide.dependsOn.version [ string ]; # 0..1 Version of the IG ], ...; fhir:ImplementationGuide.global [ # 0..* Profiles that apply globally fhir:ImplementationGuide.global.type [ code ]; # 1..1 Type this profile applies to fhir:ImplementationGuide.global.profile [ canonical(StructureDefinition) ]; # 1..1 Profile that all resources must conform to ], ...; fhir:ImplementationGuide.definition [ # 0..1 Information needed to build the IG fhir:ImplementationGuide.definition.package [ # 0..* Group of resources as used in .page.package fhir:ImplementationGuide.definition.package.name [ string ]; # 1..1 Name used .resource.package and .page.package fhir:ImplementationGuide.definition.package.description [ string ]; # 0..1 Human readable text describing the package ], ...; fhir:ImplementationGuide.definition.resource [ # 1..* Resource in the implementation guide fhir:ImplementationGuide.definition.resource.reference [ Reference(Any) ]; # 1..1 Location of the resource fhir:ImplementationGuide.definition.resource.name [ string ]; # 0..1 Human Name for the resource fhir:ImplementationGuide.definition.resource.description [ string ]; # 0..1 Reason why included in guide # ImplementationGuide.definition.resource.example[x] : 0..1 Is an example/What is this an example of?. One of these 2 fhir:ImplementationGuide.definition.resource.exampleBoolean [ boolean ] fhir:ImplementationGuide.definition.resource.exampleCanonical [ canonical(StructureDefinition) ] fhir:ImplementationGuide.definition.resource.package [ id ]; # 0..1 Pack this is part of ], ...; fhir:ImplementationGuide.definition.page [ # 0..1 Page/Section in the Guide # ImplementationGuide.definition.page.name[x] : 1..1 Where to find that page. One of these 2 fhir:ImplementationGuide.definition.page.nameUrl [ url ] fhir:ImplementationGuide.definition.page.nameReference [ Reference(Binary) ] fhir:ImplementationGuide.definition.page.title [ string ]; # 1..1 Short title shown for navigational assistance fhir:ImplementationGuide.definition.page.generation [ code ]; # 1..1 html | markdown | xml | generated fhir:ImplementationGuide.definition.page.page [ See ImplementationGuide.definition.page ], ... ; # 0..* Nested Pages / Sections ]; fhir:ImplementationGuide.definition.parameter [ # 0..* Defines how IG is built by tools fhir:ImplementationGuide.definition.parameter.code [ code ]; # 1..1 apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template fhir:ImplementationGuide.definition.parameter.value [ string ]; # 1..1 Value for named type ], ...; fhir:ImplementationGuide.definition.template [ # 0..* A template for building resources fhir:ImplementationGuide.definition.template.code [ code ]; # 1..1 Type of template specified fhir:ImplementationGuide.definition.template.source [ string ]; # 1..1 The source location for the template fhir:ImplementationGuide.definition.template.scope [ string ]; # 0..1 The scope in which the template applies ], ...; ]; fhir:ImplementationGuide.manifest [ # 0..1 Information about an assembled IG fhir:ImplementationGuide.manifest.rendering [ url ]; # 0..1 Location of rendered implementation guide fhir:ImplementationGuide.manifest.resource [ # 1..* Resource in the implementation guide fhir:ImplementationGuide.manifest.resource.reference [ Reference(Any) ]; # 1..1 Location of the resource # ImplementationGuide.manifest.resource.example[x] : 0..1 Is an example/What is this an example of?. One of these 2 fhir:ImplementationGuide.manifest.resource.exampleBoolean [ boolean ] fhir:ImplementationGuide.manifest.resource.exampleCanonical [ canonical(StructureDefinition) ] fhir:ImplementationGuide.manifest.resource.relativePath [ url ]; # 0..1 Relative path for page in IG ], ...; fhir:ImplementationGuide.manifest.page [ # 0..* HTML page within the parent IG fhir:ImplementationGuide.manifest.page.name [ string ]; # 1..1 HTML page name fhir:ImplementationGuide.manifest.page.title [ string ]; # 0..1 Title of the page, for references fhir:ImplementationGuide.manifest.page.anchor [ string ], ... ; # 0..* Anchor available on the page ], ...; fhir:ImplementationGuide.manifest.image [ string ], ... ; # 0..* Image within the IG fhir:ImplementationGuide.manifest.other [ string ], ... ; # 0..* Additional linkable file in IG ]; ]
Changes since DSTU2
ImplementationGuide | |
ImplementationGuide.fhirVersion |
|
ImplementationGuide.dependsOn |
|
ImplementationGuide.dependsOn.uri |
|
ImplementationGuide.dependsOn.version |
|
ImplementationGuide.global.profile |
|
ImplementationGuide.definition |
|
ImplementationGuide.definition.package |
|
ImplementationGuide.definition.resource |
|
ImplementationGuide.definition.resource.reference |
|
ImplementationGuide.definition.resource.example[x] |
|
ImplementationGuide.definition.resource.package |
|
ImplementationGuide.definition.page |
|
ImplementationGuide.definition.page.name[x] |
|
ImplementationGuide.definition.page.generation |
|
ImplementationGuide.definition.parameter |
|
ImplementationGuide.definition.parameter.code |
|
ImplementationGuide.definition.parameter.value |
|
ImplementationGuide.definition.template |
|
ImplementationGuide.definition.template.code |
|
ImplementationGuide.definition.template.source |
|
ImplementationGuide.definition.template.scope |
|
ImplementationGuide.manifest |
|
ImplementationGuide.manifest.rendering |
|
ImplementationGuide.manifest.resource |
|
ImplementationGuide.manifest.resource.reference |
|
ImplementationGuide.manifest.resource.example[x] |
|
ImplementationGuide.manifest.resource.relativePath |
|
ImplementationGuide.manifest.page |
|
ImplementationGuide.manifest.page.name |
|
ImplementationGuide.manifest.page.title |
|
ImplementationGuide.manifest.page.anchor |
|
ImplementationGuide.manifest.image |
|
ImplementationGuide.manifest.other |
|
ImplementationGuide.dependency.type |
|
ImplementationGuide.package.resource.acronym |
|
ImplementationGuide.package.resource.source[x] |
|
ImplementationGuide.package.resource.exampleFor |
|
ImplementationGuide.binary |
|
ImplementationGuide.page.source |
|
ImplementationGuide.page.kind |
|
ImplementationGuide.page.type |
|
ImplementationGuide.page.package |
|
ImplementationGuide.page.format |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R2 <--> R3 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.). Note: these have note yet been updated to be R3 to R4
Alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
ImplementationGuide.status | The lifecycle status of an artifact. | Required | PublicationStatus |
ImplementationGuide.jurisdiction | Countries and regions within which this artifact is targeted for use | Extensible | Jurisdiction ValueSet |
ImplementationGuide.fhirVersion | All published FHIR Versions | Required | All Published FHIR versions |
ImplementationGuide.global.type | One of the resource types defined as part of this version of FHIR. | Required | Resource Types |
ImplementationGuide.definition.page.generation | A code that indicates how the page is generated | Required | GuidePageGeneration |
ImplementationGuide.definition.parameter.code | Code of parameter that is input to the guide | Required | GuideParameterCode |
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.
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.
Name | Type | Description | Expression | In Common |
date | date | The implementation guide publication date | ImplementationGuide.date | |
depends-on | reference | Identity of the IG that this depends on | ImplementationGuide.dependsOn.uri | |
description | string | The description of the implementation guide | ImplementationGuide.description | |
experimental | token | For testing purposes, not real usage | ImplementationGuide.experimental | |
jurisdiction | token | Intended jurisdiction for the implementation guide | ImplementationGuide.jurisdiction | |
name | string | Computationally friendly name of the implementation guide | ImplementationGuide.name | |
publisher | string | Name of the publisher of the implementation guide | ImplementationGuide.publisher | |
status | token | The current status of the implementation guide | ImplementationGuide.status | |
url | uri | The uri that identifies the implementation guide | ImplementationGuide.url | |
version | token | The business version of the implementation guide | ImplementationGuide.version |