Current Build

5.8 Resource ImplementationGuide - Content

FHIR Infrastructure Work GroupMaturity Level: 1 Trial Use Compartments: Not linked to any defined compartments

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

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

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

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

Implementation Guides contain two different types of resource references:

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

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImplementationGuide DomainResourceA set of rules about how FHIR is used
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... url Σ1..1uriLogical URI to reference this implementation guide (globally unique)
... version Σ0..1stringBusiness version of the implementation guide
... name Σ1..1stringName for this implementation guide (computer friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental ?!Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate this was last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description 0..1markdownNatural language description of the implementation guide
... useContext Σ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for implementation guide (if applicable)
Jurisdiction ValueSet (Extensible)
... copyright 0..1markdownUse 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 Σ0..*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
..... example Σ1..1booleanIf not an example, has its normal meaning
..... 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 Σ0..1BackboneElementPage/Section in the Guide
.... source Σ1..1uriWhere to find that page
.... title Σ1..1stringShort title 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 (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. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this implementation guide is (or will be) published. The URL SHOULD include the major version of the implementation guide. For more information see [Technical and Business Versions](resource.html#versions)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 sequenceversion : 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 generationname : string [1..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. (Strength=Required)PublicationStatus! »A boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage (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 changesdate : dateTime [0..1]The name of the individual or organization that published the implementation guidepublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the implementation guide from a consumer's perspectivedescription : markdown [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 for appropriate implementation guide instancesuseContext : UsageContext [0..*]A legal or geographic region in which the implementation guide is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for 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 guidecopyright : markdown [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 3.1.0 for this versionfhirVersion : id [0..1]A binary file that is included in the implementation guide when it is publishedbinary : uri [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]ResourceWhether a resource is included in the guide as part of the rules defined by the guide, or just as an example of a resource that conforms to the rules and/or help implementers understand the intent of the guideexample : boolean [1..1]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 title used to represent this page in navigational structures such as table of contents, bread crumbs, etctitle : 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! »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, capability 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[0..*]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[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 Logical URI to reference this implementation guide (globally unique) -->
 <version value="[string]"/><!-- 0..1 Business version of the implementation guide -->
 <name value="[string]"/><!-- 1..1 Name for this implementation guide (computer friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date this was last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the implementation guide -->
 <useContext><!-- 0..* UsageContext Context the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for implementation guide (if applicable) --></jurisdiction>
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets -->
 <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>  <!-- 0..* Group of resources as used in .page.package -->
  <name value="[string]"/><!-- 1..1 Name used .page.package -->
  <description value="[string]"/><!-- 0..1 Human readable text describing the package -->
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <example value="[boolean]"/><!-- 1..1 If not an example, has its normal meaning -->
   <name value="[string]"/><!-- 0..1 Human Name for the resource -->
   <description value="[string]"/><!-- 0..1 Reason why included in guide -->
   <acronym value="[string]"/><!-- 0..1 Short code to identify the resource -->
   <source[x]><!-- 1..1 uri|Reference(Any) Location of the resource --></source[x]>
   <exampleFor><!-- 0..1 Reference(StructureDefinition) Resource this is an example of (if applicable) --></exampleFor>
  </resource>
 </package>
 <global>  <!-- 0..* Profiles that apply globally -->
  <type value="[code]"/><!-- 1..1 Type this profiles applies to -->
  <profile><!-- 1..1 Reference(StructureDefinition) Profile that all resources must conform to --></profile>
 </global>
 <binary value="[uri]"/><!-- 0..* Image, css, script, etc. -->
 <page>  <!-- 0..1 Page/Section in the Guide -->
  <source value="[uri]"/><!-- 1..1 Where to find that page -->
  <title value="[string]"/><!-- 1..1 Short title 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!  Logical URI to reference this implementation guide (globally unique)
  "version" : "<string>", // Business version of the implementation guide
  "name" : "<string>", // R!  Name for this implementation guide (computer friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date this was 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 }], // Context the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for implementation guide (if applicable)
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets
  "dependency" : [{ // Another Implementation guide this depends on
    "type" : "<code>", // R!  reference | inclusion
    "uri" : "<uri>" // R!  Where to find dependency
  }],
  "package" : [{ // Group of resources as used in .page.package
    "name" : "<string>", // R!  Name used .page.package
    "description" : "<string>", // Human readable text describing the package
    "resource" : [{ // R!  Resource in the implementation guide
      "example" : <boolean>, // R!  If not an example, has its normal meaning
      "name" : "<string>", // Human Name for the resource
      "description" : "<string>", // Reason why included in guide
      "acronym" : "<string>", // Short code to identify the resource
      // source[x]: Location of the resource. One of these 2:
      "sourceUri" : "<uri>",
      "sourceReference" : { Reference(Any) },
      "exampleFor" : { Reference(StructureDefinition) } // Resource this is an example of (if applicable)
    }]
  }],
  "global" : [{ // Profiles that apply globally
    "type" : "<code>", // R!  Type this profiles applies to
    "profile" : { Reference(StructureDefinition) } // R!  Profile that all resources must conform to
  }],
  "binary" : ["<uri>"], // Image, css, script, etc.
  "page" : { // Page/Section in the Guide
    "source" : "<uri>", // R!  Where to find that page
    "title" : "<string>", // R!  Short title 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
  }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ImplementationGuide;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ImplementationGuide.url [ uri ]; # 1..1 Logical URI to reference this implementation guide (globally unique)
  fhir:ImplementationGuide.version [ string ]; # 0..1 Business version of the implementation guide
  fhir:ImplementationGuide.name [ string ]; # 1..1 Name for this implementation guide (computer friendly)
  fhir:ImplementationGuide.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:ImplementationGuide.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:ImplementationGuide.date [ dateTime ]; # 0..1 Date this was last changed
  fhir:ImplementationGuide.publisher [ string ]; # 0..1 Name of the publisher (organization or individual)
  fhir:ImplementationGuide.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:ImplementationGuide.description [ markdown ]; # 0..1 Natural language description of the implementation guide
  fhir:ImplementationGuide.useContext [ UsageContext ], ... ; # 0..* Context the content is intended to support
  fhir:ImplementationGuide.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for implementation guide (if applicable)
  fhir:ImplementationGuide.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:ImplementationGuide.fhirVersion [ id ]; # 0..1 FHIR Version this Implementation Guide targets
  fhir:ImplementationGuide.dependency [ # 0..* Another Implementation guide this depends on
    fhir:ImplementationGuide.dependency.type [ code ]; # 1..1 reference | inclusion
    fhir:ImplementationGuide.dependency.uri [ uri ]; # 1..1 Where to find dependency
  ], ...;
  fhir:ImplementationGuide.package [ # 0..* Group of resources as used in .page.package
    fhir:ImplementationGuide.package.name [ string ]; # 1..1 Name used .page.package
    fhir:ImplementationGuide.package.description [ string ]; # 0..1 Human readable text describing the package
    fhir:ImplementationGuide.package.resource [ # 1..* Resource in the implementation guide
      fhir:ImplementationGuide.package.resource.example [ boolean ]; # 1..1 If not an example, has its normal meaning
      fhir:ImplementationGuide.package.resource.name [ string ]; # 0..1 Human Name for the resource
      fhir:ImplementationGuide.package.resource.description [ string ]; # 0..1 Reason why included in guide
      fhir:ImplementationGuide.package.resource.acronym [ string ]; # 0..1 Short code to identify the resource
      # ImplementationGuide.package.resource.source[x] : 1..1 Location of the resource. One of these 2
        fhir:ImplementationGuide.package.resource.sourceUri [ uri ]
        fhir:ImplementationGuide.package.resource.sourceReference [ Reference(Any) ]
      fhir:ImplementationGuide.package.resource.exampleFor [ Reference(StructureDefinition) ]; # 0..1 Resource this is an example of (if applicable)
    ], ...;
  ], ...;
  fhir:ImplementationGuide.global [ # 0..* Profiles that apply globally
    fhir:ImplementationGuide.global.type [ code ]; # 1..1 Type this profiles applies to
    fhir:ImplementationGuide.global.profile [ Reference(StructureDefinition) ]; # 1..1 Profile that all resources must conform to
  ], ...;
  fhir:ImplementationGuide.binary [ uri ], ... ; # 0..* Image, css, script, etc.
  fhir:ImplementationGuide.page [ # 0..1 Page/Section in the Guide
    fhir:ImplementationGuide.page.source [ uri ]; # 1..1 Where to find that page
    fhir:ImplementationGuide.page.title [ string ]; # 1..1 Short title shown for navigational assistance
    fhir:ImplementationGuide.page.kind [ code ]; # 1..1 page | example | list | include | directory | dictionary | toc | resource
    fhir:ImplementationGuide.page.type [ code ], ... ; # 0..* Kind of resource to include in the list
    fhir:ImplementationGuide.page.package [ string ], ... ; # 0..* Name of package to include
    fhir:ImplementationGuide.page.format [ code ]; # 0..1 Format of the page (e.g. html, markdown, etc.)
    fhir:ImplementationGuide.page.page [ See ImplementationGuide.page ], ... ; # 0..* Nested Pages / Sections
  ];
]

Changes since DSTU2

ImplementationGuide
ImplementationGuide.status
  • Change value set from http://hl7.org/fhir/ValueSet/conformance-resource-status to http://hl7.org/fhir/ValueSet/publication-status
ImplementationGuide.experimental
  • Now marked as Modifier
ImplementationGuide.contact
  • Type changed from BackboneElement to ContactDetail
ImplementationGuide.description
  • Type changed from string to markdown
ImplementationGuide.useContext
  • Type changed from CodeableConcept to UsageContext
  • Remove Binding http://hl7.org/fhir/ValueSet/use-context (extensible)
ImplementationGuide.jurisdiction
  • Added Element
ImplementationGuide.copyright
  • Type changed from string to markdown
ImplementationGuide.package
  • Min Cardinality changed from 1 to 0
ImplementationGuide.package.resource.example
  • Added Element
ImplementationGuide.page
  • Min Cardinality changed from 1 to 0
ImplementationGuide.page.title
  • Renamed from name to title
ImplementationGuide.contact.name
  • deleted
ImplementationGuide.contact.telecom
  • deleted
ImplementationGuide.package.resource.purpose
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

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

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImplementationGuide DomainResourceA set of rules about how FHIR is used
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... url Σ1..1uriLogical URI to reference this implementation guide (globally unique)
... version Σ0..1stringBusiness version of the implementation guide
... name Σ1..1stringName for this implementation guide (computer friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental ?!Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate this was last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description 0..1markdownNatural language description of the implementation guide
... useContext Σ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for implementation guide (if applicable)
Jurisdiction ValueSet (Extensible)
... copyright 0..1markdownUse 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 Σ0..*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
..... example Σ1..1booleanIf not an example, has its normal meaning
..... 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 Σ0..1BackboneElementPage/Section in the Guide
.... source Σ1..1uriWhere to find that page
.... title Σ1..1stringShort title 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 (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. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this implementation guide is (or will be) published. The URL SHOULD include the major version of the implementation guide. For more information see [Technical and Business Versions](resource.html#versions)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 sequenceversion : 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 generationname : string [1..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. (Strength=Required)PublicationStatus! »A boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage (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 changesdate : dateTime [0..1]The name of the individual or organization that published the implementation guidepublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the implementation guide from a consumer's perspectivedescription : markdown [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 for appropriate implementation guide instancesuseContext : UsageContext [0..*]A legal or geographic region in which the implementation guide is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for 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 guidecopyright : markdown [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 3.1.0 for this versionfhirVersion : id [0..1]A binary file that is included in the implementation guide when it is publishedbinary : uri [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]ResourceWhether a resource is included in the guide as part of the rules defined by the guide, or just as an example of a resource that conforms to the rules and/or help implementers understand the intent of the guideexample : boolean [1..1]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 title used to represent this page in navigational structures such as table of contents, bread crumbs, etctitle : 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! »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, capability 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[0..*]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[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 Logical URI to reference this implementation guide (globally unique) -->
 <version value="[string]"/><!-- 0..1 Business version of the implementation guide -->
 <name value="[string]"/><!-- 1..1 Name for this implementation guide (computer friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date this was last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the implementation guide -->
 <useContext><!-- 0..* UsageContext Context the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for implementation guide (if applicable) --></jurisdiction>
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets -->
 <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>  <!-- 0..* Group of resources as used in .page.package -->
  <name value="[string]"/><!-- 1..1 Name used .page.package -->
  <description value="[string]"/><!-- 0..1 Human readable text describing the package -->
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <example value="[boolean]"/><!-- 1..1 If not an example, has its normal meaning -->
   <name value="[string]"/><!-- 0..1 Human Name for the resource -->
   <description value="[string]"/><!-- 0..1 Reason why included in guide -->
   <acronym value="[string]"/><!-- 0..1 Short code to identify the resource -->
   <source[x]><!-- 1..1 uri|Reference(Any) Location of the resource --></source[x]>
   <exampleFor><!-- 0..1 Reference(StructureDefinition) Resource this is an example of (if applicable) --></exampleFor>
  </resource>
 </package>
 <global>  <!-- 0..* Profiles that apply globally -->
  <type value="[code]"/><!-- 1..1 Type this profiles applies to -->
  <profile><!-- 1..1 Reference(StructureDefinition) Profile that all resources must conform to --></profile>
 </global>
 <binary value="[uri]"/><!-- 0..* Image, css, script, etc. -->
 <page>  <!-- 0..1 Page/Section in the Guide -->
  <source value="[uri]"/><!-- 1..1 Where to find that page -->
  <title value="[string]"/><!-- 1..1 Short title 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!  Logical URI to reference this implementation guide (globally unique)
  "version" : "<string>", // Business version of the implementation guide
  "name" : "<string>", // R!  Name for this implementation guide (computer friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date this was 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 }], // Context the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for implementation guide (if applicable)
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets
  "dependency" : [{ // Another Implementation guide this depends on
    "type" : "<code>", // R!  reference | inclusion
    "uri" : "<uri>" // R!  Where to find dependency
  }],
  "package" : [{ // Group of resources as used in .page.package
    "name" : "<string>", // R!  Name used .page.package
    "description" : "<string>", // Human readable text describing the package
    "resource" : [{ // R!  Resource in the implementation guide
      "example" : <boolean>, // R!  If not an example, has its normal meaning
      "name" : "<string>", // Human Name for the resource
      "description" : "<string>", // Reason why included in guide
      "acronym" : "<string>", // Short code to identify the resource
      // source[x]: Location of the resource. One of these 2:
      "sourceUri" : "<uri>",
      "sourceReference" : { Reference(Any) },
      "exampleFor" : { Reference(StructureDefinition) } // Resource this is an example of (if applicable)
    }]
  }],
  "global" : [{ // Profiles that apply globally
    "type" : "<code>", // R!  Type this profiles applies to
    "profile" : { Reference(StructureDefinition) } // R!  Profile that all resources must conform to
  }],
  "binary" : ["<uri>"], // Image, css, script, etc.
  "page" : { // Page/Section in the Guide
    "source" : "<uri>", // R!  Where to find that page
    "title" : "<string>", // R!  Short title 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
  }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ImplementationGuide;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ImplementationGuide.url [ uri ]; # 1..1 Logical URI to reference this implementation guide (globally unique)
  fhir:ImplementationGuide.version [ string ]; # 0..1 Business version of the implementation guide
  fhir:ImplementationGuide.name [ string ]; # 1..1 Name for this implementation guide (computer friendly)
  fhir:ImplementationGuide.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:ImplementationGuide.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:ImplementationGuide.date [ dateTime ]; # 0..1 Date this was last changed
  fhir:ImplementationGuide.publisher [ string ]; # 0..1 Name of the publisher (organization or individual)
  fhir:ImplementationGuide.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:ImplementationGuide.description [ markdown ]; # 0..1 Natural language description of the implementation guide
  fhir:ImplementationGuide.useContext [ UsageContext ], ... ; # 0..* Context the content is intended to support
  fhir:ImplementationGuide.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for implementation guide (if applicable)
  fhir:ImplementationGuide.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:ImplementationGuide.fhirVersion [ id ]; # 0..1 FHIR Version this Implementation Guide targets
  fhir:ImplementationGuide.dependency [ # 0..* Another Implementation guide this depends on
    fhir:ImplementationGuide.dependency.type [ code ]; # 1..1 reference | inclusion
    fhir:ImplementationGuide.dependency.uri [ uri ]; # 1..1 Where to find dependency
  ], ...;
  fhir:ImplementationGuide.package [ # 0..* Group of resources as used in .page.package
    fhir:ImplementationGuide.package.name [ string ]; # 1..1 Name used .page.package
    fhir:ImplementationGuide.package.description [ string ]; # 0..1 Human readable text describing the package
    fhir:ImplementationGuide.package.resource [ # 1..* Resource in the implementation guide
      fhir:ImplementationGuide.package.resource.example [ boolean ]; # 1..1 If not an example, has its normal meaning
      fhir:ImplementationGuide.package.resource.name [ string ]; # 0..1 Human Name for the resource
      fhir:ImplementationGuide.package.resource.description [ string ]; # 0..1 Reason why included in guide
      fhir:ImplementationGuide.package.resource.acronym [ string ]; # 0..1 Short code to identify the resource
      # ImplementationGuide.package.resource.source[x] : 1..1 Location of the resource. One of these 2
        fhir:ImplementationGuide.package.resource.sourceUri [ uri ]
        fhir:ImplementationGuide.package.resource.sourceReference [ Reference(Any) ]
      fhir:ImplementationGuide.package.resource.exampleFor [ Reference(StructureDefinition) ]; # 0..1 Resource this is an example of (if applicable)
    ], ...;
  ], ...;
  fhir:ImplementationGuide.global [ # 0..* Profiles that apply globally
    fhir:ImplementationGuide.global.type [ code ]; # 1..1 Type this profiles applies to
    fhir:ImplementationGuide.global.profile [ Reference(StructureDefinition) ]; # 1..1 Profile that all resources must conform to
  ], ...;
  fhir:ImplementationGuide.binary [ uri ], ... ; # 0..* Image, css, script, etc.
  fhir:ImplementationGuide.page [ # 0..1 Page/Section in the Guide
    fhir:ImplementationGuide.page.source [ uri ]; # 1..1 Where to find that page
    fhir:ImplementationGuide.page.title [ string ]; # 1..1 Short title shown for navigational assistance
    fhir:ImplementationGuide.page.kind [ code ]; # 1..1 page | example | list | include | directory | dictionary | toc | resource
    fhir:ImplementationGuide.page.type [ code ], ... ; # 0..* Kind of resource to include in the list
    fhir:ImplementationGuide.page.package [ string ], ... ; # 0..* Name of package to include
    fhir:ImplementationGuide.page.format [ code ]; # 0..1 Format of the page (e.g. html, markdown, etc.)
    fhir:ImplementationGuide.page.page [ See ImplementationGuide.page ], ... ; # 0..* Nested Pages / Sections
  ];
]

Changes since DSTU2

ImplementationGuide
ImplementationGuide.status
  • Change value set from http://hl7.org/fhir/ValueSet/conformance-resource-status to http://hl7.org/fhir/ValueSet/publication-status
ImplementationGuide.experimental
  • Now marked as Modifier
ImplementationGuide.contact
  • Type changed from BackboneElement to ContactDetail
ImplementationGuide.description
  • Type changed from string to markdown
ImplementationGuide.useContext
  • Type changed from CodeableConcept to UsageContext
  • Remove Binding http://hl7.org/fhir/ValueSet/use-context (extensible)
ImplementationGuide.jurisdiction
  • Added Element
ImplementationGuide.copyright
  • Type changed from string to markdown
ImplementationGuide.package
  • Min Cardinality changed from 1 to 0
ImplementationGuide.package.resource.example
  • Added Element
ImplementationGuide.page
  • Min Cardinality changed from 1 to 0
ImplementationGuide.page.title
  • Renamed from name to title
ImplementationGuide.contact.name
  • deleted
ImplementationGuide.contact.telecom
  • deleted
ImplementationGuide.package.resource.purpose
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

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

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions

PathDefinitionTypeReference
ImplementationGuide.status The lifecycle status of a Value Set or Concept Map.RequiredPublicationStatus
ImplementationGuide.jurisdiction Countries and regions within which this artifact is targeted for useExtensibleJurisdiction ValueSet
ImplementationGuide.dependency.type How a dependency is represented when the guide is published.RequiredGuideDependencyType
ImplementationGuide.global.type
ImplementationGuide.page.type
One of the resource types defined as part of FHIR.RequiredResource Types
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)

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.

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.

NameTypeDescriptionExpressionIn Common
datedateThe implementation guide publication dateImplementationGuide.date
dependencyuriWhere to find dependencyImplementationGuide.dependency.uri
descriptionstringThe description of the implementation guideImplementationGuide.description
experimentaltokenFor testing purposes, not real usageImplementationGuide.experimental
jurisdictiontokenIntended jurisdiction for the implementation guideImplementationGuide.jurisdiction
namestringComputationally friendly name of the implementation guideImplementationGuide.name
publisherstringName of the publisher of the implementation guideImplementationGuide.publisher
resourcereferenceLocation of the resourceImplementationGuide.package.resource.source
(Any)
statustokenThe current status of the implementation guideImplementationGuide.status
urluriThe uri that identifies the implementation guideImplementationGuide.url
versiontokenThe business version of the implementation guideImplementationGuide.version