<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="SHCQuestionnaireResponse" />
  <url value="https://electronichealth.se/fhir/shc/StructureDefinition/SHCQuestionnaireResponse" />
  <version value="0.1" />
  <name value="SHCQuestionnaireResponse" />
  <status value="draft" />
  <description value="This profile structures information of a issued health certificate." />
  <fhirVersion value="5.0.0" />
  <mapping>
    <identity value="SHCQuestionnaireResponseToSHCIntygLogical" />
    <uri value="SHCIntygLogical" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="QuestionnaireResponse" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" />
  <derivation value="constraint" />
  <differential>
    <element id="QuestionnaireResponse.extension">
      <path value="QuestionnaireResponse.extension" />
      <slicing>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="QuestionnaireResponse.identifier">
      <path value="QuestionnaireResponse.identifier" />
      <short value="An identifier assigned to the certificate by the issuer or other systems. Remains constant when the resource is updated and distributed." />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
      <mapping>
        <identity value="SHCQuestionnaireResponseToSHCIntygLogical" />
        <map value="id" />
      </mapping>
    </element>
    <element id="QuestionnaireResponse.questionnaire">
      <path value="QuestionnaireResponse.questionnaire" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.status">
      <path value="QuestionnaireResponse.status" />
      <short value="The status of the certificate (e.g., started, completed, stopped)" />
      <mustSupport value="true" />
      <mapping>
        <identity value="SHCQuestionnaireResponseToSHCIntygLogical" />
        <map value="status" />
      </mapping>
    </element>
    <element id="QuestionnaireResponse.subject">
      <path value="QuestionnaireResponse.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://electronichealth.se/fhir/shc/StructureDefinition/SHCHealthCertificateSubject" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="SHCQuestionnaireResponseToSHCIntygLogical" />
        <map value="harRollenIntygsperson(PersonLogical)" />
      </mapping>
    </element>
    <element id="QuestionnaireResponse.authored">
      <path value="QuestionnaireResponse.authored" />
      <short value="The time when the certificate is issued" />
      <min value="1" />
      <mustSupport value="true" />
      <mapping>
        <identity value="SHCQuestionnaireResponseToSHCIntygLogical" />
        <map value="utfardandetidpunkt" />
      </mapping>
    </element>
    <element id="QuestionnaireResponse.author">
      <path value="QuestionnaireResponse.author" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://electronichealth.se/fhir/shc/StructureDefinition/SHCPractitioner" />
        <targetProfile value="https://electronichealth.se/fhir/shc/StructureDefinition/SHCPractitionerRole" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="SHCQuestionnaireResponseToSHCIntygLogical" />
        <map value="harIntygsutfardare(HalsoOchSjukvardspersonalLogical)" />
      </mapping>
    </element>
    <element id="QuestionnaireResponse.item">
      <path value="QuestionnaireResponse.item" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.text">
      <path value="QuestionnaireResponse.item.text" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueBoolean">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueBoolean" />
      <type>
        <code value="boolean" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueDecimal">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueDecimal" />
      <type>
        <code value="decimal" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueInteger">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueInteger" />
      <type>
        <code value="integer" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueQuantity">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueQuantity" />
      <type>
        <code value="Quantity" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueDate">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueDate" />
      <type>
        <code value="date" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueDateTime">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueDateTime" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueTime">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueTime" />
      <type>
        <code value="time" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueString">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueString" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueUri">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueUri" />
      <type>
        <code value="uri" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.value[x]:valueCoding">
      <path value="QuestionnaireResponse.item.answer.value[x]" />
      <sliceName value="valueCoding" />
      <type>
        <code value="Coding" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item.answer.item">
      <path value="QuestionnaireResponse.item.answer.item" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>