<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="GKVSV-PR-EVP-ServiceRequestMassnahme" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-category">
    <valueString value="Clinical.Care Provision" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category">
    <valueCode value="patient" />
  </extension>
  <url value="https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_EVP_ServiceRequestMassnahme" />
  <version value="1.0" />
  <name value="GKVSV_PR_EVP_ServiceRequestMassnahme" />
  <status value="active" />
  <date value="2023-04-28T12:28:48.9284497+00:00" />
  <description value="Abbildung von Massnahmen zur Erfüllung eines Bedarfes" />
  <fhirVersion value="4.0.1" />
  <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" />
  <differential>
    <element id="ServiceRequest">
      <path value="ServiceRequest" />
      <constraint>
        <key value="-evp-sr-verantwortlich" />
        <severity value="error" />
        <human value="Es muss exakt einen Verantwortlichen geben" />
        <expression value="performer.extension.where(url = 'https://fhir.gkvsv.de/StructureDefinition/GKVSV_EX_EVP_Verantwortlich' and value = true).count() = 1" />
      </constraint>
    </element>
    <element id="ServiceRequest.meta">
      <path value="ServiceRequest.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.meta.versionId">
      <path value="ServiceRequest.meta.versionId" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.meta.lastUpdated">
      <path value="ServiceRequest.meta.lastUpdated" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.meta.source">
      <path value="ServiceRequest.meta.source" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.meta.profile">
      <path value="ServiceRequest.meta.profile" />
      <min value="1" />
      <max value="1" />
      <patternCanonical value="https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_EVP_ServiceRequestMassnahme|1.0" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.meta.security">
      <path value="ServiceRequest.meta.security" />
      <short value="Weitergabe an" />
      <definition value="Angabe, an welche Stelle(n) die Datenweitergabe zu der Maßnahme erfolgen darf (Einwilligung zur Datenweitergabe liegt vor) gemäß Schlüsselverzeichnis 6.8. wiederholbar" />
      <min value="1" />
      <max value="3" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.gkvsv.de/ValueSet/GKVSV_VS_EVP_Datenweitergabe" />
      </binding>
    </element>
    <element id="ServiceRequest.meta.security.system">
      <path value="ServiceRequest.meta.security.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.meta.security.code">
      <path value="ServiceRequest.meta.security.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.meta.security.userSelected">
      <path value="ServiceRequest.meta.security.userSelected" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.meta.tag">
      <path value="ServiceRequest.meta.tag" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.implicitRules">
      <path value="ServiceRequest.implicitRules" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.language">
      <path value="ServiceRequest.language" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.text">
      <path value="ServiceRequest.text" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.contained">
      <path value="ServiceRequest.contained" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.identifier">
      <path value="ServiceRequest.identifier" />
      <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="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_EVP_CarePlanBedarf" />
      </type>
      <mustSupport value="false" />
    </element>
    <element id="ServiceRequest.basedOn.reference">
      <path value="ServiceRequest.basedOn.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </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" />
      <fixedCode value="active" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.intent">
      <path value="ServiceRequest.intent" />
      <fixedCode value="plan" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.category">
      <path value="ServiceRequest.category" />
      <max value="0" />
    </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.code">
      <path value="ServiceRequest.code" />
      <short value="Beschreibung" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.code.id">
      <path value="ServiceRequest.code.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.code.coding">
      <path value="ServiceRequest.code.coding" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.code.text">
      <path value="ServiceRequest.code.text" />
      <short value="Beschreibung" />
      <definition value="Beschreibung der Maßnahme" />
      <min value="1" />
      <maxLength value="600" />
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="Dieser Wert darf die Länge von 600 nicht überschreiten" />
        <expression value="length()&lt;601" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.orderDetail">
      <path value="ServiceRequest.orderDetail" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.quantity[x]">
      <path value="ServiceRequest.quantity[x]" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject">
      <path value="ServiceRequest.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_EVP_Versicherter" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.subject.id">
      <path value="ServiceRequest.subject.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.reference">
      <path value="ServiceRequest.subject.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.subject.type">
      <path value="ServiceRequest.subject.type" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.identifier">
      <path value="ServiceRequest.subject.identifier" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.encounter">
      <path value="ServiceRequest.encounter" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.occurrence[x]">
      <path value="ServiceRequest.occurrence[x]" />
      <short value="Zeitraum zu erledigen bis" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="ServiceRequest.occurrence[x].id">
      <path value="ServiceRequest.occurrence[x].id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.occurrence[x].start">
      <path value="ServiceRequest.occurrence[x].start" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.occurrence[x].end">
      <path value="ServiceRequest.occurrence[x].end" />
      <short value="Zeitraum zu erledigen bis" />
      <definition value="Zeitraum oder zu erledigen bis, Datum" />
      <min value="1" />
      <constraint>
        <key value="ZuErledigenBis" />
        <severity value="error" />
        <human value="Das Datum muss aus genau 10 Zeichen bestehen YYYY-MM-DD." />
        <expression value="toString().length()=10" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.asNeeded[x]">
      <path value="ServiceRequest.asNeeded[x]" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.authoredOn">
      <path value="ServiceRequest.authoredOn" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.requester">
      <path value="ServiceRequest.requester" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performerType">
      <path value="ServiceRequest.performerType" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer">
      <path value="ServiceRequest.performer" />
      <short value="Verantwortliche Beteiligte" />
      <min value="2" />
      <max value="2" />
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.performer.id">
      <path value="ServiceRequest.performer.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.extension">
      <path value="ServiceRequest.performer.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="ServiceRequest.performer.extension:Verantwortlich">
      <path value="ServiceRequest.performer.extension" />
      <sliceName value="Verantwortlich" />
      <short value="Verantwortlich" />
      <definition value="true= Verantwortliche&#xD;&#xA;false= Beteiligte" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.gkvsv.de/StructureDefinition/GKVSV_EX_EVP_Verantwortlich" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="ServiceRequest.performer.extension:Verantwortlich.id">
      <path value="ServiceRequest.performer.extension.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.extension:Verantwortlich.value[x]">
      <path value="ServiceRequest.performer.extension.value[x]" />
      <short value="Verantwortlich" />
      <definition value="true= Verantwortlich&#xD;&#xA;false= Nicht verantwortlich--&gt;Beteiligter" />
    </element>
    <element id="ServiceRequest.performer.reference">
      <path value="ServiceRequest.performer.reference" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.type">
      <path value="ServiceRequest.performer.type" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier">
      <path value="ServiceRequest.performer.identifier" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.display">
      <path value="ServiceRequest.performer.display" />
      <short value="Verantwortliche Beteiligte" />
      <definition value="Verantwortliche / Beteiligte, Freitext" />
      <min value="1" />
      <maxLength value="600" />
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="Dieser Wert darf die Länge von 600 nicht überschreiten" />
        <expression value="length()&lt;601" />
      </constraint>
      <mustSupport value="true" />
    </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.reasonCode">
      <path value="ServiceRequest.reasonCode" />
      <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.note">
      <path value="ServiceRequest.note" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.patientInstruction">
      <path value="ServiceRequest.patientInstruction" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.relevantHistory">
      <path value="ServiceRequest.relevantHistory" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>