<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.siss.regione.lombardia.it/StructureDefinition/ReteLabMessageHeaderAck" />
  <name value="ReteLabMessageHeaderAck" />
  <status value="active" />
  <date value="2023-12-21T14:31:53.6384566+00:00" />
  <description value="Utilizzato per i messaggi di ACK:&#xD;&#xA;- di commit, per tutti i flussi&#xD;&#xA;- applicativi, nel caso di risultati disponibili e refertato" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MessageHeader" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MessageHeader" />
  <derivation value="constraint" />
  <differential>
    <element id="MessageHeader.id">
      <path value="MessageHeader.id" />
      <short value="ID del messaggio" />
      <definition value="Identificativo di business. Corrispondente campo HL7 secondo specifiche regionali: MSH-10" />
    </element>
    <element id="MessageHeader.meta">
      <path value="MessageHeader.meta" />
      <short value="Metadati della risorsa" />
    </element>
    <element id="MessageHeader.meta.versionId">
      <path value="MessageHeader.meta.versionId" />
      <short value="Versione della risorsa" />
    </element>
    <element id="MessageHeader.meta.lastUpdated">
      <path value="MessageHeader.meta.lastUpdated" />
      <short value="Data e ora di ultimo aggiornamento della risorsa" />
      <definition value="Formato standard FHIR: YYY-MM-DDThh:mm:ss.sss+zz:zz" />
    </element>
    <element id="MessageHeader.meta.profile">
      <path value="MessageHeader.meta.profile" />
      <short value="Profilo al quale la risorsa si riferisce" />
      <type>
        <code value="canonical" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/ReteLabMessageHeaderAck" />
      </type>
    </element>
    <element id="MessageHeader.event[x]">
      <path value="MessageHeader.event[x]" />
      <short value="Codice evento" />
      <type>
        <code value="Coding" />
      </type>
    </element>
    <element id="MessageHeader.event[x].system">
      <path value="MessageHeader.event[x].system" />
      <fixedUri value="https://fhir.siss.regione.lombardia.it/ValueSet/CodiceEventoMessageHeader" />
    </element>
    <element id="MessageHeader.event[x].code">
      <path value="MessageHeader.event[x].code" />
      <short value="Codice evento" />
      <definition value="Corrispondente campo HL7 secondo specifiche regionali: MSH-9.2" />
      <binding>
        <strength value="required" />
        <description value="ValueSet relativo alla codifica del codice evento secondo standard HL7" />
        <valueSet value="https://fhir.siss.regione.lombardia.it/ValueSet/CodiceEventoMessageHeader" />
      </binding>
    </element>
    <element id="MessageHeader.event[x].display">
      <path value="MessageHeader.event[x].display" />
      <short value="Descrizione codice evento" />
    </element>
    <element id="MessageHeader.destination">
      <path value="MessageHeader.destination" />
      <short value="Applicazione di destinazione del messaggio" />
      <definition value="Codice identificativo applicativo di destinazione." />
      <comment value="Corrispondente campo HL7 secondo specifiche regionali: MSH-5, MSH-6" />
    </element>
    <element id="MessageHeader.destination.name">
      <path value="MessageHeader.destination.name" />
      <short value="Nome applicazione di destinazione" />
      <comment value="Corrispondente campo HL7 secondo specifiche regionali: MSH-5.1, MSH-6" />
    </element>
    <element id="MessageHeader.destination.endpoint">
      <path value="MessageHeader.destination.endpoint" />
      <short value="Endpoint dell'applicativo di destinazione" />
    </element>
    <element id="MessageHeader.source">
      <path value="MessageHeader.source" />
      <short value="Applicazione sorgente" />
      <definition value="Codice identificativo dell'Applicativo Inviante" />
      <comment value="Corrispondente campo HL7 secondo specifiche regionali: MSH-3, MSH-4" />
    </element>
    <element id="MessageHeader.source.name">
      <path value="MessageHeader.source.name" />
      <short value="Nome applicativo sorgente" />
      <comment value="Corrispondente campo HL7 secondo specifiche regionali: MSH-3.1, MSH-4.1" />
    </element>
    <element id="MessageHeader.source.software">
      <path value="MessageHeader.source.software" />
      <short value="Nome software applicativo" />
    </element>
    <element id="MessageHeader.source.endpoint">
      <path value="MessageHeader.source.endpoint" />
      <short value="Endpoint dell'applicativo sorgente" />
    </element>
    <element id="MessageHeader.reason">
      <path value="MessageHeader.reason" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="Necessario indicare se il messaggio è di tipo applicativo o di commit. &#xD;&#xA;Questo permette di discriminare il flusso di messaggi se il codice evento è ACK^T02, ACK^T06 oppure ACK^R22." />
      <min value="1" />
    </element>
    <element id="MessageHeader.reason:applicationACK">
      <path value="MessageHeader.reason" />
      <sliceName value="applicationACK" />
      <short value="L'evento è un ack applicativo" />
      <definition value="L'ack applicativo è un messaggio di risposta, mandato per confermare la corretta ricezione ed elaborazione del messaggio da parte del destinatario." />
    </element>
    <element id="MessageHeader.reason:applicationACK.coding">
      <path value="MessageHeader.reason.coding" />
      <fixedCoding>
        <code value="application" />
      </fixedCoding>
    </element>
    <element id="MessageHeader.reason:commitACK">
      <path value="MessageHeader.reason" />
      <sliceName value="commitACK" />
      <short value="ack di commit" />
      <definition value="L'ack di commit è un messaggio di risposta, mandato per confermare la corretta ricezione del messaggio, ma non la sua elaborazione." />
    </element>
    <element id="MessageHeader.reason:commitACK.coding">
      <path value="MessageHeader.reason.coding" />
      <fixedCoding>
        <code value="commit" />
      </fixedCoding>
    </element>
    <element id="MessageHeader.response">
      <path value="MessageHeader.response" />
      <min value="1" />
    </element>
    <element id="MessageHeader.response.identifier">
      <path value="MessageHeader.response.identifier" />
      <short value="ID del messaggio a cui si sta rispondendo" />
      <comment value="Corrispondente campo HL7 secondo specifiche regionali: MSA - 2" />
    </element>
    <element id="MessageHeader.response.code">
      <path value="MessageHeader.response.code" />
      <short value="Codice che identifica il tipo di risposta al messaggio" />
      <definition value="- ok: se il messaggio ha avuto successo&#xD;&#xA;- fatal-error: se il messaggio è stato rifiutato" />
    </element>
    <element id="MessageHeader.response.details">
      <path value="MessageHeader.response.details" />
      <short value="Problemi trovati nel messaggio" />
      <definition value="Reference al profilo ReteLabOperationOutcome" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/ReteLabOperationOutcome" />
      </type>
    </element>
  </differential>
</StructureDefinition>