{
  "resourceType": "StructureDefinition",
  "id": "ehe-hi-management-audit-event",
  "meta": {
    "versionId": "48",
    "lastUpdated": "2026-01-26T10:16:55.2909597+00:00",
    "source": "#l75sfFphrVnbXuQo",
    "security": [
      {
        "system": "https://trifolia-fhir.lantanagroup.com/security",
        "code": "everyone^read"
      },
      {
        "system": "https://trifolia-fhir.lantanagroup.com/security",
        "code": "everyone^write"
      }
    ]
  },
  "url": "http://ent.hr/fhir/StructureDefinition/ehe-hi-management-audit-event",
  "version": "0.1",
  "name": "EHEHealthIssueManagementAuditEvent",
  "title": "Health Issue Management service Audit Event",
  "status": "active",
  "experimental": false,
  "description": "Specifikacija strukture revizijskog zapisa usluge upravljanja zdravstvenim slučajevima pacijenta",
  "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": "hi-1",
            "severity": "error",
            "human": "Vrsta revizijskog zapisa mora odgovarati podvrsti",
            "expression": "iif(subtype.code='2.3' or subtype.code='2.4' or subtype.code='2.5' or subtype.code='2.6'  or subtype.code='2.8'  or subtype.code='2.9', type.code='amend', true) and iif(subtype.code='2.1' or subtype.code='2.2', type.code='originate', true) and iif(subtype.code='2.7', type.code='destroy', true)"
          }
        ]
      },
      {
        "id": "AuditEvent.type",
        "path": "AuditEvent.type",
        "short": "Vrsta revizijskog zapisa",
        "binding": {
          "strength": "required"
        }
      },
      {
        "id": "AuditEvent.subtype",
        "path": "AuditEvent.subtype",
        "short": "Podvrsta revizijskog zapisa",
        "definition": "Podvrsta revizijskog zapisa odgovara vrsti poruke zahtjeva koji je poslan usluzi za upravljanje slučajevima",
        "min": 1,
        "max": "1",
        "binding": {
          "strength": "required",
          "valueSet": "http://ent.hr/fhir/ValueSet/health-issue-management-message-types"
        }
      },
      {
        "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",
        "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). Može biti krajnji korisnik (Zdravstveni djelatnik) ili Informacijski sustav",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:source.who.type",
        "path": "AuditEvent.agent.who.type",
        "short": "Upisuje se samo u slučaju krajnjeg korisnika (zdravstveni djelatnik ili pacijent) u slučaju informacijskog sustava se ne upisuje",
        "constraint": [
          {
            "key": "hi-2",
            "severity": "error",
            "human": "Tip može biti samo zdravstveni djelatnik (Practitioner) ili pacijent (Patient)",
            "expression": "iif($this='Patient' or $this='Practitioner', true, false)"
          }
        ]
      },
      {
        "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",
        "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": "ID usluge Upravljanje slučajevima",
        "min": 1
      },
      {
        "id": "AuditEvent.agent:destination.who.identifier",
        "path": "AuditEvent.agent.who.identifier",
        "min": 1
      },
      {
        "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 slučajevima",
        "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 slučajevima"
      },
      {
        "id": "AuditEvent.source.observer.identifier",
        "path": "AuditEvent.source.observer.identifier",
        "min": 1
      },
      {
        "id": "AuditEvent.entity",
        "path": "AuditEvent.entity",
        "short": "Informacije o slučaju na koji se odnosi revizijski zapis"
      },
      {
        "id": "AuditEvent.entity.what",
        "path": "AuditEvent.entity.what",
        "short": "Jedinstveni identifikator slučaja (ID kojeg dodjeljuje usluga)",
        "min": 1
      },
      {
        "id": "AuditEvent.entity.what.type",
        "path": "AuditEvent.entity.what.type",
        "min": 1,
        "fixedUri": "Condition"
      },
      {
        "id": "AuditEvent.entity.what.identifier",
        "path": "AuditEvent.entity.what.identifier",
        "min": 1
      },
      {
        "id": "AuditEvent.entity.type",
        "path": "AuditEvent.entity.type",
        "min": 1,
        "fixedCoding": {
          "system": "http://hl7.org/fhir/resource-types",
          "code": "Condition",
          "display": "Condition"
        }
      },
      {
        "id": "AuditEvent.entity.role",
        "path": "AuditEvent.entity.role",
        "min": 1,
        "fixedCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/object-role",
          "code": "4",
          "display": "Domain Resource"
        }
      }
    ]
  }
}