### ----------------------------------------------------
### -- FHIR
### -- Licenses: Artistic-2.0
### -- Authors: Hugh Simpson
### -- File: t/resources/structureDefinition/AuditEvent.json
### ----------------------------------------------------
### -- Chunk 12 of 12
 "map" : "ParticipantObjectTypeCode"
      },
      {
        "identity" : "w3c.prov",
        "map" : "Entity.type"
      },
      {
        "identity" : "fhirprovenance",
        "map" : "Provenance.entity.type"
      }]
    },
    {
      "id" : "AuditEvent.entity.role",
      "path" : "AuditEvent.entity.role",
      "short" : "What role the entity played",
      "definition" : "Code representing the role the entity played in the event being audited.",
      "requirements" : "For some detailed audit analysis it may be necessary to indicate a more granular type of entity, based on the application role it serves.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Coding"
      }],
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "AuditEventEntityRole"
        }],
        "strength" : "extensible",
        "description" : "Code representing the role the entity played in the audit event.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/object-role"
      },
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : "role.code (not sure what this would mean for an Act)"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectTypeCodeRole"
      },
      {
        "identity" : "w3c.prov",
        "map" : "Entity.role"
      }]
    },
    {
      "id" : "AuditEvent.entity.lifecycle",
      "path" : "AuditEvent.entity.lifecycle",
      "short" : "Life-cycle stage for the entity",
      "definition" : "Identifier for the data life-cycle stage for the entity.",
      "comment" : "This can be used to provide an audit trail for data, over time, as it passes through the system.",
      "requirements" : "Institutional policies for privacy and security may optionally fall under different accountability rules based on data life cycle. This provides a differentiating value for those cases.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Coding"
      }],
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "AuditEventEntityLifecycle"
        }],
        "strength" : "extensible",
        "description" : "Identifier for the data life-cycle stage for the entity.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/object-lifecycle-events"
      },
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : "target of ObservationEvent[code=\"lifecycle\"].value"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectDataLifeCycle"
      },
      {
        "identity" : "w3c.prov",
        "map" : "Entity.role"
      },
      {
        "identity" : "fhirprovenance",
        "map" : "Provenance.entity.role"
      }]
    },
    {
      "id" : "AuditEvent.entity.securityLabel",
      "path" : "AuditEvent.entity.securityLabel",
      "short" : "Security labels on the entity",
      "definition" : "Security labels for the identified entity.",
      "comment" : "Copied from entity meta security tags.",
      "requirements" : "This field identifies the security labels for a specific instance of an object, such as a patient, to detect/track privacy and security issues.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Coding"
      }],
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "SecurityLabels"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
          "valueBoolean" : true
        }],
        "strength" : "extensible",
        "description" : "Security Labels from the Healthcare Privacy and Security Classification System.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/security-labels"
      },
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : ".confidentialityCode"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectSensitivity"
      }]
    },
    {
      "id" : "AuditEvent.entity.name",
      "path" : "AuditEvent.entity.name",
      "short" : "Descriptor for entity",
      "definition" : "A name of the entity in the audit event.",
      "comment" : "This field may be used in a query/report to identify audit events for a specific person.  For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used.",
      "requirements" : "Use only where entity can't be identified with an identifier.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }],
      "condition" : ["sev-1"],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : ".title"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectName"
      },
      {
        "identity" : "w3c.prov",
        "map" : "Entity.Label"
      }]
    },
    {
      "id" : "AuditEvent.entity.description",
      "path" : "AuditEvent.entity.description",
      "short" : "Descriptive text",
      "definition" : "Text that describes the entity in more detail.",
      "requirements" : "Use only where entity can't be identified with an identifier.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : ".text"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectDescription"
      }]
    },
    {
      "id" : "AuditEvent.entity.query",
      "path" : "AuditEvent.entity.query",
      "short" : "Query parameters",
      "definition" : "The query parameters for a query-type entities.",
      "comment" : "The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role.  The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded.  An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example, if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob.",
      "requirements" : "For query events, it may be necessary to capture the actual query input to the query process in order to identify the specific event. Because of differences among query implementations and data encoding for them, this is a base 64 encoded data blob. It may be subsequently decoded or interpreted by downstream audit analysis processing.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "base64Binary"
      }],
      "condition" : ["sev-1"],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : "No mapping"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectQuery"
      }]
    },
    {
      "id" : "AuditEvent.entity.detail",
      "path" : "AuditEvent.entity.detail",
      "short" : "Additional Information about the entity",
      "definition" : "Tagged value pairs for conveying additional information about the entity.",
      "requirements" : "Implementation-defined data about specific details of the object accessed or used.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : ".inboundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN]"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectDetail"
      }]
    },
    {
      "id" : "AuditEvent.entity.detail.type",
      "path" : "AuditEvent.entity.detail.type",
      "short" : "Name of the property",
      "definition" : "The type of extra detail provided in the value.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : ".code"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectDetail.type"
      }]
    },
    {
      "id" : "AuditEvent.entity.detail.value[x]",
      "path" : "AuditEvent.entity.detail.value[x]",
      "short" : "Property value",
      "definition" : "The  value of the extra detail.",
      "comment" : "The value can be string when known to be a string, else base64 encoding should be used to protect binary or undefined content.  The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role.  The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded.  An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob.",
      "requirements" : "Should not duplicate the entity value unless absolutely necessary.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "string"
      },
      {
        "code" : "base64Binary"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.context"
      },
      {
        "identity" : "rim",
        "map" : ".value"
      },
      {
        "identity" : "dicom",
        "map" : "ParticipantObjectDetail.value"
      }]
    }]
  }
}


