<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="PrescrizionePerfezionata" />
  <meta>
    <versionId value="23" />
    <lastUpdated value="2022-08-30T07:03:50.457+00:00" />
    <source value="#RLJNPtsVOBnGCb1e" />
  </meta>
  <url value="http://Softwareuno.it/TEC/StructureDefinition/PrescrizionePerfezionata" />
  <name value="PrescrizionePerfezionata" />
  <title value="Prescrizione farmacologica perfezionata" />
  <status value="draft" />
  <experimental value="false" />
  <description value="Prescrizione perfezionata" />
  <purpose value="Rappresentare in modo esaustivo tutti i dati necessari per gestire la preparazione e la dispensazione dei farmaci in modalità guidata e automatizzabile." />
  <copyright value="IPR Zucchetti Healthcare" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationRequest" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationRequest" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationRequest">
      <path value="MedicationRequest" />
    </element>
    <element id="MedicationRequest.identifier">
      <path value="MedicationRequest.identifier" />
      <definition value="Contiene l'identificativo (codice) della prescrizione nel sistema origine." />
      <min value="1" />
      <max value="*" />
    </element>
    <element id="MedicationRequest.intent">
      <path value="MedicationRequest.intent" />
      <fixedCode value="order" />
    </element>
    <element id="MedicationRequest.doNotPerform">
      <path value="MedicationRequest.doNotPerform" />
      <constraint>
        <key value="c9OOrweX" />
        <requirements value="Necessario per escludere le prescrizioni da non preparare" />
        <severity value="error" />
        <human value="Prescrizione non bloccata" />
        <expression value="doNotPerform.exists() implies doNotPerform.not()" />
      </constraint>
    </element>
    <element id="MedicationRequest.medication[x]">
      <path value="MedicationRequest.medication[x]" />
      <comment value="Ristretto a CodeableConcept." />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="MedicationRequest.medication[x].coding">
      <path value="MedicationRequest.medication[x].coding" />
      <slicing>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="MedicationRequest.medication[x].coding:aic">
      <path value="MedicationRequest.medication[x].coding" />
      <sliceName value="aic" />
      <short value="[Codifica AIC da verificare con HL7 Italia (terminologia)]" />
    </element>
    <element id="MedicationRequest.medication[x].coding:gruppoEquivalenza">
      <path value="MedicationRequest.medication[x].coding" />
      <sliceName value="gruppoEquivalenza" />
      <short value="[Codifica Gruppo da verificare con HL7 Italia (terminologia)]" />
      <binding>
        <strength value="required" />
        <valueSet value="https://build.fhir.org/ig/hl7-it/terminology/ValueSet-aifa-ge" />
      </binding>
    </element>
    <element id="MedicationRequest.subject">
      <path value="MedicationRequest.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
      </type>
    </element>
    <element id="MedicationRequest.basedOn">
      <path value="MedicationRequest.basedOn" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://Softwareuno.it/TEC/StructureDefinition/SupplyRequestTEC" />
      </type>
    </element>
    <element id="MedicationRequest.dosageInstruction">
      <path value="MedicationRequest.dosageInstruction" />
      <requirements value="Deve esservi almeno una istruzione per il dosaggio" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dosageInstruction.timing">
      <path value="MedicationRequest.dosageInstruction.timing" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dosageInstruction.doseAndRate">
      <path value="MedicationRequest.dosageInstruction.doseAndRate" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.substitution">
      <path value="MedicationRequest.substitution" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.substitution.allowed[x]">
      <path value="MedicationRequest.substitution.allowed[x]" />
      <type>
        <code value="boolean" />
      </type>
    </element>
  </differential>
</StructureDefinition>