profile-ImplementationGuide
type: StructureDefinition
node role: treeRoot
id:
  v: profile-ImplementationGuide
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition profile-ImplementationGuide Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> ImplementationGuide 1..1 ImplementationGuide A set of rules about how FHIR is used #xD; Slices for extension 1..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:title 0..1 string R4: Name for this implementation guide (human friendly) (new) URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.title #xD; extension:packageId 1..1 id R4: NPM Package name for IG (new) URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.packageId #xD; extension:license 0..1 code R4: SPDX license code for this IG (or not-open-source) (new) URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.license Binding: R4SpdxLicenseForR3 (0.1.0) (required): The license that applies to an Implementation Guide (using an SPDX license Identifiers, or 'not-open-source'). The binding is required but new SPDX license Identifiers are allowed to be used (https://spdx.org/licenses/). #xD; extension:definition 0..1 (Complex) R4: Information needed to build the IG (new) URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition #xD; extension:page 0..1 (Complex) R4: Page/Section in the Guide (new) URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page #xD; extension:page 0..* (Complex) R4: Nested Pages / Sections (new) URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page #xD; extension:manifest 0..1 (Complex) R4: Information about an assembled IG (new) URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.manifest #xD; fhirVersion #xD; Slices for extension 1..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:fhirVersion 1..* code R4: FHIR Version(s) this Implementation Gui…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  extension:
    url:
      v: packageId
      l: packageId
    value: Id
      v: hl7.fhir.uv.xver-r4.r3
  extension:
    url:
      v: version
      l: version
    value: String
      v: 0.1.0
  url:
    v: http://hl7.org/fhir/StructureDefinition/package-source
    l: package-source
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 0
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r4.r3
        l: hl7.fhir.uv.xver-r4.r3
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: trial-use
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r4.r3
        l: hl7.fhir.uv.xver-r4.r3
url:
  v: http://hl7.org/fhir/4.0/StructureDefinition/profile-ImplementationGuide
  l: profile-ImplementationGuide
version:
  v: 0.1.0
name:
  v: Profile_R4_ImplementationGuide_R3
title:
  v: Cross-version Profile for R4.ImplementationGuide for use in FHIR STU3
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T16:03:29.7212939-05:00
publisher:
  v: FHIR Infrastructure
contact:
  name:
    v: FHIR Infrastructure
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: This cross-version profile allows R4 ImplementationGuide content to be represented via FHIR STU3 ImplementationGuide resources.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
fhir version:
  v: 3.0.2
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: w5
  uri:
    v: http://hl7.org/fhir/w5
    l: w5
  name:
    v: W5 Mapping
mapping:
  identity:
    v: objimpl
  uri:
    v: http://hl7.org/fhir/object-implementation
    l: object-implementation
  name:
    v: Object Implementation Information
kind:
  v: resource
abstract:
  v: false
type:
  v: ImplementationGuide
base definition:
  v: http://hl7.org/fhir/StructureDefinition/ImplementationGuide
  l: ImplementationGuide
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: ImplementationGuide
    path:
      v: ImplementationGuide
    short:
      v: A set of rules about how FHIR is used
    definition:
      v: 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.
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: ImplementationGuide
      min:
        v: 1
      max:
        v: 1
    constraint:
      key:
        v: dom-2
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain nested Resources
      expression:
        v: contained.contained.empty()
      xpath:
        v: not(parent::f:contained and f:contained)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-1
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain any narrative
      expression:
        v: contained.text.empty()
      xpath:
        v: not(parent::f:contained and f:text)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-4
      severity:
        v: error
      human:
        v: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
      expression:
        v: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
      xpath:
        v: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-3
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
      expression:
        v: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
      xpath:
        v: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))

identity:
  v: rim
map:
  v: Entity. Role, or Act

identity:
  v: rim
map:
  v: n/a

identity:
  v: w5
map:
  v: conformance.misc

id:
  v: ImplementationGuide.id
path:
  v: ImplementationGuide.id
short:
  v: Logical id of this artifact
definition:
  v: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
comment:
  v: The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: id
    l: id
is summary:
  v: true

id:
  v: ImplementationGuide.meta
path:
  v: ImplementationGuide.meta
short:
  v: Metadata about the resource
definition:
  v: The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.meta
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Meta
    l: Meta
is summary:
  v: true

id:
  v: ImplementationGuide.implicitRules
path:
  v: ImplementationGuide.implicitRules
short:
  v: A set of rules under which this content was created
definition:
  v: A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
comment:
  v: Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.implicitRules
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is modifier:
  v: true
is summary:
  v: true

id:
  v: ImplementationGuide.language
path:
  v: ImplementationGuide.language
short:
  v: Language of the resource content
definition:
  v: The base language in which the resource is written.
comment:
  v: Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.language
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Reference
      l: 3.0
      l: .2
      reference:
        v: http://hl7.org/fhir/ValueSet/all-languages|3.0.2
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: extensible
  description:
    v: A human language.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/languages|3.0.2

id:
  v: ImplementationGuide.text
path:
  v: ImplementationGuide.text
short:
  v: Text summary of the resource, for human interpretation
definition:
  v: A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
comment:
  v: Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.
alias:
  v: narrative
alias:
  v: html
alias:
  v: xhtml
alias:
  v: display
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Narrative
    l: Narrative
condition:
  v: dom-1
mapping:
  identity:
    v: rim
  map:
    v: Act.text?

id:
  v: ImplementationGuide.contained
path:
  v: ImplementationGuide.contained
short:
  v: Contained, inline Resources
definition:
  v: These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
comment:
  v: This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.
alias:
  v: inline resources
alias:
  v: anonymous resources
alias:
  v: contained resources
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.contained
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Resource
    l: Resource
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.extension
path:
  v: ImplementationGuide.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 1
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: ImplementationGuide.extension:title
path:
  v: ImplementationGuide.extension
slice name:
  v: title
short:
  v: R4: Name for this implementation guide (human friendly) (new)
definition:
  v: R4: `ImplementationGuide.title` (new:string)
comment:
  v: Element `ImplementationGuide.title` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.title` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.title|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.title
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.extension:packageId
path:
  v: ImplementationGuide.extension
slice name:
  v: packageId
short:
  v: R4: NPM Package name for IG (new)
definition:
  v: R4: `ImplementationGuide.packageId` (new:id)
comment:
  v: Element `ImplementationGuide.packageId` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.packageId` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Many (if not all) IG publishing tools will require that this element be present. For implementation guides published through HL7 or the FHIR foundation, the FHIR product director assigns package IDs.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.packageId|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.packageId
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.extension:license
path:
  v: ImplementationGuide.extension
slice name:
  v: license
short:
  v: R4: SPDX license code for this IG (or not-open-source) (new)
definition:
  v: R4: `ImplementationGuide.license` (new:code)
comment:
  v: Element `ImplementationGuide.license` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.license` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.license|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.license
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.extension:definition
path:
  v: ImplementationGuide.extension
slice name:
  v: definition
short:
  v: R4: Information needed to build the IG (new)
definition:
  v: R4: `ImplementationGuide.definition` (new:BackboneElement)
comment:
  v: Element `ImplementationGuide.definition` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.definition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Principally, this consists of information abuot source resource and file locations, and build parameters and templates.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.extension:page
path:
  v: ImplementationGuide.extension
slice name:
  v: page
short:
  v: R4: Page/Section in the Guide (new)
definition:
  v: R4: `ImplementationGuide.definition.page` (new:BackboneElement)
comment:
  v: Element `ImplementationGuide.definition.page` is part of an existing definition because parent element `ImplementationGuide.definition` requires a cross-version extension. Element `ImplementationGuide.definition.page` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.definition.page` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.extension:page
path:
  v: ImplementationGuide.extension
slice name:
  v: page
short:
  v: R4: Nested Pages / Sections (new)
definition:
  v: R4: `ImplementationGuide.definition.page.page` (new:ImplementationGuide.definition.page)
comment:
  v: Element `ImplementationGuide.definition.page.page` is part of an existing definition because parent element `ImplementationGuide.definition.page` requires a cross-version extension. Element `ImplementationGuide.definition.page.page` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.definition.page.page` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). The implementation guide breadcrumbs are generated from this structure.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.extension:manifest
path:
  v: ImplementationGuide.extension
slice name:
  v: manifest
short:
  v: R4: Information about an assembled IG (new)
definition:
  v: R4: `ImplementationGuide.manifest` (new:BackboneElement)
comment:
  v: Element `ImplementationGuide.manifest` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.manifest` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.manifest|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.manifest
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.modifierExtension
path:
  v: ImplementationGuide.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.url
path:
  v: ImplementationGuide.url
short:
  v: Logical URI to reference this implementation guide (globally unique)
definition:
  v: An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this implementation guide is (or will be) published. The URL SHOULD include the major version of the implementation guide. For more information see [Technical and Business Versions](http://hl7.org/fhir/STU3/resource.html#versions).
comment:
  v: Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version.
requirements:
  v: Allows the implementation guide to be referenced by a single globally unique identifier. This is required to allow hosting Implementation Guides on multiple different servers, and to allow for the editorial process.
alias:
  v: url
alias:
  v: authoritative-url
alias:
  v: destination
alias:
  v: identity
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: ImplementationGuide.version
path:
  v: ImplementationGuide.version
short:
  v: Business version of the implementation guide
definition:
  v: The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
comment:
  v: There may be different implementation guide instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the implementation guide with the format [url]|[version].
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.version
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: id.version

id:
  v: ImplementationGuide.name
path:
  v: ImplementationGuide.name
short:
  v: Name for this implementation guide (computer friendly)
definition:
  v: A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.
comment:
  v: The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.
requirements:
  v: Support human navigation and code generation.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.name
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: ImplementationGuide.status
path:
  v: ImplementationGuide.status
short:
  v: draft | active | retired | unknown
definition:
  v: The status of this implementation guide. Enables tracking the life-cycle of the content.
comment:
  v: Allows filtering of implementation guides that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use a retired implementation guide without due consideration.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.status
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is modifier:
  v: true
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: PublicationStatus
  strength:
    v: required
  description:
    v: The lifecycle status of a Value Set or Concept Map.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/publication-status|3.0.2
mapping:
  identity:
    v: w5
  map:
    v: status

id:
  v: ImplementationGuide.experimental
path:
  v: ImplementationGuide.experimental
short:
  v: For testing purposes, not real usage
definition:
  v: 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.
comment:
  v: Allows filtering of implementation guide that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental implementation guide in production.
requirements:
  v: Enables experimental content to be developed following the same lifecycle that would be used for a production-level implementation guide.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.experimental
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: ImplementationGuide.date
path:
  v: ImplementationGuide.date
short:
  v: Date this was last changed
definition:
  v: The date (and optionally time) when the implementation guide was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.
comment:
  v: Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the implementation guide. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.
alias:
  v: Revision Date
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.date
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: when.recorded

id:
  v: ImplementationGuide.publisher
path:
  v: ImplementationGuide.publisher
short:
  v: Name of the publisher (organization or individual)
definition:
  v: The name of the individual or organization that published the implementation guide.
comment:
  v: Usually an organization, but may be an individual. The publisher (or steward) of the implementation guide is the organization or individual primarily responsible for the maintenance and upkeep of the implementation guide. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the implementation guide. This item SHOULD be populated unless the information is available from context.
requirements:
  v: Helps establish the "authority/credibility" of the implementation guide. May also allow for contact.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.publisher
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: who.witness

id:
  v: ImplementationGuide.contact
path:
  v: ImplementationGuide.contact
short:
  v: Contact details for the publisher
definition:
  v: Contact details to assist a user in finding and communicating with the publisher.
comment:
  v: May be a web site, an email address, a telephone number, etc.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.contact
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactDetail
    l: ContactDetail
is summary:
  v: true

id:
  v: ImplementationGuide.description
path:
  v: ImplementationGuide.description
short:
  v: Natural language description of the implementation guide
definition:
  v: A free text natural language description of the implementation guide from a consumer's perspective.
comment:
  v: This description can be used to capture details such as why the implementation guide was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the implementation guide as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.description
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: markdown
    l: markdown

id:
  v: ImplementationGuide.useContext
path:
  v: ImplementationGuide.useContext
short:
  v: Context the content is intended to support
definition:
  v: 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 instances.
comment:
  v: When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.
requirements:
  v: Assist in searching for appropriate content.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.useContext
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: UsageContext
    l: UsageContext
is summary:
  v: true

id:
  v: ImplementationGuide.jurisdiction
path:
  v: ImplementationGuide.jurisdiction
short:
  v: Intended jurisdiction for implementation guide (if applicable)
definition:
  v: A legal or geographic region in which the implementation guide is intended to be used.
comment:
  v: It may be possible for the implementation guide to be used in jurisdictions other than those for which it was originally designed or intended.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.jurisdiction
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Jurisdiction
  strength:
    v: extensible
  description:
    v: Countries and regions within which this artifact is targeted for use
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/jurisdiction|3.0.2

id:
  v: ImplementationGuide.copyright
path:
  v: ImplementationGuide.copyright
short:
  v: Use and/or publishing restrictions
definition:
  v: A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.
requirements:
  v: Consumers must be able to determine any legal restrictions on the use of the implementation guide and/or its content.
alias:
  v: License
alias:
  v: Restrictions
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.copyright
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: markdown
    l: markdown
mapping:
  identity:
    v: objimpl
  map:
    v: no-gen-base

id:
  v: ImplementationGuide.fhirVersion
path:
  v: ImplementationGuide.fhirVersion
short:
  v: FHIR Version this Implementation Guide targets
definition:
  v: 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.0.2 for this version.
comment:
  v: An Implementation Guide should specify the target it applies to, as ImplementationGuides are rarely valid across multiple versions of FHIR.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.fhirVersion
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: id
    l: id
is summary:
  v: true

id:
  v: ImplementationGuide.fhirVersion.id
path:
  v: ImplementationGuide.fhirVersion.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: ImplementationGuide.fhirVersion.extension
path:
  v: ImplementationGuide.fhirVersion.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 1
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: ImplementationGuide.fhirVersion.extension:fhirVersion
path:
  v: ImplementationGuide.fhirVersion.extension
slice name:
  v: fhirVersion
short:
  v: R4: FHIR Version(s) this Implementation Guide targets additional types
definition:
  v: R4: `ImplementationGuide.fhirVersion` additional types (code) additional types from child elements (value)
comment:
  v: Element `ImplementationGuide.fhirVersion` is mapped to FHIR STU3 element `ImplementationGuide.fhirVersion` as `SourceIsBroaderThanTarget`. The mappings for `ImplementationGuide.fhirVersion` do not cover the following types: code. The mappings for `ImplementationGuide.fhirVersion` do not cover the following types based on type expansion: value. Most implementation guides target a single version - e.g. they describe how to use a particular version, and the profiles and examples etc are valid for that version. But some implementation guides describe how to use multiple different versions of FHIR to solve the same problem, or in concert with each other. Typically, the requirement to support multiple versions arises as implementation matures and different implementation communities are stuck at different versions by regulation or market dynamics.
min:
  v: 1
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.fhirVersion|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.fhirVersion
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.fhirVersion.value
path:
  v: ImplementationGuide.fhirVersion.value
representation:
  v: xmlAttr
short:
  v: Primitive value for id
definition:
  v: Primitive value for id
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-regex
      l: structuredefinition-regex
    value: String
      v: [A-Za-z0-9\-\.]{1,64}
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:string

id:
  v: ImplementationGuide.dependency
path:
  v: ImplementationGuide.dependency
short:
  v: Another Implementation guide this depends on
definition:
  v: Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.dependency
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is summary:
  v: true

id:
  v: ImplementationGuide.dependency.id
path:
  v: ImplementationGuide.dependency.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.dependency.extension
path:
  v: ImplementationGuide.dependency.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.dependency.modifierExtension
path:
  v: ImplementationGuide.dependency.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.dependency.type
path:
  v: ImplementationGuide.dependency.type
short:
  v: reference | inclusion
definition:
  v: How the dependency is represented when the guide is published.
comment:
  v: For information about processing included guides, see [Including Guides]{implementationguide.html#include}.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.dependency.type
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GuideDependencyType
  strength:
    v: required
  description:
    v: How a dependency is represented when the guide is published.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/guide-dependency-type|3.0.2

id:
  v: ImplementationGuide.dependency.uri
path:
  v: ImplementationGuide.dependency.uri
short:
  v: Where to find dependency
definition:
  v: Where the dependency is located.
comment:
  v: When a guide is published, and the type is 'include', this will be a relative reference within the guide.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.dependency.uri
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is summary:
  v: true

id:
  v: ImplementationGuide.package
path:
  v: ImplementationGuide.package
short:
  v: Group of resources as used in .page.package
definition:
  v: A logical group of resources. Logical groups can be used when building pages.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.package
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is summary:
  v: true

id:
  v: ImplementationGuide.package.id
path:
  v: ImplementationGuide.package.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.package.extension
path:
  v: ImplementationGuide.package.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.package.modifierExtension
path:
  v: ImplementationGuide.package.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.package.name
path:
  v: ImplementationGuide.package.name
short:
  v: Name used .page.package
definition:
  v: The name for the group, as used in page.package.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.package.name
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: ImplementationGuide.package.description
path:
  v: ImplementationGuide.package.description
short:
  v: Human readable text describing the package
definition:
  v: Human readable text describing the package.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.package.description
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: ImplementationGuide.package.resource
path:
  v: ImplementationGuide.package.resource
short:
  v: Resource in the implementation guide
definition:
  v: A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.
min:
  v: 1
max:
  v: *
base:
  path:
    v: ImplementationGuide.package.resource
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is summary:
  v: true

id:
  v: ImplementationGuide.package.resource.id
path:
  v: ImplementationGuide.package.resource.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.package.resource.extension
path:
  v: ImplementationGuide.package.resource.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.package.resource.modifierExtension
path:
  v: ImplementationGuide.package.resource.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.package.resource.example
path:
  v: ImplementationGuide.package.resource.example
short:
  v: If not an example, has its normal meaning
definition:
  v: Whether 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 guide.
comment:
  v: Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.package.resource.example
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
is summary:
  v: true

id:
  v: ImplementationGuide.package.resource.name
path:
  v: ImplementationGuide.package.resource.name
short:
  v: Human Name for the resource
definition:
  v: 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).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.package.resource.name
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: ImplementationGuide.package.resource.description
path:
  v: ImplementationGuide.package.resource.description
short:
  v: Reason why included in guide
definition:
  v: A description of the reason that a resource has been included in the implementation guide.
comment:
  v: This is mostly used with examples to explain why it is present (though they can have extensive comments in the examples).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.package.resource.description
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: ImplementationGuide.package.resource.acronym
path:
  v: ImplementationGuide.package.resource.acronym
short:
  v: Short code to identify the resource
definition:
  v: A short code that may be used to identify the resource throughout the implementation guide.
comment:
  v: This is used when generating schematrons from profiles, for example, but has other uses. Publishing tooling may autogenerate this value, but a human assigned value is more useful. This value must be unique within an implementation guide (across included guides as well).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.package.resource.acronym
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: ImplementationGuide.package.resource.source[x]
path:
  v: ImplementationGuide.package.resource.source[x]
short:
  v: Location of the resource
definition:
  v: Where this resource is found.
comment:
  v: Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.package.resource.source[x]
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Resource
    l: Resource
is summary:
  v: true

id:
  v: ImplementationGuide.package.resource.exampleFor
path:
  v: ImplementationGuide.package.resource.exampleFor
short:
  v: Resource this is an example of (if applicable)
definition:
  v: Another resource that this resource is an example for. This is mostly used for resources that are included as examples of StructureDefinitions.
comment:
  v: Examples: * StructureDefinition -> Any * ValueSet -> expansion * OperationDefinition -> Parameters * Questionnaire -> QuestionnaireResponse.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.package.resource.exampleFor
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/StructureDefinition
    l: StructureDefinition

id:
  v: ImplementationGuide.global
path:
  v: ImplementationGuide.global
short:
  v: Profiles that apply globally
definition:
  v: A set of profiles that all resources covered by this implementation guide must conform to.
comment:
  v: See [Default Profiles](http://hl7.org/fhir/STU3/implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.global
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is summary:
  v: true

id:
  v: ImplementationGuide.global.id
path:
  v: ImplementationGuide.global.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.global.extension
path:
  v: ImplementationGuide.global.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.global.modifierExtension
path:
  v: ImplementationGuide.global.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.global.type
path:
  v: ImplementationGuide.global.type
short:
  v: Type this profiles applies to
definition:
  v: The type of resource that all instances must conform to.
comment:
  v: The type must match that of the profile that is referred to, but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.global.type
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: ResourceType
  strength:
    v: required
  description:
    v: One of the resource types defined as part of FHIR.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/resource-types|3.0.2

id:
  v: ImplementationGuide.global.type.id
path:
  v: ImplementationGuide.global.type.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: ImplementationGuide.global.type.extension
path:
  v: ImplementationGuide.global.type.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: ImplementationGuide.global.type.extension:type
path:
  v: ImplementationGuide.global.type.extension
slice name:
  v: type
short:
  v: R4: Type this profile applies to
definition:
  v: R4: `ImplementationGuide.global.type`
comment:
  v: Element `ImplementationGuide.global.type` is mapped to FHIR STU3 element `ImplementationGuide.global.type` as `SourceIsBroaderThanTarget`. The type must match that of the profile that is referred to but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.global.type|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.global.type
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: ImplementationGuide.global.type.value
path:
  v: ImplementationGuide.global.type.value
representation:
  v: xmlAttr
short:
  v: Primitive value for code
definition:
  v: Primitive value for code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-regex
      l: structuredefinition-regex
    value: String
      v: [^\s]+([\s]?[^\s]+)*
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:token
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:token

id:
  v: ImplementationGuide.global.profile
path:
  v: ImplementationGuide.global.profile
short:
  v: Profile that all resources must conform to
definition:
  v: A reference to the profile that all instances must conform to.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.global.profile
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/StructureDefinition
    l: StructureDefinition
is summary:
  v: true

id:
  v: ImplementationGuide.global.profile.id
path:
  v: ImplementationGuide.global.profile.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.global.profile.extension
path:
  v: ImplementationGuide.global.profile.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: ImplementationGuide.global.profile.extension:profile
path:
  v: ImplementationGuide.global.profile.extension
slice name:
  v: profile
short:
  v: R4: profile additional types
definition:
  v: R4: `ImplementationGuide.global.profile` additional types (canonical(http://hl7.org/fhir/StructureDefinition/StructureDefinition)) additional types from child elements (value)
comment:
  v: Element `ImplementationGuide.global.profile` is mapped to FHIR STU3 element `ImplementationGuide.global.profile` as `SourceIsBroaderThanTarget`. The mappings for `ImplementationGuide.global.profile` do not cover the following types: canonical. The mappings for `ImplementationGuide.global.profile` do not cover the following types based on type expansion: value.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.global.profile|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.global.profile

id:
  v: ImplementationGuide.global.profile.reference
path:
  v: ImplementationGuide.global.profile.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
comment:
  v: Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.global.profile.identifier
path:
  v: ImplementationGuide.global.profile.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: ImplementationGuide.global.profile.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: ImplementationGuide.global.profile.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.binary
path:
  v: ImplementationGuide.binary
short:
  v: Image, css, script, etc.
definition:
  v: A binary file that is included in the implementation guide when it is published.
comment:
  v: This is principally included for the FHIR publishing tool, but may be useful when extracting and reusing content from the implementation guide.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.binary
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: uri
    l: uri

id:
  v: ImplementationGuide.page
path:
  v: ImplementationGuide.page
short:
  v: Page/Section in the Guide
definition:
  v: A page / section in the implementation guide. The root page is the implementation guide home page.
comment:
  v: Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.page
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is summary:
  v: true

id:
  v: ImplementationGuide.page.id
path:
  v: ImplementationGuide.page.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.page.extension
path:
  v: ImplementationGuide.page.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: ImplementationGuide.page.modifierExtension
path:
  v: ImplementationGuide.page.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: ImplementationGuide.page.source
path:
  v: ImplementationGuide.page.source
short:
  v: Where to find that page
definition:
  v: The source address for the page.
comment:
  v: The publishing tool will autogenerate source for list (source = n/a), and inject included implementations for include (source = uri of guide to include).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.page.source
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is summary:
  v: true

id:
  v: ImplementationGuide.page.title
path:
  v: ImplementationGuide.page.title
short:
  v: Short title shown for navigational assistance
definition:
  v: A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.page.title
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: ImplementationGuide.page.kind
path:
  v: ImplementationGuide.page.kind
short:
  v: page | example | list | include | directory | dictionary | toc | resource
definition:
  v: 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 interest.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ImplementationGuide.page.kind
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GuidePageKind
  strength:
    v: required
  description:
    v: The kind of an included page.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/guide-page-kind|3.0.2

id:
  v: ImplementationGuide.page.type
path:
  v: ImplementationGuide.page.type
short:
  v: Kind of resource to include in the list
definition:
  v: For constructed pages, what kind of resources to include in the list.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.page.type
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: ResourceType
  strength:
    v: required
  description:
    v: One of the resource types defined as part of FHIR.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/resource-types|3.0.2

id:
  v: ImplementationGuide.page.package
path:
  v: ImplementationGuide.page.package
short:
  v: Name of package to include
definition:
  v: For constructed pages, a list of packages to include in the page (or else empty for everything).
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.page.package
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: string
    l: string

id:
  v: ImplementationGuide.page.format
path:
  v: ImplementationGuide.page.format
short:
  v: Format of the page (e.g. html, markdown, etc.)
definition:
  v: The format of the page.
comment:
  v: This is primarily for the publishing tool, that will convert all pages to html format. HTML pages are pre-processed, see xxxx.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ImplementationGuide.page.format
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MimeType
  strength:
    v: required
  description:
    v: The mime type of an attachment. Any valid mime type is allowed.
  value set: Uri
    v: http://www.rfc-editor.org/bcp/bcp13.txt
    l: bcp13.txt

id:
  v: ImplementationGuide.page.page
path:
  v: ImplementationGuide.page.page
short:
  v: Nested Pages / Sections
definition:
  v: Nested Pages/Sections under this page.
comment:
  v: The implementation guide breadcrumbs are generated from this structure.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ImplementationGuide.page.page
  min:
    v: 0
  max:
    v: *
content reference:
  v: http://hl7.org/fhir/StructureDefinition/ImplementationGuide#ImplementationGuide.page
  l: ImplementationGuide.page

element:
  id:
    v: ImplementationGuide
  path:
    v: ImplementationGuide
element:
  id:
    v: ImplementationGuide.extension
  path:
    v: ImplementationGuide.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 1
  max:
    v: *
element:
  id:
    v: ImplementationGuide.extension:title
  path:
    v: ImplementationGuide.extension
  slice name:
    v: title
  short:
    v: R4: Name for this implementation guide (human friendly) (new)
  definition:
    v: R4: `ImplementationGuide.title` (new:string)
  comment:
    v: Element `ImplementationGuide.title` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.title` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.title|0.1.0
      l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.title
element:
  id:
    v: ImplementationGuide.extension:packageId
  path:
    v: ImplementationGuide.extension
  slice name:
    v: packageId
  short:
    v: R4: NPM Package name for IG (new)
  definition:
    v: R4: `ImplementationGuide.packageId` (new:id)
  comment:
    v: Element `ImplementationGuide.packageId` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.packageId` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Many (if not all) IG publishing tools will require that this element be present. For implementation guides published through HL7 or the FHIR foundation, the FHIR product director assigns package IDs.
  min:
    v: 1
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.packageId|0.1.0
      l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.packageId
element:
  id:
    v: ImplementationGuide.extension:license
  path:
    v: ImplementationGuide.extension
  slice name:
    v: license
  short:
    v: R4: SPDX license code for this IG (or not-open-source) (new)
  definition:
    v: R4: `ImplementationGuide.license` (new:code)
  comment:
    v: Element `ImplementationGuide.license` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.license` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.license|0.1.0
      l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.license
element:
  id:
    v: ImplementationGuide.extension:definition
  path:
    v: ImplementationGuide.extension
  slice name:
    v: definition
  short:
    v: R4: Information needed to build the IG (new)
  definition:
    v: R4: `ImplementationGuide.definition` (new:BackboneElement)
  comment:
    v: Element `ImplementationGuide.definition` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.definition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Principally, this consists of information abuot source resource and file locations, and build parameters and templates.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition|0.1.0
      l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition
element:
  id:
    v: ImplementationGuide.extension:page
  path:
    v: ImplementationGuide.extension
  slice name:
    v: page
  short:
    v: R4: Page/Section in the Guide (new)
  definition:
    v: R4: `ImplementationGuide.definition.page` (new:BackboneElement)
  comment:
    v: Element `ImplementationGuide.definition.page` is part of an existing definition because parent element `ImplementationGuide.definition` requires a cross-version extension. Element `ImplementationGuide.definition.page` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.definition.page` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page|0.1.0
      l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page
element:
  id:
    v: ImplementationGuide.extension:page
  path:
    v: ImplementationGuide.extension
  slice name:
    v: page
  short:
    v: R4: Nested Pages / Sections (new)
  definition:
    v: R4: `ImplementationGuide.definition.page.page` (new:ImplementationGuide.definition.page)
  comment:
    v: Element `ImplementationGuide.definition.page.page` is part of an existing definition because parent element `ImplementationGuide.definition.page` requires a cross-version extension. Element `ImplementationGuide.definition.page.page` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.definition.page.page` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). The implementation guide breadcrumbs are generated from this structure.
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *

code:
  v: Extension
  l: Extension
profile:
  v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page|0.1.0
  l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.definition.page

id:
  v: ImplementationGuide.extension:manifest
path:
  v: ImplementationGuide.extension
slice name:
  v: manifest
short:
  v: R4: Information about an assembled IG (new)
definition:
  v: R4: `ImplementationGuide.manifest` (new:BackboneElement)
comment:
  v: Element `ImplementationGuide.manifest` has a context of ImplementationGuide based on following the parent source element upwards and mapping to `ImplementationGuide`. Element `ImplementationGuide.manifest` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.manifest|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.manifest

id:
  v: ImplementationGuide.fhirVersion.extension
path:
  v: ImplementationGuide.fhirVersion.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 1
max:
  v: *

id:
  v: ImplementationGuide.fhirVersion.extension:fhirVersion
path:
  v: ImplementationGuide.fhirVersion.extension
slice name:
  v: fhirVersion
short:
  v: R4: FHIR Version(s) this Implementation Guide targets additional types
definition:
  v: R4: `ImplementationGuide.fhirVersion` additional types (code) additional types from child elements (value)
comment:
  v: Element `ImplementationGuide.fhirVersion` is mapped to FHIR STU3 element `ImplementationGuide.fhirVersion` as `SourceIsBroaderThanTarget`. The mappings for `ImplementationGuide.fhirVersion` do not cover the following types: code. The mappings for `ImplementationGuide.fhirVersion` do not cover the following types based on type expansion: value. Most implementation guides target a single version - e.g. they describe how to use a particular version, and the profiles and examples etc are valid for that version. But some implementation guides describe how to use multiple different versions of FHIR to solve the same problem, or in concert with each other. Typically, the requirement to support multiple versions arises as implementation matures and different implementation communities are stuck at different versions by regulation or market dynamics.
min:
  v: 1
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.fhirVersion|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.fhirVersion

id:
  v: ImplementationGuide.global.type.extension
path:
  v: ImplementationGuide.global.type.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: ImplementationGuide.global.type.extension:type
path:
  v: ImplementationGuide.global.type.extension
slice name:
  v: type
short:
  v: R4: Type this profile applies to
definition:
  v: R4: `ImplementationGuide.global.type`
comment:
  v: Element `ImplementationGuide.global.type` is mapped to FHIR STU3 element `ImplementationGuide.global.type` as `SourceIsBroaderThanTarget`. The type must match that of the profile that is referred to but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.global.type|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.global.type

id:
  v: ImplementationGuide.global.profile.extension
path:
  v: ImplementationGuide.global.profile.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: ImplementationGuide.global.profile.extension:profile
path:
  v: ImplementationGuide.global.profile.extension
slice name:
  v: profile
short:
  v: R4: profile additional types
definition:
  v: R4: `ImplementationGuide.global.profile` additional types (canonical(http://hl7.org/fhir/StructureDefinition/StructureDefinition)) additional types from child elements (value)
comment:
  v: Element `ImplementationGuide.global.profile` is mapped to FHIR STU3 element `ImplementationGuide.global.profile` as `SourceIsBroaderThanTarget`. The mappings for `ImplementationGuide.global.profile` do not cover the following types: canonical. The mappings for `ImplementationGuide.global.profile` do not cover the following types based on type expansion: value.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.global.profile|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-ImplementationGuide.global.profile