<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="hr-allergy-audit-event" />
  <url value="http://fhir.cezih.hr/specifikacije/StructureDefinition/hr-allergy-audit-event" />
  <version value="0.1" />
  <name value="HRAuditAllergy" />
  <title value="AllergyIntolerance Management service Audit Event" />
  <status value="active" />
  <experimental value="false" />
  <description value="Specifikacija strukture revizijskog zapisa usluge upravljanja alergijama" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="AuditEvent" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/AuditEvent" />
  <derivation value="constraint" />
  <differential>
    <element id="AuditEvent">
      <path value="AuditEvent" />
      <constraint>
        <key value="aler-1" />
        <severity value="error" />
        <human value="Vrsta revizijskog zapisa mora odgovarati podvrsti" />
        <expression value="iif(subtype.code='5.1', type.code='originate', true) and iif(subtype.code='5.2' or subtype.code='5.3' or subtype.code='5.4' or subtype.code='5.5' or subtype.code='5.6', type.code='amend', true) and iif(subtype.code='5.7', type.code='deprecate', true)" />
      </constraint>
    </element>
    <element id="AuditEvent.type">
      <path value="AuditEvent.type" />
      <short value="Vrsta revizijskog zapisa" />
      <definition value="Kod registracije alergije/intolerancije (TR01) potrebno je koristiti vrijednost originate|http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle, kod izmjena podataka ili statusa alergije (TR02, TR03, TR04, TR05, TR06) potrebno je koristiti vrijednost amend|http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle, kod brisanja podataka (TR07) potrebno je koristiti vrijednost deprecate|http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle." />
      <binding>
        <strength value="required" />
        <valueSet value="http://hl7.org/fhir/ValueSet/audit-event-type" />
      </binding>
    </element>
    <element id="AuditEvent.subtype">
      <path value="AuditEvent.subtype" />
      <short value="Podvrsta revizijskog zapisa" />
      <definition value="Podvrsta revizijskog zapisa odgovara vrsti poruke zahtjeva koji je poslan usluzi za upravljanje alergijama/intolerancijama" />
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.cezih.hr/specifikacije/ValueSet/allergy-intolerance-management-message-types" />
      </binding>
    </element>
    <element id="AuditEvent.subtype.system">
      <path value="AuditEvent.subtype.system" />
      <min value="1" />
    </element>
    <element id="AuditEvent.subtype.code">
      <path value="AuditEvent.subtype.code" />
      <min value="1" />
    </element>
    <element id="AuditEvent.action">
      <path value="AuditEvent.action" />
      <min value="1" />
    </element>
    <element id="AuditEvent.outcome">
      <path value="AuditEvent.outcome" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent">
      <path value="AuditEvent.agent" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="AuditEvent.agent:source">
      <path value="AuditEvent.agent" />
      <sliceName value="source" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.agent:source.type">
      <path value="AuditEvent.agent.type" />
      <min value="1" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://dicom.nema.org/resources/ontology/DCM" />
          <code value="110153" />
          <display value="Source Role ID" />
        </coding>
      </fixedCodeableConcept>
    </element>
    <element id="AuditEvent.agent:source.who">
      <path value="AuditEvent.agent.who" />
      <short value="Identifikator autenticiranog korisnika (JWT token)." />
      <definition value="Zdravstveni djelatnik koji je poslao poruku." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
      </type>
    </element>
    <element id="AuditEvent.agent:source.who.identifier">
      <path value="AuditEvent.agent.who.identifier" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent:source.requestor">
      <path value="AuditEvent.agent.requestor" />
      <fixedBoolean value="true" />
    </element>
    <element id="AuditEvent.agent:source.network">
      <path value="AuditEvent.agent.network" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent:source.network.address">
      <path value="AuditEvent.agent.network.address" />
      <short value="Identifikator aplikacije/servisa ili IP adresa vanjskog sustava" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent:source.network.type">
      <path value="AuditEvent.agent.network.type" />
      <short value="“5&quot; (URI) or &quot;2&quot; (IP address)" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent:destination">
      <path value="AuditEvent.agent" />
      <sliceName value="destination" />
      <short value="AllergyIntolerance (FHIR) information" />
      <definition value="Aplikacija upravljanja alergijama na koju je poslana poruka." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.agent:destination.type">
      <path value="AuditEvent.agent.type" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://dicom.nema.org/resources/ontology/DCM" />
          <code value="110152" />
          <display value="Destination Role ID" />
        </coding>
      </fixedCodeableConcept>
    </element>
    <element id="AuditEvent.agent:destination.who">
      <path value="AuditEvent.agent.who" />
      <short value="Aplikacija upravljanja alergijama" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
      </type>
    </element>
    <element id="AuditEvent.agent:destination.who.identifier">
      <path value="AuditEvent.agent.who.identifier" />
      <short value="Identifikator aplikacije upravljanja alergijama" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent:destination.requestor">
      <path value="AuditEvent.agent.requestor" />
      <fixedBoolean value="false" />
    </element>
    <element id="AuditEvent.agent:destination.network">
      <path value="AuditEvent.agent.network" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent:destination.network.address">
      <path value="AuditEvent.agent.network.address" />
      <short value="ID usluge Upravljanje alergijama" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent:destination.network.type">
      <path value="AuditEvent.agent.network.type" />
      <min value="1" />
    </element>
    <element id="AuditEvent.source">
      <path value="AuditEvent.source" />
      <short value="Aplikacija koja je izradila revizijski zapis" />
    </element>
    <element id="AuditEvent.source.observer">
      <path value="AuditEvent.source.observer" />
      <short value="Identifikator aplikacije upravljanja alergijama" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
      </type>
    </element>
    <element id="AuditEvent.source.observer.identifier">
      <path value="AuditEvent.source.observer.identifier" />
      <short value="Identifikator aplikacije koja je izradila revizijski zapis." />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity">
      <path value="AuditEvent.entity" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Informacije o zapisu alergije na koji se odnosi revizijski zapis (pacijent, poruka registracije, poruka odgovora." />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity.what">
      <path value="AuditEvent.entity.what" />
      <short value="Alergija" />
      <definition value="Referenca na message bundle alergije/intolerancije spremljen u FHIR serveru na koji se odnosi AuditEvent poruka." />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity.type">
      <path value="AuditEvent.entity.type" />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity:alergija">
      <path value="AuditEvent.entity" />
      <sliceName value="alergija" />
      <short value="Poruka alergije" />
      <definition value="Potpisana poruka registracije, ukidanja ili izmjene zapisa o alergiji/intoleranciji" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.entity:alergija.what">
      <path value="AuditEvent.entity.what" />
      <short value="Alergija" />
      <definition value="Referenca na message bundle registracije, ukidanja ili izmjene zapisa o alergiji/intoleranciji spremljen u FHIR serveru na koji se odnosi AuditEvent poruka." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.cezih.hr/specifikacije/StructureDefinition/hr-request-message" />
      </type>
    </element>
    <element id="AuditEvent.entity:alergija.what.reference">
      <path value="AuditEvent.entity.what.reference" />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity:alergija.type">
      <path value="AuditEvent.entity.type" />
      <min value="1" />
      <fixedCoding>
        <system value="http://hl7.org/fhir/resource-types" />
        <code value="Bundle" />
      </fixedCoding>
    </element>
    <element id="AuditEvent.entity:alergija.role">
      <path value="AuditEvent.entity.role" />
      <min value="1" />
      <fixedCoding>
        <system value="http://terminology.hl7.org/CodeSystem/object-role" />
        <code value="4" />
        <display value="Domain Resource" />
      </fixedCoding>
    </element>
    <element id="AuditEvent.entity:pacijent">
      <path value="AuditEvent.entity" />
      <sliceName value="pacijent" />
      <short value="Pacijent" />
      <definition value="Pacijent za kojeg je registriran/izmijenjen zapis o alergiji/intoleranciji." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.entity:pacijent.what">
      <path value="AuditEvent.entity.what" />
      <short value="Pacijent" />
      <definition value="Pacijent za kojeg je registriran/izmijenjen zapis o alergiji/intoleranciji." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
      </type>
    </element>
    <element id="AuditEvent.entity:pacijent.what.identifier">
      <path value="AuditEvent.entity.what.identifier" />
      <short value="Identifikator pacijenta" />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity:pacijent.what.identifier.system">
      <path value="AuditEvent.entity.what.identifier.system" />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity:pacijent.what.identifier.value">
      <path value="AuditEvent.entity.what.identifier.value" />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity:pacijent.type">
      <path value="AuditEvent.entity.type" />
      <min value="1" />
      <fixedCoding>
        <system value="http://hl7.org/fhir/resource-types" />
        <code value="Patient" />
      </fixedCoding>
    </element>
    <element id="AuditEvent.entity:pacijent.role">
      <path value="AuditEvent.entity.role" />
      <min value="1" />
      <fixedCoding>
        <system value="http://terminology.hl7.org/CodeSystem/object-role" />
        <code value="4" />
        <display value="Domain Resource" />
      </fixedCoding>
    </element>
    <element id="AuditEvent.entity:odgovor">
      <path value="AuditEvent.entity" />
      <sliceName value="odgovor" />
      <short value="Poruka odgovora na originalnu poruku" />
      <max value="1" />
    </element>
    <element id="AuditEvent.entity:odgovor.what">
      <path value="AuditEvent.entity.what" />
      <short value="Poduka odgovora" />
      <definition value="Poruka odgovora na primljenu poruku registracije, ukidanja ili izmjene zapisa o alergiji/intoleranciji." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.cezih.hr/specifikacije/StructureDefinition/hr-response-message" />
      </type>
    </element>
    <element id="AuditEvent.entity:odgovor.type">
      <path value="AuditEvent.entity.type" />
      <min value="1" />
      <fixedCoding>
        <system value="http://terminology.hl7.org/CodeSystem/audit-entity-type" />
        <code value="2" />
        <display value="System Object" />
      </fixedCoding>
    </element>
    <element id="AuditEvent.entity:odgovor.role">
      <path value="AuditEvent.entity.role" />
      <min value="1" />
      <fixedCoding>
        <system value="http://terminology.hl7.org/CodeSystem/object-role" />
        <code value="4" />
        <display value="Domain Resource" />
      </fixedCoding>
    </element>
  </differential>
</StructureDefinition>