<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLCompositionTesseraPortatoreImpianto" />
  <name value="RLCompositionTesseraPortatoreImpianto" />
  <title value="RL Composition Tessera Portatore Impianto" />
  <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="Tessera Portatore Impianto" />
      <definition value="Documento FHIR che rappresenta la Tessera per il Portatore di Impianto (TPI) 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" />
      <definition value="Sistema di codifica." />
      <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" />
      <definition value="Versione del sistema di codifica." />
      <comment value="La fonte riporta 'LOINC' come se fosse un valore fixed per questo campo; corretto a solo esempio, coerente con RLCompositionRefertoRadiologia." />
      <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="101881-1" />
    </element>
    <element id="Composition.type.coding.display">
      <path value="Composition.type.coding.display" />
      <definition value="Descrizione leggibile del sistema locale." />
      <min value="0" />
      <max value="1" />
      <fixedString value="Tessera per il portatore di impianto" />
    </element>
    <element id="Composition.title">
      <path value="Composition.title" />
      <definition value="L'elemento title specifica il titolo del documento." />
      <min value="1" />
      <max value="1" />
      <fixedString value="Tessera per il portatore di impianto" />
    </element>
    <element id="Composition.date">
      <path value="Composition.date" />
      <definition value="Giorno e ora della creazione dell'istanza del documento." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.extension:dataEnterer">
      <path value="Composition.extension" />
      <sliceName value="dataEnterer" />
      <definition value="Persona o dispositivo che trasforma un testo dettato nel documento FHIR." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.it/fhir/StructureDefinition/composition-dataenterer-it" />
      </type>
    </element>
    <element id="Composition.subject">
      <path value="Composition.subject" />
      <definition value="Paziente a cui si riferisce il documento." />
      <comment value="Cardinalità corretta a 1..1 rispetto alla fonte (0..1): il subject è sempre presente in una TPI." />
      <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" />
      <definition value="Professionista responsabile della redazione del documento." />
      <comment value="La fonte riportava per questo elemento la stessa definizione di dataEnterer (refuso di copia); sostituita con la definizione standard di author." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPractitionerRoleCore" />
      </type>
    </element>
    <element id="Composition.custodian">
      <path value="Composition.custodian" />
      <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="Medico Firmatario" />
      <definition value="Firmatario del documento FHIR." />
      <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.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/RLPractitionerCore" />
        <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." />
      <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.relatesTo">
      <path value="Composition.relatesTo" />
      <definition value="Collega la Composition a una precedente Tessera Portatore Impianto associata allo stesso dispositivo." />
      <comment value="R4" />
      <min value="0" />
      <max value="*" />
    </element>
    <element id="Composition.relatesTo.code">
      <path value="Composition.relatesTo.code" />
      <short value="Tipo di relazione con il documento precedente." />
      <comment value="R4. Valore tipico atteso: 'replaces'." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.relatesTo.target[x]">
      <path value="Composition.relatesTo.target[x]" />
      <definition value="Riferimento alla tessera portatore di impianto precedentemente associata al dispositivo." />
      <comment value="Vincolato a solo Identifier (anziché Identifier | Reference(Composition)): si riporta l'identifier del documento esterno precedente, non una reference diretta. Vedi: https://hl7itig.art-decor.pub/hl7itig-html-20260115T093950/tmp-2.16.840.1.113883.3.1937.777.63.10.759-2025-07-31T161543.html" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Identifier" />
      </type>
    </element>
    <element id="Composition.section">
      <path value="Composition.section" />
      <comment value="Cardinalità corretta a 1..1 rispetto alla fonte (0..*): il documento TPI veicola sempre e solo questa sezione con il dispositivo impiantato." />
      <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" />
      <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="74720-4" />
    </element>
    <element id="Composition.section.code.coding.display">
      <path value="Composition.section.code.coding.display" />
      <min value="0" />
      <max value="1" />
      <fixedString value="Dispositivo" />
    </element>
    <element id="Composition.section.title">
      <path value="Composition.section.title" />
      <definition value="Titolo della sezione." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Composition.section.text">
      <path value="Composition.section.text" />
      <definition value="Contenuto narrativo della sezione, rappresentato in formato leggibile." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Composition.section.entry">
      <path value="Composition.section.entry" />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLDeviceUseStatementTPI" />
      </type>
    </element>
  </differential>
</StructureDefinition>