FHIR Release 3 (STU) Current Build
This page is part of FHIR STU 3 (v3.0.1) in it's permanent home (it will always be available at this URL). It has been superceded by R4 . For a full list of available versions, see the Directory of published versions .

5.8 5.9 Resource ImplementationGuide - Content

FHIR Infrastructure Work Group Maturity Level : 1   Trial Use Security Category : Anonymous Compartments : Not linked to any defined compartments

A set of rules of how FHIR is used to solve a particular problem. interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

An implementation guide (IG) is a set of rules about how FHIR resources are used (or should be used) to solve a particular problem, with associated documentation to support and clarify the usage. Classically, FHIR implementation guides are published on the web after they are generated using the FHIR Implementation Guide Publisher .

The ImplementationGuide resource is a single resource that defines the logical content of the IG, along with the important entry pages into the publication, so that the logical package that the IG represents, so that the contents are computable.

In particular, validators are able to use the ImplementationGuide resource to validate content against the implementation guide as a whole. The significant conformance expectation introduced by the ImplementationGuide resource is the idea of Default Profiles . Implementations may conform to multiple implementation guides at once, but this requires that the implementation guides are compatible (see below ).

Implementation Guides contain two different types of resource references:

  • 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 , CapabilityStatement , CapabilityStatement2 and itself.

This resource does not implement any patterns.

Structure

ResourceType GuidePageKind ResourceType
Name Flags Card. Type Description & Constraints doco
. . ImplementationGuide I 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 of the versions defined for the Implementation Guide
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . url Σ 1..1 uri Logical URI to reference Canonical identifier for this implementation guide guide, represented as a URI (globally unique)
. . . version Σ 0..1 string Business version of the implementation guide
. . . name Σ I 1..1 string Name for this implementation guide (computer friendly)
. . . title Σ 0..1 string Name for this implementation guide (human 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 this was 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 Context 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 packageId Σ 0..1 1..1 id NPM Package name for IG
... license Σ 0..1 code SPDX license code for this IG (or not-open-source)
SPDXLicense ( Required )
... fhirVersion Σ 1..* code FHIR Version Version(s) this Implementation Guide targets
FHIRVersion ( Required )
. . . dependency 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
... global Σ 0..* BackboneElement Profiles that apply globally
.... type Σ 1..1 code reference | inclusion Type this profile applies to
GuideDependencyType ResourceType ( Required )
. . . uri . profile Σ 1..1 uri canonical ( StructureDefinition ) Where Profile that all resources must conform to find dependency
. . . package definition Σ I 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 0..* BackboneElement Group of resources as Grouping used to present related resources in .page.package the IG
. . . . . name Σ 1..1 string Name used .page.package Descriptive name for the package
. . . . . description 0..1 string Human readable text describing the package
. . . . resource Σ 1..* BackboneElement Resource in the implementation guide
. . . . example . reference Σ 1..1 boolean Reference ( Any ) Location of the resource
..... fhirVersion If not an example, has its normal meaning 0..* code Versions this applies to (if different to IG)
FHIRVersion ( Required )
. . . . . 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?
.... . . acronym exampleBoolean boolean
. . . . . . exampleCanonical canonical ( StructureDefinition )
..... groupingId 0..1 string id Short code to identify Grouping this is part of
.... page 0..1 BackboneElement Page/Section in the resource Guide
. . . . . source[x] name[x] Σ 1..1 Location of the resource Where to find that page
. . . . . . sourceUri nameUrl uri url
. . . . . . sourceReference nameReference Reference ( Any Binary )
. . . . exampleFor . title 0..1 1..1 Reference string Short title shown for navigational assistance
..... generation 1..1 code html | markdown | xml | generated
GuidePageGeneration ( StructureDefinition Required )
. . . . . page Resource this is an example of (if applicable) 0..* see page Nested Pages / Sections
. . . . global parameter Σ 0..* BackboneElement Profiles that apply globally Defines how IG is built by tools
. . . . . type code Σ 1..1 code string Type this profiles applies to apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template
. . . . . value ( Required ) 1..1 string Value for named type
. . . profile . template Σ 0..* BackboneElement A template for building resources
..... code 1..1 Reference ( StructureDefinition code ) Profile that all resources must conform to Type of template specified
. . . . . binary source 0..* 1..1 uri string Image, css, script, etc. The source location for the template
.. . . . scope 0..1 string The scope in which the template applies
. . . page manifest Σ 0..1 BackboneElement Page/Section in the Guide Information about an assembled IG
. . . . source rendering Σ 1..1 0..1 uri url Where to find that page Location of rendered implementation guide
. . . title . resource Σ 1..1 1..* string BackboneElement Short title shown for navigational assistance Resource in the implementation guide
. . . . kind . reference Σ 1..1 code Reference ( Any ) Location of the resource
..... example[x] page | 0..1 Is an example/What is this an example | list | include | directory | dictionary | toc | resource of?
. . . . . . exampleBoolean boolean
...... exampleCanonical canonical ( Required StructureDefinition )
. . . . . type relativePath 0..* 0..1 code url Kind of resource to include Relative path for page in the list IG
. . . . page ( Required ) 0..* BackboneElement HTML page within the parent IG
. . . . . package name 0..* 1..1 string Name of package to include HTML page name
. . . . . format title 0..1 code string Format Title of the page, for references
..... anchor 0..* string Anchor available on the page (e.g. html, markdown, etc.)
MimeType
. . . . image ( Required ) 0..* string Image within the IG
. . . page . other 0..* see page string Nested Pages / Sections Additional linkable file in IG

doco Documentation for this format

UML Diagram ( Legend )

ImplementationGuide ( DomainResource ) An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance. instance; also called its canonical identifier. This SHALL be a URL, SHOULD be globally unique, unique and SHOULD be an a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. The This URL SHOULD include can be the major version target of a canonical reference. It SHALL remain the same when the implementation guide. For more information see [Technical and Business Versions](resource.html#versions) guide is stored on different servers url : uri [1..1] 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] 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] 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] « The lifecycle status of a Value Set or Concept Map. an artifact. (Strength=Required) PublicationStatus ! » A boolean Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing), education/evaluation/marketing) and is not intended to be used for genuine usage (this element modifies the meaning of other elements) experimental : boolean [0..1] The date (and optionally time) when the implementation guide was published. The date must change if and 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 individual or organization or individual that published 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 terms 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..*] « Countries and regions within which this artifact is targeted for use use. (Strength=Extensible) Jurisdiction ValueSet + » 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] The version 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] « 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/). (Strength=Required) SPDXLicense ! » The version(s) of the FHIR specification on which that this ImplementationGuide is based 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 3.0.1 4.1.0. for this version fhirVersion : code [1..*] « All published FHIR Versions. (Strength=Required) FHIRVersion ! » 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] A binary file The version of the IG that is included in the implementation guide depended on, when it the correct version is published required to understand the IG correctly binary version : uri string [0..*] [0..1] Dependency Global How the dependency is represented when the guide is published The type of resource that all instances must conform to type : code [1..1] « How a dependency is represented when One of the guide is published. resource types defined as part of this version of FHIR. (Strength=Required) GuideDependencyType ResourceType ! » Where A reference to the dependency is located profile that all instances must conform to uri profile : uri canonical [1..1] « StructureDefinition » Package Definition Grouping The name human-readable title to display for the group, as used in page.package package of resources when rendering the implementation guide name : string [1..1] Human readable text describing the package description : string [0..1] Resource Whether a Where this resource is included in the guide as part of found reference : Reference [1..1] « Any » Indicates the rules defined by FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the guide, or just as an example of a resource that conforms is assumed to apply to all the rules and/or help implementers understand the intent of the guide versions stated in ImplementationGuide.fhirVersion example fhirVersion : boolean code [1..1] [0..*] « All published FHIR Versions. (Strength=Required) FHIRVersion ! » 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 [0..1] A short code that may be used to identify If true or a reference, indicates the resource throughout is an example instance. If a reference is present, indicates that the implementation guide example is an example of the specified profile acronym example[x] : string Type [0..1] « boolean | canonical ( StructureDefinition ) » Where Reference to the id of the grouping this resource is found appears in source[x] groupingId : id [0..1] Page The source address for the page name[x] : Type [1..1] uri « url | Reference ( Any Binary ) » Another resource that this resource is an example for. This is mostly A short title used for resources that are included to represent this page in navigational structures such as examples table of StructureDefinitions contents, bread crumbs, etc exampleFor title : Reference string [0..1] StructureDefinition [1..1] A code that indicates how the page is generated generation : code [1..1] « A code that indicates how the page is generated. (Strength=Required) GuidePageGeneration ! » Parameter apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template code : string [1..1] Value for named type value : string [1..1] Global Template The type Type of resource that all instances must conform to template specified type code : code [1..1] One of The source location for the resource types defined as part of FHIR. (Strength=Required) template ResourceType ! source : string [1..1] A reference to The scope in which the profile that all instances must conform to template applies profile scope : Reference [1..1] StructureDefinition string [0..1] Page Manifest The source address for A pointer to official web page, PDF or other rendering of the page implementation guide source rendering : uri url [1..1] [0..1] A short title used Indicates a relative path to represent this page in navigational structures such as table of contents, bread crumbs, etc an image that exists within the IG title image : string [1..1] [0..*] The kind Indicates the relative path of page an additional non-page, non-image file that this is. Some pages are autogenerated (list, example), and other kinds are is part of interest so that tools can navigate the user to IG - e.g. zip, jar and similar files that could be the page target of interest a hyperlink in a derived IG kind other : code string [1..1] [0..*] ManifestResource The kind of an included page. (Strength=Required) Where this resource is found GuidePageKind ! reference : Reference [1..1] « Any » For constructed pages, what kind If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of resources to include in the list specified profile type example[x] : code Type [0..*] [0..1] « boolean | canonical ( StructureDefinition ) » One of the The relative path for primary page for this resource types defined as part of FHIR. (Strength=Required) within the IG ResourceType ! relativePath : url [0..1] ManifestPage For constructed pages, a list of packages Relative path to include in the page (or else empty for everything) package name : string [0..*] [1..1] The format of Label for the page intended for human display format title : code string [0..1] The mime type name of an attachment. Any valid mime type is allowed. (Strength=Required) anchor available on the page MimeType ! 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 dependency 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..*] A logical group of resources. Logical groups can be used when building pages Nested Pages/Sections under this page package page [0..*] A set of profiles that all resources covered by this page / section in the implementation guide. The root page is the implementation guide must conform to home page global page [0..*] [0..1] Defines how IG is built by tools parameter [0..*] Nested Pages/Sections under this page A template for building resources page template [0..*] A page / section in The information needed by an IG publisher tool to publish the whole implementation guide. The root page guide definition [0..1] A resource that is part of the implementation guide home 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) -->

 <version value="[string]"/><!-- 0..1 Business version of the implementation guide -->
 <

 <name value="[string]"/><!-- ?? 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 (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>

 <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 -->
 <
 <
  <
  <
 </dependency>
 <
  <
  <
  <
   <
   <
   <
   <
   <</source[x]>
   <</exampleFor>
  </resource>
 </package>

 <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]"/><!-- 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 -->
 </dependsOn>

 <global>  <!-- 0..* Profiles that apply globally -->
  <
  <</profile>

  <type value="[code]"/><!-- 1..1 Type this profile applies to -->
  <profile><!-- 1..1 canonical(StructureDefinition) Profile that all resources must conform to --></profile>

 </global>
 <
 <
  <
  <
  <
  <
  <
  <
  <</page>
 </page>

 <definition>  <!-- 0..1 Information needed to build the IG -->
  <grouping>  <!-- 0..* Grouping used to present related resources in the IG -->
   <name value="[string]"/><!-- 1..1 Descriptive name for the package -->
   <description value="[string]"/><!-- 0..1 Human readable text describing the package -->
  </grouping>
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <reference><!-- 1..1 Reference(Any) Location of the resource --></reference>
   <fhirVersion value="[code]"/><!-- 0..* Versions this applies to (if different to IG) -->
   <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]>
   <groupingId value="[id]"/><!-- 0..1 Grouping 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="[string]"/><!-- 1..1 apply | path-resource | path-pages | path-tx-cache | expansion-parameter | 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

{doco
  "resourceType" : "",

  "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>", // C? 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 (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
  "
  "
    "
    "
  }],
  "
    "
    "
    "
      "
      "
      "
      "
      
      ">",
      " },
      "
    }]

  "packageId" : "<id>", // R!  NPM Package name for IG
  "license" : "<code>", // SPDX license code for this IG (or not-open-source)
  "fhirVersion" : ["<code>"], // 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

  }],
  "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" : { // Information needed to build the IG
    "grouping" : [{ // Grouping used to present related resources in the IG
      "name" : "<string>", // R!  Descriptive name for the package
      "description" : "<string>" // Human readable text describing the package
    }],
    "resource" : [{ // R!  Resource in the implementation guide
      "reference" : { Reference(Any) }, // R!  Location of the resource
      "fhirVersion" : ["<code>"], // Versions this applies to (if different to IG)
      "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(StructureDefinition) },
      "groupingId" : "<id>" // Grouping 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" : "<string>", // R!  apply | path-resource | path-pages | path-tx-cache | expansion-parameter | 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(StructureDefinition) },
      "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:;

[ 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: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.title [ string ]; # 0..1 Name for this implementation guide (human friendly)

  fhir:ImplementationGuide.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:
  fhir:
  fhir:

  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:

  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:
  fhir:
    fhir:
    fhir:
  ], ...;
  fhir:
    fhir:
    fhir:
    fhir:
      fhir:
      fhir:
      fhir:
      fhir:
      # . One of these 2
        fhir: ]
        fhir:) ]
      fhir:
    ], ...;

  fhir:ImplementationGuide.packageId [ id ]; # 1..1 NPM Package name for IG
  fhir:ImplementationGuide.license [ code ]; # 0..1 SPDX license code for this IG (or not-open-source)
  fhir:ImplementationGuide.fhirVersion [ code ], ... ; # 1..* FHIR Version(s) this Implementation Guide targets
  fhir:ImplementationGuide.dependsOn [ # 0..* Another Implementation guide this depends on
    fhir:ImplementationGuide.dependsOn.uri [ canonical(ImplementationGuide) ]; # 1..1 Identity of the IG that this depends on
    fhir:ImplementationGuide.dependsOn.packageId [ id ]; # 0..1 NPM Package name for IG this depends on
    fhir:ImplementationGuide.dependsOn.version [ string ]; # 0..1 Version of the IG

  ], ...;
  fhir:ImplementationGuide.global [ # 0..* Profiles that apply globally
    fhir:
    fhir:

    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:
  fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:

  fhir:ImplementationGuide.definition [ # 0..1 Information needed to build the IG
    fhir:ImplementationGuide.definition.grouping [ # 0..* Grouping used to present related resources in the IG
      fhir:ImplementationGuide.definition.grouping.name [ string ]; # 1..1 Descriptive name for the package
      fhir:ImplementationGuide.definition.grouping.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.fhirVersion [ code ], ... ; # 0..* Versions this applies to (if different to IG)
      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.groupingId [ id ]; # 0..1 Grouping 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 [ string ]; # 1..1 apply | path-resource | path-pages | path-tx-cache | expansion-parameter | 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 R3

ImplementationGuide
ImplementationGuide.status
  • Change value set from http://hl7.org/fhir/ValueSet/conformance-resource-status http://hl7.org/fhir/ValueSet/publication-status|4.0.0 to http://hl7.org/fhir/ValueSet/publication-status ImplementationGuide.experimental Now marked as Modifier http://hl7.org/fhir/ValueSet/publication-status|4.1.0
ImplementationGuide.contact ImplementationGuide.license
  • Type changed Change value set from BackboneElement http://hl7.org/fhir/ValueSet/spdx-license|4.0.0 to ContactDetail http://hl7.org/fhir/ValueSet/spdx-license|4.1.0
ImplementationGuide.description ImplementationGuide.fhirVersion
  • Type changed Change value set from string http://hl7.org/fhir/ValueSet/FHIR-version|4.0.0 to markdown http://hl7.org/fhir/ValueSet/FHIR-version|4.1.0
ImplementationGuide.useContext ImplementationGuide.global.type
  • Type changed Change value set from CodeableConcept http://hl7.org/fhir/ValueSet/resource-types|4.0.0 to UsageContext Remove Binding http://hl7.org/fhir/ValueSet/use-context (extensible) ImplementationGuide.jurisdiction Added Element http://hl7.org/fhir/ValueSet/resource-types|4.1.0
ImplementationGuide.copyright ImplementationGuide.definition.resource.fhirVersion
  • Type changed Change value set from string http://hl7.org/fhir/ValueSet/FHIR-version|4.0.0 to markdown http://hl7.org/fhir/ValueSet/FHIR-version|4.1.0
ImplementationGuide.package ImplementationGuide.definition.page.generation
  • Min Cardinality changed Change value set from 1 http://hl7.org/fhir/ValueSet/guide-page-generation|4.0.0 to 0 ImplementationGuide.package.resource.example Added Element http://hl7.org/fhir/ValueSet/guide-page-generation|4.1.0
ImplementationGuide.page ImplementationGuide.definition.parameter.code
  • Min Cardinality Type changed from 1 to 0 ImplementationGuide.page.title Renamed from name code to title ImplementationGuide.contact.name deleted ImplementationGuide.contact.telecom deleted string
  • ImplementationGuide.package.resource.purpose
  • deleted Remove Binding http://hl7.org/fhir/ValueSet/guide-parameter-code|4.0.0 (required)

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all 1 r3 resources are valid.). invalid (0 errors). )

Structure

ResourceType GuidePageKind ResourceType
Name Flags Card. Type Description & Constraints doco
. . ImplementationGuide I 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 of the versions defined for the Implementation Guide
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . url Σ 1..1 uri Logical URI to reference Canonical identifier for this implementation guide guide, represented as a URI (globally unique)
. . . version Σ 0..1 string Business version of the implementation guide
. . . name Σ I 1..1 string Name for this implementation guide (computer friendly)
. . . title Σ 0..1 string Name for this implementation guide (human 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 this was 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 Context 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 packageId Σ 0..1 1..1 id NPM Package name for IG
... license Σ 0..1 code SPDX license code for this IG (or not-open-source)
SPDXLicense ( Required )
... fhirVersion Σ 1..* code FHIR Version Version(s) this Implementation Guide targets
FHIRVersion ( Required )
. . . dependency 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
... global Σ 0..* BackboneElement Profiles that apply globally
.... type Σ 1..1 code reference | inclusion Type this profile applies to
GuideDependencyType ResourceType ( Required )
. . . uri . profile Σ 1..1 uri canonical ( StructureDefinition ) Where Profile that all resources must conform to find dependency
. . . package definition Σ I 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 0..* BackboneElement Group of resources as Grouping used to present related resources in .page.package the IG
. . . . . name Σ 1..1 string Name used .page.package Descriptive name for the package
. . . . . description 0..1 string Human readable text describing the package
. . . . resource Σ 1..* BackboneElement Resource in the implementation guide
. . . . example . reference Σ 1..1 boolean Reference ( Any ) Location of the resource
..... fhirVersion If not an example, has its normal meaning 0..* code Versions this applies to (if different to IG)
FHIRVersion ( Required )
. . . . . 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?
.... . . acronym exampleBoolean boolean
. . . . . . exampleCanonical canonical ( StructureDefinition )
..... groupingId 0..1 string id Short code to identify Grouping this is part of
.... page 0..1 BackboneElement Page/Section in the resource Guide
. . . . . source[x] name[x] Σ 1..1 Location of the resource Where to find that page
. . . . . . sourceUri nameUrl uri url
. . . . . . sourceReference nameReference Reference ( Any Binary )
. . . . exampleFor . title 0..1 1..1 Reference string Short title shown for navigational assistance
..... generation 1..1 code html | markdown | xml | generated
GuidePageGeneration ( StructureDefinition Required )
. . . . . page Resource this is an example of (if applicable) 0..* see page Nested Pages / Sections
. . . . global parameter Σ 0..* BackboneElement Profiles that apply globally Defines how IG is built by tools
. . . . . type code Σ 1..1 code string Type this profiles applies to apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template
. . . . . value ( Required ) 1..1 string Value for named type
. . . profile . template Σ 0..* BackboneElement A template for building resources
..... code 1..1 Reference ( StructureDefinition code ) Profile that all resources must conform to Type of template specified
. . . . . binary source 0..* 1..1 uri string The source location for the template
..... scope Image, css, script, etc. 0..1 string The scope in which the template applies
. . . page manifest Σ 0..1 BackboneElement Page/Section in the Guide Information about an assembled IG
. . . . source rendering Σ 1..1 0..1 uri url Where to find that page Location of rendered implementation guide
. . . title . resource Σ 1..1 1..* string BackboneElement Short title shown for navigational assistance Resource in the implementation guide
. . . . kind . reference Σ 1..1 code Reference ( Any ) Location of the resource
..... example[x] page | 0..1 Is an example/What is this an example | list | include | directory | dictionary | toc | resource of?
. . . . . . exampleBoolean boolean
...... exampleCanonical canonical ( Required StructureDefinition )
. . . . . type relativePath 0..* 0..1 code url Kind of resource to include Relative path for page in the list IG
. . . . page ( Required ) 0..* BackboneElement HTML page within the parent IG
. . . . . package name 0..* 1..1 string Name of package to include HTML page name
. . . . . format title 0..1 code string Format Title of the page, for references
..... anchor 0..* string Anchor available on the page (e.g. html, markdown, etc.)
MimeType
. . . . image ( Required ) 0..* string Image within the IG
. . . page . other 0..* see page string Nested Pages / Sections Additional linkable file in IG

doco Documentation for this format

UML Diagram ( Legend )

ImplementationGuide ( DomainResource ) An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance. instance; also called its canonical identifier. This SHALL be a URL, SHOULD be globally unique, unique and SHOULD be an a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. The This URL SHOULD include can be the major version target of a canonical reference. It SHALL remain the same when the implementation guide. For more information see [Technical and Business Versions](resource.html#versions) guide is stored on different servers url : uri [1..1] 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] 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] 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] « The lifecycle status of a Value Set or Concept Map. an artifact. (Strength=Required) PublicationStatus ! » A boolean Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing), education/evaluation/marketing) and is not intended to be used for genuine usage (this element modifies the meaning of other elements) experimental : boolean [0..1] The date (and optionally time) when the implementation guide was published. The date must change if and 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 individual or organization or individual that published 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 terms 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..*] « Countries and regions within which this artifact is targeted for use use. (Strength=Extensible) Jurisdiction ValueSet + » 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] The version 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] « 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/). (Strength=Required) SPDXLicense ! » The version(s) of the FHIR specification on which that this ImplementationGuide is based 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 3.0.1 4.1.0. for this version fhirVersion : code [1..*] « All published FHIR Versions. (Strength=Required) FHIRVersion ! » 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] A binary file The version of the IG that is included in the implementation guide depended on, when it the correct version is published required to understand the IG correctly binary version : uri string [0..*] [0..1] Dependency Global How the dependency is represented when the guide is published The type of resource that all instances must conform to type : code [1..1] « How a dependency is represented when One of the guide is published. resource types defined as part of this version of FHIR. (Strength=Required) GuideDependencyType ResourceType ! » Where A reference to the dependency is located profile that all instances must conform to uri profile : uri canonical [1..1] « StructureDefinition » Package Definition Grouping The name human-readable title to display for the group, as used in page.package package of resources when rendering the implementation guide name : string [1..1] Human readable text describing the package description : string [0..1] Resource Whether a Where this resource is included in the guide as part of found reference : Reference [1..1] « Any » Indicates the rules defined by FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the guide, or just as an example of a resource that conforms is assumed to apply to all the rules and/or help implementers understand the intent of the guide versions stated in ImplementationGuide.fhirVersion example fhirVersion : boolean code [1..1] [0..*] « All published FHIR Versions. (Strength=Required) FHIRVersion ! » 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 [0..1] A short code that may be used to identify If true or a reference, indicates the resource throughout is an example instance. If a reference is present, indicates that the implementation guide example is an example of the specified profile acronym example[x] : string Type [0..1] « boolean | canonical ( StructureDefinition ) » Where Reference to the id of the grouping this resource is found appears in source[x] groupingId : id [0..1] Page The source address for the page name[x] : Type [1..1] uri « url | Reference ( Any Binary ) » Another resource that this resource is an example for. This is mostly A short title used for resources that are included to represent this page in navigational structures such as examples table of StructureDefinitions contents, bread crumbs, etc exampleFor title : Reference string [0..1] StructureDefinition [1..1] A code that indicates how the page is generated generation : code [1..1] « A code that indicates how the page is generated. (Strength=Required) GuidePageGeneration ! » Parameter apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template code : string [1..1] Value for named type value : string [1..1] Global Template The type Type of resource that all instances must conform to template specified type code : code [1..1] One of The source location for the resource types defined as part of FHIR. (Strength=Required) template ResourceType ! source : string [1..1] A reference to The scope in which the profile that all instances must conform to template applies profile scope : Reference [1..1] StructureDefinition string [0..1] Page Manifest The source address for A pointer to official web page, PDF or other rendering of the page implementation guide source rendering : uri url [1..1] [0..1] A short title used Indicates a relative path to represent this page in navigational structures such as table of contents, bread crumbs, etc an image that exists within the IG title image : string [1..1] [0..*] The kind Indicates the relative path of page an additional non-page, non-image file that this is. Some pages are autogenerated (list, example), and other kinds are is part of interest so that tools can navigate the user to IG - e.g. zip, jar and similar files that could be the page target of interest a hyperlink in a derived IG kind other : code string [1..1] [0..*] ManifestResource The kind of an included page. (Strength=Required) Where this resource is found GuidePageKind ! reference : Reference [1..1] « Any » For constructed pages, what kind If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of resources to include in the list specified profile type example[x] : code Type [0..*] [0..1] « boolean | canonical ( StructureDefinition ) » One of the The relative path for primary page for this resource types defined as part of FHIR. (Strength=Required) within the IG ResourceType ! relativePath : url [0..1] ManifestPage For constructed pages, a list of packages Relative path to include in the page (or else empty for everything) package name : string [0..*] [1..1] The format of Label for the page intended for human display format title : code string [0..1] The mime type name of an attachment. Any valid mime type is allowed. (Strength=Required) anchor available on the page MimeType ! 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 dependency 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..*] A logical group of resources. Logical groups can be used when building pages Nested Pages/Sections under this page package page [0..*] A set of profiles that all resources covered by this page / section in the implementation guide. The root page is the implementation guide must conform to home page global page [0..*] [0..1] Defines how IG is built by tools parameter [0..*] Nested Pages/Sections under this page A template for building resources page template [0..*] A page / section in The information needed by an IG publisher tool to publish the whole implementation guide. The root page guide definition [0..1] A resource that is part of the implementation guide home 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) -->

 <version value="[string]"/><!-- 0..1 Business version of the implementation guide -->
 <

 <name value="[string]"/><!-- ?? 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 (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>

 <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 -->
 <
 <
  <
  <
 </dependency>
 <
  <
  <
  <
   <
   <
   <
   <
   <</source[x]>
   <</exampleFor>
  </resource>
 </package>

 <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]"/><!-- 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 -->
 </dependsOn>

 <global>  <!-- 0..* Profiles that apply globally -->
  <
  <</profile>

  <type value="[code]"/><!-- 1..1 Type this profile applies to -->
  <profile><!-- 1..1 canonical(StructureDefinition) Profile that all resources must conform to --></profile>

 </global>
 <
 <
  <
  <
  <
  <
  <
  <
  <</page>
 </page>

 <definition>  <!-- 0..1 Information needed to build the IG -->
  <grouping>  <!-- 0..* Grouping used to present related resources in the IG -->
   <name value="[string]"/><!-- 1..1 Descriptive name for the package -->
   <description value="[string]"/><!-- 0..1 Human readable text describing the package -->
  </grouping>
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <reference><!-- 1..1 Reference(Any) Location of the resource --></reference>
   <fhirVersion value="[code]"/><!-- 0..* Versions this applies to (if different to IG) -->
   <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]>
   <groupingId value="[id]"/><!-- 0..1 Grouping 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="[string]"/><!-- 1..1 apply | path-resource | path-pages | path-tx-cache | expansion-parameter | 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

{doco
  "resourceType" : "",

  "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>", // C? 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 (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
  "
  "
    "
    "
  }],
  "
    "
    "
    "
      "
      "
      "
      "
      
      ">",
      " },
      "
    }]

  "packageId" : "<id>", // R!  NPM Package name for IG
  "license" : "<code>", // SPDX license code for this IG (or not-open-source)
  "fhirVersion" : ["<code>"], // 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

  }],
  "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" : { // Information needed to build the IG
    "grouping" : [{ // Grouping used to present related resources in the IG
      "name" : "<string>", // R!  Descriptive name for the package
      "description" : "<string>" // Human readable text describing the package
    }],
    "resource" : [{ // R!  Resource in the implementation guide
      "reference" : { Reference(Any) }, // R!  Location of the resource
      "fhirVersion" : ["<code>"], // Versions this applies to (if different to IG)
      "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(StructureDefinition) },
      "groupingId" : "<id>" // Grouping 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" : "<string>", // R!  apply | path-resource | path-pages | path-tx-cache | expansion-parameter | 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(StructureDefinition) },
      "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:;

[ 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: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.title [ string ]; # 0..1 Name for this implementation guide (human friendly)

  fhir:ImplementationGuide.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:
  fhir:
  fhir:

  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:

  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:
  fhir:
    fhir:
    fhir:
  ], ...;
  fhir:
    fhir:
    fhir:
    fhir:
      fhir:
      fhir:
      fhir:
      fhir:
      # . One of these 2
        fhir: ]
        fhir:) ]
      fhir:
    ], ...;

  fhir:ImplementationGuide.packageId [ id ]; # 1..1 NPM Package name for IG
  fhir:ImplementationGuide.license [ code ]; # 0..1 SPDX license code for this IG (or not-open-source)
  fhir:ImplementationGuide.fhirVersion [ code ], ... ; # 1..* FHIR Version(s) this Implementation Guide targets
  fhir:ImplementationGuide.dependsOn [ # 0..* Another Implementation guide this depends on
    fhir:ImplementationGuide.dependsOn.uri [ canonical(ImplementationGuide) ]; # 1..1 Identity of the IG that this depends on
    fhir:ImplementationGuide.dependsOn.packageId [ id ]; # 0..1 NPM Package name for IG this depends on
    fhir:ImplementationGuide.dependsOn.version [ string ]; # 0..1 Version of the IG

  ], ...;
  fhir:ImplementationGuide.global [ # 0..* Profiles that apply globally
    fhir:
    fhir:

    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:
  fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:

  fhir:ImplementationGuide.definition [ # 0..1 Information needed to build the IG
    fhir:ImplementationGuide.definition.grouping [ # 0..* Grouping used to present related resources in the IG
      fhir:ImplementationGuide.definition.grouping.name [ string ]; # 1..1 Descriptive name for the package
      fhir:ImplementationGuide.definition.grouping.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.fhirVersion [ code ], ... ; # 0..* Versions this applies to (if different to IG)
      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.groupingId [ id ]; # 0..1 Grouping 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 [ string ]; # 1..1 apply | path-resource | path-pages | path-tx-cache | expansion-parameter | 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 Release 3

ImplementationGuide
ImplementationGuide.status
  • Change value set from http://hl7.org/fhir/ValueSet/conformance-resource-status http://hl7.org/fhir/ValueSet/publication-status|4.0.0 to http://hl7.org/fhir/ValueSet/publication-status ImplementationGuide.experimental Now marked as Modifier http://hl7.org/fhir/ValueSet/publication-status|4.1.0
ImplementationGuide.contact ImplementationGuide.license
  • Type changed Change value set from BackboneElement http://hl7.org/fhir/ValueSet/spdx-license|4.0.0 to ContactDetail http://hl7.org/fhir/ValueSet/spdx-license|4.1.0
ImplementationGuide.description ImplementationGuide.fhirVersion
  • Type changed Change value set from string http://hl7.org/fhir/ValueSet/FHIR-version|4.0.0 to markdown http://hl7.org/fhir/ValueSet/FHIR-version|4.1.0
ImplementationGuide.useContext ImplementationGuide.global.type
  • Type changed Change value set from CodeableConcept http://hl7.org/fhir/ValueSet/resource-types|4.0.0 to UsageContext Remove Binding http://hl7.org/fhir/ValueSet/use-context (extensible) ImplementationGuide.jurisdiction Added Element http://hl7.org/fhir/ValueSet/resource-types|4.1.0
ImplementationGuide.copyright ImplementationGuide.definition.resource.fhirVersion
  • Type changed Change value set from string http://hl7.org/fhir/ValueSet/FHIR-version|4.0.0 to markdown http://hl7.org/fhir/ValueSet/FHIR-version|4.1.0
ImplementationGuide.package ImplementationGuide.definition.page.generation
  • Min Cardinality changed Change value set from 1 http://hl7.org/fhir/ValueSet/guide-page-generation|4.0.0 to 0 ImplementationGuide.package.resource.example Added Element http://hl7.org/fhir/ValueSet/guide-page-generation|4.1.0
ImplementationGuide.page ImplementationGuide.definition.parameter.code
  • Min Cardinality Type changed from 1 to 0 ImplementationGuide.page.title Renamed from name code to title ImplementationGuide.contact.name deleted ImplementationGuide.contact.telecom deleted string
  • ImplementationGuide.package.resource.purpose
  • deleted Remove Binding http://hl7.org/fhir/ValueSet/guide-parameter-code|4.0.0 (required)

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all 1 r3 resources are valid.). invalid (0 errors). )

 

Alternate See the Profiles & Extensions and the alternate definitions: Master Definition ( XML , + JSON ), , XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle ) + see the extensions , the spreadsheet version & the dependency analysis a

ImplementationGuide.dependency.type ImplementationGuide.page.kind
Path Definition Type Reference
ImplementationGuide.status The lifecycle status of a Value Set or Concept Map. an artifact. Required PublicationStatus
ImplementationGuide.jurisdiction Countries and regions within which this artifact is targeted for use use. Extensible Jurisdiction ValueSet
ImplementationGuide.license How a dependency is represented when the guide The license that applies to an Implementation Guide (using an SPDX license Identifiers, or 'not-open-source'). The binding is published. required but new SPDX license Identifiers are allowed to be used (https://spdx.org/licenses/). Required GuideDependencyType SPDXLicense
ImplementationGuide.fhirVersion
ImplementationGuide.definition.resource.fhirVersion
All published FHIR Versions. Required FHIRVersion
ImplementationGuide.global.type ImplementationGuide.page.type One of the resource types defined as part of this version of FHIR. Required Resource Types
ImplementationGuide.definition.page.generation The kind of an included page. A code that indicates how the page is generated. Required GuidePageKind GuidePageGeneration

ImplementationGuide.page.format The mime type of
id Level Location Description Expression
ig-0 Warning (base) Name should be usable as an attachment. Any valid mime type is allowed. identifier for the module by machine processing applications such as code generation Required name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
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) BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289
ig-2 Rule (base) If a resource has a fhirVersion, it must be oe of the versions defined for the Implementation Guide definition.resource.fhirVersion.all(%context.fhirVersion contains $this)

Implementation Guides are published through the FHIR Package distribution system. For further details, see the FHIR Confluence site . This content may be moved into the specification in a future version.

Most implementation guides target a single version - that is, they describe how to use a particular version, and 2049) all the profiles, value sets and examples they contain 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"],

This specifies that the implementation guide applies to both release 3 and Release 4 . 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 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.

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
context token A use context assigned to the implementation guide (ImplementationGuide.useContext.value as CodeableConcept)
context-quantity quantity A quantity- or range-valued use context assigned to the implementation guide (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range)
context-type token A type of use context assigned to the implementation guide ImplementationGuide.useContext.code
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.as(Range)
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)
date date The implementation guide publication date ImplementationGuide.date
dependency depends-on uri reference Where to find dependency Identity of the IG that this depends on ImplementationGuide.dependency.uri ImplementationGuide.dependsOn.uri
( ImplementationGuide )
description string The description of the implementation guide ImplementationGuide.description
experimental token For testing purposes, not real usage ImplementationGuide.experimental
global reference Profile that all resources must conform to ImplementationGuide.global.profile
( StructureDefinition )
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
resource reference Location of the resource ImplementationGuide.package.resource.source ImplementationGuide.definition.resource.reference
(Any)
status token The current status of the implementation guide ImplementationGuide.status
title string The human-friendly name of the implementation guide ImplementationGuide.title
url uri The uri that identifies the implementation guide ImplementationGuide.url
version token The business version of the implementation guide ImplementationGuide.version