Release 4B R5 Final QA

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

5.8 5.9 Resource ImplementationGuide - Content

FHIR Infrastructure icon 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 icon .

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:

  • Contents: A set of logical statements which implementations must conform to. These are almost always conformance resources
  • Examples: Examples that illustrate the intent of the profiles defined in the implementation guide. These can be any kind of resource

An application's Capability Statement may identify one or more implementation guides that an application conforms to.

This resource is referenced by ElementDefinition ,

Structure

1..* Is an example/What is this an example of?
Name Flags Card. Type Description & Constraints doco
. . ImplementationGuide 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 oe one of the versions defined for the Implementation Guide

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
Interfaces Implemented: CanonicalResource
. . . url Σ 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
. . version . identifier Σ 0..1 0..* Identifier Additional identifier for the implementation guide (business identifier)

... version Σ 0..1 string Business version of the implementation guide
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
. . . name Σ C 1..1 string Name for this implementation guide (computer friendly)
. . . title Σ T 0..1 string Name for this implementation guide (human friendly)
. . . status ?! Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus ( Required )
. . . experimental Σ 0..1 boolean For testing purposes, not real usage
. . . date Σ 0..1 dateTime Date last changed
. . . publisher Σ T 0..1 string Name of the publisher publisher/steward (organization or individual)
. . . contact Σ 0..* ContactDetail Contact details for the publisher

. . . description T 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)
Binding: Jurisdiction ValueSet ( Extensible )

. . . copyright purpose T 0..1 markdown Why this implementation guide is defined
... copyright T 0..1 markdown Use and/or publishing restrictions
. . . copyrightLabel T 0..1 string Copyright holder and year(s)
. . . packageId Σ 1..1 id NPM Package name for IG
. . . license Σ 0..1 code SPDX license code for this IG (or not-open-source)
Binding: SPDXLicense S P D X License ( Required )
. . . fhirVersion Σ C 1..* code FHIR Version(s) this Implementation Guide targets
Binding: FHIRVersion ( Required )

. . . dependsOn Σ 0..* BackboneElement Another Implementation guide this depends on

. . . . uri Σ 1..1 canonical ( ImplementationGuide ) Identity of the IG that this depends on
. . . . packageId Σ 0..1 id NPM Package name for IG this depends on
. . . . version Σ 0..1 string Version of the IG
. . . . reason 0..1 markdown Why dependency exists
. . . global Σ 0..* BackboneElement Profiles that apply globally

. . . . type Σ 1..1 code Type this profile applies to
Binding: ResourceType Resource Types ( Required )
. . . . profile Σ 1..1 canonical ( StructureDefinition ) Profile that all resources must conform to
. . . definition I C 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
. . . . grouping C 0..* BackboneElement Grouping used to present related resources in the IG

. . . . . name T 1..1 string Descriptive name for the package
. . . . . description T 0..1 string markdown Human readable text describing the package
. . . . resource C 0..* BackboneElement Resource in the implementation guide

. . . . . reference 1..1 Reference ( Any ) Location of the resource
. . . . . fhirVersion C 0..* code Versions this applies to (if different to IG)
Binding: FHIRVersion ( Required )

. . . . . name T 0..1 string Human Name readable name for the resource
. . . . . description T 0..1 string markdown Reason why included in guide example[x] 0..1
. . . . . exampleBoolean isExample 0..1 boolean Is this an example
. . . . . exampleCanonical profile 0..* canonical ( StructureDefinition ) Profile(s) this is an example of

. . . . . groupingId C 0..1 id Grouping this is part of
. . . . page C 0..1 BackboneElement Page/Section in the Guide
+ Rule: Source must be absent if 'generated' is generated
. . . . . name[x] source[x] T C 1..1 0..1 Where to find that Source for page
. . . . . . nameUrl sourceUrl url
. . . . . . sourceString string
. . . . . nameReference . sourceMarkdown markdown Reference
. . . . . name ( Binary ) 1..1 url Name of the page when published
. . . . . title T 1..1 string Short title shown for navigational assistance
. . . . . generation C 1..1 code html | markdown | xml | generated
Binding: GuidePageGeneration Guide Page Generation ( Required )
. . . . . page 0..* see page Nested Pages / Sections

. . . . parameter 0..* BackboneElement Defines how IG is built by tools

. . . . . code 1..1 code Coding apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template Code that identifies parameter
Binding: GuideParameterCode Guide Parameter Code ( Required Extensible )
. . . . . 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] . isExample 0..1 boolean Is an example/What is this an example of?
. . . . exampleBoolean . profile boolean 0..* exampleCanonical canonical ( StructureDefinition ) Profile(s) this is an example of

. . . . . 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


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

ImplementationGuide ( DomainResource ) + CanonicalResource An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers url : uri [1..1] A formal identifier that is used to identify this implementation guide when it is represented in other formats, or referenced in a specification, model, design or an instance identifier : Identifier [0..*] The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence version : string [0..1] Indicates the mechanism used to compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string | Coding ; null (Strength=Extensible) VersionAlgorithm + » A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation name : string [1..1] « This element has or is affected by some invariants C » A short, descriptive, user-friendly title for the implementation guide title : string [0..1] The status of this implementation guide. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) PublicationStatus ! » A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage experimental : boolean [0..1] The date (and optionally time) when the implementation guide was published. last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes date : dateTime [0..1] The name of the organization or individual that published responsible for the release and ongoing maintenance of the implementation guide publisher : string [0..1] Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*] A free text natural language description of the implementation guide from a consumer's perspective description : markdown [0..1] The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances useContext : UsageContext [0..*] A legal or geographic region in which the implementation guide is intended to be used jurisdiction : CodeableConcept [0..*] « null (Strength=Extensible) Jurisdiction ValueSet JurisdictionValueSet + » Explanation of why this implementation guide is needed and why it has been designed as it has purpose : markdown [0..1] A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide copyright : markdown [0..1] A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1] The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care packageId : id [1..1] The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source' license : code [0..1] « null (Strength=Required) SPDXLicense ! » The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.3.0. 4.6.0. for this version fhirVersion : code [1..*] « null (Strength=Required) FHIRVersion ! » « This element has or is affected by some invariants C » DependsOn A canonical reference to the Implementation guide for the dependency uri : canonical [1..1] « ImplementationGuide » The NPM package name for the Implementation Guide that this IG depends on packageId : id [0..1] The version of the IG that is depended on, when the correct version is required to understand the IG correctly version : string [0..1] A description explaining the nature of the dependency on the listed IG reason : markdown [0..1] Global The type of resource that all instances must conform to type : code [1..1] « null (Strength=Required) ResourceType ! » A reference to the profile that all instances must conform to profile : canonical [1..1] « StructureDefinition » Definition Grouping The human-readable title to display for the package of resources when rendering the implementation guide name : string [1..1] Human readable text describing the package description : string markdown [0..1] Resource Where this resource is found reference : Reference [1..1] « Any » Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion fhirVersion : code [0..*] « null (Strength=Required) FHIRVersion ! » « This element has or is affected by some invariants C » A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name) name : string [0..1] A description of the reason that a resource has been included in the implementation guide description : string markdown [0..1] If true or a reference, true, indicates the resource is an example instance. instance isExample : boolean [0..1] If a reference is present, indicates that profile(s) the example instance is an example of the specified profile valid against example[x] profile : Element [0..1] « boolean | canonical ( [0..*] « StructureDefinition ) » Reference to the id of the grouping this resource appears in groupingId : id [0..1] « This element has or is affected by some invariants C » Page The source address Indicates the URL or the actual content to provide for the page name[x] source[x] : Element PrimitiveType [1..1] [0..1] « url | Reference string ( Binary | markdown » « This element has or is affected by some invariants C ) » The url by which the page should be known when published name : url [1..1] A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc title : string [1..1] A code that indicates how the page is generated generation : code [1..1] « null (Strength=Required) GuidePageGeneration ! » « This element has or is affected by some invariants C » Parameter apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template A tool-specific code that defines the parameter code : code Coding [1..1] « null (Strength=Required) (Strength=Extensible) GuideParameterCode ! + » Value for named type value : string [1..1] Template Type of template specified code : code [1..1] The source location for the template source : string [1..1] The scope in which the template applies scope : string [0..1] Manifest A pointer to official web page, PDF or other rendering of the implementation guide rendering : url [0..1] Indicates a relative path to an image that exists within the IG image : string [0..*] Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG other : string [0..*] ManifestResource Where this resource is found reference : Reference [1..1] « Any » If true or a reference, true, indicates the resource is an example instance. instance isExample : boolean [0..1] If a reference is present, indicates that profile(s) the example instance is an example of the specified profile valid against example[x] profile : Element [0..1] « boolean | canonical ( [0..*] « StructureDefinition ) » The relative path for primary page for this resource within the IG relativePath : url [0..1] ManifestPage Relative path to the page name : string [1..1] Label for the page intended for human display title : string [0..1] The name of an anchor available on the page anchor : string [0..*] Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides dependsOn [0..*] A set of profiles that all resources covered by this implementation guide must conform to global [0..*] A logical group of resources. Logical groups can be used when building pages grouping [0..*] A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource resource [1..*] [0..*] Nested Pages/Sections under this page page [0..*] A page / section in the implementation guide. The root page is the implementation guide home page page [0..1] Defines A set of parameters that defines how IG the implementation guide is built built. The parameters are defined by the relevant tools that build the implementation guides parameter [0..*] A template for building resources template [0..*] The information needed by an IG publisher tool to publish the whole implementation guide definition [0..1] A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource resource [1..*] Information about a page within the IG page [0..*] Information about an assembled implementation guide, created by the publication tooling manifest [0..1]

XML Template

<ImplementationGuide xmlns="http://hl7.org/fhir"> doco
 <!-- 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

{doco
  "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/> .doco


[ 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
  • No Changes Added Element
ImplementationGuide.versionAlgorithm[x]
  • Added Element
ImplementationGuide.purpose
  • Added Element
ImplementationGuide.copyrightLabel
  • Added Element
ImplementationGuide.dependsOn.reason
  • Added Element
ImplementationGuide.definition.grouping.description
  • Type changed from string to markdown
ImplementationGuide.definition.resource
  • Min Cardinality changed from 1 to 0
ImplementationGuide.definition.resource.description
  • Type changed from string to markdown
ImplementationGuide.definition.resource.isExample
  • Added Element
ImplementationGuide.definition.resource.profile
  • Added Element
ImplementationGuide.definition.page.source[x]
  • Added Element
ImplementationGuide.definition.page.name
  • Added Mandatory Element
ImplementationGuide.definition.parameter.code
  • Type changed from code to Coding
  • Change binding strength from required to extensible
ImplementationGuide.manifest.resource.isExample
  • Added Element
ImplementationGuide.manifest.resource.profile
  • Added Element
ImplementationGuide.definition.resource.example[x]
  • deleted
ImplementationGuide.definition.page.name[x]
  • deleted
ImplementationGuide.manifest.resource.example[x]
  • deleted

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

1..*
Name Flags Card. Type Description & Constraints doco
. . ImplementationGuide 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 oe one of the versions defined for the Implementation Guide

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
Interfaces Implemented: CanonicalResource
. . . url Σ 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
. . version . identifier Σ 0..1 0..* Identifier Additional identifier for the implementation guide (business identifier)

... version Σ 0..1 string Business version of the implementation guide
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
. . . name Σ C 1..1 string Name for this implementation guide (computer friendly)
. . . title Σ T 0..1 string Name for this implementation guide (human friendly)
. . . status ?! Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus ( Required )
. . . experimental Σ 0..1 boolean For testing purposes, not real usage
. . . date Σ 0..1 dateTime Date last changed
. . . publisher Σ T 0..1 string Name of the publisher publisher/steward (organization or individual)
. . . contact Σ 0..* ContactDetail Contact details for the publisher

. . . description T 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)
Binding: Jurisdiction ValueSet ( Extensible )

. . . copyright purpose T 0..1 markdown Why this implementation guide is defined
... copyright T 0..1 markdown Use and/or publishing restrictions
. . . copyrightLabel T 0..1 string Copyright holder and year(s)
. . . packageId Σ 1..1 id NPM Package name for IG
. . . license Σ 0..1 code SPDX license code for this IG (or not-open-source)
Binding: SPDXLicense S P D X License ( Required )
. . . fhirVersion Σ C 1..* code FHIR Version(s) this Implementation Guide targets
Binding: FHIRVersion ( Required )

. . . dependsOn Σ 0..* BackboneElement Another Implementation guide this depends on

. . . . uri Σ 1..1 canonical ( ImplementationGuide ) Identity of the IG that this depends on
. . . . packageId Σ 0..1 id NPM Package name for IG this depends on
. . . . version Σ 0..1 string Version of the IG
. . . . reason 0..1 markdown Why dependency exists
. . . global Σ 0..* BackboneElement Profiles that apply globally

. . . . type Σ 1..1 code Type this profile applies to
Binding: ResourceType Resource Types ( Required )
. . . . profile Σ 1..1 canonical ( StructureDefinition ) Profile that all resources must conform to
. . . definition I C 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
. . . . grouping C 0..* BackboneElement Grouping used to present related resources in the IG

. . . . . name T 1..1 string Descriptive name for the package
. . . . . description T 0..1 string markdown Human readable text describing the package
. . . . resource C 0..* BackboneElement Resource in the implementation guide

. . . . . reference 1..1 Reference ( Any ) Location of the resource
. . . . . fhirVersion C 0..* code Versions this applies to (if different to IG)
Binding: FHIRVersion ( Required )

. . . . . name T 0..1 string Human Name readable name for the resource
. . . . . description T 0..1 string markdown Reason why included in guide example[x] 0..1
Is an example/What is this an example of?
. . . . . exampleBoolean isExample 0..1 boolean Is this an example
. . . . . exampleCanonical profile 0..* canonical ( StructureDefinition ) Profile(s) this is an example of

. . . . . groupingId C 0..1 id Grouping this is part of
. . . . page C 0..1 BackboneElement Page/Section in the Guide
+ Rule: Source must be absent if 'generated' is generated
. . . . . name[x] source[x] T C 1..1 0..1 Where to find that Source for page
. . . . . . nameUrl sourceUrl url
. . . . . . sourceString string
. . . . . nameReference . sourceMarkdown markdown Reference
. . . . . name ( Binary ) 1..1 url Name of the page when published
. . . . . title T 1..1 string Short title shown for navigational assistance
. . . . . generation C 1..1 code html | markdown | xml | generated
Binding: GuidePageGeneration Guide Page Generation ( Required )
. . . . . page 0..* see page Nested Pages / Sections

. . . . parameter 0..* BackboneElement Defines how IG is built by tools

. . . . . code 1..1 code Coding apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template Code that identifies parameter
Binding: GuideParameterCode Guide Parameter Code ( Required Extensible )
. . . . . 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] . isExample 0..1 boolean Is an example/What is this an example of?
. . . . exampleBoolean . profile boolean 0..* exampleCanonical canonical ( StructureDefinition ) Profile(s) this is an example of

. . . . . 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


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

ImplementationGuide ( DomainResource ) + CanonicalResource An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers url : uri [1..1] A formal identifier that is used to identify this implementation guide when it is represented in other formats, or referenced in a specification, model, design or an instance identifier : Identifier [0..*] The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence version : string [0..1] Indicates the mechanism used to compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string | Coding ; null (Strength=Extensible) VersionAlgorithm + » A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation name : string [1..1] « This element has or is affected by some invariants C » A short, descriptive, user-friendly title for the implementation guide title : string [0..1] The status of this implementation guide. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) PublicationStatus ! » A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage experimental : boolean [0..1] The date (and optionally time) when the implementation guide was published. last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes date : dateTime [0..1] The name of the organization or individual that published responsible for the release and ongoing maintenance of the implementation guide publisher : string [0..1] Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*] A free text natural language description of the implementation guide from a consumer's perspective description : markdown [0..1] The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances useContext : UsageContext [0..*] A legal or geographic region in which the implementation guide is intended to be used jurisdiction : CodeableConcept [0..*] « null (Strength=Extensible) Jurisdiction ValueSet JurisdictionValueSet + » Explanation of why this implementation guide is needed and why it has been designed as it has purpose : markdown [0..1] A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide copyright : markdown [0..1] A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1] The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care packageId : id [1..1] The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source' license : code [0..1] « null (Strength=Required) SPDXLicense ! » The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.3.0. 4.6.0. for this version fhirVersion : code [1..*] « null (Strength=Required) FHIRVersion ! » « This element has or is affected by some invariants C » DependsOn A canonical reference to the Implementation guide for the dependency uri : canonical [1..1] « ImplementationGuide » The NPM package name for the Implementation Guide that this IG depends on packageId : id [0..1] The version of the IG that is depended on, when the correct version is required to understand the IG correctly version : string [0..1] A description explaining the nature of the dependency on the listed IG reason : markdown [0..1] Global The type of resource that all instances must conform to type : code [1..1] « null (Strength=Required) ResourceType ! » A reference to the profile that all instances must conform to profile : canonical [1..1] « StructureDefinition » Definition Grouping The human-readable title to display for the package of resources when rendering the implementation guide name : string [1..1] Human readable text describing the package description : string markdown [0..1] Resource Where this resource is found reference : Reference [1..1] « Any » Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion fhirVersion : code [0..*] « null (Strength=Required) FHIRVersion ! » « This element has or is affected by some invariants C » A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name) name : string [0..1] A description of the reason that a resource has been included in the implementation guide description : string markdown [0..1] If true or a reference, true, indicates the resource is an example instance. instance isExample : boolean [0..1] If a reference is present, indicates that profile(s) the example instance is an example of the specified profile valid against example[x] profile : Element [0..1] « boolean | canonical ( [0..*] « StructureDefinition ) » Reference to the id of the grouping this resource appears in groupingId : id [0..1] « This element has or is affected by some invariants C » Page The source address Indicates the URL or the actual content to provide for the page name[x] source[x] : Element PrimitiveType [1..1] [0..1] « url | Reference string ( Binary | markdown » « This element has or is affected by some invariants C ) » The url by which the page should be known when published name : url [1..1] A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc title : string [1..1] A code that indicates how the page is generated generation : code [1..1] « null (Strength=Required) GuidePageGeneration ! » « This element has or is affected by some invariants C » Parameter apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template A tool-specific code that defines the parameter code : code Coding [1..1] « null (Strength=Required) (Strength=Extensible) GuideParameterCode ! + » Value for named type value : string [1..1] Template Type of template specified code : code [1..1] The source location for the template source : string [1..1] The scope in which the template applies scope : string [0..1] Manifest A pointer to official web page, PDF or other rendering of the implementation guide rendering : url [0..1] Indicates a relative path to an image that exists within the IG image : string [0..*] Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG other : string [0..*] ManifestResource Where this resource is found reference : Reference [1..1] « Any » If true or a reference, true, indicates the resource is an example instance. instance isExample : boolean [0..1] If a reference is present, indicates that profile(s) the example instance is an example of the specified profile valid against example[x] profile : Element [0..1] « boolean | canonical ( [0..*] « StructureDefinition ) » The relative path for primary page for this resource within the IG relativePath : url [0..1] ManifestPage Relative path to the page name : string [1..1] Label for the page intended for human display title : string [0..1] The name of an anchor available on the page anchor : string [0..*] Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides dependsOn [0..*] A set of profiles that all resources covered by this implementation guide must conform to global [0..*] A logical group of resources. Logical groups can be used when building pages grouping [0..*] A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource resource [1..*] [0..*] Nested Pages/Sections under this page page [0..*] A page / section in the implementation guide. The root page is the implementation guide home page page [0..1] Defines A set of parameters that defines how IG the implementation guide is built built. The parameters are defined by the relevant tools that build the implementation guides parameter [0..*] A template for building resources template [0..*] The information needed by an IG publisher tool to publish the whole implementation guide definition [0..1] A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource resource [1..*] Information about a page within the IG page [0..*] Information about an assembled implementation guide, created by the publication tooling manifest [0..1]

XML Template

<ImplementationGuide xmlns="http://hl7.org/fhir"> doco
 <!-- 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

{doco
  "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/> .doco


[ 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
  • No Changes Added Element
ImplementationGuide.versionAlgorithm[x]
  • Added Element
ImplementationGuide.purpose
  • Added Element
ImplementationGuide.copyrightLabel
  • Added Element
ImplementationGuide.dependsOn.reason
  • Added Element
ImplementationGuide.definition.grouping.description
  • Type changed from string to markdown
ImplementationGuide.definition.resource
  • Min Cardinality changed from 1 to 0
ImplementationGuide.definition.resource.description
  • Type changed from string to markdown
ImplementationGuide.definition.resource.isExample
  • Added Element
ImplementationGuide.definition.resource.profile
  • Added Element
ImplementationGuide.definition.page.source[x]
  • Added Element
ImplementationGuide.definition.page.name
  • Added Mandatory Element
ImplementationGuide.definition.parameter.code
  • Type changed from code to Coding
  • Change binding strength from required to extensible
ImplementationGuide.manifest.resource.isExample
  • Added Element
ImplementationGuide.manifest.resource.profile
  • Added Element
ImplementationGuide.definition.resource.example[x]
  • deleted
ImplementationGuide.definition.page.name[x]
  • deleted
ImplementationGuide.manifest.resource.example[x]
  • deleted

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 Definition ValueSet Type Reference Documentation
ImplementationGuide.versionAlgorithm[x] VersionAlgorithm Extensible

Indicates the mechanism used to compare versions to determine which is more current.

ImplementationGuide.status PublicationStatus Required PublicationStatus

The lifecycle status of an artifact.

ImplementationGuide.jurisdiction JurisdictionValueSet Extensible Jurisdiction ValueSet

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 icon while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) icon.

ImplementationGuide.license SPDXLicense Required SPDXLicense

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 FHIRVersion

All published FHIR Versions.

ImplementationGuide.global.type ResourceType Required ResourceType

Concrete FHIR Resource Types

ImplementationGuide.definition.resource.fhirVersion FHIRVersion Required FHIRVersion

All published FHIR Versions.

ImplementationGuide.definition.page.generation GuidePageGeneration Required GuidePageGeneration

A code that indicates how the page is generated.

ImplementationGuide.definition.parameter.code GuideParameterCode Required Extensible GuideParameterCode

Codes used to define implementation guide parameters

id UniqueKey Level Location Description Expression
ig-0 img  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 name.matches('[A-Z]([A-Za-z0-9_]){0,254}') name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
ig-1 img  cnl-1 Warning ImplementationGuide.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
img  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 img  ig-2 Rule (base) If a resource has a fhirVersion, it must be oe one of the versions defined for the Implementation Guide definition.resource.fhirVersion.all(%context.fhirVersion contains $this)
img  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 icon . This for a list of tools that can assist with authoring implementation guides. HL7 publishes a Guidance Implementation Guide icon 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:

  • Describe security arrangements in place for the relevent data exchanges, along with consent and access control requirements
  • Detail additional rules about the user of the narrative in the resources
  • Specify other conformance expectations that aren't testable directly
  • Outline the business arrangements and expectations under which the data is exchanged

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 icon and Release 4 5 icon . 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.

5.8.4.6 Compatibility list 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. 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 (ImplementationGuide.useContext.value as CodeableConcept) (ImplementationGuide.useContext.value.ofType(CodeableConcept)) 30 Resources
context-quantity quantity A quantity- or range-valued use context assigned to the implementation guide (ImplementationGuide.useContext.value as Quantity) (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value as Range) (ImplementationGuide.useContext.value.ofType(Range)) 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: value.as(Quantity) value.ofType(Quantity) | value.as(Range) value.ofType(Range)
30 Resources
context-type-value composite A use context type and value assigned to the implementation guide On ImplementationGuide.useContext:
  context-type: code
  context: value.as(CodeableConcept) value.ofType(CodeableConcept)
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