STU 3 Candidate

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

Extension-questionnaire-maxoccurs.xml

Raw XML (canonical form)

Maximum repetitions

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="questionnaire-maxOccurs"/>
  <url value="http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs"/>
  <name value="Maximum repetitions"/>
  <status value="draft"/>
  <publisher value="HL7"/>
  <contact>
    <telecom>
      <system value="other"/>
      <value value="http://www.hl7.org"/>
    </telecom>
  </contact>
  <date value="2013-07-04"/>
  <description value="The maximum number of times the group must appear or the minimum number of answers for
   a question - when greater than 1 and not unlimited."/>
  <fhirVersion value="1.4.0"/>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM"/>
  </mapping>
  <kind value="datatype"/>
  <abstract value="false"/>
  <contextType value="resource"/>
  <context value="Questionnaire.item"/>
  <context value="Questionnaire.item.item"/>
  <baseType value="Extension"/>
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension"/>
  <derivation value="constraint"/>
  <snapshot>
    <element>
      <path value="Extension"/>
      <short value="Maximum repetitions"/>
      <definition value="The maximum number of times the group must appear or the minimum number of answers for
       a question - when greater than 1 and not unlimited."/>
      <comments value="Only relevant if the element has repeats=true and there's a need to constrain the number
       of allowed repetitions."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="inv-2"/>
        <severity value="error"/>
        <human value="maxOccurs can't be more than one if repeats is false"/>
        <expression value="valueInteger &lt;= 1 or $parent.repeats"/>
        <xpath value="f:valueInteger/@value&lt;=1 or parent::*/f:repeats/@value=true()"/>
      </constraint>
      <constraint>
        <key value="inv-4"/>
        <severity value="error"/>
        <human value="maxOccurs can't exist for display items"/>
        <expression value="$parent.type!='display'"/>
        <xpath value="not(parent::*/f:type/@value='display')"/>
      </constraint>
      <mapping>
        <identity value="rim"/>
        <map value="N/A - MIF rather than RIM level"/>
      </mapping>
    </element>
    <element>
      <path value="Extension.id"/>
      <representation value="xmlAttr"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition value="unique id for the element within a resource (for internal references)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="id"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element>
      <path value="Extension.extension"/>
      <name value="extension"/>
      <short value="Extension"/>
      <definition value="An Extension"/>
      <min value="0"/>
      <max value="0"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
    </element>
    <element>
      <path value="Extension.url"/>
      <representation value="xmlAttr"/>
      <short value="identifies the meaning of the extension"/>
      <definition value="Source of the definition for the extension code - a logical name or a URL."/>
      <comments value="The definition may point directly to a computable or human-readable definition of the
       extensibility codes, or it may be a logical URI as declared in some other specification.
       The definition should be version specific.  This will ideally be the URI for the Resource
       Profile defining the extension, with the code for the extension after a #."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Extension.url"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
      <fixedUri value="http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element>
      <path value="Extension.valueInteger"/>
      <short value="Value of extension"/>
      <definition value="Value of extension - may be a resource or one of a constrained set of the data types (see
       Extensibility in the spec for list)."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Extension.value[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="integer"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element>
      <path value="Extension"/>
      <short value="Maximum repetitions"/>
      <definition value="The maximum number of times the group must appear or the minimum number of answers for
       a question - when greater than 1 and not unlimited."/>
      <comments value="Only relevant if the element has repeats=true and there's a need to constrain the number
       of allowed repetitions."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="inv-2"/>
        <severity value="error"/>
        <human value="maxOccurs can't be more than one if repeats is false"/>
        <expression value="valueInteger &lt;= 1 or $parent.repeats"/>
        <xpath value="f:valueInteger/@value&lt;=1 or parent::*/f:repeats/@value=true()"/>
      </constraint>
      <constraint>
        <key value="inv-4"/>
        <severity value="error"/>
        <human value="maxOccurs can't exist for display items"/>
        <expression value="$parent.type!='display'"/>
        <xpath value="not(parent::*/f:type/@value='display')"/>
      </constraint>
      <mapping>
        <identity value="rim"/>
        <map value="N/A - MIF rather than RIM level"/>
      </mapping>
    </element>
    <element>
      <path value="Extension.extension"/>
      <name value="extension"/>
      <max value="0"/>
    </element>
    <element>
      <path value="Extension.url"/>
      <type>
        <code value="uri"/>
      </type>
      <fixedUri value="http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs"/>
    </element>
    <element>
      <path value="Extension.value[x]"/>
      <min value="1"/>
      <type>
        <code value="integer"/>
      </type>
    </element>
  </differential>
</StructureDefinition>

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.