R4 Ballot #1 (Mixed Normative/Trial use)

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

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

This resource is referenced by capabilitystatement

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImplementationGuide TUDomainResourceA set of rules about how FHIR is used
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... url Σ1..1uriCanonical identifier for this implementation guide, represented as a URI (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 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..*UsageContextThe context that 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
All Published FHIR versions (Required)
... dependsOn Σ0..*BackboneElementAnother Implementation guide this depends on
.... uri Σ1..1canonicalIdentity of the IG that this depends on
.... version Σ0..1stringVersion of the IG
... global Σ0..*BackboneElementProfiles that apply globally
.... type Σ1..1codeType this profile applies to
ResourceType (Required)
.... profile Σ1..1canonicalProfile that all resources must conform to
... definition 0..1BackboneElementInformation needed to build the IG
.... package 0..*BackboneElementGroup of resources as used in .page.package
..... name 1..1stringName used .resource.package and .page.package
..... description 0..1stringHuman readable text describing the package
.... resource 1..*BackboneElementResource in the implementation guide
..... reference 1..1Reference(Any)Location of the resource
..... name 0..1stringHuman Name for the resource
..... description 0..1stringReason why included in guide
..... example[x] 0..1Is an example/What is this an example of?
...... exampleBooleanboolean
...... exampleCanonicalcanonical
..... package 0..1idPack this is part of
.... page 0..1BackboneElementPage/Section in the Guide
..... name[x] 1..1Where to find that page
...... nameUrlurl
...... nameReferenceReference(Binary)
..... title 1..1stringShort title shown for navigational assistance
..... generation 1..1codehtml | markdown | xml | generated
GuidePageGeneration (Required)
..... page 0..*see pageNested Pages / Sections
.... parameter 0..*BackboneElementDefines how IG is built by tools
..... code 1..1codeapply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template
GuideParameterCode (Required)
..... value 1..1stringValue for named type
.... template 0..*BackboneElementA template for building resources
..... code 1..1codeType of template specified
..... source 1..1stringThe source location for the template
..... scope 0..1stringThe scope in which the template applies
... manifest 0..1BackboneElementInformation about an assembled IG
.... rendering Σ0..1urlLocation of rendered implementation guide
.... resource Σ1..*BackboneElementResource in the implementation guide
..... reference Σ1..1Reference(Any)Location of the resource
..... example[x] 0..1Is an example/What is this an example of?
...... exampleBooleanboolean
...... exampleCanonicalcanonical
..... relativePath 0..1urlRelative path for page in IG
.... page 0..*BackboneElementHTML page within the parent IG
..... name 1..1stringHTML page name
..... title 0..1stringTitle of the page, for references
..... anchor 0..*stringAnchor available on the page
.... image 0..*stringImage within the IG
.... other 0..*stringAdditional linkable file in IG

doco Documentation for this format

UML Diagram (Legend)

ImplementationGuide (DomainResource)An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal 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 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 an artifact. (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 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 organization or individual 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.3.0 for this versionfhirVersion : id [0..1] « All published FHIR Versions (Strength=Required)All Published FHIR versions! »DependsOnThe canonical URL of the Implementation guide for the dependencyuri : canonical [1..1]The version of the IG that is depended on, when the correct version is required to understand the IG correctlyversion : string [0..1]GlobalThe type of resource that all instances must conform totype : code [1..1] « One of the resource types defined as part of this version of FHIR. (Strength=Required)ResourceType! »A reference to the profile that all instances must conform toprofile : canonical [1..1]DefinitionPackageThe name for the group, as used in ImplementationGuide.definition.resource.package and ImplementationGuide.definition.page.packagename : string [1..1]Human readable text describing the packagedescription : string [0..1]ResourceWhere this resource is foundreference : Reference [1..1] « Any »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]If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profileexample[x] : Type [0..1] « boolean|canonical(StructureDefinition) »Reference to the id of the pack this resource appears inpackage : id [0..1]PageThe source address for the pagename[x] : Type [1..1] « url|Reference(Binary) »A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etctitle : string [1..1]A code that indicates how the page is generatedgeneration : code [1..1] « A code that indicates how the page is generated (Strength=Required)GuidePageGeneration! »Parameterapply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-templatecode : code [1..1] « Code of parameter that is input to the guide (Strength=Required)GuideParameterCode! »Value for named typevalue : string [1..1]TemplateType of template specifiedcode : code [1..1]The source location for the templatesource : string [1..1]The scope in which the template appliesscope : string [0..1]ManifestA pointer to official web page, PDF or other rendering of the implementation guiderendering : url [0..1]Indicates a relative path to an image that exists within the IGimage : string [0..*]Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IGother : string [0..*]ResourceWhere this resource is foundreference : Reference [1..1] « Any »If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profileexample[x] : Type [0..1] « boolean|canonical(StructureDefinition) »The relative path for primary page for this resource within the IGrelativePath : url [0..1]PageRelative path to the pagename : string [1..1]Label for the page intended for human displaytitle : string [0..1]The name of an anchor available on the pageanchor : string [0..*]Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guidesdependsOn[0..*]A set of profiles that all resources covered by this implementation guide must conform toglobal[0..*]A logical group of resources. Logical groups can be used when building pagespackage[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..*]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]Defines how IG is built by toolsparameter[0..*]A template for building resourcestemplate[0..*]The information needed by an IG publisher tool to publish the whole implementation guidedefinition[0..1]A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resourceresource[1..*]Information about a page within the IGpage[0..*]Information about an assembled implementation guide, created by the publication toolingmanifest[0..1]

XML Template

<ImplementationGuide xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique) -->
 <version value="[string]"/><!-- 0..1 Business version of the implementation guide -->
 <name value="[string]"/><!-- 1..1 Name for this implementation guide (computer friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the implementation guide -->
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for implementation guide (if applicable) --></jurisdiction>
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets -->
 <dependsOn>  <!-- 0..* Another Implementation guide this depends on -->
  <uri value="[canonical]"/><!-- 1..1 Identity of the IG that this depends on -->
  <version value="[string]"/><!-- 0..1 Version of the IG -->
 </dependsOn>
 <global>  <!-- 0..* Profiles that apply globally -->
  <type value="[code]"/><!-- 1..1 Type this profile applies to -->
  <profile><!-- 1..1 canonical(StructureDefinition) Profile that all resources must conform to --></profile>
 </global>
 <definition>  <!-- 0..1 Information needed to build the IG -->
  <package>  <!-- 0..* Group of resources as used in .page.package -->
   <name value="[string]"/><!-- 1..1 Name used .resource.package and .page.package -->
   <description value="[string]"/><!-- 0..1 Human readable text describing the package -->
  </package>
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <reference><!-- 1..1 Reference(Any) Location of the resource --></reference>
   <name value="[string]"/><!-- 0..1 Human Name for the resource -->
   <description value="[string]"/><!-- 0..1 Reason why included in guide -->
   <example[x]><!-- 0..1 boolean|canonical(StructureDefinition) Is an example/What is this an example of? --></example[x]>
   <package value="[id]"/><!-- 0..1 Pack this is part of -->
  </resource>
  <page>  <!-- 0..1 Page/Section in the Guide -->
   <name[x]><!-- 1..1 url|Reference(Binary) Where to find that page --></name[x]>
   <title value="[string]"/><!-- 1..1 Short title shown for navigational assistance -->
   <generation value="[code]"/><!-- 1..1 html | markdown | xml | generated -->
   <page><!-- 0..* Content as for ImplementationGuide.definition.page Nested Pages / Sections --></page>
  </page>
  <parameter>  <!-- 0..* Defines how IG is built by tools -->
   <code value="[code]"/><!-- 1..1 apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template -->
   <value value="[string]"/><!-- 1..1 Value for named type -->
  </parameter>
  <template>  <!-- 0..* A template for building resources -->
   <code value="[code]"/><!-- 1..1 Type of template specified -->
   <source value="[string]"/><!-- 1..1 The source location for the template -->
   <scope value="[string]"/><!-- 0..1 The scope in which the template applies -->
  </template>
 </definition>
 <manifest>  <!-- 0..1 Information about an assembled IG -->
  <rendering value="[url]"/><!-- 0..1 Location of rendered implementation guide -->
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <reference><!-- 1..1 Reference(Any) Location of the resource --></reference>
   <example[x]><!-- 0..1 boolean|canonical(StructureDefinition) Is an example/What is this an example of? --></example[x]>
   <relativePath value="[url]"/><!-- 0..1 Relative path for page in IG -->
  </resource>
  <page>  <!-- 0..* HTML page within the parent IG -->
   <name value="[string]"/><!-- 1..1 HTML page name -->
   <title value="[string]"/><!-- 0..1 Title of the page, for references -->
   <anchor value="[string]"/><!-- 0..* Anchor available on the page -->
  </page>
  <image value="[string]"/><!-- 0..* Image within the IG -->
  <other value="[string]"/><!-- 0..* Additional linkable file in IG -->
 </manifest>
</ImplementationGuide>

JSON Template

{doco
  "resourceType" : "ImplementationGuide",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // R!  Canonical identifier for this implementation guide, represented as a URI (globally unique)
  "version" : "<string>", // Business version of the implementation guide
  "name" : "<string>", // 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 last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the implementation guide
  "useContext" : [{ UsageContext }], // The context that the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for implementation guide (if applicable)
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets
  "dependsOn" : [{ // Another Implementation guide this depends on
    "uri" : "<canonical>", // R!  Identity of the IG that this depends on
    "version" : "<string>" // Version of the IG
  }],
  "global" : [{ // Profiles that apply globally
    "type" : "<code>", // R!  Type this profile applies to
    "profile" : "<canonical>" // R!  Profile that all resources must conform to
  }],
  "definition" : { // Information needed to build the IG
    "package" : [{ // Group of resources as used in .page.package
      "name" : "<string>", // R!  Name used .resource.package and .page.package
      "description" : "<string>" // Human readable text describing the package
    }],
    "resource" : [{ // R!  Resource in the implementation guide
      "reference" : { Reference(Any) }, // R!  Location of the resource
      "name" : "<string>", // Human Name for the resource
      "description" : "<string>", // Reason why included in guide
      // example[x]: Is an example/What is this an example of?. One of these 2:
      "exampleBoolean" : <boolean>,
      "exampleCanonical" : "<canonical>",
      "package" : "<id>" // Pack this is part of
    }],
    "page" : { // Page/Section in the Guide
      // name[x]: Where to find that page. One of these 2:
      "nameUrl" : "<url>",
      "nameReference" : { Reference(Binary) },
      "title" : "<string>", // R!  Short title shown for navigational assistance
      "generation" : "<code>", // R!  html | markdown | xml | generated
      "page" : [{ Content as for ImplementationGuide.definition.page }] // Nested Pages / Sections
    },
    "parameter" : [{ // Defines how IG is built by tools
      "code" : "<code>", // R!  apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template
      "value" : "<string>" // R!  Value for named type
    }],
    "template" : [{ // A template for building resources
      "code" : "<code>", // R!  Type of template specified
      "source" : "<string>", // R!  The source location for the template
      "scope" : "<string>" // The scope in which the template applies
    }]
  },
  "manifest" : { // Information about an assembled IG
    "rendering" : "<url>", // Location of rendered implementation guide
    "resource" : [{ // R!  Resource in the implementation guide
      "reference" : { Reference(Any) }, // R!  Location of the resource
      // example[x]: Is an example/What is this an example of?. One of these 2:
      "exampleBoolean" : <boolean>,
      "exampleCanonical" : "<canonical>",
      "relativePath" : "<url>" // Relative path for page in IG
    }],
    "page" : [{ // HTML page within the parent IG
      "name" : "<string>", // R!  HTML page name
      "title" : "<string>", // Title of the page, for references
      "anchor" : ["<string>"] // Anchor available on the page
    }],
    "image" : ["<string>"], // Image within the IG
    "other" : ["<string>"] // Additional linkable file in IG
  }
}

Turtle Template

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


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

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ImplementationGuide.url [ uri ]; # 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique)
  fhir:ImplementationGuide.version [ string ]; # 0..1 Business version of the implementation guide
  fhir:ImplementationGuide.name [ string ]; # 1..1 Name for this implementation guide (computer friendly)
  fhir:ImplementationGuide.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 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..* The context that the content is intended to support
  fhir:ImplementationGuide.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for implementation guide (if applicable)
  fhir:ImplementationGuide.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:ImplementationGuide.fhirVersion [ id ]; # 0..1 FHIR Version this Implementation Guide targets
  fhir:ImplementationGuide.dependsOn [ # 0..* Another Implementation guide this depends on
    fhir:ImplementationGuide.dependsOn.uri [ canonical ]; # 1..1 Identity of the IG that this depends on
    fhir:ImplementationGuide.dependsOn.version [ string ]; # 0..1 Version of the IG
  ], ...;
  fhir:ImplementationGuide.global [ # 0..* Profiles that apply globally
    fhir:ImplementationGuide.global.type [ code ]; # 1..1 Type this profile applies to
    fhir:ImplementationGuide.global.profile [ canonical(StructureDefinition) ]; # 1..1 Profile that all resources must conform to
  ], ...;
  fhir:ImplementationGuide.definition [ # 0..1 Information needed to build the IG
    fhir:ImplementationGuide.definition.package [ # 0..* Group of resources as used in .page.package
      fhir:ImplementationGuide.definition.package.name [ string ]; # 1..1 Name used .resource.package and .page.package
      fhir:ImplementationGuide.definition.package.description [ string ]; # 0..1 Human readable text describing the package
    ], ...;
    fhir:ImplementationGuide.definition.resource [ # 1..* Resource in the implementation guide
      fhir:ImplementationGuide.definition.resource.reference [ Reference(Any) ]; # 1..1 Location of the resource
      fhir:ImplementationGuide.definition.resource.name [ string ]; # 0..1 Human Name for the resource
      fhir:ImplementationGuide.definition.resource.description [ string ]; # 0..1 Reason why included in guide
      # ImplementationGuide.definition.resource.example[x] : 0..1 Is an example/What is this an example of?. One of these 2
        fhir:ImplementationGuide.definition.resource.exampleBoolean [ boolean ]
        fhir:ImplementationGuide.definition.resource.exampleCanonical [ canonical(StructureDefinition) ]
      fhir:ImplementationGuide.definition.resource.package [ id ]; # 0..1 Pack this is part of
    ], ...;
    fhir:ImplementationGuide.definition.page [ # 0..1 Page/Section in the Guide
      # ImplementationGuide.definition.page.name[x] : 1..1 Where to find that page. One of these 2
        fhir:ImplementationGuide.definition.page.nameUrl [ url ]
        fhir:ImplementationGuide.definition.page.nameReference [ Reference(Binary) ]
      fhir:ImplementationGuide.definition.page.title [ string ]; # 1..1 Short title shown for navigational assistance
      fhir:ImplementationGuide.definition.page.generation [ code ]; # 1..1 html | markdown | xml | generated
      fhir:ImplementationGuide.definition.page.page [ See ImplementationGuide.definition.page ], ... ; # 0..* Nested Pages / Sections
    ];
    fhir:ImplementationGuide.definition.parameter [ # 0..* Defines how IG is built by tools
      fhir:ImplementationGuide.definition.parameter.code [ code ]; # 1..1 apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template
      fhir:ImplementationGuide.definition.parameter.value [ string ]; # 1..1 Value for named type
    ], ...;
    fhir:ImplementationGuide.definition.template [ # 0..* A template for building resources
      fhir:ImplementationGuide.definition.template.code [ code ]; # 1..1 Type of template specified
      fhir:ImplementationGuide.definition.template.source [ string ]; # 1..1 The source location for the template
      fhir:ImplementationGuide.definition.template.scope [ string ]; # 0..1 The scope in which the template applies
    ], ...;
  ];
  fhir:ImplementationGuide.manifest [ # 0..1 Information about an assembled IG
    fhir:ImplementationGuide.manifest.rendering [ url ]; # 0..1 Location of rendered implementation guide
    fhir:ImplementationGuide.manifest.resource [ # 1..* Resource in the implementation guide
      fhir:ImplementationGuide.manifest.resource.reference [ Reference(Any) ]; # 1..1 Location of the resource
      # ImplementationGuide.manifest.resource.example[x] : 0..1 Is an example/What is this an example of?. One of these 2
        fhir:ImplementationGuide.manifest.resource.exampleBoolean [ boolean ]
        fhir:ImplementationGuide.manifest.resource.exampleCanonical [ canonical(StructureDefinition) ]
      fhir:ImplementationGuide.manifest.resource.relativePath [ url ]; # 0..1 Relative path for page in IG
    ], ...;
    fhir:ImplementationGuide.manifest.page [ # 0..* HTML page within the parent IG
      fhir:ImplementationGuide.manifest.page.name [ string ]; # 1..1 HTML page name
      fhir:ImplementationGuide.manifest.page.title [ string ]; # 0..1 Title of the page, for references
      fhir:ImplementationGuide.manifest.page.anchor [ string ], ... ; # 0..* Anchor available on the page
    ], ...;
    fhir:ImplementationGuide.manifest.image [ string ], ... ; # 0..* Image within the IG
    fhir:ImplementationGuide.manifest.other [ string ], ... ; # 0..* Additional linkable file in IG
  ];
]

Changes since R3

ImplementationGuide
ImplementationGuide.fhirVersion
  • Add Binding http://hl7.org/fhir/ValueSet/fhir-versions (required)
ImplementationGuide.dependsOn
  • Renamed from dependency to dependsOn
ImplementationGuide.dependsOn.uri
  • Moved from ImplementationGuide.dependency to ImplementationGuide.dependsOn
  • Type changed from uri to canonical
ImplementationGuide.dependsOn.version
  • Added Element
ImplementationGuide.global.profile
  • Type changed from Reference(StructureDefinition) to canonical
ImplementationGuide.definition
  • Added Element
ImplementationGuide.definition.package
  • Moved from ImplementationGuide to ImplementationGuide.definition
ImplementationGuide.definition.resource
  • Moved from ImplementationGuide.package to ImplementationGuide.definition
ImplementationGuide.definition.resource.reference
  • Added Element
ImplementationGuide.definition.resource.example[x]
  • Renamed from example to example[x]
  • Min Cardinality changed from 1 to 0
  • Add canonical
ImplementationGuide.definition.resource.package
  • Added Element
ImplementationGuide.definition.page
  • Moved from ImplementationGuide to ImplementationGuide.definition
ImplementationGuide.definition.page.name[x]
  • Added Element
ImplementationGuide.definition.page.generation
  • Added Element
ImplementationGuide.definition.parameter
  • Added Element
ImplementationGuide.definition.parameter.code
  • Added Element
ImplementationGuide.definition.parameter.value
  • Added Element
ImplementationGuide.definition.template
  • Added Element
ImplementationGuide.definition.template.code
  • Added Element
ImplementationGuide.definition.template.source
  • Added Element
ImplementationGuide.definition.template.scope
  • Added Element
ImplementationGuide.manifest
  • Added Element
ImplementationGuide.manifest.rendering
  • Added Element
ImplementationGuide.manifest.resource
  • Added Element
ImplementationGuide.manifest.resource.reference
  • Added Element
ImplementationGuide.manifest.resource.example[x]
  • Added Element
ImplementationGuide.manifest.resource.relativePath
  • Added Element
ImplementationGuide.manifest.page
  • Added Element
ImplementationGuide.manifest.page.name
  • Added Element
ImplementationGuide.manifest.page.title
  • Added Element
ImplementationGuide.manifest.page.anchor
  • Added Element
ImplementationGuide.manifest.image
  • Added Element
ImplementationGuide.manifest.other
  • Added Element
ImplementationGuide.dependency.type
  • deleted
ImplementationGuide.package.resource.acronym
  • deleted
ImplementationGuide.package.resource.source[x]
  • deleted
ImplementationGuide.package.resource.exampleFor
  • deleted
ImplementationGuide.binary
  • deleted
ImplementationGuide.page.source
  • deleted
ImplementationGuide.page.kind
  • deleted
ImplementationGuide.page.type
  • deleted
ImplementationGuide.page.package
  • deleted
ImplementationGuide.page.format
  • 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.). Note: these have note yet been updated to be R3 to R4

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImplementationGuide TUDomainResourceA set of rules about how FHIR is used
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... url Σ1..1uriCanonical identifier for this implementation guide, represented as a URI (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 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..*UsageContextThe context that 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
All Published FHIR versions (Required)
... dependsOn Σ0..*BackboneElementAnother Implementation guide this depends on
.... uri Σ1..1canonicalIdentity of the IG that this depends on
.... version Σ0..1stringVersion of the IG
... global Σ0..*BackboneElementProfiles that apply globally
.... type Σ1..1codeType this profile applies to
ResourceType (Required)
.... profile Σ1..1canonicalProfile that all resources must conform to
... definition 0..1BackboneElementInformation needed to build the IG
.... package 0..*BackboneElementGroup of resources as used in .page.package
..... name 1..1stringName used .resource.package and .page.package
..... description 0..1stringHuman readable text describing the package
.... resource 1..*BackboneElementResource in the implementation guide
..... reference 1..1Reference(Any)Location of the resource
..... name 0..1stringHuman Name for the resource
..... description 0..1stringReason why included in guide
..... example[x] 0..1Is an example/What is this an example of?
...... exampleBooleanboolean
...... exampleCanonicalcanonical
..... package 0..1idPack this is part of
.... page 0..1BackboneElementPage/Section in the Guide
..... name[x] 1..1Where to find that page
...... nameUrlurl
...... nameReferenceReference(Binary)
..... title 1..1stringShort title shown for navigational assistance
..... generation 1..1codehtml | markdown | xml | generated
GuidePageGeneration (Required)
..... page 0..*see pageNested Pages / Sections
.... parameter 0..*BackboneElementDefines how IG is built by tools
..... code 1..1codeapply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template
GuideParameterCode (Required)
..... value 1..1stringValue for named type
.... template 0..*BackboneElementA template for building resources
..... code 1..1codeType of template specified
..... source 1..1stringThe source location for the template
..... scope 0..1stringThe scope in which the template applies
... manifest 0..1BackboneElementInformation about an assembled IG
.... rendering Σ0..1urlLocation of rendered implementation guide
.... resource Σ1..*BackboneElementResource in the implementation guide
..... reference Σ1..1Reference(Any)Location of the resource
..... example[x] 0..1Is an example/What is this an example of?
...... exampleBooleanboolean
...... exampleCanonicalcanonical
..... relativePath 0..1urlRelative path for page in IG
.... page 0..*BackboneElementHTML page within the parent IG
..... name 1..1stringHTML page name
..... title 0..1stringTitle of the page, for references
..... anchor 0..*stringAnchor available on the page
.... image 0..*stringImage within the IG
.... other 0..*stringAdditional linkable file in IG

doco Documentation for this format

UML Diagram (Legend)

ImplementationGuide (DomainResource)An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal 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 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 an artifact. (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 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 organization or individual 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.3.0 for this versionfhirVersion : id [0..1] « All published FHIR Versions (Strength=Required)All Published FHIR versions! »DependsOnThe canonical URL of the Implementation guide for the dependencyuri : canonical [1..1]The version of the IG that is depended on, when the correct version is required to understand the IG correctlyversion : string [0..1]GlobalThe type of resource that all instances must conform totype : code [1..1] « One of the resource types defined as part of this version of FHIR. (Strength=Required)ResourceType! »A reference to the profile that all instances must conform toprofile : canonical [1..1]DefinitionPackageThe name for the group, as used in ImplementationGuide.definition.resource.package and ImplementationGuide.definition.page.packagename : string [1..1]Human readable text describing the packagedescription : string [0..1]ResourceWhere this resource is foundreference : Reference [1..1] « Any »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]If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profileexample[x] : Type [0..1] « boolean|canonical(StructureDefinition) »Reference to the id of the pack this resource appears inpackage : id [0..1]PageThe source address for the pagename[x] : Type [1..1] « url|Reference(Binary) »A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etctitle : string [1..1]A code that indicates how the page is generatedgeneration : code [1..1] « A code that indicates how the page is generated (Strength=Required)GuidePageGeneration! »Parameterapply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-templatecode : code [1..1] « Code of parameter that is input to the guide (Strength=Required)GuideParameterCode! »Value for named typevalue : string [1..1]TemplateType of template specifiedcode : code [1..1]The source location for the templatesource : string [1..1]The scope in which the template appliesscope : string [0..1]ManifestA pointer to official web page, PDF or other rendering of the implementation guiderendering : url [0..1]Indicates a relative path to an image that exists within the IGimage : string [0..*]Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IGother : string [0..*]ResourceWhere this resource is foundreference : Reference [1..1] « Any »If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profileexample[x] : Type [0..1] « boolean|canonical(StructureDefinition) »The relative path for primary page for this resource within the IGrelativePath : url [0..1]PageRelative path to the pagename : string [1..1]Label for the page intended for human displaytitle : string [0..1]The name of an anchor available on the pageanchor : string [0..*]Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guidesdependsOn[0..*]A set of profiles that all resources covered by this implementation guide must conform toglobal[0..*]A logical group of resources. Logical groups can be used when building pagespackage[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..*]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]Defines how IG is built by toolsparameter[0..*]A template for building resourcestemplate[0..*]The information needed by an IG publisher tool to publish the whole implementation guidedefinition[0..1]A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resourceresource[1..*]Information about a page within the IGpage[0..*]Information about an assembled implementation guide, created by the publication toolingmanifest[0..1]

XML Template

<ImplementationGuide xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique) -->
 <version value="[string]"/><!-- 0..1 Business version of the implementation guide -->
 <name value="[string]"/><!-- 1..1 Name for this implementation guide (computer friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the implementation guide -->
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for implementation guide (if applicable) --></jurisdiction>
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <fhirVersion value="[id]"/><!-- 0..1 FHIR Version this Implementation Guide targets -->
 <dependsOn>  <!-- 0..* Another Implementation guide this depends on -->
  <uri value="[canonical]"/><!-- 1..1 Identity of the IG that this depends on -->
  <version value="[string]"/><!-- 0..1 Version of the IG -->
 </dependsOn>
 <global>  <!-- 0..* Profiles that apply globally -->
  <type value="[code]"/><!-- 1..1 Type this profile applies to -->
  <profile><!-- 1..1 canonical(StructureDefinition) Profile that all resources must conform to --></profile>
 </global>
 <definition>  <!-- 0..1 Information needed to build the IG -->
  <package>  <!-- 0..* Group of resources as used in .page.package -->
   <name value="[string]"/><!-- 1..1 Name used .resource.package and .page.package -->
   <description value="[string]"/><!-- 0..1 Human readable text describing the package -->
  </package>
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <reference><!-- 1..1 Reference(Any) Location of the resource --></reference>
   <name value="[string]"/><!-- 0..1 Human Name for the resource -->
   <description value="[string]"/><!-- 0..1 Reason why included in guide -->
   <example[x]><!-- 0..1 boolean|canonical(StructureDefinition) Is an example/What is this an example of? --></example[x]>
   <package value="[id]"/><!-- 0..1 Pack this is part of -->
  </resource>
  <page>  <!-- 0..1 Page/Section in the Guide -->
   <name[x]><!-- 1..1 url|Reference(Binary) Where to find that page --></name[x]>
   <title value="[string]"/><!-- 1..1 Short title shown for navigational assistance -->
   <generation value="[code]"/><!-- 1..1 html | markdown | xml | generated -->
   <page><!-- 0..* Content as for ImplementationGuide.definition.page Nested Pages / Sections --></page>
  </page>
  <parameter>  <!-- 0..* Defines how IG is built by tools -->
   <code value="[code]"/><!-- 1..1 apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template -->
   <value value="[string]"/><!-- 1..1 Value for named type -->
  </parameter>
  <template>  <!-- 0..* A template for building resources -->
   <code value="[code]"/><!-- 1..1 Type of template specified -->
   <source value="[string]"/><!-- 1..1 The source location for the template -->
   <scope value="[string]"/><!-- 0..1 The scope in which the template applies -->
  </template>
 </definition>
 <manifest>  <!-- 0..1 Information about an assembled IG -->
  <rendering value="[url]"/><!-- 0..1 Location of rendered implementation guide -->
  <resource>  <!-- 1..* Resource in the implementation guide -->
   <reference><!-- 1..1 Reference(Any) Location of the resource --></reference>
   <example[x]><!-- 0..1 boolean|canonical(StructureDefinition) Is an example/What is this an example of? --></example[x]>
   <relativePath value="[url]"/><!-- 0..1 Relative path for page in IG -->
  </resource>
  <page>  <!-- 0..* HTML page within the parent IG -->
   <name value="[string]"/><!-- 1..1 HTML page name -->
   <title value="[string]"/><!-- 0..1 Title of the page, for references -->
   <anchor value="[string]"/><!-- 0..* Anchor available on the page -->
  </page>
  <image value="[string]"/><!-- 0..* Image within the IG -->
  <other value="[string]"/><!-- 0..* Additional linkable file in IG -->
 </manifest>
</ImplementationGuide>

JSON Template

{doco
  "resourceType" : "ImplementationGuide",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // R!  Canonical identifier for this implementation guide, represented as a URI (globally unique)
  "version" : "<string>", // Business version of the implementation guide
  "name" : "<string>", // 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 last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the implementation guide
  "useContext" : [{ UsageContext }], // The context that the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for implementation guide (if applicable)
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "fhirVersion" : "<id>", // FHIR Version this Implementation Guide targets
  "dependsOn" : [{ // Another Implementation guide this depends on
    "uri" : "<canonical>", // R!  Identity of the IG that this depends on
    "version" : "<string>" // Version of the IG
  }],
  "global" : [{ // Profiles that apply globally
    "type" : "<code>", // R!  Type this profile applies to
    "profile" : "<canonical>" // R!  Profile that all resources must conform to
  }],
  "definition" : { // Information needed to build the IG
    "package" : [{ // Group of resources as used in .page.package
      "name" : "<string>", // R!  Name used .resource.package and .page.package
      "description" : "<string>" // Human readable text describing the package
    }],
    "resource" : [{ // R!  Resource in the implementation guide
      "reference" : { Reference(Any) }, // R!  Location of the resource
      "name" : "<string>", // Human Name for the resource
      "description" : "<string>", // Reason why included in guide
      // example[x]: Is an example/What is this an example of?. One of these 2:
      "exampleBoolean" : <boolean>,
      "exampleCanonical" : "<canonical>",
      "package" : "<id>" // Pack this is part of
    }],
    "page" : { // Page/Section in the Guide
      // name[x]: Where to find that page. One of these 2:
      "nameUrl" : "<url>",
      "nameReference" : { Reference(Binary) },
      "title" : "<string>", // R!  Short title shown for navigational assistance
      "generation" : "<code>", // R!  html | markdown | xml | generated
      "page" : [{ Content as for ImplementationGuide.definition.page }] // Nested Pages / Sections
    },
    "parameter" : [{ // Defines how IG is built by tools
      "code" : "<code>", // R!  apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template
      "value" : "<string>" // R!  Value for named type
    }],
    "template" : [{ // A template for building resources
      "code" : "<code>", // R!  Type of template specified
      "source" : "<string>", // R!  The source location for the template
      "scope" : "<string>" // The scope in which the template applies
    }]
  },
  "manifest" : { // Information about an assembled IG
    "rendering" : "<url>", // Location of rendered implementation guide
    "resource" : [{ // R!  Resource in the implementation guide
      "reference" : { Reference(Any) }, // R!  Location of the resource
      // example[x]: Is an example/What is this an example of?. One of these 2:
      "exampleBoolean" : <boolean>,
      "exampleCanonical" : "<canonical>",
      "relativePath" : "<url>" // Relative path for page in IG
    }],
    "page" : [{ // HTML page within the parent IG
      "name" : "<string>", // R!  HTML page name
      "title" : "<string>", // Title of the page, for references
      "anchor" : ["<string>"] // Anchor available on the page
    }],
    "image" : ["<string>"], // Image within the IG
    "other" : ["<string>"] // Additional linkable file in IG
  }
}

Turtle Template

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


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

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ImplementationGuide.url [ uri ]; # 1..1 Canonical identifier for this implementation guide, represented as a URI (globally unique)
  fhir:ImplementationGuide.version [ string ]; # 0..1 Business version of the implementation guide
  fhir:ImplementationGuide.name [ string ]; # 1..1 Name for this implementation guide (computer friendly)
  fhir:ImplementationGuide.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 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..* The context that the content is intended to support
  fhir:ImplementationGuide.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for implementation guide (if applicable)
  fhir:ImplementationGuide.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:ImplementationGuide.fhirVersion [ id ]; # 0..1 FHIR Version this Implementation Guide targets
  fhir:ImplementationGuide.dependsOn [ # 0..* Another Implementation guide this depends on
    fhir:ImplementationGuide.dependsOn.uri [ canonical ]; # 1..1 Identity of the IG that this depends on
    fhir:ImplementationGuide.dependsOn.version [ string ]; # 0..1 Version of the IG
  ], ...;
  fhir:ImplementationGuide.global [ # 0..* Profiles that apply globally
    fhir:ImplementationGuide.global.type [ code ]; # 1..1 Type this profile applies to
    fhir:ImplementationGuide.global.profile [ canonical(StructureDefinition) ]; # 1..1 Profile that all resources must conform to
  ], ...;
  fhir:ImplementationGuide.definition [ # 0..1 Information needed to build the IG
    fhir:ImplementationGuide.definition.package [ # 0..* Group of resources as used in .page.package
      fhir:ImplementationGuide.definition.package.name [ string ]; # 1..1 Name used .resource.package and .page.package
      fhir:ImplementationGuide.definition.package.description [ string ]; # 0..1 Human readable text describing the package
    ], ...;
    fhir:ImplementationGuide.definition.resource [ # 1..* Resource in the implementation guide
      fhir:ImplementationGuide.definition.resource.reference [ Reference(Any) ]; # 1..1 Location of the resource
      fhir:ImplementationGuide.definition.resource.name [ string ]; # 0..1 Human Name for the resource
      fhir:ImplementationGuide.definition.resource.description [ string ]; # 0..1 Reason why included in guide
      # ImplementationGuide.definition.resource.example[x] : 0..1 Is an example/What is this an example of?. One of these 2
        fhir:ImplementationGuide.definition.resource.exampleBoolean [ boolean ]
        fhir:ImplementationGuide.definition.resource.exampleCanonical [ canonical(StructureDefinition) ]
      fhir:ImplementationGuide.definition.resource.package [ id ]; # 0..1 Pack this is part of
    ], ...;
    fhir:ImplementationGuide.definition.page [ # 0..1 Page/Section in the Guide
      # ImplementationGuide.definition.page.name[x] : 1..1 Where to find that page. One of these 2
        fhir:ImplementationGuide.definition.page.nameUrl [ url ]
        fhir:ImplementationGuide.definition.page.nameReference [ Reference(Binary) ]
      fhir:ImplementationGuide.definition.page.title [ string ]; # 1..1 Short title shown for navigational assistance
      fhir:ImplementationGuide.definition.page.generation [ code ]; # 1..1 html | markdown | xml | generated
      fhir:ImplementationGuide.definition.page.page [ See ImplementationGuide.definition.page ], ... ; # 0..* Nested Pages / Sections
    ];
    fhir:ImplementationGuide.definition.parameter [ # 0..* Defines how IG is built by tools
      fhir:ImplementationGuide.definition.parameter.code [ code ]; # 1..1 apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template
      fhir:ImplementationGuide.definition.parameter.value [ string ]; # 1..1 Value for named type
    ], ...;
    fhir:ImplementationGuide.definition.template [ # 0..* A template for building resources
      fhir:ImplementationGuide.definition.template.code [ code ]; # 1..1 Type of template specified
      fhir:ImplementationGuide.definition.template.source [ string ]; # 1..1 The source location for the template
      fhir:ImplementationGuide.definition.template.scope [ string ]; # 0..1 The scope in which the template applies
    ], ...;
  ];
  fhir:ImplementationGuide.manifest [ # 0..1 Information about an assembled IG
    fhir:ImplementationGuide.manifest.rendering [ url ]; # 0..1 Location of rendered implementation guide
    fhir:ImplementationGuide.manifest.resource [ # 1..* Resource in the implementation guide
      fhir:ImplementationGuide.manifest.resource.reference [ Reference(Any) ]; # 1..1 Location of the resource
      # ImplementationGuide.manifest.resource.example[x] : 0..1 Is an example/What is this an example of?. One of these 2
        fhir:ImplementationGuide.manifest.resource.exampleBoolean [ boolean ]
        fhir:ImplementationGuide.manifest.resource.exampleCanonical [ canonical(StructureDefinition) ]
      fhir:ImplementationGuide.manifest.resource.relativePath [ url ]; # 0..1 Relative path for page in IG
    ], ...;
    fhir:ImplementationGuide.manifest.page [ # 0..* HTML page within the parent IG
      fhir:ImplementationGuide.manifest.page.name [ string ]; # 1..1 HTML page name
      fhir:ImplementationGuide.manifest.page.title [ string ]; # 0..1 Title of the page, for references
      fhir:ImplementationGuide.manifest.page.anchor [ string ], ... ; # 0..* Anchor available on the page
    ], ...;
    fhir:ImplementationGuide.manifest.image [ string ], ... ; # 0..* Image within the IG
    fhir:ImplementationGuide.manifest.other [ string ], ... ; # 0..* Additional linkable file in IG
  ];
]

Changes since DSTU2

ImplementationGuide
ImplementationGuide.fhirVersion
  • Add Binding http://hl7.org/fhir/ValueSet/fhir-versions (required)
ImplementationGuide.dependsOn
  • Renamed from dependency to dependsOn
ImplementationGuide.dependsOn.uri
  • Moved from ImplementationGuide.dependency to ImplementationGuide.dependsOn
  • Type changed from uri to canonical
ImplementationGuide.dependsOn.version
  • Added Element
ImplementationGuide.global.profile
  • Type changed from Reference(StructureDefinition) to canonical
ImplementationGuide.definition
  • Added Element
ImplementationGuide.definition.package
  • Moved from ImplementationGuide to ImplementationGuide.definition
ImplementationGuide.definition.resource
  • Moved from ImplementationGuide.package to ImplementationGuide.definition
ImplementationGuide.definition.resource.reference
  • Added Element
ImplementationGuide.definition.resource.example[x]
  • Renamed from example to example[x]
  • Min Cardinality changed from 1 to 0
  • Add canonical
ImplementationGuide.definition.resource.package
  • Added Element
ImplementationGuide.definition.page
  • Moved from ImplementationGuide to ImplementationGuide.definition
ImplementationGuide.definition.page.name[x]
  • Added Element
ImplementationGuide.definition.page.generation
  • Added Element
ImplementationGuide.definition.parameter
  • Added Element
ImplementationGuide.definition.parameter.code
  • Added Element
ImplementationGuide.definition.parameter.value
  • Added Element
ImplementationGuide.definition.template
  • Added Element
ImplementationGuide.definition.template.code
  • Added Element
ImplementationGuide.definition.template.source
  • Added Element
ImplementationGuide.definition.template.scope
  • Added Element
ImplementationGuide.manifest
  • Added Element
ImplementationGuide.manifest.rendering
  • Added Element
ImplementationGuide.manifest.resource
  • Added Element
ImplementationGuide.manifest.resource.reference
  • Added Element
ImplementationGuide.manifest.resource.example[x]
  • Added Element
ImplementationGuide.manifest.resource.relativePath
  • Added Element
ImplementationGuide.manifest.page
  • Added Element
ImplementationGuide.manifest.page.name
  • Added Element
ImplementationGuide.manifest.page.title
  • Added Element
ImplementationGuide.manifest.page.anchor
  • Added Element
ImplementationGuide.manifest.image
  • Added Element
ImplementationGuide.manifest.other
  • Added Element
ImplementationGuide.dependency.type
  • deleted
ImplementationGuide.package.resource.acronym
  • deleted
ImplementationGuide.package.resource.source[x]
  • deleted
ImplementationGuide.package.resource.exampleFor
  • deleted
ImplementationGuide.binary
  • deleted
ImplementationGuide.page.source
  • deleted
ImplementationGuide.page.kind
  • deleted
ImplementationGuide.page.type
  • deleted
ImplementationGuide.page.package
  • deleted
ImplementationGuide.page.format
  • 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.). Note: these have note yet been updated to be R3 to R4

 

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

PathDefinitionTypeReference
ImplementationGuide.status The lifecycle status of an artifact.RequiredPublicationStatus
ImplementationGuide.jurisdiction Countries and regions within which this artifact is targeted for useExtensibleJurisdiction ValueSet
ImplementationGuide.fhirVersion All published FHIR VersionsRequiredAll Published FHIR versions
ImplementationGuide.global.type One of the resource types defined as part of this version of FHIR.RequiredResource Types
ImplementationGuide.definition.page.generation A code that indicates how the page is generatedRequiredGuidePageGeneration
ImplementationGuide.definition.parameter.code Code of parameter that is input to the guideRequiredGuideParameterCode

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

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

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

Yet to be done

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

NameTypeDescriptionExpressionIn Common
datedateThe implementation guide publication dateImplementationGuide.date
depends-onreferenceIdentity of the IG that this depends onImplementationGuide.dependsOn.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
statustokenThe current status of the implementation guideImplementationGuide.status
urluriThe uri that identifies the implementation guideImplementationGuide.url
versiontokenThe business version of the implementation guideImplementationGuide.version