<StructureDefinition xmlns="http://hl7.org/fhir">
  <meta>
    <lastUpdated value="2020-02-17T08:33:17.091+00:00" />
  </meta>
  <url value="http://example.org/fhir/StructureDefinition/VitalisQuestionnaireRequest" />
  <name value="VitalisQuestionnaireRequest" />
  <status value="draft" />
  <fhirVersion value="4.0.0" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="quick" />
    <uri value="http://siframework.org/cqf" />
    <name value="Quality Improvement and Clinical Knowledge (QUICK)" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="ServiceRequest" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/ServiceRequest" />
  <derivation value="constraint" />
  <snapshot />
  <differential>
    <element id="ServiceRequest.extension">
      <path value="ServiceRequest.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="ServiceRequest.extension:Questionnaire">
      <path value="ServiceRequest.extension" />
      <sliceName value="Questionnaire" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/servicerequest-questionnaireRequest" />
      </type>
    </element>
    <element id="ServiceRequest.extension:Questionnaire.value[x]">
      <path value="ServiceRequest.extension.value[x]" />
      <slicing>
        <rules value="open" />
      </slicing>
    </element>
    <element id="ServiceRequest.identifier.use">
      <path value="ServiceRequest.identifier.use" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.identifier.type">
      <path value="ServiceRequest.identifier.type" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.identifier.period">
      <path value="ServiceRequest.identifier.period" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.identifier.assigner">
      <path value="ServiceRequest.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.instantiatesCanonical">
      <path value="ServiceRequest.instantiatesCanonical" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.instantiatesUri">
      <path value="ServiceRequest.instantiatesUri" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.basedOn">
      <path value="ServiceRequest.basedOn" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.replaces">
      <path value="ServiceRequest.replaces" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.requisition">
      <path value="ServiceRequest.requisition" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.status">
      <path value="ServiceRequest.status" />
      <comment value="Supported statuses:&#xD;&#xA;active, completed, entered-in-error" />
    </element>
    <element id="ServiceRequest.intent">
      <path value="ServiceRequest.intent" />
      <fixedCode value="order" />
    </element>
    <element id="ServiceRequest.priority">
      <path value="ServiceRequest.priority" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.doNotPerform">
      <path value="ServiceRequest.doNotPerform" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.quantity[x]">
      <path value="ServiceRequest.quantity[x]" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.type">
      <path value="ServiceRequest.subject.type" />
      <min value="1" />
      <fixedUri value="Patient" />
    </element>
    <element id="ServiceRequest.subject.identifier">
      <path value="ServiceRequest.subject.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type.coding.system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="ServiceRequest.subject.identifier:personnummer">
      <path value="ServiceRequest.subject.identifier" />
      <sliceName value="personnummer" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.subject.identifier:personnummer.use">
      <path value="ServiceRequest.subject.identifier.use" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.identifier:personnummer.type">
      <path value="ServiceRequest.subject.identifier.type" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.identifier:personnummer.system">
      <path value="ServiceRequest.subject.identifier.system" />
      <min value="1" />
      <fixedUri value="urn:oid:1.2.752.129.2.1.3.1" />
    </element>
    <element id="ServiceRequest.subject.identifier:personnummer.value">
      <path value="ServiceRequest.subject.identifier.value" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.subject.identifier:personnummer.period">
      <path value="ServiceRequest.subject.identifier.period" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.identifier:personnummer.assigner">
      <path value="ServiceRequest.subject.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.occurrence[x]">
      <path value="ServiceRequest.occurrence[x]" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.asNeeded[x]">
      <path value="ServiceRequest.asNeeded[x]" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.requester">
      <path value="ServiceRequest.requester" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.performerType">
      <path value="ServiceRequest.performerType" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer">
      <path value="ServiceRequest.performer" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.performer.type">
      <path value="ServiceRequest.performer.type" />
      <min value="1" />
      <fixedUri value="Patient" />
    </element>
    <element id="ServiceRequest.performer.identifier">
      <path value="ServiceRequest.performer.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type.coding.system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="ServiceRequest.performer.identifier.use">
      <path value="ServiceRequest.performer.identifier.use" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier.type">
      <path value="ServiceRequest.performer.identifier.type" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier.period">
      <path value="ServiceRequest.performer.identifier.period" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier.assigner">
      <path value="ServiceRequest.performer.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier:personnummer">
      <path value="ServiceRequest.performer.identifier" />
      <sliceName value="personnummer" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.performer.identifier:personnummer.use">
      <path value="ServiceRequest.performer.identifier.use" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier:personnummer.type">
      <path value="ServiceRequest.performer.identifier.type" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier:personnummer.system">
      <path value="ServiceRequest.performer.identifier.system" />
      <min value="1" />
      <fixedUri value="urn:oid:1.2.752.129.2.1.3.1" />
    </element>
    <element id="ServiceRequest.performer.identifier:personnummer.value">
      <path value="ServiceRequest.performer.identifier.value" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.performer.identifier:personnummer.period">
      <path value="ServiceRequest.performer.identifier.period" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier:personnummer.assigner">
      <path value="ServiceRequest.performer.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.locationCode">
      <path value="ServiceRequest.locationCode" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.locationReference">
      <path value="ServiceRequest.locationReference" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.reasonReference">
      <path value="ServiceRequest.reasonReference" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.insurance">
      <path value="ServiceRequest.insurance" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.supportingInfo">
      <path value="ServiceRequest.supportingInfo" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.specimen">
      <path value="ServiceRequest.specimen" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodySite">
      <path value="ServiceRequest.bodySite" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.relevantHistory">
      <path value="ServiceRequest.relevantHistory" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>