<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLServiceRequestPAI" />
  <name value="RLServiceRequestPAI" />
  <title value="ServiceRequest PAI" />
  <status value="draft" />
  <date value="2026-10-28" />
  <fhirVersion value="4.0.1" />
  <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" />
      <short value="Prestazione programmata" />
    </element>
    <element id="ServiceRequest.extension">
      <path value="ServiceRequest.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="ServiceRequest.extension:validitaBisogno">
      <path value="ServiceRequest.extension" />
      <sliceName value="validitaBisogno" />
      <short value="Validità" />
      <comment value="Codice di validità (OID 2.16.840.1.113883.2.9.2.30.3.1.3.13.6.41) da convertire in Duration." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLServiceRequestValiditaBisogno" />
      </type>
    </element>
    <element id="ServiceRequest.extension:intervalloTemporale">
      <path value="ServiceRequest.extension" />
      <sliceName value="intervalloTemporale" />
      <short value="Intervallo temporale" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLServiceRequestIntervalloTemporale" />
      </type>
    </element>
    <element id="ServiceRequest.status">
      <path value="ServiceRequest.status" />
      <short value="Stato della richiesta" />
      <min value="1" />
      <max value="1" />
      <fixedCode value="active" />
    </element>
    <element id="ServiceRequest.intent">
      <path value="ServiceRequest.intent" />
      <short value="Scopo della richiesta" />
      <min value="1" />
      <max value="1" />
      <fixedCode value="order" />
    </element>
    <element id="ServiceRequest.category">
      <path value="ServiceRequest.category" />
      <short value="Tipologia prestazione" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.category.coding">
      <path value="ServiceRequest.category.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.category.coding.system">
      <path value="ServiceRequest.category.coding.system" />
      <short value="Sistema di codifica" />
      <min value="1" />
      <max value="1" />
      <fixedUri value="urn:oid:2.16.840.1.113883.2.9.2.30.3.1.3.13.6.18" />
    </element>
    <element id="ServiceRequest.category.coding.code">
      <path value="ServiceRequest.category.coding.code" />
      <short value="Valore del codice" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.category.coding.display">
      <path value="ServiceRequest.category.coding.display" />
      <short value="Descrizione leggibile del codice" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.code">
      <path value="ServiceRequest.code" />
      <short value="Prestazione" />
      <comment value="Un coding per tipologia di prestazione. Per la prestazione vaccinale: coding con la prestazione vaccinale e, se presente, una seconda coding con il codice regionale del vaccino." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.code.coding">
      <path value="ServiceRequest.code.coding" />
      <min value="1" />
      <max value="*" />
    </element>
    <element id="ServiceRequest.code.coding.system">
      <path value="ServiceRequest.code.coding.system" />
      <short value="Sistema di codifica" />
      <comment value="Sistemi ammessi: Ambulatoriale urn:oid:2.16.840.1.113883.2.9.2.30.6.11; Vaccinale urn:oid:2.16.840.1.113883.2.9.2.30.3.1.3.13.6.26; Codice regionale vaccino urn:oid:2.16.840.1.113883.2.9.2.30.6.2 (in aggiunta alla vaccinale); Ricovero ...6.28; ADI ...6.29; Cure intermedie ...6.30; CDI ...6.32; CDD ...6.50; RIA ...6.39; Cure palliative ...6.51; Intervento educazionale ...6.35." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.code.coding.code">
      <path value="ServiceRequest.code.coding.code" />
      <short value="Valore del codice" />
      <comment value="Obbligatorio per ricovero, ADI, cure intermedie, RIA, cure palliative, interventi educazionali e prestazione vaccinale." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.code.coding.display">
      <path value="ServiceRequest.code.coding.display" />
      <short value="Descrizione leggibile del codice" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.quantity[x]">
      <path value="ServiceRequest.quantity[x]" />
      <short value="Quantità annua / Quantità" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="ServiceRequest.quantity[x].value">
      <path value="ServiceRequest.quantity[x].value" />
      <short value="Valore della quantità" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.quantity[x].unit">
      <path value="ServiceRequest.quantity[x].unit" />
      <short value="Unità" />
      <comment value="Per la Quantità annua: {times}/a." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.subject">
      <path value="ServiceRequest.subject" />
      <short value="Paziente a cui si riferisce la richiesta" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPatientCore" />
      </type>
    </element>
    <element id="ServiceRequest.occurrence[x]">
      <path value="ServiceRequest.occurrence[x]" />
      <short value="Frequenza e durata" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Timing" />
      </type>
    </element>
    <element id="ServiceRequest.occurrence[x].repeat">
      <path value="ServiceRequest.occurrence[x].repeat" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.occurrence[x].repeat.bounds[x]">
      <path value="ServiceRequest.occurrence[x].repeat.bounds[x]" />
      <short value="Durata" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Duration" />
      </type>
    </element>
    <element id="ServiceRequest.occurrence[x].repeat.bounds[x].value">
      <path value="ServiceRequest.occurrence[x].repeat.bounds[x].value" />
      <short value="Durata" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.occurrence[x].repeat.bounds[x].code">
      <path value="ServiceRequest.occurrence[x].repeat.bounds[x].code" />
      <short value="Unità di misura" />
      <comment value="Unità di misura (OID 2.16.840.1.113883.2.9.2.30.3.1.3.13.6.43)." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.occurrence[x].repeat.count">
      <path value="ServiceRequest.occurrence[x].repeat.count" />
      <short value="Numero sedute per ciclo" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.occurrence[x].code">
      <path value="ServiceRequest.occurrence[x].code" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.occurrence[x].code.text">
      <path value="ServiceRequest.occurrence[x].code.text" />
      <short value="Tipologia frequenza / Frequenza" />
      <comment value="Tipologia frequenza (CRS-SISS OID 2.16.840.1.113883.2.9.2.30.3.1.3.13.6.42) oppure frequenza in testo libero." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.performer">
      <path value="ServiceRequest.performer" />
      <short value="Erogatore" />
      <comment value="Erogatori ADI, Cure intermedie, CDI, CDD, RIA, Cure palliative." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="ServiceRequest.locationCode">
      <path value="ServiceRequest.locationCode" />
      <short value="Flag telemedicina" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.locationCode.coding">
      <path value="ServiceRequest.locationCode.coding" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.locationCode.coding.system">
      <path value="ServiceRequest.locationCode.coding.system" />
      <short value="Sistema di codifica" />
      <min value="0" />
      <max value="1" />
      <fixedUri value="urn:oid:2.16.840.1.113883.2.9.2.30.3.1.3.13.6.55" />
    </element>
    <element id="ServiceRequest.locationCode.coding.code">
      <path value="ServiceRequest.locationCode.coding.code" />
      <short value="Valore del codice" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.locationCode.coding.display">
      <path value="ServiceRequest.locationCode.coding.display" />
      <short value="Descrizione leggibile del codice" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.reasonReference">
      <path value="ServiceRequest.reasonReference" />
      <short value="Data ultima valutazione / Indicatore di gravità" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLObservationValutazionePAI" />
      </type>
    </element>
  </differential>
</StructureDefinition>