Connectathon 11 Snapshot

This page is part of the FHIR Specification (v1.2.0: STU 3 Draft). 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

6.15 Resource ImplementationGuide - Content

FHIR Infrastructure Work GroupMaturity Level: 0Compartments: Not linked to any defined compartments

A set of rules or how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole, and to publish a computable definition of all the parts.

6.15.1 Scope and Usage

An "implementation guide" defines a particular scope of usage for FHIR, and sets a bounded set of expectations for implementations to comply to.

The significant conformance expectation introduced by the ImplementationGuide resource is the idea of Default Profiles. Implementations may conform to multiple implementation guides at once, but this requires that the implementation guides are compatible (see below).

6.15.2 Boundaries and Relationships

Implementation Guides contain two different types of resource references: .

  • Contents: A set of logical statements which implementations must conformn 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 applications Conformance Statement may identify one or more implementation guides that an application conforms to.

6.15.3 Background and Context

The ImplementationGuide resource is defined for two principle reasons:

  • As a logical statement of the implementation guide contents for conformance tools to use to evaluate conformance
  • For the FHIR project tools, to support publishing implementation guides

6.15.4 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImplementationGuide DomainResourceA set of rules about how FHIR is used
... url Σ1..1uriAbsolute URL used to reference this Implementation Guide
... version Σ0..1stringLogical id for this version of the Implementation Guide
... name Σ1..1stringInformal name for this Implementation Guide
... status ?! Σ1..1codedraft | active | retired
ConformanceResourceStatus (Required)
... experimental Σ0..1booleanIf for testing purposes, not real usage
... publisher Σ0..1stringName of the publisher (Organization or individual)
... contact Σ0..*BackboneElementContact details of the publisher
.... name Σ0..1stringName of a individual to contact
.... telecom Σ0..*ContactPointContact details for individual or publisher
... date Σ0..1dateTimeDate for this version of the Implementation Guide
... description Σ0..1stringNatural language description of the Implementation Guide
... useContext Σ0..*CodeableConceptThe implementation guide is intended to support these contexts
Context of Use ValueSet (Extensible)
... copyright 0..1stringUse and/or publishing restrictions
... fhirVersion Σ0..1idFHIR Version this Implementation Guide targets
... dependency Σ0..*BackboneElementAnother Implementation guide this depends on
.... type Σ1..1codereference | inclusion
GuideDependencyType (Required)
.... uri Σ1..1uriWhere to find dependency
... package Σ1..*BackboneElementGroup of resources as used in .page.package
.... name Σ1..1stringName used .page.package
.... description 0..1stringHuman readable text describing the package
.... resource Σ1..*BackboneElementResource in the implementation guide
..... purpose Σ1..1codeexample | terminology | profile | extension | dictionary | logical
GuideResourcePurpose (Required)
..... name Σ0..1stringHuman Name for the resource
..... description 0..1stringReason why included in guide
..... acronym 0..1stringShort code to identify the resource
..... source[x] Σ1..1Location of the resource
...... sourceUriuri
...... sourceReferenceReference(Any)
..... exampleFor 0..1Reference(StructureDefinition)Resource this is an example of (if applicable)
... global Σ0..*BackboneElementProfiles that apply globally
.... type Σ1..1codeType this profiles applies to
ResourceType (Required)
.... profile Σ1..1Reference(StructureDefinition)Profile that all resources must conform to
... binary 0..*uriImage, css, script, etc.
... page Σ1..1BackboneElementPage/Section in the Guide
.... source Σ1..1uriWhere to find that page
.... name Σ1..1stringShort name shown for navigational assistance
.... kind Σ1..1codepage | example | list | include | directory | dictionary | toc | resource
GuidePageKind (Required)
.... type 0..*codeKind of resource to include in the list
ResourceType (Required)
.... package 0..*stringName of package to include
.... format 0..1codeFormat of the page (e.g. html, markdown, etc.)
MimeType (Required)
.... page 0..*see pageNested Pages / Sections

doco Documentation for this format

UML Diagram

ImplementationGuide (DomainResource)An absolute URL that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this implementation guide is (or will be) publishedurl : 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 manuallyversion : string [0..1]A free text natural language name identifying the Implementation Guidename : string [1..1]The status of the Implementation Guide (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of a Value Set or Concept Map. (Strength=Required)ConformanceResourceStatus! »This Implementation Guide was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usageexperimental : boolean [0..1]The name of the individual or organization that published the implementation guidepublisher : string [0..1]The date this version of the implementation guide was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changesdate : dateTime [0..1]A free text natural language description of the Implementation Guide and its usedescription : string [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of implementation guides. The most common use of this element is to represent the country / jurisdiction for which this implementation guide was defineduseContext : CodeableConcept [0..*] « Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use. (Strength=Extensible)Context of Use 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 details of the constraints and mappingscopyright : string [0..1]The version of the FHIR specification on which this ImplementationGuide is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 1.2.0 for this versionfhirVersion : id [0..1]A binary file that is included in the implementation guide when it is publishedbinary : uri [0..*]ContactThe name of an individual to contact regarding the implementation guidename : string [0..1]Contact details for individual (if a name was provided) or the publishertelecom : ContactPoint [0..*]DependencyHow the dependency is represented when the guide is publishedtype : code [1..1] « How a dependency is represented when the guide is published. (Strength=Required)GuideDependencyType! »Where the dependency is locateduri : uri [1..1]PackageThe name for the group, as used in page.packagename : string [1..1]Human readable text describing the packagedescription : string [0..1]ResourceWhy the resource is included in the guidepurpose : code [1..1] « Why a resource is included in the guide. (Strength=Required)GuideResourcePurpose! »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 guidedescription : string [0..1]A short code that may be used to identify the resource throughout the implementation guideacronym : string [0..1]Where this resource is foundsource[x] : Type [1..1] « uri|Reference(Any) »Another resource that this resource is an example for. This is mostly used for resources that are included as examples of StructureDefinitionsexampleFor : Reference [0..1] « StructureDefinition »GlobalThe type of resource that all instances must conform totype : code [1..1] « One of the resource types defined as part of FHIR. (Strength=Required)ResourceType! »A reference to the profile that all instances must conform toprofile : Reference [1..1] « StructureDefinition »PageThe source address for the pagesource : uri [1..1]A short name used to represent this page in navigational structures such as table of contents, bread crumbs, etcname : string [1..1]The kind of page that this is. Some pages are autogenerated (list, example), and other kinds are of interest so that tools can navigate the user to the page of interestkind : code [1..1] « The kind of an included page. (Strength=Required)GuidePageKind! »For constructed pages, what kind of resources to include in the listtype : code [0..*] « One of the resource types defined as part of FHIR. (Strength=Required)ResourceType! »For constructed pages, a list of packages to include in the page (or else empty for everything)package : string [0..*]The format of the pageformat : code [0..1] « The mime type of an attachment. Any valid mime type is allowed. (Strength=Required)MimeType! »Contacts to assist a user in finding and communicating with the publishercontact[0..*]Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guidesdependency[0..*]A resource that is part of the implementation guide. Conformance resources (value set, structure definition, conformance statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resourceresource[1..*]A logical group of resources. Logical groups can be used when building pagespackage[1..*]A set of profiles that all resources covered by this implementation guide must conform toglobal[0..*]Nested Pages/Sections under this pagepage[0..*]A page / section in the implementation guide. The root page is the implementation guide home pagepage[1..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 Absolute URL used to reference this Implementation Guide -->
 <version value="[string]"/><!-- 0..1 Logical id for this version of the Implementation Guide -->
 <name value="[string]"/><!-- 1..1 Informal name for this Implementation Guide -->
 <status value="[code]"/><!-- 1..1 draft | active | retired -->
 <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) -->
 <contact>  <!-- 0..* Contact details of the publisher -->
  <name value="[string]"/><!-- 0..1 Name of a individual to contact -->
  <telecom><!-- 0..* ContactPoint Contact details for individual or publisher --></telecom>
 </contact>
 <date value="[dateTime]"/><!-- 0..1 Date for this version of the Implementation Guide -->
 <description value="[string]"/><!-- 0..1 Natural language description of the Implementation Guide -->
 <useContext><!-- 0..* CodeableConcept The implementation guide is intended to support these contexts --></useContext>
 <copyright value="[string]"/><!-- 0..1 Use and/or publishing restrictions -->
 <fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets -->
 <dependency>  <!-- 0..* Another Implementation guide this depends on -->
  <type value="[code]"/><!-- 1..1 reference | inclusion -->
  <uri value="[uri]"/><!-- 1..1 Where to find dependency -->
 </dependency>
 <package>  <!-- 1..* Group of resources as used in .page.package -->
  <name value="[string]"/><!-- 1..1 Name used .page.package -->
  <description value="[string]"/><!-- 0..1 Human readable text describing the package -->
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <purpose value="[code]"/><!-- 1..1 example | terminology | profile | extension | dictionary | logical -->
   <name value="[string]"/><!-- 0..1 Human Name for the resource -->
   <description value="[string]"/><!-- 0..1 Reason why included in guide -->
   <acronym value="[string]"/><!-- 0..1 Short code to identify the resource -->
   <source[x]><!-- 1..1 uri|Reference(Any) Location of the resource --></source[x]>
   <exampleFor><!-- 0..1 Reference(StructureDefinition) Resource this is an example of (if applicable) --></exampleFor>
  </resource>
 </package>
 <global>  <!-- 0..* Profiles that apply globally -->
  <type value="[code]"/><!-- 1..1 Type this profiles applies to -->
  <profile><!-- 1..1 Reference(StructureDefinition) Profile that all resources must conform to --></profile>
 </global>
 <binary value="[uri]"/><!-- 0..* Image, css, script, etc. -->
 <page>  <!-- 1..1 Page/Section in the Guide -->
  <source value="[uri]"/><!-- 1..1 Where to find that page -->
  <name value="[string]"/><!-- 1..1 Short name shown for navigational assistance -->
  <kind value="[code]"/><!-- 1..1 page | example | list | include | directory | dictionary | toc | resource -->
  <type value="[code]"/><!-- 0..* Kind of resource to include in the list -->
  <package value="[string]"/><!-- 0..* Name of package to include -->
  <format value="[code]"/><!-- 0..1 Format of the page (e.g. html, markdown, etc.)  -->
  <page><!-- 0..* Content as for ImplementationGuide.page Nested Pages / Sections --></page>
 </page>
</ImplementationGuide>

JSON Template

{doco
  "resourceType" : "ImplementationGuide",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // R!  Absolute URL used to reference this Implementation Guide
  "version" : "<string>", // Logical id for this version of the Implementation Guide
  "name" : "<string>", // R!  Informal name for this Implementation Guide
  "status" : "<code>", // R!  draft | active | retired
  "experimental" : <boolean>, // If for testing purposes, not real usage
  "publisher" : "<string>", // Name of the publisher (Organization or individual)
  "contact" : [{ // Contact details of the publisher
    "name" : "<string>", // Name of a individual to contact
    "telecom" : [{ ContactPoint }] // Contact details for individual or publisher
  }],
  "date" : "<dateTime>", // Date for this version of the Implementation Guide
  "description" : "<string>", // Natural language description of the Implementation Guide
  "useContext" : [{ CodeableConcept }], // The implementation guide is intended to support these contexts
  "copyright" : "<string>", // Use and/or publishing restrictions
  "fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets
  "dependency" : [{ // Another Implementation guide this depends on
    "type" : "<code>", // R!  reference | inclusion
    "uri" : "<uri>" // R!  Where to find dependency
  }],
  "package" : [{ // R!  Group of resources as used in .page.package
    "name" : "<string>", // R!  Name used .page.package
    "description" : "<string>", // Human readable text describing the package
    "resource" : [{ // R!  Resource in the implementation guide
      "purpose" : "<code>", // R!  example | terminology | profile | extension | dictionary | logical
      "name" : "<string>", // Human Name for the resource
      "description" : "<string>", // Reason why included in guide
      "acronym" : "<string>", // Short code to identify the resource
      // source[x]: Location of the resource. One of these 2:
      "sourceUri" : "<uri>",
      "sourceReference" : { Reference(Any) },
      "exampleFor" : { Reference(StructureDefinition) } // Resource this is an example of (if applicable)
    }]
  }],
  "global" : [{ // Profiles that apply globally
    "type" : "<code>", // R!  Type this profiles applies to
    "profile" : { Reference(StructureDefinition) } // R!  Profile that all resources must conform to
  }],
  "binary" : ["<uri>"], // Image, css, script, etc.
  "page" : { // R!  Page/Section in the Guide
    "source" : "<uri>", // R!  Where to find that page
    "name" : "<string>", // R!  Short name shown for navigational assistance
    "kind" : "<code>", // R!  page | example | list | include | directory | dictionary | toc | resource
    "type" : ["<code>"], // Kind of resource to include in the list
    "package" : ["<string>"], // Name of package to include
    "format" : "<code>", // Format of the page (e.g. html, markdown, etc.) 
    "page" : [{ Content as for ImplementationGuide.page }] // Nested Pages / Sections
  }
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImplementationGuide DomainResourceA set of rules about how FHIR is used
... url Σ1..1uriAbsolute URL used to reference this Implementation Guide
... version Σ0..1stringLogical id for this version of the Implementation Guide
... name Σ1..1stringInformal name for this Implementation Guide
... status ?! Σ1..1codedraft | active | retired
ConformanceResourceStatus (Required)
... experimental Σ0..1booleanIf for testing purposes, not real usage
... publisher Σ0..1stringName of the publisher (Organization or individual)
... contact Σ0..*BackboneElementContact details of the publisher
.... name Σ0..1stringName of a individual to contact
.... telecom Σ0..*ContactPointContact details for individual or publisher
... date Σ0..1dateTimeDate for this version of the Implementation Guide
... description Σ0..1stringNatural language description of the Implementation Guide
... useContext Σ0..*CodeableConceptThe implementation guide is intended to support these contexts
Context of Use ValueSet (Extensible)
... copyright 0..1stringUse and/or publishing restrictions
... fhirVersion Σ0..1idFHIR Version this Implementation Guide targets
... dependency Σ0..*BackboneElementAnother Implementation guide this depends on
.... type Σ1..1codereference | inclusion
GuideDependencyType (Required)
.... uri Σ1..1uriWhere to find dependency
... package Σ1..*BackboneElementGroup of resources as used in .page.package
.... name Σ1..1stringName used .page.package
.... description 0..1stringHuman readable text describing the package
.... resource Σ1..*BackboneElementResource in the implementation guide
..... purpose Σ1..1codeexample | terminology | profile | extension | dictionary | logical
GuideResourcePurpose (Required)
..... name Σ0..1stringHuman Name for the resource
..... description 0..1stringReason why included in guide
..... acronym 0..1stringShort code to identify the resource
..... source[x] Σ1..1Location of the resource
...... sourceUriuri
...... sourceReferenceReference(Any)
..... exampleFor 0..1Reference(StructureDefinition)Resource this is an example of (if applicable)
... global Σ0..*BackboneElementProfiles that apply globally
.... type Σ1..1codeType this profiles applies to
ResourceType (Required)
.... profile Σ1..1Reference(StructureDefinition)Profile that all resources must conform to
... binary 0..*uriImage, css, script, etc.
... page Σ1..1BackboneElementPage/Section in the Guide
.... source Σ1..1uriWhere to find that page
.... name Σ1..1stringShort name shown for navigational assistance
.... kind Σ1..1codepage | example | list | include | directory | dictionary | toc | resource
GuidePageKind (Required)
.... type 0..*codeKind of resource to include in the list
ResourceType (Required)
.... package 0..*stringName of package to include
.... format 0..1codeFormat of the page (e.g. html, markdown, etc.)
MimeType (Required)
.... page 0..*see pageNested Pages / Sections

doco Documentation for this format

UML Diagram

ImplementationGuide (DomainResource)An absolute URL that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this implementation guide is (or will be) publishedurl : 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 manuallyversion : string [0..1]A free text natural language name identifying the Implementation Guidename : string [1..1]The status of the Implementation Guide (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of a Value Set or Concept Map. (Strength=Required)ConformanceResourceStatus! »This Implementation Guide was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usageexperimental : boolean [0..1]The name of the individual or organization that published the implementation guidepublisher : string [0..1]The date this version of the implementation guide was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changesdate : dateTime [0..1]A free text natural language description of the Implementation Guide and its usedescription : string [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of implementation guides. The most common use of this element is to represent the country / jurisdiction for which this implementation guide was defineduseContext : CodeableConcept [0..*] « Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use. (Strength=Extensible)Context of Use 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 details of the constraints and mappingscopyright : string [0..1]The version of the FHIR specification on which this ImplementationGuide is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 1.2.0 for this versionfhirVersion : id [0..1]A binary file that is included in the implementation guide when it is publishedbinary : uri [0..*]ContactThe name of an individual to contact regarding the implementation guidename : string [0..1]Contact details for individual (if a name was provided) or the publishertelecom : ContactPoint [0..*]DependencyHow the dependency is represented when the guide is publishedtype : code [1..1] « How a dependency is represented when the guide is published. (Strength=Required)GuideDependencyType! »Where the dependency is locateduri : uri [1..1]PackageThe name for the group, as used in page.packagename : string [1..1]Human readable text describing the packagedescription : string [0..1]ResourceWhy the resource is included in the guidepurpose : code [1..1] « Why a resource is included in the guide. (Strength=Required)GuideResourcePurpose! »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 guidedescription : string [0..1]A short code that may be used to identify the resource throughout the implementation guideacronym : string [0..1]Where this resource is foundsource[x] : Type [1..1] « uri|Reference(Any) »Another resource that this resource is an example for. This is mostly used for resources that are included as examples of StructureDefinitionsexampleFor : Reference [0..1] « StructureDefinition »GlobalThe type of resource that all instances must conform totype : code [1..1] « One of the resource types defined as part of FHIR. (Strength=Required)ResourceType! »A reference to the profile that all instances must conform toprofile : Reference [1..1] « StructureDefinition »PageThe source address for the pagesource : uri [1..1]A short name used to represent this page in navigational structures such as table of contents, bread crumbs, etcname : string [1..1]The kind of page that this is. Some pages are autogenerated (list, example), and other kinds are of interest so that tools can navigate the user to the page of interestkind : code [1..1] « The kind of an included page. (Strength=Required)GuidePageKind! »For constructed pages, what kind of resources to include in the listtype : code [0..*] « One of the resource types defined as part of FHIR. (Strength=Required)ResourceType! »For constructed pages, a list of packages to include in the page (or else empty for everything)package : string [0..*]The format of the pageformat : code [0..1] « The mime type of an attachment. Any valid mime type is allowed. (Strength=Required)MimeType! »Contacts to assist a user in finding and communicating with the publishercontact[0..*]Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guidesdependency[0..*]A resource that is part of the implementation guide. Conformance resources (value set, structure definition, conformance statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resourceresource[1..*]A logical group of resources. Logical groups can be used when building pagespackage[1..*]A set of profiles that all resources covered by this implementation guide must conform toglobal[0..*]Nested Pages/Sections under this pagepage[0..*]A page / section in the implementation guide. The root page is the implementation guide home pagepage[1..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 Absolute URL used to reference this Implementation Guide -->
 <version value="[string]"/><!-- 0..1 Logical id for this version of the Implementation Guide -->
 <name value="[string]"/><!-- 1..1 Informal name for this Implementation Guide -->
 <status value="[code]"/><!-- 1..1 draft | active | retired -->
 <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) -->
 <contact>  <!-- 0..* Contact details of the publisher -->
  <name value="[string]"/><!-- 0..1 Name of a individual to contact -->
  <telecom><!-- 0..* ContactPoint Contact details for individual or publisher --></telecom>
 </contact>
 <date value="[dateTime]"/><!-- 0..1 Date for this version of the Implementation Guide -->
 <description value="[string]"/><!-- 0..1 Natural language description of the Implementation Guide -->
 <useContext><!-- 0..* CodeableConcept The implementation guide is intended to support these contexts --></useContext>
 <copyright value="[string]"/><!-- 0..1 Use and/or publishing restrictions -->
 <fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets -->
 <dependency>  <!-- 0..* Another Implementation guide this depends on -->
  <type value="[code]"/><!-- 1..1 reference | inclusion -->
  <uri value="[uri]"/><!-- 1..1 Where to find dependency -->
 </dependency>
 <package>  <!-- 1..* Group of resources as used in .page.package -->
  <name value="[string]"/><!-- 1..1 Name used .page.package -->
  <description value="[string]"/><!-- 0..1 Human readable text describing the package -->
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <purpose value="[code]"/><!-- 1..1 example | terminology | profile | extension | dictionary | logical -->
   <name value="[string]"/><!-- 0..1 Human Name for the resource -->
   <description value="[string]"/><!-- 0..1 Reason why included in guide -->
   <acronym value="[string]"/><!-- 0..1 Short code to identify the resource -->
   <source[x]><!-- 1..1 uri|Reference(Any) Location of the resource --></source[x]>
   <exampleFor><!-- 0..1 Reference(StructureDefinition) Resource this is an example of (if applicable) --></exampleFor>
  </resource>
 </package>
 <global>  <!-- 0..* Profiles that apply globally -->
  <type value="[code]"/><!-- 1..1 Type this profiles applies to -->
  <profile><!-- 1..1 Reference(StructureDefinition) Profile that all resources must conform to --></profile>
 </global>
 <binary value="[uri]"/><!-- 0..* Image, css, script, etc. -->
 <page>  <!-- 1..1 Page/Section in the Guide -->
  <source value="[uri]"/><!-- 1..1 Where to find that page -->
  <name value="[string]"/><!-- 1..1 Short name shown for navigational assistance -->
  <kind value="[code]"/><!-- 1..1 page | example | list | include | directory | dictionary | toc | resource -->
  <type value="[code]"/><!-- 0..* Kind of resource to include in the list -->
  <package value="[string]"/><!-- 0..* Name of package to include -->
  <format value="[code]"/><!-- 0..1 Format of the page (e.g. html, markdown, etc.)  -->
  <page><!-- 0..* Content as for ImplementationGuide.page Nested Pages / Sections --></page>
 </page>
</ImplementationGuide>

JSON Template

{doco
  "resourceType" : "ImplementationGuide",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // R!  Absolute URL used to reference this Implementation Guide
  "version" : "<string>", // Logical id for this version of the Implementation Guide
  "name" : "<string>", // R!  Informal name for this Implementation Guide
  "status" : "<code>", // R!  draft | active | retired
  "experimental" : <boolean>, // If for testing purposes, not real usage
  "publisher" : "<string>", // Name of the publisher (Organization or individual)
  "contact" : [{ // Contact details of the publisher
    "name" : "<string>", // Name of a individual to contact
    "telecom" : [{ ContactPoint }] // Contact details for individual or publisher
  }],
  "date" : "<dateTime>", // Date for this version of the Implementation Guide
  "description" : "<string>", // Natural language description of the Implementation Guide
  "useContext" : [{ CodeableConcept }], // The implementation guide is intended to support these contexts
  "copyright" : "<string>", // Use and/or publishing restrictions
  "fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets
  "dependency" : [{ // Another Implementation guide this depends on
    "type" : "<code>", // R!  reference | inclusion
    "uri" : "<uri>" // R!  Where to find dependency
  }],
  "package" : [{ // R!  Group of resources as used in .page.package
    "name" : "<string>", // R!  Name used .page.package
    "description" : "<string>", // Human readable text describing the package
    "resource" : [{ // R!  Resource in the implementation guide
      "purpose" : "<code>", // R!  example | terminology | profile | extension | dictionary | logical
      "name" : "<string>", // Human Name for the resource
      "description" : "<string>", // Reason why included in guide
      "acronym" : "<string>", // Short code to identify the resource
      // source[x]: Location of the resource. One of these 2:
      "sourceUri" : "<uri>",
      "sourceReference" : { Reference(Any) },
      "exampleFor" : { Reference(StructureDefinition) } // Resource this is an example of (if applicable)
    }]
  }],
  "global" : [{ // Profiles that apply globally
    "type" : "<code>", // R!  Type this profiles applies to
    "profile" : { Reference(StructureDefinition) } // R!  Profile that all resources must conform to
  }],
  "binary" : ["<uri>"], // Image, css, script, etc.
  "page" : { // R!  Page/Section in the Guide
    "source" : "<uri>", // R!  Where to find that page
    "name" : "<string>", // R!  Short name shown for navigational assistance
    "kind" : "<code>", // R!  page | example | list | include | directory | dictionary | toc | resource
    "type" : ["<code>"], // Kind of resource to include in the list
    "package" : ["<string>"], // Name of package to include
    "format" : "<code>", // Format of the page (e.g. html, markdown, etc.) 
    "page" : [{ Content as for ImplementationGuide.page }] // Nested Pages / Sections
  }
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

6.15.4.1 Terminology Bindings

PathDefinitionTypeReference
ImplementationGuide.status The lifecycle status of a Value Set or Concept Map.RequiredConformanceResourceStatus
ImplementationGuide.useContext Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use.ExtensibleContext of Use ValueSet
ImplementationGuide.dependency.type How a dependency is represented when the guide is published.RequiredGuideDependencyType
ImplementationGuide.package.resource.purpose Why a resource is included in the guide.RequiredGuideResourcePurpose
ImplementationGuide.global.type
ImplementationGuide.page.type
One of the resource types defined as part of FHIR.Requiredhttp://hl7.org/fhir/valueset/resource-typesResourceType
ImplementationGuide.page.kind The kind of an included page.RequiredGuidePageKind
ImplementationGuide.page.format The mime type of an attachment. Any valid mime type is allowed.RequiredBCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

6.15.4.2 Default Profiles

An implementation guide can define default profiles - these are profiles that apply to any resource that does not otherwise have an explicit profile assigned by the implementation guide. Default profiles are always references to profiles (StructureDefinition resources) that are also contained in the resources. By defining default profiles, an implementation guide can save itself from exhaustively defining profiles on every resource type just to profile every reference to a particular resource type.

Note that a resource can conform to the default profile by conforming to any profile derived from it.

6.15.4.3 Compatibility list

This table declares the compatibility between the various resources as determined by the Implementation Guide comparison tool:

Yet to be done

6.15.5 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
contexttokenA use context assigned to the structureImplementationGuide.useContext
datedateThe implementation guide publication dateImplementationGuide.date
dependencyuriWhere to find dependencyImplementationGuide.dependency.uri
descriptionstringText search in the description of the implementation guideImplementationGuide.description
experimentaltokenIf for testing purposes, not real usageImplementationGuide.experimental
namestringName of the implementation guideImplementationGuide.name
publisherstringName of the publisher of the implementation guideImplementationGuide.publisher
statustokenThe current status of the implementation guideImplementationGuide.status
urluriAbsolute URL used to reference this Implementation GuideImplementationGuide.url
versiontokenThe version identifier of the implementation guideImplementationGuide.version