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