<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLCompositionSchedaSingolaVaccinazione" />
  <name value="RLCompositionSchedaSingolaVaccinazione" />
  <title value="RL Composition Scheda di Singola Vaccinazione" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Composition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Composition" />
  <derivation value="constraint" />
  <differential>
    <element id="Composition">
      <path value="Composition" />
      <short value="Scheda di Singola Vaccinazione" />
      <definition value="Documento FHIR che rappresenta la Scheda della Singola Vaccinazione prodotta nell'ambito SISS Regione Lombardia." />
    </element>
    <element id="Composition.type">
      <path value="Composition.type" />
      <short value="Identifica la tipologia di documento" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.type.coding">
      <path value="Composition.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.type.coding.system">
      <path value="Composition.type.coding.system" />
      <comment value="Fixed: LOINC (OID 2.16.840.1.113883.6.1)" />
      <min value="1" />
      <max value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Composition.type.coding.version">
      <path value="Composition.type.coding.version" />
      <comment value="La fonte riporta 'LOINC' come se fosse un valore fixed; corretto a solo esempio." />
      <min value="0" />
      <max value="1" />
      <example>
        <label value="Esempio" />
        <valueString value="LOINC 2.19" />
      </example>
    </element>
    <element id="Composition.type.coding.code">
      <path value="Composition.type.coding.code" />
      <short value="Codice locale per il tipo di documento." />
      <min value="1" />
      <max value="1" />
      <fixedCode value="87273-9" />
    </element>
    <element id="Composition.type.coding.display">
      <path value="Composition.type.coding.display" />
      <min value="0" />
      <max value="1" />
      <fixedString value="Immunization note" />
    </element>
    <element id="Composition.title">
      <path value="Composition.title" />
      <min value="1" />
      <max value="1" />
      <fixedString value="Scheda della singola Vaccinazione" />
    </element>
    <element id="Composition.subject">
      <path value="Composition.subject" />
      <definition value="Codifica i dati identificativi ed anagrafici del paziente (Assistito)." />
      <comment value="Cardinalità corretta a 1..1 rispetto alla fonte (0..1)." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPatientCore" />
      </type>
    </element>
    <element id="Composition.author">
      <path value="Composition.author" />
      <short value="Professionista Sanitario che effettua la Vaccinazione" />
      <definition value="Professionista sanitario che effettua la vaccinazione e/o dispositivo/applicazione software che ha generato il documento." />
      <comment value="La fonte riportava per questo elemento la stessa definizione boilerplate di dataEnterer ('persona che trasforma un testo dettato...'); sostituita con definizione coerente con l'etichetta di dataset ('Professionista Sanitario che effettua la Vaccinazione')." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPractitionerRoleCore" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
      </type>
    </element>
    <element id="Composition.date">
      <path value="Composition.date" />
      <definition value="Data e ora della creazione dell'istanza del documento." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.custodian">
      <path value="Composition.custodian" />
      <short value="Organizzazione responsabile della vaccinazione" />
      <definition value="Organizzazione responsabile della conservazione dell'originale del documento, al momento della generazione." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLOrganizationCore" />
      </type>
    </element>
    <element id="Composition.attester">
      <path value="Composition.attester" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="mode" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="Professionisti che attestano la validità del documento. Se la risorsa è creata a fine documentale, uno degli attester dovrebbe essere il firmatario (chi allega la firma digitale al documento)." />
      <min value="1" />
      <max value="*" />
    </element>
    <element id="Composition.attester:legalAuthenticator">
      <path value="Composition.attester" />
      <sliceName value="legalAuthenticator" />
      <short value="Persona Responsabile della Vaccinazione" />
      <definition value="Rappresenta l'attore che ha legalmente autenticato il documento prodotto in locale." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Composition.attester:legalAuthenticator.mode">
      <path value="Composition.attester.mode" />
      <min value="1" />
      <max value="1" />
      <fixedCode value="legal" />
    </element>
    <element id="Composition.attester:legalAuthenticator.time">
      <path value="Composition.attester.time" />
      <short value="Data e ora di firma" />
      <definition value="Quando è stato firmato il documento." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.attester:legalAuthenticator.party">
      <path value="Composition.attester.party" />
      <definition value="Riferimento al firmatario." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPractitionerRoleCore" />
      </type>
    </element>
    <element id="Composition.encounter">
      <path value="Composition.encounter" />
      <definition value="Rappresenta coloro coinvolti nell'atto descritto (es. Ambulatorio Vaccinale, Unità Operativa, Pronto Soccorso, Centro medicina dei viaggi, autorità portuale, Studio Medico MMG/PLS)." />
      <comment value="La fonte riportava una seconda riga 'encounter(...).(PracticionerRoleCore/PracticionerCore)' con dettagli su struttura/organizzazione/professionista (denominazione, indirizzo, email, telefono). Composition.encounter è un singolo Reference 0..1: questi dettagli non sono un elemento Composition separato, ma vanno modellati dentro il profilo RLEncounterCore referenziato (participant/location). L'informazione sul codice di priorità PUÒ essere valorizzata secondo il Value Set 'HL7 ActPriority' (anch'essa da collocare in RLEncounterCore)." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLEncounterCore" />
      </type>
    </element>
    <element id="Composition.extension:versionNumber">
      <path value="Composition.extension" />
      <sliceName value="versionNumber" />
      <definition value="Identificatore specifico della versione per la composizione, assegnato quando ciascuna versione viene creata o aggiornata." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-versionNumber" />
      </type>
    </element>
    <element id="Composition.status">
      <path value="Composition.status" />
      <definition value="Stato del documento." />
      <min value="1" />
      <max value="1" />
      <fixedCode value="final" />
    </element>
    <element id="Composition.section">
      <path value="Composition.section" />
      <comment value="Cardinalità corretta a 1..1 rispetto alla fonte (0..*): il documento veicola sempre e solo questa sezione." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.section.code">
      <path value="Composition.section.code" />
      <definition value="Codice che identifica il tipo di sezione." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Composition.section.code.coding.system">
      <path value="Composition.section.code.coding.system" />
      <comment value="Fixed: LOINC (OID 2.16.840.1.113883.6.1)" />
      <min value="0" />
      <max value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Composition.section.code.coding.version">
      <path value="Composition.section.code.coding.version" />
      <comment value="La fonte riporta 'LOINC' come se fosse un valore fixed; corretto a solo esempio." />
      <min value="0" />
      <max value="1" />
      <example>
        <label value="Esempio" />
        <valueString value="LOINC 2.19" />
      </example>
    </element>
    <element id="Composition.section.code.coding.code">
      <path value="Composition.section.code.coding.code" />
      <min value="0" />
      <max value="1" />
      <fixedCode value="11369-6" />
    </element>
    <element id="Composition.section.code.coding.display">
      <path value="Composition.section.code.coding.display" />
      <min value="0" />
      <max value="1" />
      <fixedString value="Storia delle immunizzazioni" />
    </element>
    <element id="Composition.section.title">
      <path value="Composition.section.title" />
      <min value="1" />
      <max value="1" />
      <fixedString value="Scheda della singola Vaccinazione" />
    </element>
    <element id="Composition.section.text">
      <path value="Composition.section.text" />
      <definition value="Sintesi testuale della sezione." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Composition.section.entry">
      <path value="Composition.section.entry" />
      <slicing>
        <discriminator>
          <type value="profile" />
          <path value="resolve()" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
      <max value="*" />
    </element>
    <element id="Composition.section.entry:datiVaccinazione">
      <path value="Composition.section.entry" />
      <sliceName value="datiVaccinazione" />
      <definition value="Riferimento ai contenuti della sezione relativo ai Dati Vaccinazione." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLImmunizationVaccinazione" />
      </type>
    </element>
    <element id="Composition.section.entry:datiEsonero">
      <path value="Composition.section.entry" />
      <sliceName value="datiEsonero" />
      <definition value="Riferimento ai contenuti della sezione relativo ai Dati Esonero/omissione o differimento." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLImmunizationEsonero" />
      </type>
    </element>
  </differential>
</StructureDefinition>