PackagesCanonicalsLogsProblems
    Packages
    ihe.iti.mhd@5.0.0-comment
    https://profiles.ihe.net/ITI/MHD/StructureDefinition/IHE.BasicAudit.MHD5.Read
description: A basic AuditEvent profile for when a RESTful Read action happens successfully.\n\n- Given a Resource Read is requested \n- And that resource does not have a Patient subject or is otherwise associated with a Patient\n  - when the resource is Patient specific then [PatientRead](StructureDefinition-IHE.BasicAudit.MHD5.PatientRead.html) is used\n- And the request is authorized\n  - Authorization failures should follow [FHIR core Access Denied](http://hl7.org/fhir/security.html#AccessDenied)\n- When successful\n  - Note a failure AuditEvent may follow this pattern, but would not be a successful outcome and should have an OperationOutcome\n- Then the AuditEvent recorded will conform
package_name: ihe.iti.mhd
derivation: constraint
name: Read
type: AuditEvent
elements:
  category:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: value}
      min: 1
      slices:
        anyRead:
          match: {}
          schema:
            binding: {strength: required, valueSet: 'https://profiles.ihe.net/ITI/MHD/ValueSet/AllReadVS'}
            _required: true
            index: 1
          min: 1
          max: 1
  code:
    pattern:
      type: CodeableConcept
      value:
        coding:
        - {code: rest, system: 'http://terminology.hl7.org/CodeSystem/audit-event-type'}
    index: 2
  action:
    pattern: {type: Code, value: R}
    index: 3
  outcome:
    elements:
      code:
        pattern:
          type: Coding
          value: {code: '0', system: 'http://terminology.hl7.org/CodeSystem/audit-event-outcome'}
        index: 4
  agent:
    array: true
    min: 2
    index: 5
    slicing:
      rules: open
      discriminator:
      - {path: type, type: value}
      min: 2
      slices:
        client:
          match:
            type:
              coding:
              - {code: '110152', system: 'http://dicom.nema.org/resources/ontology/DCM'}
          schema:
            _required: true
            index: 6
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: '110152', system: 'http://dicom.nema.org/resources/ontology/DCM'}
                index: 7
              network:
                choices: []
                index: 9
            required: [network, type]
        server:
          match:
            type:
              coding:
              - {code: '110153', system: 'http://dicom.nema.org/resources/ontology/DCM'}
          schema:
            _required: true
            index: 10
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: '110153', system: 'http://dicom.nema.org/resources/ontology/DCM'}
                index: 11
              network:
                choices: []
                index: 13
            required: [network, type]
        user:
          match:
            type:
              coding:
              - {code: IRCP, system: 'http://terminology.hl7.org/CodeSystem/v3-ParticipationType'}
          schema:
            index: 14
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: IRCP, system: 'http://terminology.hl7.org/CodeSystem/v3-ParticipationType'}
                index: 15
              role: {mustSupport: true, index: 16}
              requestor:
                pattern: {type: Boolean, value: true}
                index: 17
              policy: {mustSupport: true, index: 18}
              network:
                choices: []
                index: 20
            required: [type]
  source: {mustSupport: true, index: 21}
  entity:
    index: 22
    slicing:
      rules: open
      discriminator:
      - {path: role, type: value}
      min: 1
      slices:
        transaction:
          match:
            role:
              coding:
              - {code: XrequestId, system: 'https://profiles.ihe.net/ITI/MHD/CodeSystem/BasicAuditEntityType'}
          schema:
            index: 23
            elements:
              what:
                elements:
                  identifier:
                    elements:
                      value: {short: the value of X-Request-Id, index: 24}
                    required: [value]
              role:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: XrequestId, system: 'https://profiles.ihe.net/ITI/MHD/CodeSystem/BasicAuditEntityType'}
                index: 25
            required: [role]
        data:
          match: {role: null}
          schema:
            _required: true
            index: 26
            elements:
              what: {index: 27}
              role:
                binding: {strength: required, valueSet: 'https://profiles.ihe.net/ITI/MHD/ValueSet/RestObjectRoles'}
                index: 28
              securityLabel: {short: may contain the security labels on the resource returned, index: 29}
            required: [what]
package_version: 5.0.0-comment
class: profile
kind: resource
url: https://profiles.ihe.net/ITI/MHD/StructureDefinition/IHE.BasicAudit.MHD5.Read
base: http://hl7.org/fhir/StructureDefinition/AuditEvent
version: 5.0.0-comment
required: [category, entity]