This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "Permissions Catalog: Recommendations for Reuse"

From HL7Wiki
Jump to navigation Jump to search
Line 71: Line 71:
 
| create
 
| create
 
| create
 
| create
| create
+
| NA - see "activate"
 
|-
 
|-
 
|revise
 
|revise

Revision as of 18:25, 28 August 2008

Reusing the HL7 RBAC Permission Catalog Terminology
for Composite Privacy Consent Directive

Introduction

The current Permissions Catalog for Role-Based Access Control (RBAC) specifies a set of normative permissions that may grouped into functional roles for use in healthcare. The Security WG (jointly with CBCC) is currently working on a project intended to provide controlled terminology for the operations and objects referenced in the RBAC Permission Catalog (see TSC project list - item 118).

The permission catalog ad-hoc operation and object names is a normative specification and it is available for download.

The Community-based Collaborative Care (CBCC) work group is responsible for the maintenance and enhancement of the Data Consent standard (Release 1 approved in 2007). The Data Consent standard was enhanced and the update will continue through May 2009 (see Composite Privacy Directive Release 1, Draft for Comment).

The RBAC operations extend the typical database C(reate),R(ead),U(update),D(elete) operations and they refer specifically to the ability of healthcare users to:

  • append,
  • create,
  • read,
  • update,
  • delete, and
  • execute (?) "[...]results only in initiating performance of a single or set of programs."

specific healthcare "objects" identified in the RBAC Permission Catalog. The RBAC "objects" refer to a variety of healthcare information elements (e.g. Progress Notes, Summary Report) and functions (e.g. ADT). A permission specifies an operation and the object on it it is applied :

Permission

ID

Operation

Object

Effect

PAD-017

create, read

Administrative Ad Hoc Report

  • Create/Display/Print Administrative Ad Hoc Report
    • {C, Administrative Ad Hoc Report}
    • {R, Administrative Ad Hoc Report}

A role that has this permission, allows the user that logs in with that role to create a new ad-hoc administrative report for any patient and read the contents of any administrative ad-hoc reports for any patient.

PRD-017

read

Progress Notes

  • Review Progress Notes
    • {R, Progress Notes}

A role that has this permission, allows the user that logs in with that role to review progress notes for any patient.

Sample Permission

HL7 Operations rather RBAC-only Operations

In order to reuse the RBAC operations for both RBAC and Composite Privacy Consent Directive (and perhaps other standards in the future), it would be preferable if the RBAC operations could be based on the HL7 trigger events specified in the HL7 RIM reference documentation and the #HL7 RIM References included in this document. The healthcare work flow as specified in HL7, provides for "trigger events" that correspond to healthcare-specific operations. The following table is an example mapping of the HL7 trigger events to RBAC operations. As seen here, the HL7 triggers/operations are more closely related to the healthcare delivery workflow and thus they will promote the reuse of HL7 permissions.

HL7 Operations (trigger event) RBAC Operations Data Consent Operation
create create NA - see "activate"
revise update,append revise
activate NA activate
complete NA NA
suspend NA NA
resume NA NA
abort delete(?) NA
hold NA NA
release NA NA
cancel delete(?) NA
obsolete delete(?) obsolete
nullify delete(?) nullify

Extensions to HL7 trigger events

The following operations are not currently specified in the HL7TriggerEventCodes and do not affect the state of a healthcare object but they are important to RBAC and Data Consent:

RBAC Operations Data Consent Operation
read read
NA forward
NA save
NA print
NA excerpt
execute NA

The following diagram shows the trigger events and the states that correspond to the healthcare work flow for healthcare object (e.g. Act). For example, an order may be created, activated, then canceled. Similarly an order may be created, activate, revised, and eventually completed.

Value Sets for "Object"

Currently, the Security work group is attempting to map the "objects" specified in the Permissions Catalog to SNOMED CT codes. However, several "objects" in the permission catalog are actually document types that have been codified for use with the CDA R2 standard. Additionally, sections of the CDA documents have been standardized by HL7. Since CDA R2 clinical documents are often used to exchange patient records between organizations, the ability to refer to specific types of documents or sections of a document may be useful both for RBAC and consent directive specifications.

HL7 Concept Domains and HL7 Coding Systems

The availability of HL7 concept domains and coding systems allows the reuse of RBAC object terminology by other standards such as Composite Privacy Consent Directive (aka Data Consent ).


HL7 RIM References

The following diagram is an extract from HL7 RIM reference documentation and illustrates how HL7 defines "healthcare trigger events" and it illustrates the life cycle of a typical healthcare object (e.g. Act). RIM ActStatus.gif States of Act (also specified using the ActStatus coding system):

  • aborted (sub-state of normal): The Act has been terminated prior to the originally intended completion.
  • active (sub-state of normal): The Act can be performed or is being performed.
  • cancelled (sub-state of normal): The Act has been abandoned before activation.
  • completed (sub-state of normal): An Act that has terminated normally after all of its constituents have been performed.
  • held (sub-state of normal): An Act that is still in the preparatory stages has been put aside. No action can occur until the Act is released.
  • new (sub-state of normal): An Act that has been activated (actions could or have been performed against it), but has been temporarily disabled. No further action should be taken against it until it is released.
  • normal: Encompasses the expected states of a service object, but excludes "nullified" and "obsolete" which represent unusual terminal states for the life-cycle.
  • nullified: This Act instance was created in error and has been 'removed' and is treated as though it never existed. A record is retained for audit purposes only.
  • obsolete: This Act instance has been replaced by a new instance.
  • suspended (sub-state of normal): Active service object is temporarily suspended.


State transitions of Act:

  • abort (from active to aborted)
  • revise (from active to active)
  • complete (from active to completed)
  • suspend (from active to suspended)
  • reactivate (from completed to active)
  • revise (from completed to completed)
  • cancel (from held to canceled)
  • revise (from held to held)
  • release (from held to new)
  • activate (from new to active)
  • cancel (from new to canceled)
  • complete (from new to completed)
  • hold (from new to held)
  • revise (from new to new)
  • nullify (from normal to nullified)
  • obsolete (from normal to obsolete)
  • activate (from null to active)
  • complete (from null to completed)
  • create (from null to new)
  • jump (from null to normal)
  • abort (from suspended to aborted)
  • resume (from suspended to active)
  • complete (from suspended to completed)
  • revise (from suspended to suspended)