<StructureDefinition xmlns="http://hl7.org/fhir">
  <meta>
    <versionId value="2" />
    <lastUpdated value="2020-03-06T11:04:57.142+00:00" />
  </meta>
  <url value="http://d4solutions.dedalus.eu/fhir/StructureDefinition/QuestionnaireResponse-COVID19" />
  <name value="QuestionnaireResponse-COVID19" />
  <status value="active" />
  <experimental value="false" />
  <fhirVersion value="3.0.2" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="QuestionnaireResponse" />
  <baseDefinition value="http://apiframework.dedalus.eu/fhir/StructureDefinition/QuestionnaireResponse" />
  <derivation value="constraint" />
  <differential>
    <element id="QuestionnaireResponse.contained">
      <path value="QuestionnaireResponse.contained" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.contained:relatedPerson">
      <path value="QuestionnaireResponse.contained" />
      <sliceName value="relatedPerson" />
      <max value="1" />
      <type>
        <code value="RelatedPerson" />
        <profile value="http://d4solutions.dedalus.eu/fhir/StructureDefinition/RelatedPerson-COVID19" />
      </type>
    </element>
    <element id="QuestionnaireResponse.contained:questionnaire">
      <path value="QuestionnaireResponse.contained" />
      <sliceName value="questionnaire" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Questionnaire" />
        <profile value="http://d4solutions.dedalus.eu/fhir/StructureDefinition/Questionnaire-COVID19" />
      </type>
    </element>
    <element id="QuestionnaireResponse.contained:questionnaire.meta.tag">
      <path value="QuestionnaireResponse.contained.meta.tag" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="QuestionnaireResponse.status">
      <path value="QuestionnaireResponse.status" />
      <fixedCode value="completed" />
    </element>
    <element id="QuestionnaireResponse.subject">
      <path value="QuestionnaireResponse.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://d4solutions.dedalus.eu/fhir/StructureDefinition/Patient-COVID19" />
        <aggregation value="referenced" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.context">
      <path value="QuestionnaireResponse.context" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://d4solutions.dedalus.eu/fhir/StructureDefinition/Encounter-COVID19" />
      </type>
    </element>
    <element id="QuestionnaireResponse.author">
      <path value="QuestionnaireResponse.author" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://d4solutions.dedalus.eu/fhir/StructureDefinition/Patient-COVID19" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://d4solutions.dedalus.eu/fhir/StructureDefinition/RelatedPerson-COVID19" />
      </type>
    </element>
    <element id="QuestionnaireResponse.source">
      <path value="QuestionnaireResponse.source" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://d4solutions.dedalus.eu/fhir/StructureDefinition/Patient-COVID19" />
      </type>
    </element>
    <element id="QuestionnaireResponse.item">
      <path value="QuestionnaireResponse.item" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="linkId" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocation">
      <path value="QuestionnaireResponse.item" />
      <sliceName value="riskLocation" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocation.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <fixedString value="riskLocation" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocation.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <definition value="element may be: &#xD;&#xA; - present with valueBollean = TRUE or FALSE&#xD;&#xA; - missing when unkown" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocation.answer.value[x]:valueBoolean">
      <path value="QuestionnaireResponse.item.answer.valueBoolean" />
      <sliceName value="valueBoolean" />
      <definition value="TRUE, FALSE or missing when unkown" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="QuestionnaireResponse.item:riskLocationPlace">
      <path value="QuestionnaireResponse.item" />
      <sliceName value="riskLocationPlace" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationPlace.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <fixedString value="riskLocationPlace" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationPlace.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationPlace.answer.value[x]:valueCoding">
      <path value="QuestionnaireResponse.item.answer.valueCoding" />
      <sliceName value="valueCoding" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
    </element>
    <element id="QuestionnaireResponse.item:riskLocationPlace.answer.value[x]:valueCoding.system">
      <path value="QuestionnaireResponse.item.answer.valueCoding.system" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationPlace.answer.value[x]:valueCoding.code">
      <path value="QuestionnaireResponse.item.answer.valueCoding.code" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationPlace.answer.value[x]:valueCoding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="QuestionnaireResponse.item.answer.valueCoding.display" />
      <mustSupport value="true" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationDepartureDate">
      <path value="QuestionnaireResponse.item" />
      <sliceName value="riskLocationDepartureDate" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationDepartureDate.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <fixedString value="riskLocationDepartureDate" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationDepartureDate.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:riskLocationDepartureDate.answer.value[x]:valueDate">
      <path value="QuestionnaireResponse.item.answer.valueDate" />
      <sliceName value="valueDate" />
      <min value="1" />
      <type>
        <code value="date" />
      </type>
    </element>
    <element id="QuestionnaireResponse.item:exposureToAscertainedCases">
      <path value="QuestionnaireResponse.item" />
      <sliceName value="exposureToAscertainedCases" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:exposureToAscertainedCases.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <fixedString value="exposureToAscertainedCases" />
    </element>
    <element id="QuestionnaireResponse.item:exposureToAscertainedCases.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:exposureToAscertainedCases.answer.value[x]:valueBoolean">
      <path value="QuestionnaireResponse.item.answer.valueBoolean" />
      <sliceName value="valueBoolean" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="QuestionnaireResponse.item:exposureToSuspiciousCases">
      <path value="QuestionnaireResponse.item" />
      <sliceName value="exposureToSuspiciousCases" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:exposureToSuspiciousCases.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <fixedString value="exposureToSuspiciousCases" />
    </element>
    <element id="QuestionnaireResponse.item:exposureToSuspiciousCases.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:exposureToSuspiciousCases.answer.value[x]:valueBoolean">
      <path value="QuestionnaireResponse.item.answer.valueBoolean" />
      <sliceName value="valueBoolean" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="QuestionnaireResponse.item:contactReturnedPersons">
      <path value="QuestionnaireResponse.item" />
      <sliceName value="contactReturnedPersons" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:contactReturnedPersons.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <fixedString value="contactReturnedPersons" />
    </element>
    <element id="QuestionnaireResponse.item:contactReturnedPersons.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:contactReturnedPersons.answer.value[x]:valueBoolean">
      <path value="QuestionnaireResponse.item.answer.valueBoolean" />
      <sliceName value="valueBoolean" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="QuestionnaireResponse.item:contactFamilyMembersSuspects">
      <path value="QuestionnaireResponse.item" />
      <sliceName value="contactFamilyMembersSuspects" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:contactFamilyMembersSuspects.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <fixedString value="contactFamilyMembersSuspects" />
    </element>
    <element id="QuestionnaireResponse.item:contactFamilyMembersSuspects.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:contactFamilyMembersSuspects.answer.value[x]:valueBoolean">
      <path value="QuestionnaireResponse.item.answer.valueBoolean" />
      <sliceName value="valueBoolean" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="QuestionnaireResponse.item:numberOfPersonsInFamily">
      <path value="QuestionnaireResponse.item" />
      <sliceName value="numberOfPersonsInFamily" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:numberOfPersonsInFamily.linkId">
      <path value="QuestionnaireResponse.item.linkId" />
      <fixedString value="numberOfPersonsInFamily" />
    </element>
    <element id="QuestionnaireResponse.item:numberOfPersonsInFamily.answer">
      <path value="QuestionnaireResponse.item.answer" />
      <max value="1" />
    </element>
    <element id="QuestionnaireResponse.item:numberOfPersonsInFamily.answer.value[x]:valueInteger">
      <path value="QuestionnaireResponse.item.answer.valueInteger" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <type>
        <code value="integer" />
      </type>
    </element>
  </differential>
</StructureDefinition>