STU 3 Ballot

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

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

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

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

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

5.2.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 an individual to contact
.... telecom Σ0..*ContactPointContact details for individual or publisher
... date Σ0..1dateTimeDate for this version of the Implementation Guide
... description Σ0..1markdownNatural 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 Σ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 it's 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 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 : 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 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.6.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]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! »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[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 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 an 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="[markdown]"/><!-- 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>  <!-- 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 it's 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!  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 an individual to contact
    "telecom" : [{ ContactPoint }] // Contact details for individual or publisher
  }],
  "date" : "<dateTime>", // Date for this version of the Implementation Guide
  "description" : "<markdown>", // 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" : [{ // 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 it's 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 Absolute URL used to reference this Implementation Guide
  fhir:ImplementationGuide.version [ string ]; # 0..1 Logical id for this version of the Implementation Guide
  fhir:ImplementationGuide.name [ string ]; # 1..1 Informal name for this Implementation Guide
  fhir:ImplementationGuide.status [ code ]; # 1..1 draft | active | retired
  fhir:ImplementationGuide.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage
  fhir:ImplementationGuide.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual)
  fhir:ImplementationGuide.contact [ # 0..* Contact details of the publisher
    fhir:ImplementationGuide.contact.name [ string ]; # 0..1 Name of an individual to contact
    fhir:ImplementationGuide.contact.telecom [ ContactPoint ], ... ; # 0..* Contact details for individual or publisher
  ], ...;
  fhir:ImplementationGuide.date [ dateTime ]; # 0..1 Date for this version of the Implementation Guide
  fhir:ImplementationGuide.description [ markdown ]; # 0..1 Natural language description of the Implementation Guide
  fhir:ImplementationGuide.useContext [ CodeableConcept ], ... ; # 0..* The implementation guide is intended to support these contexts
  fhir:ImplementationGuide.copyright [ string ]; # 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 it's 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.description Type changed from string to markdown
ImplementationGuide.package Min Cardinality changed from 1 to 0
ImplementationGuide.package.resource.example added
ImplementationGuide.page Min Cardinality changed from 1 to 0
ImplementationGuide.page.title Renamed from name to title
ImplementationGuide.package.resource.purpose deleted

See the Full Difference for further information

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 an individual to contact
.... telecom Σ0..*ContactPointContact details for individual or publisher
... date Σ0..1dateTimeDate for this version of the Implementation Guide
... description Σ0..1markdownNatural 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 Σ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 it's 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 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 : 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 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.6.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]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! »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[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 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 an 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="[markdown]"/><!-- 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>  <!-- 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 it's 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!  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 an individual to contact
    "telecom" : [{ ContactPoint }] // Contact details for individual or publisher
  }],
  "date" : "<dateTime>", // Date for this version of the Implementation Guide
  "description" : "<markdown>", // 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" : [{ // 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 it's 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 Absolute URL used to reference this Implementation Guide
  fhir:ImplementationGuide.version [ string ]; # 0..1 Logical id for this version of the Implementation Guide
  fhir:ImplementationGuide.name [ string ]; # 1..1 Informal name for this Implementation Guide
  fhir:ImplementationGuide.status [ code ]; # 1..1 draft | active | retired
  fhir:ImplementationGuide.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage
  fhir:ImplementationGuide.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual)
  fhir:ImplementationGuide.contact [ # 0..* Contact details of the publisher
    fhir:ImplementationGuide.contact.name [ string ]; # 0..1 Name of an individual to contact
    fhir:ImplementationGuide.contact.telecom [ ContactPoint ], ... ; # 0..* Contact details for individual or publisher
  ], ...;
  fhir:ImplementationGuide.date [ dateTime ]; # 0..1 Date for this version of the Implementation Guide
  fhir:ImplementationGuide.description [ markdown ]; # 0..1 Natural language description of the Implementation Guide
  fhir:ImplementationGuide.useContext [ CodeableConcept ], ... ; # 0..* The implementation guide is intended to support these contexts
  fhir:ImplementationGuide.copyright [ string ]; # 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 it's 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.description Type changed from string to markdown
ImplementationGuide.package Min Cardinality changed from 1 to 0
ImplementationGuide.package.resource.example added
ImplementationGuide.page Min Cardinality changed from 1 to 0
ImplementationGuide.page.title Renamed from name to title
ImplementationGuide.package.resource.purpose deleted

See the Full Difference for further information

 

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

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

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

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

5.2.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
resourcereferenceLocation of the resourceImplementationGuide.package.resource.source[x]
(Any)
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