profile-Questionnaire
type: StructureDefinition
node role: treeRoot
id:
  v: profile-Questionnaire
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition profile-Questionnaire Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Questionnaire 0..* Questionnaire A structured set of questions #xD; meta #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:meta 0..1 Meta R4B: meta additional types URL: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.meta #xD; text #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:text 0..1 (Complex) R4B: text additional types URL: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.text #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:derivedFrom 0..* uri R4B: Instantiates protocol or definition (new) URL: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.derivedFrom #xD; identifier #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:identifier 0..* Identifier R4B: identifier additional types URL: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.identifier #xD; effectivePeriod #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:effectivePeriod 0..1 Period R4B: effectivePeriod additional types URL: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.effectivePeriod #xD; useContext #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:useContext 0..* (Complex) R4B: The context that the content is intended to support additional types URL: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.useContext #xD; contact #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:contact 0..* (Complex) R4B: contact additional types URL: http://hl7.org/fhir/4…
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-r4b.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-r4b.r3
        l: hl7.fhir.uv.xver-r4b.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-r4b.r3
        l: hl7.fhir.uv.xver-r4b.r3
url:
  v: http://hl7.org/fhir/4.3/StructureDefinition/profile-Questionnaire
  l: profile-Questionnaire
version:
  v: 0.1.0
name:
  v: Profile_R4B_Questionnaire_R3
title:
  v: Cross-version Profile for R4B.Questionnaire for use in FHIR STU3
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T16:04:24.9380757-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 R4B Questionnaire content to be represented via FHIR STU3 Questionnaire 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
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
    l: v2
  name:
    v: HL7 v2 Mapping
kind:
  v: resource
abstract:
  v: false
type:
  v: Questionnaire
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Questionnaire
  l: Questionnaire
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: Questionnaire
    path:
      v: Questionnaire
    short:
      v: A structured set of questions
    definition:
      v: A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.
    alias:
      v: Form
    alias:
      v: CRF
    alias:
      v: Survey
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Questionnaire
      min:
        v: 0
      max:
        v: *
    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))

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))]))
source:
  v: http://hl7.org/fhir/StructureDefinition/DomainResource
  l: DomainResource

key:
  v: que-2
severity:
  v: error
human:
  v: The link ids for groups and questions must be unique within the questionnaire
expression:
  v: descendants().linkId.isDistinct()
xpath:
  v: count(descendant::f:linkId/@value)=count(distinct-values(descendant::f:linkId/@value))
source:
  v: http://hl7.org/fhir/StructureDefinition/Questionnaire
  l: Questionnaire

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

identity:
  v: rim
map:
  v: Observation[moodCode=DEF]

identity:
  v: w5
map:
  v: infrastructure.information

id:
  v: Questionnaire.id
path:
  v: Questionnaire.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: Questionnaire.meta
path:
  v: Questionnaire.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: Questionnaire.meta.id
path:
  v: Questionnaire.meta.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: Questionnaire.meta.extension
path:
  v: Questionnaire.meta.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: Questionnaire.meta.extension:meta
path:
  v: Questionnaire.meta.extension
slice name:
  v: meta
short:
  v: R4B: meta additional types
definition:
  v: R4B: `Questionnaire.meta` additional types (Meta) additional types from child elements (lastUpdated, profile, security, source, tag, versionId)
comment:
  v: Element `Questionnaire.meta` is mapped to FHIR STU3 element `Questionnaire.meta` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.meta` do not cover the following types: Meta. The mappings for `Questionnaire.meta` do not cover the following types based on type expansion: lastUpdated, profile, security, source, tag, versionId.
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.3/StructureDefinition/extension-Questionnaire.meta|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.meta

id:
  v: Questionnaire.meta.versionId
path:
  v: Questionnaire.meta.versionId
short:
  v: Version specific identifier
definition:
  v: The version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted.
comment:
  v: The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Meta.versionId
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: id
    l: id
is summary:
  v: true

id:
  v: Questionnaire.meta.lastUpdated
path:
  v: Questionnaire.meta.lastUpdated
short:
  v: When the resource version last changed
definition:
  v: When the resource last changed - e.g. when the version changed.
comment:
  v: This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Meta.lastUpdated
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: instant
    l: instant
is summary:
  v: true

id:
  v: Questionnaire.meta.profile
path:
  v: Questionnaire.meta.profile
short:
  v: Profiles this resource claims to conform to
definition:
  v: A list of profiles (references to [StructureDefinition](http://hl7.org/fhir/STU3/structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](http://hl7.org/fhir/STU3/).
comment:
  v: It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Meta.profile
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: uri
    l: uri
is summary:
  v: true

id:
  v: Questionnaire.meta.security
path:
  v: Questionnaire.meta.security
short:
  v: Security Labels applied to this resource
definition:
  v: Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
comment:
  v: The security labels can be updated without changing the stated version of the resource The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Meta.security
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
    l: Coding
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: SecurityLabels
  strength:
    v: extensible
  description:
    v: Security Labels from the Healthcare Privacy and Security Classification System.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/security-labels|3.0.2

id:
  v: Questionnaire.meta.tag
path:
  v: Questionnaire.meta.tag
short:
  v: Tags applied to this resource
definition:
  v: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
comment:
  v: The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Meta.tag
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
    l: Coding
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Tags
  strength:
    v: example
  description:
    v: Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/common-tags|3.0.2

id:
  v: Questionnaire.implicitRules
path:
  v: Questionnaire.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: Questionnaire.language
path:
  v: Questionnaire.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: Questionnaire.text
path:
  v: Questionnaire.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: Questionnaire.text.id
path:
  v: Questionnaire.text.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: Questionnaire.text.extension
path:
  v: Questionnaire.text.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: Questionnaire.text.extension:text
path:
  v: Questionnaire.text.extension
slice name:
  v: text
short:
  v: R4B: text additional types
definition:
  v: R4B: `Questionnaire.text` additional types (Narrative) additional types from child elements (div, status)
comment:
  v: Element `Questionnaire.text` is mapped to FHIR STU3 element `Questionnaire.text` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.text` do not cover the following types: Narrative. The mappings for `Questionnaire.text` do not cover the following types based on type expansion: div, status. 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 information is added later.
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.3/StructureDefinition/extension-Questionnaire.text|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.text

id:
  v: Questionnaire.text.status
path:
  v: Questionnaire.text.status
short:
  v: generated | extensions | additional | empty
definition:
  v: The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Narrative.status
  min:
    v: 1
  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: NarrativeStatus
  strength:
    v: required
  description:
    v: The status of a resource narrative
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/narrative-status|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Questionnaire.text.div
path:
  v: Questionnaire.text.div
short:
  v: Limited xhtml content
definition:
  v: The actual narrative content, a stripped down version of XHTML.
comment:
  v: The contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, elements (either name or href), images and internally contained stylesheets. The XHTML content may not contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes and objects.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Narrative.div
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: xhtml
    l: http://hl7.org/fhir/xhtml
constraint:
  key:
    v: txt-1
  severity:
    v: error
  human:
    v: The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, elements (either name or href), images and internally contained style attributes
  expression:
    v: htmlchecks()
  xpath:
    v: not(descendant-or-self::*[not(local-name(.)=('a', 'abbr', 'acronym', 'b', 'big', 'blockquote', 'br', 'caption', 'cite', 'code', 'col', 'colgroup', 'dd', 'dfn', 'div', 'dl', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'img', 'li', 'ol', 'p', 'pre', 'q', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'tt', 'ul', 'var'))]) and not(descendant-or-self::*/@*[not(name(.)=('abbr', 'accesskey', 'align', 'alt', 'axis', 'bgcolor', 'border', 'cellhalign', 'cellpadding', 'cellspacing', 'cellvalign', 'char', 'charoff', 'charset', 'cite', 'class', 'colspan', 'compact', 'coords', 'dir', 'frame', 'headers', 'height', 'href', 'hreflang', 'hspace', 'id', 'lang', 'longdesc', 'name', 'nowrap', 'rel', 'rev', 'rowspan', 'rules', 'scope', 'shape', 'span', 'src', 'start', 'style', 'summary', 'tabindex', 'title', 'type', 'valign', 'value', 'vspace', 'width'))])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
constraint:
  key:
    v: txt-2
  severity:
    v: error
  human:
    v: The narrative SHALL have some non-whitespace content
  expression:
    v: htmlchecks()
  xpath:
    v: descendant::text()[normalize-space(.)!=''] or descendant::h:img[@src]
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Questionnaire.contained
path:
  v: Questionnaire.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: Questionnaire.extension
path:
  v: Questionnaire.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: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Questionnaire.extension:derivedFrom
path:
  v: Questionnaire.extension
slice name:
  v: derivedFrom
short:
  v: R4B: Instantiates protocol or definition (new)
definition:
  v: R4B: `Questionnaire.derivedFrom` (new:canonical(Questionnaire))
comment:
  v: Element `Questionnaire.derivedFrom` has a context of Questionnaire based on following the parent source element upwards and mapping to `Questionnaire`. Element `Questionnaire.derivedFrom` 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: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.derivedFrom|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.derivedFrom
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: Questionnaire.modifierExtension
path:
  v: Questionnaire.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: Questionnaire.url
path:
  v: Questionnaire.url
short:
  v: Logical URI to reference this questionnaire (globally unique)
definition:
  v: An absolute URI that is used to identify this questionnaire 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 questionnaire is (or will be) published. The URL SHOULD include the major version of the questionnaire. 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: … This is the id that will be used to link a QuestionnaireResponse to the Questionnaire the response is for.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.url
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier[scope=BUSN;reliability=ISS]
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: Questionnaire.identifier
path:
  v: Questionnaire.identifier
short:
  v: Additional identifier for the questionnaire
definition:
  v: A formal identifier that is used to identify this questionnaire when it is represented in other formats, or referenced in a specification, model, design or an instance.
comment:
  v: Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this questionnaire outside of FHIR, where it is not possible to use the logical URI.
requirements:
  v: Allows externally provided and/or usable business identifiers to be easily associated with the module.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.identifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier
mapping:
  identity:
    v: objimpl
  map:
    v: no-gen-base
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: Questionnaire.identifier.id
path:
  v: Questionnaire.identifier.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: Questionnaire.identifier.extension
path:
  v: Questionnaire.identifier.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: Questionnaire.identifier.extension:identifier
path:
  v: Questionnaire.identifier.extension
slice name:
  v: identifier
short:
  v: R4B: identifier additional types
definition:
  v: R4B: `Questionnaire.identifier` additional types (Identifier) additional types from child elements (assigner, period, system, type, use, value)
comment:
  v: Element `Questionnaire.identifier` is mapped to FHIR STU3 element `Questionnaire.identifier` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.identifier` do not cover the following types: Identifier. The mappings for `Questionnaire.identifier` do not cover the following types based on type expansion: assigner, period, system, type, use, value. Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this questionnaire outside of FHIR, where it is not possible to use the logical URI.
min:
  v: 0
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.3/StructureDefinition/extension-Questionnaire.identifier|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.identifier

id:
  v: Questionnaire.identifier.use
path:
  v: Questionnaire.identifier.use
short:
  v: usual | official | temp | secondary (If known)
definition:
  v: The purpose of this identifier.
comment:
  v: This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.
requirements:
  v: Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Identifier.use
  min:
    v: 0
  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: IdentifierUse
  strength:
    v: required
  description:
    v: Identifies the purpose for this identifier, if known .
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/identifier-use|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: N/A
mapping:
  identity:
    v: rim
  map:
    v: Role.code or implied by context

id:
  v: Questionnaire.identifier.type
path:
  v: Questionnaire.identifier.type
short:
  v: Description of identifier
definition:
  v: A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
comment:
  v: This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
requirements:
  v: Allows users to make use of identifiers when the identifier system is not known.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Identifier.type
  min:
    v: 0
  max:
    v: 1
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: IdentifierType
  strength:
    v: extensible
  description:
    v: A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/identifier-type|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: CX.5
mapping:
  identity:
    v: rim
  map:
    v: Role.code or implied by context

id:
  v: Questionnaire.identifier.system
path:
  v: Questionnaire.identifier.system
short:
  v: The namespace for the identifier value
definition:
  v: Establishes the namespace for the value - that is, a URL that describes a set values that are unique.
requirements:
  v: There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Identifier.system
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
example:
  label:
    v: General
  value: Uri
    v: http://www.acme.com/identifiers/patient
    l: patient
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: CX.4 / EI-2-4
mapping:
  identity:
    v: rim
  map:
    v: II.root or Role.id.root
mapping:
  identity:
    v: servd
  map:
    v: ./IdentifierType

id:
  v: Questionnaire.identifier.value
path:
  v: Questionnaire.identifier.value
short:
  v: The value that is unique
definition:
  v: The portion of the identifier typically relevant to the user and which is unique within the context of the system.
comment:
  v: If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](http://hl7.org/fhir/STU3/extension-rendered-value.html).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Identifier.value
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
example:
  label:
    v: General
  value: String
    v: 123456
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: CX.1 / EI.1
mapping:
  identity:
    v: rim
  map:
    v: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
mapping:
  identity:
    v: servd
  map:
    v: ./Value

id:
  v: Questionnaire.identifier.period
path:
  v: Questionnaire.identifier.period
short:
  v: Time period when id is/was valid for use
definition:
  v: Time period during which identifier is/was valid for use.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Identifier.period
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period
    l: Period
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: CX.7 + CX.8
mapping:
  identity:
    v: rim
  map:
    v: Role.effectiveTime or implied by context
mapping:
  identity:
    v: servd
  map:
    v: ./StartDate and ./EndDate

id:
  v: Questionnaire.identifier.assigner
path:
  v: Questionnaire.identifier.assigner
short:
  v: Organization that issued id (may be just text)
definition:
  v: Organization that issued/manages the identifier.
comment:
  v: The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Identifier.assigner
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Organization
    l: Organization
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: CX.4 / (CX.4,CX.9,CX.10)
mapping:
  identity:
    v: rim
  map:
    v: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
mapping:
  identity:
    v: servd
  map:
    v: ./IdentifierIssuingAuthority

id:
  v: Questionnaire.version
path:
  v: Questionnaire.version
short:
  v: Business version of the questionnaire
definition:
  v: The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire 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 questionnaire 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 questionnaire with the format [url]|[version].
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.version
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A (to add?)
mapping:
  identity:
    v: w5
  map:
    v: id.version

id:
  v: Questionnaire.name
path:
  v: Questionnaire.name
short:
  v: Name for this questionnaire (computer friendly)
definition:
  v: A natural language name identifying the questionnaire. 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: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.name
  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: Questionnaire.title
path:
  v: Questionnaire.title
short:
  v: Name for this questionnaire (human friendly)
definition:
  v: A short, descriptive, user-friendly title for the questionnaire.
comment:
  v: 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: Questionnaire.title
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .title

id:
  v: Questionnaire.status
path:
  v: Questionnaire.status
short:
  v: draft | active | retired | unknown
definition:
  v: The status of this questionnaire. Enables tracking the life-cycle of the content.
comment:
  v: Allows filtering of questionnaires that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use a retired questionnaire without due consideration.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Questionnaire.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: rim
  map:
    v: .status
mapping:
  identity:
    v: w5
  map:
    v: status

id:
  v: Questionnaire.experimental
path:
  v: Questionnaire.experimental
short:
  v: For testing purposes, not real usage
definition:
  v: A boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.
comment:
  v: Allows filtering of questionnaire that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental questionnaire in production.
requirements:
  v: Enables experimental content to be developed following the same lifecycle that would be used for a production-level questionnaire.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.experimental
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: Questionnaire.date
path:
  v: Questionnaire.date
short:
  v: Date this was last changed
definition:
  v: The date (and optionally time) when the questionnaire 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 questionnaire 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 questionnaire. 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: Questionnaire.date
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=AUT].time
mapping:
  identity:
    v: w5
  map:
    v: when.recorded

id:
  v: Questionnaire.publisher
path:
  v: Questionnaire.publisher
short:
  v: Name of the publisher (organization or individual)
definition:
  v: The name of the individual or organization that published the questionnaire.
comment:
  v: Usually an organization, but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. 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 questionnaire. This item SHOULD be populated unless the information is available from context.
requirements:
  v: Helps establish the "authority/credibility" of the questionnaire. May also allow for contact.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.publisher
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=AUT].role
mapping:
  identity:
    v: w5
  map:
    v: who.witness

id:
  v: Questionnaire.description
path:
  v: Questionnaire.description
short:
  v: Natural language description of the questionnaire
definition:
  v: A free text natural language description of the questionnaire from a consumer's perspective.
comment:
  v: This description can be used to capture details such as why the questionnaire 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 questionnaire 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: Questionnaire.description
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: markdown
    l: markdown
mapping:
  identity:
    v: rim
  map:
    v: .text

id:
  v: Questionnaire.purpose
path:
  v: Questionnaire.purpose
short:
  v: Why this questionnaire is defined
definition:
  v: Explaination of why this questionnaire is needed and why it has been designed as it has.
comment:
  v: This element does not describe the usage of the questionnaire Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this questionnaire.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.purpose
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: markdown
    l: markdown
mapping:
  identity:
    v: rim
  map:
    v: .reasonCode.text
mapping:
  identity:
    v: objimpl
  map:
    v: no-gen-base
mapping:
  identity:
    v: w5
  map:
    v: why

id:
  v: Questionnaire.approvalDate
path:
  v: Questionnaire.approvalDate
short:
  v: When the questionnaire was approved by publisher
definition:
  v: The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
comment:
  v: The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.approvalDate
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date
    l: date
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode="SUBJ"].act[classCode=CACT;moodCode=EVN;code="approval"].effectiveTime
mapping:
  identity:
    v: objimpl
  map:
    v: no-gen-base

id:
  v: Questionnaire.lastReviewDate
path:
  v: Questionnaire.lastReviewDate
short:
  v: When the questionnaire was last reviewed
definition:
  v: The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date.
comment:
  v: If specified, this is usually after the approval date.
requirements:
  v: Gives a sense of how "current" the content is. Resources that have not been reviewed in a long time may have a risk of being less appropriate/relevant.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.lastReviewDate
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date
    l: date
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode="SUBJ"; subsetCode="RECENT"].act[classCode=CACT;moodCode=EVN;code="review"].effectiveTime
mapping:
  identity:
    v: objimpl
  map:
    v: no-gen-base

id:
  v: Questionnaire.effectivePeriod
path:
  v: Questionnaire.effectivePeriod
short:
  v: When the questionnaire is expected to be used
definition:
  v: The period during which the questionnaire content was or is planned to be in active use.
comment:
  v: The effective period for a questionnaire determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.
requirements:
  v: Allows establishing a transition before a resource comes into effect and also allows for a sunsetting process when new versions of a the questionnaire are or are expected to be used instead.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.effectivePeriod
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period
    l: Period
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A (to add?)
mapping:
  identity:
    v: objimpl
  map:
    v: no-gen-base

id:
  v: Questionnaire.effectivePeriod.id
path:
  v: Questionnaire.effectivePeriod.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: Questionnaire.effectivePeriod.extension
path:
  v: Questionnaire.effectivePeriod.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: Questionnaire.effectivePeriod.extension:effectivePeriod
path:
  v: Questionnaire.effectivePeriod.extension
slice name:
  v: effectivePeriod
short:
  v: R4B: effectivePeriod additional types
definition:
  v: R4B: `Questionnaire.effectivePeriod` additional types (Period) additional types from child elements (end, start)
comment:
  v: Element `Questionnaire.effectivePeriod` is mapped to FHIR STU3 element `Questionnaire.effectivePeriod` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.effectivePeriod` do not cover the following types: Period. The mappings for `Questionnaire.effectivePeriod` do not cover the following types based on type expansion: end, start. The effective period for a questionnaire determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.
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.3/StructureDefinition/extension-Questionnaire.effectivePeriod|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.effectivePeriod

id:
  v: Questionnaire.effectivePeriod.start
path:
  v: Questionnaire.effectivePeriod.start
short:
  v: Starting time with inclusive boundary
definition:
  v: The start of the period. The boundary is inclusive.
comment:
  v: If the low element is missing, the meaning is that the low boundary is not known.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Period.start
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
condition:
  v: per-1
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: DR.1
mapping:
  identity:
    v: rim
  map:
    v: ./low

id:
  v: Questionnaire.effectivePeriod.end
path:
  v: Questionnaire.effectivePeriod.end
short:
  v: End time with inclusive boundary, if not ongoing
definition:
  v: The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.
comment:
  v: The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Period.end
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
meaning when missing:
  v: If the end of the period is missing, it means that the period is ongoing
condition:
  v: per-1
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: DR.2
mapping:
  identity:
    v: rim
  map:
    v: ./high

id:
  v: Questionnaire.useContext
path:
  v: Questionnaire.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 questionnaire 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: Questionnaire.useContext
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: UsageContext
    l: UsageContext
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A (to add?)

id:
  v: Questionnaire.useContext.id
path:
  v: Questionnaire.useContext.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: Questionnaire.useContext.extension
path:
  v: Questionnaire.useContext.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: Questionnaire.useContext.extension:useContext
path:
  v: Questionnaire.useContext.extension
slice name:
  v: useContext
short:
  v: R4B: The context that the content is intended to support additional types
definition:
  v: R4B: `Questionnaire.useContext` additional types (UsageContext) additional types from child elements (code, value[x])
comment:
  v: Element `Questionnaire.useContext` is mapped to FHIR STU3 element `Questionnaire.useContext` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.useContext` do not cover the following types: UsageContext. The mappings for `Questionnaire.useContext` do not cover the following types based on type expansion: code, value[x]. When multiple useContexts are specified, there is no expectation that all or any of the contexts apply.
min:
  v: 0
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.3/StructureDefinition/extension-Questionnaire.useContext|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.useContext

id:
  v: Questionnaire.useContext.code
path:
  v: Questionnaire.useContext.code
short:
  v: Type of context being specified
definition:
  v: A code that identifies the type of context being specified by this usage context.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: UsageContext.code
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: Coding
    l: Coding
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: UsageContextType
  strength:
    v: extensible
  description:
    v: A code that specifies a type of context being specified by a usage context
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/usage-context-type|3.0.2

id:
  v: Questionnaire.useContext.value[x]
path:
  v: Questionnaire.useContext.value[x]
short:
  v: Value that defines the context
definition:
  v: A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: UsageContext.value[x]
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
type:
  code:
    v: Quantity
    l: Quantity
type:
  code:
    v: Range
    l: Range
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: UsageContextValue
  strength:
    v: example
  description:
    v: A code that defines the specific value for the context being specified
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/use-context|3.0.2

id:
  v: Questionnaire.jurisdiction
path:
  v: Questionnaire.jurisdiction
short:
  v: Intended jurisdiction for questionnaire (if applicable)
definition:
  v: A legal or geographic region in which the questionnaire is intended to be used.
comment:
  v: It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.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
mapping:
  identity:
    v: rim
  map:
    v: N/A (to add?)

id:
  v: Questionnaire.contact
path:
  v: Questionnaire.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: Questionnaire.contact
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactDetail
    l: ContactDetail
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=CALLBCK].role

id:
  v: Questionnaire.contact.id
path:
  v: Questionnaire.contact.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: Questionnaire.contact.extension
path:
  v: Questionnaire.contact.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: Questionnaire.contact.extension:contact
path:
  v: Questionnaire.contact.extension
slice name:
  v: contact
short:
  v: R4B: contact additional types
definition:
  v: R4B: `Questionnaire.contact` additional types (ContactDetail) additional types from child elements (name, telecom)
comment:
  v: Element `Questionnaire.contact` is mapped to FHIR STU3 element `Questionnaire.contact` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.contact` do not cover the following types: ContactDetail. The mappings for `Questionnaire.contact` do not cover the following types based on type expansion: name, telecom. May be a web site, an email address, a telephone number, etc.
min:
  v: 0
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.3/StructureDefinition/extension-Questionnaire.contact|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.contact

id:
  v: Questionnaire.contact.name
path:
  v: Questionnaire.contact.name
short:
  v: Name of an individual to contact
definition:
  v: The name of an individual to contact.
comment:
  v: If there is no named individual, the telecom information is for the organization as a whole.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ContactDetail.name
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: Questionnaire.contact.telecom
path:
  v: Questionnaire.contact.telecom
short:
  v: Contact details for individual or organization
definition:
  v: The contact details for the individual (if a name was provided) or the organization.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ContactDetail.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactPoint
    l: ContactPoint
is summary:
  v: true

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

id:
  v: Questionnaire.code
path:
  v: Questionnaire.code
short:
  v: Concept that represents the overall questionnaire
definition:
  v: An identifier for this question or group of questions in a particular terminology such as LOINC.
requirements:
  v: Allows linking of the complete Questionnaire resources to formal terminologies. It's common for "panels" of questions to be identified by a code.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.code
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
    l: Coding
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: QuestionnaireConcept
  strength:
    v: example
  description:
    v: Codes for questionnaires, groups and individual questions
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/questionnaire-questions|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: .code

id:
  v: Questionnaire.subjectType
path:
  v: Questionnaire.subjectType
short:
  v: Resource that can be subject of QuestionnaireResponse
definition:
  v: The types of subjects that can be the subject of responses created for the questionnaire.
comment:
  v: If none are specified, then the subject is unlimited.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.subjectType
  min:
    v: 0
  max:
    v: *
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
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=META].target[classCode=OBS, moodCode=DEFN, isCriterion=true].participation.role.classCode

id:
  v: Questionnaire.subjectType.id
path:
  v: Questionnaire.subjectType.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: Questionnaire.subjectType.extension
path:
  v: Questionnaire.subjectType.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: Questionnaire.subjectType.extension:subjectType
path:
  v: Questionnaire.subjectType.extension
slice name:
  v: subjectType
short:
  v: R4B: subjectType additional codes
definition:
  v: R4B: `Questionnaire.subjectType` additional codes
comment:
  v: Element `Questionnaire.subjectType` is mapped to FHIR STU3 element `Questionnaire.subjectType` as `RelatedTo`. The mappings for `Questionnaire.subjectType` do not allow expression of the necessary codes, per the bindings on the source and target. If none are specified, then the subject is unlimited.
min:
  v: 0
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.3/StructureDefinition/extension-Questionnaire.subjectType|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.subjectType
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: Questionnaire.subjectType.value
path:
  v: Questionnaire.subjectType.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: Questionnaire.item
path:
  v: Questionnaire.item
short:
  v: Questions and sections within the Questionnaire
definition:
  v: A particular question, question grouping or display text that is part of the questionnaire.
comment:
  v: The content of the questionnaire is constructed from an ordered, hierarchical collection of items.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.item
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
condition:
  v: que-3
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: que-9
  severity:
    v: error
  human:
    v: Read-only can't be specified for "display" items
  expression:
    v: type!='display' or readOnly.empty()
  xpath:
    v: not(f:type/@value='display' and f:readOnly)
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
constraint:
  key:
    v: que-8
  severity:
    v: error
  human:
    v: Default values can't be specified for groups or display items
  expression:
    v: (type!='group' and type!='display') or initial.empty()
  xpath:
    v: not(f:type/@value=('group', 'display') and f:*[starts-with(local-name(.), 'initial')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
constraint:
  key:
    v: que-6
  severity:
    v: error
  human:
    v: Required and repeat aren't permitted for display items
  expression:
    v: type!='display' or (required.empty() and repeats.empty())
  xpath:
    v: not(f:type/@value='display' and (f:required or f:repeats))
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
constraint:
  key:
    v: que-5
  severity:
    v: error
  human:
    v: Only 'choice' items can have options
  expression:
    v: (type ='choice' or type = 'open-choice') or (options.empty() and option.empty())
  xpath:
    v: f:type/@value=('choice','open-choice') or not(f:option or f:options)
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
constraint:
  key:
    v: que-4
  severity:
    v: error
  human:
    v: A question cannot have both option and options
  expression:
    v: option.empty() or options.empty()
  xpath:
    v: not(f:options and f:option)
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
constraint:
  key:
    v: que-3
  severity:
    v: error
  human:
    v: Display items cannot have a "code" asserted
  expression:
    v: type!='display' or code.empty()
  xpath:
    v: not(f:type/@value='display' and f:code)
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
constraint:
  key:
    v: que-10
  severity:
    v: error
  human:
    v: Maximum length can only be declared for simple question types
  expression:
    v: (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or maxLength.empty()
  xpath:
    v: f:type/@value=('boolean', 'decimal', 'integer', 'open-choice', 'string', 'text', 'url') or not(f:maxLength)
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
constraint:
  key:
    v: que-1
  severity:
    v: error
  human:
    v: Group items must have nested items, display items cannot have nested items
  expression:
    v: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
  xpath:
    v: not((f:type/@value='group' and not(f:item)) or (f:type/@value='display' and f:item))
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=COMP].target[classCode=OBS, moodCode=DEF]

id:
  v: Questionnaire.item.id
path:
  v: Questionnaire.item.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: Questionnaire.item.extension
path:
  v: Questionnaire.item.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: Questionnaire.item.extension:enableBehavior
path:
  v: Questionnaire.item.extension
slice name:
  v: enableBehavior
short:
  v: R4B: all | any (new)
definition:
  v: R4B: `Questionnaire.item.enableBehavior` (new:code)
comment:
  v: Element `Questionnaire.item.enableBehavior` has a context of Questionnaire.item based on following the parent source element upwards and mapping to `Questionnaire`. Element `Questionnaire.item.enableBehavior` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). This element must be specified if more than one enableWhen value is provided.
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.3/StructureDefinition/extension-Questionnaire.item.enableBehavior|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.enableBehavior
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: Questionnaire.item.extension:value
path:
  v: Questionnaire.item.extension
slice name:
  v: value
short:
  v: R4B: Actual value for initializing the question additional types
definition:
  v: R4B: `Questionnaire.item.initial.value[x]` additional types (Attachment)
comment:
  v: Element `Questionnaire.item.initial.value[x]` is mapped to FHIR STU3 element `Questionnaire.item.initial[x]` as `RelatedTo`. The mappings for `Questionnaire.item.initial.value[x]` do not cover the following types: Attachment. The target context `Questionnaire.item.initial[x]` is a choice-type element and cannot directly hold extensions. The context is moved up to parent element `Questionnaire.item`. The standard extension `alternate-reference` has been mapped as PART of the representation of FHIR R4B element `Questionnaire.item.initial.value[x]` with unmapped reference targets: Resource. Source element `Questionnaire.item.initial.value[x]` has unmapped reference types. While the target element `Questionnaire.item.initial[x]` is a choice type and does not allow extensions, the `alternate-reference` extension can be applied to Reference values within it. The type of the initial value must be consistent with the type of the item.
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.3/StructureDefinition/extension-Questionnaire.item.initial.value|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.initial.value
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: Questionnaire.item.modifierExtension
path:
  v: Questionnaire.item.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: Questionnaire.item.linkId
path:
  v: Questionnaire.item.linkId
short:
  v: Unique id for item in questionnaire
definition:
  v: An identifier that is unique within the Questionnaire allowing linkage to the equivalent item in a QuestionnaireResponse resource.
comment:
  v: This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning. GUIDs or sequential numbers are appropriate here.
requirements:
  v: [QuestionnaireResponse](http://hl7.org/fhir/STU3/questionnaireresponse.html#) does not require omitted items to be included and may have some items that repeat, so linkage based on position alone is not sufficient.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Questionnaire.item.linkId
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: .id

id:
  v: Questionnaire.item.definition
path:
  v: Questionnaire.item.definition
short:
  v: ElementDefinition - details for the item
definition:
  v: A reference to an [ElementDefinition](http://hl7.org/fhir/STU3/elementdefinition.html) that provides the details for the item. If a definition is provided, then the following element values can be inferred from the definition: * code (ElementDefinition.code) * type (ElementDefinition.type) * required (ElementDefinition.min) * repeats (ElementDefinition.max) * maxLength (ElementDefinition.maxLength) * options (ElementDefinition.binding) Any information provided in these elements on a Questionnaire Item overrides the information from the definition.
comment:
  v: the URI refers to an ElementDefinition in either a [StructureDefinition](http://hl7.org/fhir/STU3/structuredefinition.html#) or a [DataElement](http://hl7.org/fhir/STU3/dataelement.html#), and always starts with the canonical URL for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id [Element.id](http://hl7.org/fhir/STU3/element-definitions.html#Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. Note that [LOINC codes](http://hl7.org/fhir/STU3/loinc.html#dataelements) implicitly define DataElement resources.
requirements:
  v: A common pattern is to define a set of data elements and then build multiple questionnaires for different circumstances to gather the data. This element provides traceability to the common definition and allows the content for the question to come from the underlying definition.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.definition
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=INST].target[classCode=OBS, moodCode=DEF]

id:
  v: Questionnaire.item.code
path:
  v: Questionnaire.item.code
short:
  v: Corresponding concept for this item in a terminology
definition:
  v: A terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers).
comment:
  v: The value may come from the ElementDefinition referred to by .definition.
requirements:
  v: Allows linking of groups of questions to formal terminologies.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.item.code
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
    l: Coding
condition:
  v: que-3
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: QuestionnaireConcept
  strength:
    v: example
  description:
    v: Codes for questionnaires, groups and individual questions
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/questionnaire-questions|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: .code

id:
  v: Questionnaire.item.prefix
path:
  v: Questionnaire.item.prefix
short:
  v: E.g. "1(a)", "2.5.3"
definition:
  v: A short label for a particular group, question or set of display text within the questionnaire used for reference by the individual completing the questionnaire.
comment:
  v: These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed. Typically these won't be used for "display" items, though such use is not prohibited. Systems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire.
requirements:
  v: Separating the label from the question text allows improved rendering. Also, instructions will often refer to specific prefixes, so there's a need for the questionnaire design to have control over what labels are used.
alias:
  v: label
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.prefix
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: Not supported

id:
  v: Questionnaire.item.text
path:
  v: Questionnaire.item.text
short:
  v: Primary text for the item
definition:
  v: The name of a section, the text of a question or text content for a display item.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .text

id:
  v: Questionnaire.item.type
path:
  v: Questionnaire.item.type
short:
  v: group | display | boolean | decimal | integer | date | dateTime +
definition:
  v: The type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, coded choice, etc.).
comment:
  v: Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition.
requirements:
  v: Defines the format in which the user is to be prompted for the answer.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Questionnaire.item.type
  min:
    v: 1
  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: QuestionnaireItemType
  strength:
    v: required
  description:
    v: Distinguishes groups from questions and display text and indicates data type for questions
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/item-type|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.enableWhen
path:
  v: Questionnaire.item.enableWhen
short:
  v: Only allow data when
definition:
  v: A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.
comment:
  v: If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true. I.e. treat "enableWhen"s as being joined by an "or" clause. This element is a modifier because if enableWhen is present for an item, "required" is ignored unless one of the enableWhen conditions is met.
requirements:
  v: Allows questionnaires to adapt based on answers to other questions. E.g. If physical gender is specified as a male, no need to capture pregnancy history. Also allows conditional display of instructions or groups of questions.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.item.enableWhen
  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
constraint:
  key:
    v: que-7
  severity:
    v: error
  human:
    v: enableWhen must contain either a 'answer' or a 'hasAnswer' element
  expression:
    v: hasAnswer.exists() xor answer.exists()
  xpath:
    v: count(f:*[starts-with(local-name(.), 'answer')]|self::f:hasAnswer) = 1
  source:
    v: http://hl7.org/fhir/StructureDefinition/Questionnaire
    l: Questionnaire
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.enableWhen.id
path:
  v: Questionnaire.item.enableWhen.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: Questionnaire.item.enableWhen.extension
path:
  v: Questionnaire.item.enableWhen.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: Questionnaire.item.enableWhen.extension:answer
path:
  v: Questionnaire.item.enableWhen.extension
slice name:
  v: answer
short:
  v: R4B: Value for question comparison based on operator additional types
definition:
  v: R4B: `Questionnaire.item.enableWhen.answer[x]` additional types (decimal, integer, date, dateTime, time, string, Coding, Quantity, Reference(http://hl7.org/fhir/StructureDefinition/Resource))
comment:
  v: Element `Questionnaire.item.enableWhen.answer[x]` is mapped to FHIR STU3 element `Questionnaire.item.enableWhen.hasAnswer` as `RelatedTo`. The mappings for `Questionnaire.item.enableWhen.answer[x]` do not cover the following types: Coding, date, dateTime, decimal, integer, Quantity, Reference, string, time.
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.3/StructureDefinition/extension-Questionnaire.item.enableWhen.answer|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.enableWhen.answer
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: Questionnaire.item.enableWhen.modifierExtension
path:
  v: Questionnaire.item.enableWhen.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: Questionnaire.item.enableWhen.question
path:
  v: Questionnaire.item.enableWhen.question
short:
  v: Question that determines whether item is enabled
definition:
  v: The linkId for the question whose answer (or lack of answer) governs whether this item is enabled.
comment:
  v: If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the "ancestor" axis and then the "preceding" axis and then the "following" axis.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Questionnaire.item.enableWhen.question
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.enableWhen.hasAnswer
path:
  v: Questionnaire.item.enableWhen.hasAnswer
short:
  v: Enable when answered or not
definition:
  v: An indication that this item should be enabled only if the specified question is answered (hasAnswer=true) or not answered (hasAnswer=false).
comment:
  v: If answered=false and answer values are also provided, then they are treated as "or". I.e. "Enable if the question is unanswered or the answer is one of the specified values". If answered=true and answers are present, one of the specified answers must be met. (So there's little reason to specify answered=true if answers are present.).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.enableWhen.hasAnswer
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
condition:
  v: que-7
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.enableWhen.hasAnswer.id
path:
  v: Questionnaire.item.enableWhen.hasAnswer.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: Questionnaire.item.enableWhen.hasAnswer.extension
path:
  v: Questionnaire.item.enableWhen.hasAnswer.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: Questionnaire.item.enableWhen.hasAnswer.extension:operator
path:
  v: Questionnaire.item.enableWhen.hasAnswer.extension
slice name:
  v: operator
short:
  v: R4B: exists | = | != | > | < | >= | <= additional types
definition:
  v: R4B: `Questionnaire.item.enableWhen.operator` additional types (code) additional types from child elements (value)
comment:
  v: Element `Questionnaire.item.enableWhen.operator` is mapped to FHIR STU3 element `Questionnaire.item.enableWhen.hasAnswer` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.item.enableWhen.operator` do not cover the following types: code. The mappings for `Questionnaire.item.enableWhen.operator` 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.3/StructureDefinition/extension-Questionnaire.item.enableWhen.operator|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.enableWhen.operator
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: Questionnaire.item.enableWhen.hasAnswer.value
path:
  v: Questionnaire.item.enableWhen.hasAnswer.value
representation:
  v: xmlAttr
short:
  v: Primitive value for boolean
definition:
  v: The actual value
min:
  v: 0
max:
  v: 1
base:
  path:
    v: boolean.value
  min:
    v: 0
  max:
    v: 1
type:
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: boolean
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:boolean
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:boolean

id:
  v: Questionnaire.item.enableWhen.answer[x]
path:
  v: Questionnaire.item.enableWhen.answer[x]
short:
  v: Value question must have
definition:
  v: An answer that the referenced question must match in order for the item to be enabled.
comment:
  v: Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. The dataType of this element must be the same as the data type of the question being referenced.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.enableWhen.answer[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
type:
  code:
    v: decimal
    l: decimal
type:
  code:
    v: integer
    l: integer
type:
  code:
    v: date
    l: date
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: time
    l: time
type:
  code:
    v: string
    l: string
type:
  code:
    v: uri
    l: uri
type:
  code:
    v: Attachment
    l: Attachment
type:
  code:
    v: Coding
    l: Coding
type:
  code:
    v: Quantity
    l: Quantity
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Resource
    l: Resource
condition:
  v: que-7
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: QuestionnaireQuestionOption2
  strength:
    v: example
  description:
    v: Allowed values to answer questions.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/questionnaire-answers|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.required
path:
  v: Questionnaire.item.required
short:
  v: Whether the item must be included in data results
definition:
  v: An indication, if true, that the item must be present in a "completed" QuestionnaireResponse. If false, the item may be skipped when answering the questionnaire.
comment:
  v: Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true. If an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one child element). The value may come from the ElementDefinition referred to by .definition.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.required
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
default value: Boolean
  v: false
condition:
  v: que-6
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.repeats
path:
  v: Questionnaire.item.repeats
short:
  v: Whether the item may repeat
definition:
  v: An indication, if true, that the item may occur multiple times in the response, collecting multiple answers answers for questions or multiple sets of answers for groups.
comment:
  v: If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse. When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition or to simply list each of the answers beneath the question. (Which is most appropriate visually may depend on the type of answer as well as whether there are nested items.). The value may come from the ElementDefinition referred to by .definition.
requirements:
  v: Items may be used to create set of (related) questions that can be repeated to give multiple answers to such a set.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.repeats
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
default value: Boolean
  v: false
condition:
  v: que-6
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.readOnly
path:
  v: Questionnaire.item.readOnly
short:
  v: Don't allow human editing
definition:
  v: An indication, when true, that the value cannot be changed by a human respondent to the Questionnaire.
comment:
  v: The value of readOnly elements can be established by asserting extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers.
requirements:
  v: Allows certain information to be phrased (and rendered) as a question and an answer, while keeping users from changing it. May also be useful for preventing changes to pre-populated portions of a questionnaire, for calculated values, etc.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.readOnly
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
condition:
  v: que-9
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.maxLength
path:
  v: Questionnaire.item.maxLength
short:
  v: No more than this many characters
definition:
  v: The maximum number of characters that are permitted in the answer to be considered a "valid" QuestionnaireResponse.
comment:
  v: For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.maxLength
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer
    l: integer
condition:
  v: que-10
mapping:
  identity:
    v: v2
  map:
    v: N/A
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.options
path:
  v: Questionnaire.item.options
short:
  v: Valueset containing permitted answers
definition:
  v: A reference to a value set containing a list of codes representing permitted answers for a "choice" or "open-choice" question.
comment:
  v: LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](http://hl7.org/fhir/STU3/loinc.html#alist). The value may come from the ElementDefinition referred to by .definition.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.options
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/ValueSet
    l: ValueSet
condition:
  v: que-4
condition:
  v: que-5
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.options.id
path:
  v: Questionnaire.item.options.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: Questionnaire.item.options.extension
path:
  v: Questionnaire.item.options.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: Questionnaire.item.options.extension:answerValueSet
path:
  v: Questionnaire.item.options.extension
slice name:
  v: answerValueSet
short:
  v: R4B: answerValueSet additional types
definition:
  v: R4B: `Questionnaire.item.answerValueSet` additional types (canonical(http://hl7.org/fhir/StructureDefinition/ValueSet)) additional types from child elements (value)
comment:
  v: Element `Questionnaire.item.answerValueSet` is mapped to FHIR STU3 element `Questionnaire.item.options` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.item.answerValueSet` do not cover the following types: canonical. The mappings for `Questionnaire.item.answerValueSet` do not cover the following types based on type expansion: value. LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](https://hl7.org/fhir/loinc..html#alist). The value may come from the ElementDefinition referred to by .definition.
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.3/StructureDefinition/extension-Questionnaire.item.answerValueSet|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.answerValueSet

id:
  v: Questionnaire.item.options.reference
path:
  v: Questionnaire.item.options.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: Questionnaire.item.options.identifier
path:
  v: Questionnaire.item.options.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: Questionnaire.item.options.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Questionnaire.item.options.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: Questionnaire.item.option
path:
  v: Questionnaire.item.option
short:
  v: Permitted answer
definition:
  v: One of the permitted answers for a "choice" or "open-choice" question.
comment:
  v: This element can be used when the value set machinery of options is deemed too cumbersome or when there's a need to capture options that are not codes.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.item.option
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
condition:
  v: que-4
condition:
  v: que-5
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
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.option.id
path:
  v: Questionnaire.item.option.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: Questionnaire.item.option.extension
path:
  v: Questionnaire.item.option.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: Questionnaire.item.option.extension:value
path:
  v: Questionnaire.item.option.extension
slice name:
  v: value
short:
  v: R4B: value additional types
definition:
  v: R4B: `Questionnaire.item.answerOption.value[x]` additional types (Reference(http://hl7.org/fhir/StructureDefinition/Resource))
comment:
  v: Element `Questionnaire.item.answerOption.value[x]` is mapped to FHIR STU3 element `Questionnaire.item.option.value[x]` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.item.answerOption.value[x]` do not cover the following types: Reference. The target context `Questionnaire.item.option.value[x]` is a choice-type element and cannot directly hold extensions. The context is moved up to parent element `Questionnaire.item.option`. The data type of the value must agree with the item.type.
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.3/StructureDefinition/extension-Questionnaire.item.answerOption.value|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.answerOption.value
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: Questionnaire.item.option.extension:initialSelected
path:
  v: Questionnaire.item.option.extension
slice name:
  v: initialSelected
short:
  v: R4B: Whether option is selected by default (new)
definition:
  v: R4B: `Questionnaire.item.answerOption.initialSelected` (new:boolean)
comment:
  v: Element `Questionnaire.item.answerOption.initialSelected` has a context of Questionnaire.item.option based on following the parent source element upwards and mapping to `Questionnaire`. Element `Questionnaire.item.answerOption.initialSelected` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Use this instead of initial[v] if answerValueSet is present.
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.3/StructureDefinition/extension-Questionnaire.item.answerOption.initialSelected|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.answerOption.initialSelected
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: Questionnaire.item.option.modifierExtension
path:
  v: Questionnaire.item.option.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: Questionnaire.item.option.value[x]
path:
  v: Questionnaire.item.option.value[x]
short:
  v: Answer value
definition:
  v: A potential answer that's allowed as the answer to this question.
comment:
  v: The data type of the value must agree with the item.type.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Questionnaire.item.option.value[x]
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: integer
    l: integer
type:
  code:
    v: date
    l: date
type:
  code:
    v: time
    l: time
type:
  code:
    v: string
    l: string
type:
  code:
    v: Coding
    l: Coding
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: QuestionnaireQuestionOption
  strength:
    v: example
  description:
    v: Allowed values to answer questions.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/questionnaire-answers|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.initial[x]
path:
  v: Questionnaire.item.initial[x]
short:
  v: Default value when item is first rendered
definition:
  v: The value that should be defaulted when initially rendering the questionnaire for user input.
comment:
  v: The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. The data type of initial[x] must agree with the item.type.
requirements:
  v: In some workflows, having defaults saves time.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Questionnaire.item.initial[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
type:
  code:
    v: decimal
    l: decimal
type:
  code:
    v: integer
    l: integer
type:
  code:
    v: date
    l: date
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: time
    l: time
type:
  code:
    v: string
    l: string
type:
  code:
    v: uri
    l: uri
type:
  code:
    v: Attachment
    l: Attachment
type:
  code:
    v: Coding
    l: Coding
type:
  code:
    v: Quantity
    l: Quantity
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Resource
    l: Resource
condition:
  v: que-8
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: QuestionnaireQuestionOption2
  strength:
    v: example
  description:
    v: Allowed values to answer questions.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/questionnaire-answers|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: N/A - MIF rather than RIM level

id:
  v: Questionnaire.item.initial[x].id
path:
  v: Questionnaire.item.initial[x].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: Questionnaire.item.initial[x].extension
path:
  v: Questionnaire.item.initial[x].extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
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: Questionnaire.item.initial[x].extension:alternateReference
path:
  v: Questionnaire.item.initial[x].extension
slice name:
  v: alternateReference
short:
  v: R4B: Actual value for initializing the question additional types
definition:
  v: R4B: `Questionnaire.item.initial.value[x]` additional types (Attachment)
comment:
  v: Element `Questionnaire.item.initial.value[x]` is mapped to FHIR STU3 element `Questionnaire.item.initial[x]` as `RelatedTo`. The mappings for `Questionnaire.item.initial.value[x]` do not cover the following types: Attachment. The target context `Questionnaire.item.initial[x]` is a choice-type element and cannot directly hold extensions. The context is moved up to parent element `Questionnaire.item`. The standard extension `alternate-reference` has been mapped as PART of the representation of FHIR R4B element `Questionnaire.item.initial.value[x]` with unmapped reference targets: Resource. Source element `Questionnaire.item.initial.value[x]` has unmapped reference types. While the target element `Questionnaire.item.initial[x]` is a choice type and does not allow extensions, the `alternate-reference` extension can be applied to Reference values within it. The type of the initial value must be consistent with the type of the item.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Questionnaire.item.item
path:
  v: Questionnaire.item.item
short:
  v: Nested questionnaire items
definition:
  v: Text, questions and other groups to be nested beneath a question or group.
comment:
  v: There is no specified limit to the depth of nesting. However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting.
requirements:
  v: Reports can consist of complex nested groups.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Questionnaire.item.item
  min:
    v: 0
  max:
    v: *
content reference:
  v: http://hl7.org/fhir/StructureDefinition/Questionnaire#Questionnaire.item
  l: Questionnaire.item
condition:
  v: que-1
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=COMP].target

element:
  id:
    v: Questionnaire
  path:
    v: Questionnaire
element:
  id:
    v: Questionnaire.meta.extension
  path:
    v: Questionnaire.meta.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Questionnaire.meta.extension:meta
  path:
    v: Questionnaire.meta.extension
  slice name:
    v: meta
  short:
    v: R4B: meta additional types
  definition:
    v: R4B: `Questionnaire.meta` additional types (Meta) additional types from child elements (lastUpdated, profile, security, source, tag, versionId)
  comment:
    v: Element `Questionnaire.meta` is mapped to FHIR STU3 element `Questionnaire.meta` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.meta` do not cover the following types: Meta. The mappings for `Questionnaire.meta` do not cover the following types based on type expansion: lastUpdated, profile, security, source, tag, versionId.
  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.3/StructureDefinition/extension-Questionnaire.meta|0.1.0
      l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.meta
element:
  id:
    v: Questionnaire.text.extension
  path:
    v: Questionnaire.text.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Questionnaire.text.extension:text
  path:
    v: Questionnaire.text.extension
  slice name:
    v: text
  short:
    v: R4B: text additional types
  definition:
    v: R4B: `Questionnaire.text` additional types (Narrative) additional types from child elements (div, status)
  comment:
    v: Element `Questionnaire.text` is mapped to FHIR STU3 element `Questionnaire.text` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.text` do not cover the following types: Narrative. The mappings for `Questionnaire.text` do not cover the following types based on type expansion: div, status. 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 information is added later.
  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.3/StructureDefinition/extension-Questionnaire.text|0.1.0
      l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.text
element:
  id:
    v: Questionnaire.extension
  path:
    v: Questionnaire.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Questionnaire.extension:derivedFrom
  path:
    v: Questionnaire.extension
  slice name:
    v: derivedFrom
  short:
    v: R4B: Instantiates protocol or definition (new)
  definition:
    v: R4B: `Questionnaire.derivedFrom` (new:canonical(Questionnaire))
  comment:
    v: Element `Questionnaire.derivedFrom` has a context of Questionnaire based on following the parent source element upwards and mapping to `Questionnaire`. Element `Questionnaire.derivedFrom` 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: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.derivedFrom|0.1.0
      l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.derivedFrom
element:
  id:
    v: Questionnaire.identifier.extension
  path:
    v: Questionnaire.identifier.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Questionnaire.identifier.extension:identifier
  path:
    v: Questionnaire.identifier.extension
  slice name:
    v: identifier
  short:
    v: R4B: identifier additional types
  definition:
    v: R4B: `Questionnaire.identifier` additional types (Identifier) additional types from child elements (assigner, period, system, type, use, value)
  comment:
    v: Element `Questionnaire.identifier` is mapped to FHIR STU3 element `Questionnaire.identifier` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.identifier` do not cover the following types: Identifier. The mappings for `Questionnaire.identifier` do not cover the following types based on type expansion: assigner, period, system, type, use, value. Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this questionnaire outside of FHIR, where it is not possible to use the logical URI.
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension

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

id:
  v: Questionnaire.effectivePeriod.extension:effectivePeriod
path:
  v: Questionnaire.effectivePeriod.extension
slice name:
  v: effectivePeriod
short:
  v: R4B: effectivePeriod additional types
definition:
  v: R4B: `Questionnaire.effectivePeriod` additional types (Period) additional types from child elements (end, start)
comment:
  v: Element `Questionnaire.effectivePeriod` is mapped to FHIR STU3 element `Questionnaire.effectivePeriod` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.effectivePeriod` do not cover the following types: Period. The mappings for `Questionnaire.effectivePeriod` do not cover the following types based on type expansion: end, start. The effective period for a questionnaire determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.
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.3/StructureDefinition/extension-Questionnaire.effectivePeriod|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.effectivePeriod

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

id:
  v: Questionnaire.useContext.extension:useContext
path:
  v: Questionnaire.useContext.extension
slice name:
  v: useContext
short:
  v: R4B: The context that the content is intended to support additional types
definition:
  v: R4B: `Questionnaire.useContext` additional types (UsageContext) additional types from child elements (code, value[x])
comment:
  v: Element `Questionnaire.useContext` is mapped to FHIR STU3 element `Questionnaire.useContext` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.useContext` do not cover the following types: UsageContext. The mappings for `Questionnaire.useContext` do not cover the following types based on type expansion: code, value[x]. When multiple useContexts are specified, there is no expectation that all or any of the contexts apply.
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.3/StructureDefinition/extension-Questionnaire.useContext|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.useContext

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

id:
  v: Questionnaire.contact.extension:contact
path:
  v: Questionnaire.contact.extension
slice name:
  v: contact
short:
  v: R4B: contact additional types
definition:
  v: R4B: `Questionnaire.contact` additional types (ContactDetail) additional types from child elements (name, telecom)
comment:
  v: Element `Questionnaire.contact` is mapped to FHIR STU3 element `Questionnaire.contact` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.contact` do not cover the following types: ContactDetail. The mappings for `Questionnaire.contact` do not cover the following types based on type expansion: name, telecom. May be a web site, an email address, a telephone number, etc.
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.3/StructureDefinition/extension-Questionnaire.contact|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.contact

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

id:
  v: Questionnaire.subjectType.extension:subjectType
path:
  v: Questionnaire.subjectType.extension
slice name:
  v: subjectType
short:
  v: R4B: subjectType additional codes
definition:
  v: R4B: `Questionnaire.subjectType` additional codes
comment:
  v: Element `Questionnaire.subjectType` is mapped to FHIR STU3 element `Questionnaire.subjectType` as `RelatedTo`. The mappings for `Questionnaire.subjectType` do not allow expression of the necessary codes, per the bindings on the source and target. If none are specified, then the subject is unlimited.
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.3/StructureDefinition/extension-Questionnaire.subjectType|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.subjectType

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

id:
  v: Questionnaire.item.extension:enableBehavior
path:
  v: Questionnaire.item.extension
slice name:
  v: enableBehavior
short:
  v: R4B: all | any (new)
definition:
  v: R4B: `Questionnaire.item.enableBehavior` (new:code)
comment:
  v: Element `Questionnaire.item.enableBehavior` has a context of Questionnaire.item based on following the parent source element upwards and mapping to `Questionnaire`. Element `Questionnaire.item.enableBehavior` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). This element must be specified if more than one enableWhen value is provided.
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.3/StructureDefinition/extension-Questionnaire.item.enableBehavior|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.enableBehavior

id:
  v: Questionnaire.item.extension:value
path:
  v: Questionnaire.item.extension
slice name:
  v: value
short:
  v: R4B: Actual value for initializing the question additional types
definition:
  v: R4B: `Questionnaire.item.initial.value[x]` additional types (Attachment)
comment:
  v: Element `Questionnaire.item.initial.value[x]` is mapped to FHIR STU3 element `Questionnaire.item.initial[x]` as `RelatedTo`. The mappings for `Questionnaire.item.initial.value[x]` do not cover the following types: Attachment. The target context `Questionnaire.item.initial[x]` is a choice-type element and cannot directly hold extensions. The context is moved up to parent element `Questionnaire.item`. The standard extension `alternate-reference` has been mapped as PART of the representation of FHIR R4B element `Questionnaire.item.initial.value[x]` with unmapped reference targets: Resource. Source element `Questionnaire.item.initial.value[x]` has unmapped reference types. While the target element `Questionnaire.item.initial[x]` is a choice type and does not allow extensions, the `alternate-reference` extension can be applied to Reference values within it. The type of the initial value must be consistent with the type of the item.
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.3/StructureDefinition/extension-Questionnaire.item.initial.value|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.initial.value

id:
  v: Questionnaire.item.enableWhen.extension
path:
  v: Questionnaire.item.enableWhen.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 1
max:
  v: *

id:
  v: Questionnaire.item.enableWhen.extension:answer
path:
  v: Questionnaire.item.enableWhen.extension
slice name:
  v: answer
short:
  v: R4B: Value for question comparison based on operator additional types
definition:
  v: R4B: `Questionnaire.item.enableWhen.answer[x]` additional types (decimal, integer, date, dateTime, time, string, Coding, Quantity, Reference(http://hl7.org/fhir/StructureDefinition/Resource))
comment:
  v: Element `Questionnaire.item.enableWhen.answer[x]` is mapped to FHIR STU3 element `Questionnaire.item.enableWhen.hasAnswer` as `RelatedTo`. The mappings for `Questionnaire.item.enableWhen.answer[x]` do not cover the following types: Coding, date, dateTime, decimal, integer, Quantity, Reference, string, time.
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.3/StructureDefinition/extension-Questionnaire.item.enableWhen.answer|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.enableWhen.answer

id:
  v: Questionnaire.item.enableWhen.hasAnswer.extension
path:
  v: Questionnaire.item.enableWhen.hasAnswer.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 1
max:
  v: *

id:
  v: Questionnaire.item.enableWhen.hasAnswer.extension:operator
path:
  v: Questionnaire.item.enableWhen.hasAnswer.extension
slice name:
  v: operator
short:
  v: R4B: exists | = | != | > | < | >= | <= additional types
definition:
  v: R4B: `Questionnaire.item.enableWhen.operator` additional types (code) additional types from child elements (value)
comment:
  v: Element `Questionnaire.item.enableWhen.operator` is mapped to FHIR STU3 element `Questionnaire.item.enableWhen.hasAnswer` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.item.enableWhen.operator` do not cover the following types: code. The mappings for `Questionnaire.item.enableWhen.operator` do not cover the following types based on type expansion: value.
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.3/StructureDefinition/extension-Questionnaire.item.enableWhen.operator|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.enableWhen.operator

id:
  v: Questionnaire.item.options.extension
path:
  v: Questionnaire.item.options.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: Questionnaire.item.options.extension:answerValueSet
path:
  v: Questionnaire.item.options.extension
slice name:
  v: answerValueSet
short:
  v: R4B: answerValueSet additional types
definition:
  v: R4B: `Questionnaire.item.answerValueSet` additional types (canonical(http://hl7.org/fhir/StructureDefinition/ValueSet)) additional types from child elements (value)
comment:
  v: Element `Questionnaire.item.answerValueSet` is mapped to FHIR STU3 element `Questionnaire.item.options` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.item.answerValueSet` do not cover the following types: canonical. The mappings for `Questionnaire.item.answerValueSet` do not cover the following types based on type expansion: value. LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](https://hl7.org/fhir/loinc..html#alist). The value may come from the ElementDefinition referred to by .definition.
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.3/StructureDefinition/extension-Questionnaire.item.answerValueSet|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.answerValueSet

id:
  v: Questionnaire.item.option.extension
path:
  v: Questionnaire.item.option.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: Questionnaire.item.option.extension:value
path:
  v: Questionnaire.item.option.extension
slice name:
  v: value
short:
  v: R4B: value additional types
definition:
  v: R4B: `Questionnaire.item.answerOption.value[x]` additional types (Reference(http://hl7.org/fhir/StructureDefinition/Resource))
comment:
  v: Element `Questionnaire.item.answerOption.value[x]` is mapped to FHIR STU3 element `Questionnaire.item.option.value[x]` as `SourceIsBroaderThanTarget`. The mappings for `Questionnaire.item.answerOption.value[x]` do not cover the following types: Reference. The target context `Questionnaire.item.option.value[x]` is a choice-type element and cannot directly hold extensions. The context is moved up to parent element `Questionnaire.item.option`. The data type of the value must agree with the item.type.
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.3/StructureDefinition/extension-Questionnaire.item.answerOption.value|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.answerOption.value

id:
  v: Questionnaire.item.option.extension:initialSelected
path:
  v: Questionnaire.item.option.extension
slice name:
  v: initialSelected
short:
  v: R4B: Whether option is selected by default (new)
definition:
  v: R4B: `Questionnaire.item.answerOption.initialSelected` (new:boolean)
comment:
  v: Element `Questionnaire.item.answerOption.initialSelected` has a context of Questionnaire.item.option based on following the parent source element upwards and mapping to `Questionnaire`. Element `Questionnaire.item.answerOption.initialSelected` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Use this instead of initial[v] if answerValueSet is present.
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.3/StructureDefinition/extension-Questionnaire.item.answerOption.initialSelected|0.1.0
    l: http://hl7.org/fhir/4.3/StructureDefinition/extension-Questionnaire.item.answerOption.initialSelected

id:
  v: Questionnaire.item.initialReference.extension:alternateReference
path:
  v: Questionnaire.item.initialReference.extension
slice name:
  v: alternateReference
short:
  v: R4B: Actual value for initializing the question additional types
definition:
  v: R4B: `Questionnaire.item.initial.value[x]` additional types (Attachment)
comment:
  v: Element `Questionnaire.item.initial.value[x]` is mapped to FHIR STU3 element `Questionnaire.item.initial[x]` as `RelatedTo`. The mappings for `Questionnaire.item.initial.value[x]` do not cover the following types: Attachment. The target context `Questionnaire.item.initial[x]` is a choice-type element and cannot directly hold extensions. The context is moved up to parent element `Questionnaire.item`. The standard extension `alternate-reference` has been mapped as PART of the representation of FHIR R4B element `Questionnaire.item.initial.value[x]` with unmapped reference targets: Resource. Source element `Questionnaire.item.initial.value[x]` has unmapped reference types. While the target element `Questionnaire.item.initial[x]` is a choice type and does not allow extensions, the `alternate-reference` extension can be applied to Reference values within it. The type of the initial value must be consistent with the type of the item.
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference