<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ext-resource-role-context" />
  <url value="http://fhir.health.gov.il/StructureDefinition/ext-resource-role-context" />
  <version value="0.21.0" />
  <name value="ResourceRoleContext" />
  <title value="Ext: Resource Role Context" />
  <status value="active" />
  <date value="2026-03-23" />
  <publisher value="Israel Core Team" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="tal.primak@moh.gov.il" />
    </telecom>
  </contact>
  <description value="Attributes a resource instance to a specific role in the clinical or business process (e.g., admission/hospitalization/discharge) by role code, with optional business context identifier and optional Encounter reference. Applicable to selected clinical resources listed in the context expression." />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="AllergyIntolerance" />
  </context>
  <context>
    <type value="element" />
    <expression value="CarePlan" />
  </context>
  <context>
    <type value="element" />
    <expression value="Communication" />
  </context>
  <context>
    <type value="element" />
    <expression value="CommunicationRequest" />
  </context>
  <context>
    <type value="element" />
    <expression value="Condition" />
  </context>
  <context>
    <type value="element" />
    <expression value="Consent" />
  </context>
  <context>
    <type value="element" />
    <expression value="Device" />
  </context>
  <context>
    <type value="element" />
    <expression value="DeviceRequest" />
  </context>
  <context>
    <type value="element" />
    <expression value="DeviceUseStatement" />
  </context>
  <context>
    <type value="element" />
    <expression value="DiagnosticReport" />
  </context>
  <context>
    <type value="element" />
    <expression value="DocumentReference" />
  </context>
  <context>
    <type value="element" />
    <expression value="FamilyMemberHistory" />
  </context>
  <context>
    <type value="element" />
    <expression value="Flag" />
  </context>
  <context>
    <type value="element" />
    <expression value="Goal" />
  </context>
  <context>
    <type value="element" />
    <expression value="ImagingStudy" />
  </context>
  <context>
    <type value="element" />
    <expression value="Immunization" />
  </context>
  <context>
    <type value="element" />
    <expression value="ImmunizationRecommendation" />
  </context>
  <context>
    <type value="element" />
    <expression value="Media" />
  </context>
  <context>
    <type value="element" />
    <expression value="MedicationAdministration" />
  </context>
  <context>
    <type value="element" />
    <expression value="MedicationDispense" />
  </context>
  <context>
    <type value="element" />
    <expression value="MedicationRequest" />
  </context>
  <context>
    <type value="element" />
    <expression value="MedicationStatement" />
  </context>
  <context>
    <type value="element" />
    <expression value="MolecularSequence" />
  </context>
  <context>
    <type value="element" />
    <expression value="NutritionOrder" />
  </context>
  <context>
    <type value="element" />
    <expression value="Observation" />
  </context>
  <context>
    <type value="element" />
    <expression value="Procedure" />
  </context>
  <context>
    <type value="element" />
    <expression value="QuestionnaireResponse" />
  </context>
  <context>
    <type value="element" />
    <expression value="RiskAssessment" />
  </context>
  <context>
    <type value="element" />
    <expression value="ServiceRequest" />
  </context>
  <context>
    <type value="element" />
    <expression value="Specimen" />
  </context>
  <context>
    <type value="element" />
    <expression value="Substance" />
  </context>
  <context>
    <type value="element" />
    <expression value="SupplyDelivery" />
  </context>
  <context>
    <type value="element" />
    <expression value="Task" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="Ext: Resource Role Context" />
      <definition value="Attributes a resource instance to a specific role in the clinical or business process (e.g., admission/hospitalization/discharge) by role code, with optional business context identifier and optional Encounter reference. Applicable to selected clinical resources listed in the context expression." />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <min value="1" />
    </element>
    <element id="Extension.extension:role">
      <path value="Extension.extension" />
      <sliceName value="role" />
      <short value="Resource role" />
      <definition value="Code indicating which role this resource plays in the clinical or business process (e.g., admission/hospitalization/discharge)." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:role.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:role.url">
      <path value="Extension.extension.url" />
      <fixedUri value="role" />
    </element>
    <element id="Extension.extension:role.value[x]">
      <path value="Extension.extension.value[x]" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/resource-role-context" />
      </binding>
    </element>
    <element id="Extension.extension:roleOperationalContext">
      <path value="Extension.extension" />
      <sliceName value="roleOperationalContext" />
      <short value="Business identifier associated with the specified resource role context" />
      <definition value="Optional business identifier representing entity from the operational system that is associated with the specified resource role context." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:roleOperationalContext.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:roleOperationalContext.url">
      <path value="Extension.extension.url" />
      <fixedUri value="roleOperationalContext" />
    </element>
    <element id="Extension.extension:roleOperationalContext.value[x]">
      <path value="Extension.extension.value[x]" />
      <type>
        <code value="Identifier" />
      </type>
    </element>
    <element id="Extension.extension:roleEncounterContext">
      <path value="Extension.extension" />
      <sliceName value="roleEncounterContext" />
      <short value="Encounter associated with the specified resource role context" />
      <definition value="Optional reference to Encounter associated with the specified resource role context. SHOULD be used when an additional, context-specific Encounter instance should be tracked. SHALL NOT be used when the resource's standard encounter reference already points to the relevant Encounter instance." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:roleEncounterContext.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:roleEncounterContext.url">
      <path value="Extension.extension.url" />
      <fixedUri value="roleEncounterContext" />
    </element>
    <element id="Extension.extension:roleEncounterContext.value[x]">
      <path value="Extension.extension.value[x]" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-encounter" />
      </type>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="http://fhir.health.gov.il/StructureDefinition/ext-resource-role-context" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>