Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Journal of Biomedical Informatics 45 (2012) 1084–1107

Contents lists available at SciVerse ScienceDirect

Journal of Biomedical Informatics


journal homepage: www.elsevier.com/locate/yjbin

An enhancement of the Role-Based Access Control model to facilitate


information access management in context of team collaboration and workflow
Xuan Hung Le, Terry Doll, Monica Barbosu, Amneris Luque, Dongwen Wang ⇑
University of Rochester Medical Center, Rochester, NY 14642, USA

a r t i c l e i n f o a b s t r a c t

Article history: Although information access control models have been developed and applied to various applications,
Received 22 November 2011 few of the previous works have addressed the issue of managing information access in the combined con-
Accepted 6 June 2012 text of team collaboration and workflow. To facilitate this requirement, we have enhanced the Role-Based
Available online 23 June 2012
Access Control (RBAC) model through formulating universal constraints, defining bridging entities and
contributing attributes, extending access permissions to include workflow contexts, synthesizing a
Keywords: role-based access delegation model to target on specific objects, and developing domain ontologies as
Access control
instantiations of the general model to particular applications. We have successfully applied this model
Computation model
Information management
to the New York State HIV Clinical Education Initiative (CEI) project to address the specific needs of infor-
Computer supported cooperative work mation management in collaborative processes. An initial evaluation has shown this model achieved a
Workflow high level of agreement with an existing system when applied to 4576 cases (kappa = 0.801). Comparing
Medical education to a reference standard, the sensitivity and specificity of the enhanced RBAC model were at the level of
97–100%. These results indicate that the enhanced RBAC model can be effectively used for information
access management in context of team collaboration and workflow to coordinate clinical education pro-
grams. Future research is required to incrementally develop additional types of universal constraints, to
further investigate how the workflow context and access delegation can be enriched to support the var-
ious needs on information access management in collaborative processes, and to examine the generaliz-
ability of the enhanced RBAC model for other applications in clinical education, biomedical research, and
patient care.
 2012 Elsevier Inc. All rights reserved.

1. Introduction or level of access (for example, reviewing existing data vs. docu-
menting new activities), usually depend on the specific context
Information access is an essential requirement to biomedical re- of workflow (for example, goals, tasks, and available resources)
search, clinical education, and patient care [1–7]. Information sys- and particular requirements of team collaboration (for example,
tems can improve access to the right information in the right expertise needed for work and responsibilities assigned to individ-
context at the right time [1,2,4,6–14]. Facilitating information ual team members) [11,12,19,20,25,36,37]. Addressing the needs
access through information systems is therefore an effective ap- for information access management in collaborative processes is
proach to address information needs [9,11,12], to improve team thus becoming a fundamental requirement to all information
collaboration [15–22], and to enhance workflow [8,23–25]. Mean- systems.
while, we frequently need to limit or to control the access to cer- Since the late 1960s’, the research community has proposed
tain information such as to protect patient privacy [26–29], to various information access control models, such as Access Matrix
ensure confidentiality of sensitive data [30–32], and to filter out [38], Rule-Based Access Control [39], Discretionary Access Control
irrelevant information to reduce information overload [33–35]. In (DAC) [40], Mandatory Access Control (MAC) [40], Attribute-Based
all these situations, we face the challenging issue of information Access Control [41], and Role-Based Access Control (RBAC) [42].
access management. Previous research have shown that the These models and their extensions have been applied to specific
requirements of information access are continuously changing, applications to manage information access. Nevertheless, few of
and such changes, either in scope of information (for example, these works have addressed the issue of managing information ac-
availability of new data vs. restriction of access to certain records) cess within the context of team collaboration and workflow. In this
paper, we present an enhancement of the RBAC model to facilitate
⇑ Corresponding author. Address: University of Rochester Medical Center, 601 information access management in such context. This enhanced
Elmwood Avenue, Box 630, Rochester, NY 14642, USA. Fax: +1 585 273 1031. model can provide a general framework for two purposes: (1) to
E-mail address: dongwen_wang@urmc.rochester.edu (D. Wang). define policies for information access management when

1532-0464/$ - see front matter  2012 Elsevier Inc. All rights reserved.
http://dx.doi.org/10.1016/j.jbi.2012.06.001
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1085

considering the combined contexts of team collaboration and access is based on: (1) individual members’ responsibility in the
workflow; and (2) to manage the appropriate scope and level of team; (2) an overall strategy on how a complex task can be divided
information access based on predefined policies. Once integrated into small pieces and assigned to individual team members; and (3)
with domain ontologies, this model and the associated tools can a protocol to re-assemble the small pieces of work together to
support information access management in particular domains achieve the overall project goal. Biomedical research, clinical educa-
and applications. We will use specific examples from the New York tion, and patient care all require multi-disciplinary collaboration.
State (NYS) HIV Clinical Education Initiative (CEI) [43] project to Previous efforts to develop information systems for applications in
illustrate the concepts of the model and to demonstrate its use these areas have focused on applying CSCW to support collaborative
for coordination of clinical education programs. As a long term clinical tasks [17,20,36], to facilitate communication among team
goal, this model has the potential to be enriched and applied to members of biomedical research [15,16,22], and to coordinate
various domains for a wide range of applications such as protecting healthcare management activities [18,19,21]. Managing informa-
patient privacy, leveraging biomedical research expertise from tion access is a fundamental requirement to all these works.
multiple disciplines, coordinating clinical training resources in dif-
ferent topic areas and geographical regions, facilitating communi- 2.3. Process and workflow management
cations among clinical care team members or between clinicians
and patients, and improving chronic disease management. Workflow is another application context for information access
management. In these cases, information systems are designed to
2. Background assist the management of complex processes consisting a series of
steps to execute in certain sequence. In the context of workflow
2.1. Access control models management, information access should be defined based on: (1)
information needs in specific steps of the workflow; and (2) man-
Access control is an essential requirement to ensure information agement of the general work process to ensure achievement of the
security. It is also a critical system component to filter out irrelevant overall project goal. It is widely documented in the literature that
data, to provide customized views, and to improve effectiveness in facilitating workflow is one of the most important factors for suc-
information management. Previous research has proposed various cessful implementation of information systems for biomedical re-
information access control models. Among these, Access Matrix search, clinical education, and patient care [8,23–25]. Since the
[38] was the first introduced by Lampson in 1969, with a simple workflow context defines the specific tasks that require access to
structure consisting two elements: access permission and user particular information, managing information access in context of
identification. In 1973, Lapadule and Bell proposed the Rule-Based workflow is another critical requirement to information systems
Access Control model [39], within which access permissions were [37].
assigned to users based on specific rules. Later, the United States
Department of Defense released DAC and MAC [40]. In these models, 2.4. New York State HIV CEI
access permissions were managed based on individual users, which
introduced complexity and cost to manage a large-scale system. In The NYS HIV CEI program [43] is sponsored by the NYS Depart-
the early 1990s, RBAC was proposed and then standardized by Na- ment of Health AIDS Institute. It has been engaging in educational
tional Institute of Standards and Technology (NIST) [42]. RBAC activities for nearly two decades to meet the needs of community
solved the complexity issue by assigning permissions to users based clinicians who provide healthcare for HIV patients. In 2008, the
on their roles in organizations to denote specific job functions and NYS CEI program was reorganized to reflect the new priorities in
the associated authorities and responsibilities. For two decades, specific topics of HIV clinical education, to address the differences
RBAC has been widely used owing to its salient features such as gen- between the Upstate New York region and the Metropolitan New
eralization, simplicity, and effectiveness. York City area, to develop online training programs, and to provide
Because of special domain needs, healthcare has unique resource coordination and program evaluation. Consequently, the
requirements on information access management. A number of CEI program created seven training centers: (1) Testing, Post-Expo-
access control applications have been developed to protect patient sure Prophylaxis (PEP), and Diagnosis Center (TPDC); (2) Preven-
privacy [44–46], to facilitate access to relevant information and re- tion and Substance Use Center (PSUC); (3) Mental Health Center
sources by healthcare providers [47–49], and to ensure appropriate (MHC); (4) Clinical Education Center for Upstate Providers
level of access to electronic medical records and personal health (CECUP); (5) Technology Center (TC); (6) Resource and Referral
records [50–52]. Regarding the specific application contexts, Pre- Center (RRC); and (7) Evaluation Center (EC). According to the
deschly et al. introduced important concepts to ensure information new CEI model, each CEI Center is in charge of a range of training
security in adaptive processes [37]; however, they did not address activities, while in every day operation a specific training session
the issue of team collaboration. Grando et al. addressed both pro- may require expertise and resources from multiple CEI Centers.
cess management and team work [36], but only from the prospec- Thus, coordination and collaboration among the CEI Centers is crit-
tive of workflow tasks. Therefore, addressing information access ical to the success of the new CEI model. To address this need, we
management within the combined context of team collaboration have developed the CEI Admin system to facilitate the coordination
and workflow, which is frequently required in biomedical research, and collaboration among the CEI Centers. In this paper, we will use
clinical education, and patient care, remains a challenge. specific examples from the CEI project to illustrate the concepts of
the proposed model for information access management.
2.2. Team collaboration
3. Model development
Team collaboration is an important application context for
information access management. Many information systems are de- 3.1. General principles
signed to facilitate communication in a collaborative environment
to assist team members to work together to accomplish complex To develop an access control model to define access permissions
tasks, i.e., the so-called computer-supported cooperative work in context of team collaboration and workflow management, we
(CSCW) [17,19–22]. In these cases, management of information established the following general principles: (1) effectiveness:
1086 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

the model could be applied to define the exact scope and level of 3.3. Extending the core RBAC
information access in collaborative processes; (2) simplicity: the
model should have a relatively simple structure and leverage com- To extend the core RBAC model to support team collaboration
mon representation formats so it could be easily implemented; and and workflow management, we propose an enhanced constraint
(3) generalizability: the model should initially serve the purpose of model with universal constraints. The universal constraints are col-
information access management for the CEI project and eventually lections of constraints that regulate specific aspects of access con-
be able to generalize to other domains and applications. With these trol. As shown in Fig. 2, these constraints could be separation of
general principles in mind, we reviewed the existing models for duty (as defined in the core RBAC [42]), access delegation (to dele-
information access management and examined whether we could gate access permission under specific conditions), collaboration
build the new model based on the foundation that had been estab- constraint (to support team collaboration), temporal constraint (to
lished by previous research. Among the reviewed models, we have facilitate workflow management), and organizational constraint
found that RBAC is widely used, has a simple structure, and its (to define roles based on organizational structure). In association
internal constructs can be extended for new requirements [42]. with the universal constraints, we propose an enhanced permission
For these reasons, we selected to use RBAC as a base and to develop set. Instead of using a simple structure of asset-action pair as de-
the proposed model as an enhancement of RBAC. fined in the core RBAC model, we formulate the permission set
within the context of a specific workflow status. Here a workflow
status represents specific tasks or goals defined as part of a work-
3.2. The NIST RBAC reference model flow, the execution of which indicates the current state of the pro-
cess. The workflow status, together with action and asset defined in
As RBAC is the foundation of the proposed information access the core RBAC, are then bundled with particular types of universal
management model, we first provide an overview of RBAC in this constraints to define access permissions for team collaboration and
section. According to the reference standard published by NIST workflow management.
[42], RBAC regulates users’ access to computer resources (or assets) To implement the enhanced RBAC model in a specific domain or
based on their organizational roles. As shown in Fig. 1, the permis- application, we introduce the concept of domain ontologies. The do-
sions in RBAC are defined as pairs of assets (the specific system re- main ontologies define: (1) the specific instances or specializations
sources) and actions (the specific operations). These permissions of the general model components (i.e., users, roles, objects, opera-
are not granted directly to particular users; instead, they are as- tions, workflow statuses, and universal constraints) for implemen-
signed to roles that denote job functions, which are then mapped tation in a particular domain or application; (2) the relations
to individual users. User role assignment (URA) specify relations be- among domain components; and (3) the constraints bound on do-
tween users and roles; role permission assignment (RPA) specify rela- main components and relations. For example, when defining the
tions between roles and permissions. Role hierarchy is a component domain ontologies for the CEI project, we have specified three
to depict user privileges based on inheritance or containment rela- types of collaboration constraint, i.e., geographical constraint (to
tionships, and creates a third type of authorization. Constraints are manage collaboration based on geographical areas), topic constraint
defined to regulate URA, RPA, and role hierarchy in specific aspects. (to manage collaboration based on training topics), and format con-
For example, separation of duty is a constraint that requires the straint (to manage collaboration based on training format). It is
authority to perform critical operations to be divided among two important to note that the domain ontologies are an open, config-
or more people such as to prevent potential security compromise. urable structure. Depending on specific applications, various types
RBAC favors policy administration. A user can be easily reassigned of components, relations, and constraints can be included to meet
from one role to another. New authorizations can be conferred on domain requirements without breaking the core RBAC structure.
roles that reflect the changed organizational needs. By grouping
users to specific roles, personnel turnover has a low overhead on 3.4. Team collaboration
policy administration. The RBAC model can be formally repre-
sented in first-order predicate logic (see Appendix A). The access In order to engage in a collaboration, we need to divide the col-
permissions can be encoded using the eXtensible Access Control laborative work into small units, assign them to specific partners to
Markup Language (XACML) [53]. In the remaining text of this pa- work on, and assemble the small units back once they are finished
per, we will refer to the original NIST RBAC reference as the core [54,55]. Information access management in this context is essen-
RBAC model such as to differentiate it from the enhanced RBAC mod- tially to specify the constraints on access permissions based on
el that we propose and describe in the following sections. the attributes that define the collaborative responsibilities and
drive the dividing/assembling of the collaborative work. For coor-
dination of clinical education, a collaborative work may involve
Constraints
learners (medical students, nursing students, students from other
healthcare disciplines, etc.) and teachers (faculty from various
healthcare related disciplines). A collaboration may simply happen
Role Hierarchy between the two parties of a learner and a teacher, who are con-
nected to each other through a training session. We name this en-
Actions tity that connects the collaborating parties (for example, a training
session) a bridging entity. A collaboration may also involve multiple
USERS ROLES learners and teachers, each of which is engaging in specific activi-
URA RPA ties or aspects of a training session. For example, in a training ses-
Assets sion of the CEI program, each collaborating CEI Center contributes
its expertise and resources, which are defined by specific training
topics, formats, and locations; by integrating the expertise and re-
sources from all collaborating CEI Centers, we can accommodate
PERMISSIONS
SESSIONS the various needs by a specific training session. We name these
contributions that partition the bridging entity (for example,
Fig. 1. The NIST RBAC model. training topics, formats, and locations) contributing attributes –
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1087

DOMAIN ONTOLOGIES
FOR CEI Constraint
invitation

revocation
UNIVERSAL CONSTRAINTS
Separation of Duty geographical constraint

Access Delegation topic constraint

Collaboration Constraint format constraint

Temporal Constraint temporal constraint

Organizational Constraint organizational constraint

Workflow

request received

arrangement pending

training scheduled

training completed

WORKFLOW reporting completed


STATUS
Role Hierarchy

Operation

read
USERS ROLES OPERATIONS
(ACTIONS) write
URA RPA

Contributing Attribute
Object course
OBJECTS
request request format
(ASSETS)
SESSIONS location
PERMISSIONS Role inCharge
role
Organization
roleCenterMapping
training center
User employee
center staff

instances or specializations in domains or applications


components in the original RBAC model
relations between components
new components in the enhanced RBAC model
constraints on components or relations

Fig. 2. Enhanced RBAC with universal constraints, workflow in permissions, and domain ontologies.

eventually, when each party has finished its own activities defined Collaborating Party 2
by these attributes, it contributes to the overall collaborative work. Collaborating Party 1 Collaborating Party 3
When implementing these concepts, the definition of contribut-
ing attributes can be based on multiple dimensions, each of which
represents a specific type of universal constraint. The contributions
from an individual collaborating party can then be specified as a Bridging Entity
logical combination of multiple constraints. With these specifica-
tions, the collaborating parties will satisfy the defined constraints
and thus have access to the relevant training information, while Combined Constraints
the other parties not directly involved in the collaboration will Collaborating Party n Collaborating Party 4
not satisfy these constraints and thus have no access permissions.
The relationships among the bridging entity, contributing attri- Contributing Attributes (Universal Constraint)

butes, and collaborating parties are shown in Fig. 3. Combined Contributing Attributes (Combined Constraints)

To translate these concepts into an access management model, Fig. 3. Collaboration model with bridging entity and contributing attributes.
we focus on definitions of: (1) bridging entity, which represents a
critical system resource that needs particular access permissions;
and (2) contributing attributes, which are specified through the combination of universal constraints to define its association with
universal constraints to regulate collaboration. Specifically, we a specific set of contributing attributes. For example, to coordinate
use universal constraints to define each contributing attribute of clinical education programs in a collaborative environment, we
the bridging entity; for each collaborating party, we use a logical can: (1) define specific training sessions as the bridging entity;
1088 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

and (2) specify contributing attributes such as topic, format, and gate access permission is to enable collaboration in specific work-
location of training. Based on these definitions, we can formally flow context, the delegation has to target on specific objects in that
represent topic constraint, format constraint, and geographical con- context. For example, when managing a collaborative training pro-
straint through the following predicates: gram, a training center can invite another center to collaborate and
such collaboration only happens when they work together on spe-
inChargeCourse(r,course): role r is in charge of course
cific training sessions. Thus, delegation in this context needs to be
course.
defined based on specific objects, i.e., the training sessions under
inChargeFormat(r,format): role r is in charge of format
the collaboration. To address this requirement, the proposed dele-
format.
gation model is focusing on the situation that a role (represented
inChargeLocation(r,loc): role r is in charge of
by a specific user) delegates certain access permissions on specific
location loc.
objects or resources to another role. In other words, this is a role-
to-role delegation that targets only on permissions defined for
In Section 4, we will describe these predicates in a complete specific objects. The reverse concept of access delegation is access
representation model through first-order predicate logic. In Sec- revocation, which deprives a party of specific access permissions
tion 5, we will use specific examples from the CEI project to illus- that were granted previously through access delegation. Similar
trate how to use this model to address requirements for to access delegation, access revocation in the proposed model is
information access management in a collaborative environment. defined between two roles and targeted on access permissions
for specific objects. To formally represent access delegation and
3.5. Workflow management revocation, we use the following predicates:

invitation(obj,op,rinvitee,rinviter): role rinviter invites


As briefly discussed in Section 3.3, the core RBAC model defines role rinvitee to
access permissions as asset-action pairs. The proposed enhance- collaborate on
ment of RBAC introduces workflow status in representation of per- object obj and
missions such that we can define access authority within specific grants rinvitee the
context of workflow. To simplify the model, we select to not in- permission to
clude any technical details to handle workflow management. In- perform operation
stead, we assume that a separate workflow engine outside of the op in this context.
access management model will be used for this purpose. Inside revocation(obj,op,rrevokee,rrevoker): role rrevoker
the access control model, we only include a specific workflow sta- deprives role
tus, within which the access permissions are specified. Formally, rrevokee of the
we define the following problem domains: permission to
OBJECT: a set of computer assets or resources. perform operation
OPERATION: a set of actions or operations. op with regard to
WORKFLOWSTATUS: a set of workflow statuses. object obj.

We can then define access permissions in context of workflow man-


agement as: It is important to note that only the delegated permissions can be
PERMISSION = OBJECT  (WORKFLOWSTATUS  OPERATION) revoked. Certain access permissions are defined originally by the
contributing attributes (see Section 3.4), and therefore those per-
missions held by the related collaborating parties cannot be re-
In other words, if p e PERMISSION, obj e OBJECT, w e WORKFLOW- moved through a revocation. We name these collaborating parties
STATUS, and op e OPERATION, where p = (obj,w,op), it means oper- that hold access permissions through the original assignment of
ation op on object obj within the context of workflow status w is authorization root parties (essentially equivalent to the original users
permitted. The relationship among access permission, object, work- in a conventional RBAC delegation model when team collaboration
flow status, and operation is shown in Fig. 2. The complete model is not a concern [56]). In a collaborative environment, a specific
defined in first-order predicate logic can be found in Appendix B. party may play a leading role to orchestrate the collaboration
among all parties. We name this specific party the leading party.
3.6. Access delegation and revocation of delegated access For example, in the CEI project the leading party (a CEI Center) of
a specific training session needs to have the authority to invite
Access delegation regulates the situation that an authorized other parties (CEI Centers) for collaboration, to document training
user transfers parts or all of his/her access permissions to another related issues, and to update the recorded data. Therefore it holds
user who is otherwise not authorized to have such access. It is an the ‘‘write’’ permission (document, update, invite other centers,
indispensable component for information access management in etc.) for the data related to that specific training session. To model
a collaborative environment, as it can enable access under certain these features, the CEI policy for access delegation requires: (1)
conditions to facilitate team work. The proposed access control there is only one leading party at any time; (2) the leading role is
model supports access delegation through explicitly inviting other transferable, which means a leading party can transfer/delegate
parties (invitee) for collaboration and granting them the appropri- its leading role to another party (and immediately becomes a
ate level of access permissions that the inviting party (inviter) non-leading party due to the requirement defined in (1)); (3) only
holds. Traditionally, access delegation under RBAC concerns about the leading party can delegate (invite) and revoke access permis-
the process that the inviter grants his/her access permission to the sions; and (4) certain access permissions held by the root parties
invitee through delegating the former’s role to the latter [56,57]. through definitions of contributing attributes cannot be revoked.
These approaches only differentiate the original roles from the del- In Section 4.1 and Appendix B, We provide a complete and formal
egated roles, but treat all objects in the permissions uniformly [57]. representation of access delegation and revocation in first-order
In the enhanced RBAC model, since our primary purpose to dele- predicate logic.
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1089

3.7. Integration of multiple representation elements for definition of (invitation) from another role (CEI Center) that holds the authority
universal constraints (the leading center). In addition to define these policies for granting
access, the default behavior in absence of an applicable policy is to
As described above, information access management in specific deny access. In this way, we can ensure soundness of the system
context of team collaboration and workflow is typically around the (see discussions in Section 7). It is important to note that these
bridging entity and the contributing attributes. Depending on spe- predicates and constraints are defined for the specific requirements
cific applications, the representation of bridging entity, contribut- of the CEI project. When applying the enhanced RBAC model to an-
ing attributes, and access permissions in the context of team other domain or application, we can introduce a different set of do-
collaboration and workflow may need a complex structure. For main ontologies, but still keep the general framework of the model
example, in the CEI project the bridging entity is a specific training intact.
session, which is triggered by a training request from an agency lo-
cated in NYS. A training request contains the specific information
about the requested course, including the training topics covered 4. Formal representation
by the course and the specific format of training. The location of
training can be identified through the requesting agency, where 4.1. Representation of model in first-order predicate logic
the requested training session is typically delivered. Depending
on the training topic, format, and location, specific CEI Centers with To formally represent the enhanced RBAC model, we select to
the resources and expertise will work collaboratively on a training use the first-order predicate logic that is widely accepted and easy
session. As the process moves forward, the workflow status of the to implement. For comparison and contrast, we have defined both
training session is changing. Therefore, the access permissions, the core RBAC (in Appendix A) and the enhanced RBAC (in Appen-
which are specified based on the workflow status, are also rede- dix B) through a consistent set of notations. These notations in-
fined. To integrate all these requirements, we define the following clude definitions of problem domains, predicates, and constraints.
predicates: For the core RBAC model, we have defined in the problem do-
mains all required variables, including user, role, constraint, oper-
request(req,course,format,agency): agency agency
ation, object, permission, and session. In addition, we have
makes a request
specified predicates such as user role assignment, role permission
req for a course
assignment, session user mapping, and session role mapping. For
course in the
constraints, we have formulated them in a general format with
format format.
conditions bound on specific predicates.
location(agency,loc): agency agency is
For the enhanced RBAC model, we have extended the problem
located at the
domains with new or modified variables, such as workflow status
location loc.
and permission. We have also included new or modified predi-
status(req,w): request req is
cates, such as role permission assignment, access delegation (invi-
processed and its
tation), and access revocation. To map the general model to the CEI
current status in
application, we have introduced new instances of problem domain
the workflow is w.
variables, such as organization providing training, agency request-
ing training, training course/topic, training format, and training
location. In addition, we have formulated domain-specific predi-
Using a logical combination of these predicates in together with
cates, such as user employment, role center mapping, request of
those defined previously in Sections 3.4 and 3.6, we can complete
training course and format by agency, workflow status of request,
the constraint definition. For example, the constraints on assign-
agency location, role location mapping, role course mapping, role
ment of ‘‘read’’ permission (review, query, etc.) to roles for the
format mapping, and leading center. To extend the constraints,
CEI program collaboration can be defined as:
we have defined specific rules on user role assignment and role
"r e ROLE, "req e REQUEST, "w e WORKFLOWSTATUS, "opr e permission assignment. In particular, we have defined rules to reg-
OPERATIONREAD, "opw e OPERATIONWRITE, "course e ulate bridging entity, contributing attribute, workflow status, and
COURSE, "format e FORMAT, "agency e AGENCY, "loc e access delegation for both ‘‘read’’ and ‘‘write’’ permissions. These
LOCATION, $rinviter e ROLE (rinviter – r): rules can be specified separately for root parties and for delega-
role-permission(r,req,w,opr) tions. When developing the constraints for the CEI project, we have
V
status(req,w) identified and formally defined the different patterns that regulate
V
{[request(req,course,format,agency) the relationship between access delegation and workflow status.
V
location(agency,loc) Specifically, for the ‘‘read’’ permission, the regular access (for root
V
inChargeLocation(r,loc) parties) and delegated access (invited by the leading center) can
V
inChargeCourse(r,course) co-exist and would not interfere with each other. For the ‘‘write’’
W
inChargeFormat(r,format) ] permission, as we require there is only one leading center at any
V
[invitation(req,opr,r,rinviter) role- time (see Section 3.6), the regular access and delegated access will
permission(rinviter,req,w,opw) ]} affect each other. Therefore, we require that the definition of
‘‘write’’ permission for the root parties only applies to the early
stages of the workflow (‘‘request-received’’, ‘‘unable-to-ar-
These constraints essentially define the following rules for informa- range’’, and ‘‘arrangement-pending’’) when delegation is not
tion access management: (1) the ‘‘read’’ permission depends on the started yet. Once the process moves into the later stages of the
requested course, training format, location of the requesting agency, workflow (‘‘training-scheduled’’ and ‘‘training-com-
and workflow status of the training session; (2) the ‘‘read’’ permis- pleted’’) when the leading center is already defined (and so dele-
sion is granted to only the roles (CEI Centers) that are in charge of gation is enabled), only the leading center has the ‘‘write’’
the training location, requested course, and training format (assign- permission. A leading center can transfer its leading role to another
ments of access permission for the root parties); and (3) the ‘‘read’’ center; however, by doing so it must immediate release its leading
permission can be granted to a role (CEI Center) through delegation role status (see Section 3.6). The initial assignment of the leading
1090 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

role can happen in a transition stage of the workflow (‘‘training- cess, and to collaborate with the other CEI Centers. In the
scheduled’’), when a root party can claim itself as the leading remaining part of this section, we will use specific examples from
center. the CEI Admin system to illustrate how the enhanced RBAC model
The complete representation of the core and enhanced RBAC described above can be used to facilitate information access
models as well as the latter’s instantiations for the CEI application management.
can be found in Appendices A and B. In Section 5, we will use spe-
cific examples from the CEI project to illustrate the application of 5.2. Users, roles, objects, and access permissions
the enhanced RBAC model to define access permissions in specific
context of team collaboration and workflow management. As shown in Table 1, the definitions of training expertise and
responsibilities are based on individual CEI Centers. Staff from a
4.2. Representation of model in XACML standard specific CEI Center have the same level of access permissions to
the training data when they log into the CEI Admin system. There-
XACML is the de facto standard to define access control policies fore, defining each CEI Center as a unique role is a natural selection.
[53]. An XACML policy includes elements such as policy targets and For example, we can define a unique role ‘‘rcecup’’ for CECUP; all
rules, which can be further decomposed into subjects, resources, ac- staff (users) working for CECUP are then automatically assigned
tions, and conditions. These elements can directly map to the vari- to this role. In a formal representation with the enhanced RBAC
ables, problem domains, predicates, and constraints, as we define model, this can be expressed as a constraint on the user role
the enhanced RBAC model in first-order logic. To facilitate compar- assignment:
ison, we include the XACML representation of the constraints for
CEI in Appendix C. "u e USER, "r e ROLE, "org e ORGANIZATION:
user-role(u,r)
V
employee(u,org) roleCenterMapping(r,org)
5. A case study of the NYS CEI project

5.1. Information access management for CEI


Thus, if staff ‘‘A’’ works for ‘‘CECUP’’, she is automatically assigned to
the ‘‘rcecup’’ role:
For the CEI project, four training centers, i.e., CECUP, TPDC,
PSUC, and MHC, are charged to provide onsite trainings. The
responsibilities of each center are defined by specific training top- ‘‘A’’ e USER, ‘‘rcecup’’ e ROLE, ‘‘CECUP’’ e ORGANIZATION:
ics and geographical locations. In particular, the three specialty user-role(‘‘A’’,‘‘rcecup’’)
V
training centers (TPDC, PSUC, and MHC) are charged to provide employee(‘‘A’’,‘‘CECUP’’)
training on specific topics in HIV clinical education for the entire roleCenterMapping(‘‘rcecup’’,‘‘CECUP’’)
NYS (both upstate New York and New York City). For example,
TPDC’s expertise includes HIV testing, PEP, diagnosis, and acute
HIV infection; PSUC’s expertise includes HIV prevention and sub- When a specific training request is entered into the CEI Admin sys-
stance use; MHC’s expertise includes all mental health related is- tem, it becomes a system resource or object, upon which access per-
sues. In contrast, CECUP is in charge of all training topics (both missions can be defined. These access permissions regulate whether
the specialty topics described above and the general topics such a user in a particular role is allowed to perform specific operations
as adult care, pediatric care, oral health, pharmacy, ethical/legal is- on these system resources or objects. For example, ‘‘staff from TPDC
sues, and clinical trials) in upstate New York. In addition to onsite (in role ‘‘rtpdc’’) have ‘‘read’’ permission to training request ‘‘1090’’
training, TC is in charge of online training; RRC is in charge of pro- (which is in workflow status ‘‘request-received’’)’’ can be for-
gram resources and referrals; EC is in charge of program evalua- mally represented as:
tion. Table 1 is a summary of the responsibilities for each CEI
Center. ‘‘rtpdc’’ e ROLE, ‘‘1090’’ e REQUEST, ‘‘request-
When an agency located in NYS requests a training session, it received’’ e WORKFLOWSTATUS,
can select from a list of courses or topics, each of which is mapped ‘‘read’’ e OPERATIONREAD:
to specific CEI Centers. Depending on the location of the requesting role-permission (‘‘rtpdc’’,‘‘1090’’,‘‘request-
agency (where the onsite training will be delivered), the selected received’’,‘‘read’’)
courses or topics, and the preferred training format, the CEI Centers
will work individually or collaboratively to deliver the training ser-
vice. To manage the CEI training program, we have developed the With the role-permission assignments defined here, we can specify
CEI Admin system for CEI Centers to access the relevant training re- universal constraints to regulate CEI Center collaboration, training
quests, to document the training activities over the training pro- workflow, and access delegation.

Table 1
Responsibilities of CEI Centers.

Center Role Responsibility Topic Location Format


CECUP rcecup Onsite training All topics Upstate region Onsite
TPDC rtpdc Onsite training Testing, PEP, diagnosis All areas Onsite
PSUC rpsuc Onsite training Prevention, substance use All areas Onsite
MHC rmhc Onsite training Mental health All areas Onsite
TC rtc Online training All topics All areas Online
RRC rrrc Resource and referral All topics All areas Onsite/online
EC rec Evaluation All topics All areas Onsite/online
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1091

5.3. Collaboration among CEI Centers 5.4. Management of training workflow

When a training session requires expertise and resources from For a specific training session in the CEI program, the typical
multiple CEI Centers, the related CEI Centers need to work together training workflow consists of several major stages: training re-
to deliver the training service collaboratively. As described in Sec- quested by an agency (request-received), calling back by a CEI
tions 3.3 and 3.4, we can define geographical, topic, and format staff and training arrangement pending (arrangement-pending),
constraints to bind on the access permissions to the related train- scheduling of training event (training-scheduled), and completion
ing requests. These constraints essentially specify the contributing of training (training-completed). If a training session is progress-
attributes of the bridging entity. For example, ‘‘Eastman-Dental- ing as planned, it will pass through these stages step by step.
Center’’, an agency located in ‘‘Monroe’’ (a county in Upstate New From time to time, a training session may step back to an earlier
York region), has requested an ‘‘onsite’’ training session (request stage (for example, when a scheduled training session is can-
‘‘1090’’, currently in workflow status ‘‘request-received’’) with celled); a process may also terminate earlier before the training
the course ‘‘Acute-HIV-Infection’’. In this case, a collaboration is actually delivered (for example, when a request is beyond the
will become necessary between CECUP and TPDC, as both centers range of CEI and referred to other training programs such as
can satisfy the constraints (see responsibilities defined in Table 1). AIDS Education and Training Centers [58]). The stages of a train-
Thus, if Staff ‘‘A’’ is working for CECUP and Staff ‘‘P’’ is working for ing session can be represented in a state-transition diagram, as
TPDC, both ‘‘A’’ and ‘‘P’’ need to have ‘‘read’’ access permission to shown in Fig. 6. In each stage of the process, a CEI Center staff
this training session. These requirements can be formally repre- can review and document specific information for the training
sented as: session that she/he is in charge of. In case a training session in-
volves collaboration among multiple CEI Centers, this informa-
‘‘A’’ e USER, ‘‘rcecup’’ e ROLE,
tion is also available for review by staff from the collaborating
‘‘CECUP’’ e ORGANIZATION:
centers.
user-role(‘‘A’’,‘‘rcecup’’)
V As described in Section 3.5, we assume that an external work-
employee(‘‘A’’,‘‘CECUP’’)
flow engine will handle the technical details for workflow manage-
roleCenterMapping(‘‘rcecup’’, ‘‘CECUP’’)
ment. Inside the enhanced RBAC model, we only incorporate
‘‘rcecup’’ e ROLE, ‘‘1090’’ e REQUEST, ‘‘request-received’’ e workflow status into the definition of access permissions. Thus,
WORKFLOWSTATUS, by verifying that request ‘‘1090’’ is in status ‘‘request-re-
‘‘read’’ e OPERATIONREAD, ‘‘Acute-HIV-Infection’’ e ceived’’, we can define access permission for this stage of the
COURSE, ‘‘onsite’’ e FORMAT, training workflow (see logical statement in Section 5.3). If the
‘‘Eastman-Dental-Center’’ e AGENCY, ‘‘Monroe’’ e workflow is moving forward to the ‘‘arrangement-pending’’
LOCATION: stage and all other conditions remain as the same, we will be able
role-permission(‘‘rcecup’’,‘‘1090’’, to derive the access permission for the new workflow status
‘‘request-received’’,‘‘read’’) through examination of the constraints:
V
status(‘‘1090’’,‘‘request-received’’)
‘‘rcecup’’ e ROLE, ‘‘1090’’ e REQUEST, ‘‘arrangement-
request(‘‘1090’’,‘‘Acute-HIV-
V pending’’ e WORKFLOWSTATUS,
Infection’’,‘‘onsite’’,‘‘Eastman-Dental-Center’’)
V ‘‘read’’ e OPERATIONREAD, ‘‘Acute-HIV-Infection’’
location(‘‘Eastman-Dental-Center’’,‘‘Monroe’’)
V e COURSE, ‘‘onsite’’ e FORMAT,
inChargeLocation(‘‘rcecup’’,‘‘Monroe’’)
V ‘‘Eastman-Dental-Center’’ e AGENCY, ‘‘Monroe’’
inChargeCourse(‘‘rcecup’’,‘‘Acute-HIV-Infection’’)
e LOCATION:
inChargeFormat(‘‘rcecup’’,‘‘onsite’’)
role-permission(‘‘rcecup’’,‘‘1090’’,‘‘arrangement-
‘‘P’’ e USER, ‘‘rtpdc’’ e ROLE, ‘‘TPDC’’ e ORGANIZATION:
pending’’,‘‘read’’)
user-role(‘‘P’’,‘‘rtpdc’’) V
V status(‘‘1090’’,‘‘arrangement-pending’’)
employee(‘‘P’’,‘‘TPDC’’)
request(‘‘1090’’,‘‘Acute-HIV-
roleCenterMapping(‘‘rtpdc’’,‘‘TPDC’’) V
Infection’’,‘‘onsite’’,‘‘Eastman-Dental-Center’’)
‘‘rtpdc’’ e ROLE, ‘‘1090’’ e REQUEST, ‘‘request-received’’ e V
location(‘‘Eastman-Dental-Center’’,‘‘Monroe’’)
WORKFLOWSTATUS, V
inChargeLocation(‘‘rcecup’’,‘‘Monroe’’)
‘‘read’’ e OPERATIONREAD, ‘‘Acute-HIV-Infection’’ e V
inChargeCourse(‘‘rcecup’’,‘‘Acute-HIV-Infection’’)
COURSE, ‘‘onsite’’ e FORMAT,
inChargeFormat(‘‘rcecup’’,‘‘onsite’’)
‘‘Eastman-Dental-Center’’ e AGENCY, ‘‘Monroe’’ e
LOCATION:
role-permission(‘‘rtpdc’’,‘‘1090’’,
‘‘request-received’’,‘‘read’’) The screenshot of the CEI Admin system as the workflow is moving
V
status(‘‘1090’’,‘‘request-received’’) forward is shown in Fig. 7.
request(‘‘1090’’,‘‘Acute-HIV-
V
Infection’’,‘‘onsite’’,‘‘Eastman-Dental-Center’’) 5.5. Inviting other CEI Centers for collaboration
V
location(‘‘Eastman-Dental-Center’’,‘‘Monroe’’)
V
inChargeLocation(‘‘rtpdc’’,‘‘Monroe’’) Under certain scenarios, we need the flexibility to invite a spe-
V
inChargeCourse(‘‘rtpdc’’,‘‘Acute-HIV-Infection’’) cific CEI Center to participate in a particular training session, even
inChargeFormat(‘‘rtpdc’’,‘‘onsite’’) though this center does not need to involve according to the origi-
nal definition of responsibilities. For example, the request ‘‘1090’’
is made by an agency located in Upstate New York region for an
Screenshots of the CEI Admin system as Staff A and Staff P have onsite training on the topic of ‘‘Acute-HIV-Infection’’. Accord-
logged in are shown in Figs. 4 and 5. Meanwhile, staff from ing to the contributing attributes, only CECUP and TPDC are re-
other CEI Centers would not see this request as they cannot sat- quired to collaborate on this training session. When scheduling
isfy the constraint above and therefore do not have access this particular training session, if it is decided that some mental
permissions. health related issues will be addressed in addition to the main to-
1092 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

Fig. 4. Screenshot of the CEI Admin system as Staff A has logged in.

Fig. 5. Screenshot of the CEI Admin system as Staff P has logged in.

pic of the training, MHC will need to participate in this session. In


training request by an agency this case, the leading center (suppose it is CECUP, with ‘‘write’’
permission for this request) can invite MHC to collaborate on this
request
received
specific training session. This scenario can be formally represented
as:
call back by a CEI staff
‘‘rmhc’’ e ROLE, ‘‘rcecup’’ e ROLE, ‘‘1090’’ e REQUEST,
arrangement unable to ‘‘training-scheduled’’ e WORKFLOWSTATUS,
pending arrange ‘‘read’’ e OPERATIONREAD,
update
scheduling of ‘‘write’’ e OPERATIONWRITE, ‘‘Acute-HIV-Infection’’ e
training event
cancelation of COURSE, ‘‘onsite’’ e FORMAT,
scheduled training
training ‘‘Eastman-Dental-Center’’ e AGENCY, ‘‘Monroe’’ e
scheduled
update LOCATION:
completion of training and role-permission(‘‘rmhc’’,‘‘1090’’,‘‘training-
reporting of trainer/event
scheduled’’,‘‘read’’)
training V
status(‘‘1090’’,‘‘training-scheduled’’)
completed V
update invitation(‘‘1090’’,‘‘read’’,‘‘rmhc’’,‘‘rcecup’’)
reporting of training
participant feedback role-permission(‘‘rcecup’’,‘‘1090’’,‘‘training-
scheduled’’,‘‘write’’)
reporting
completed
update A screenshot of the CEI Admin system implementing this function is
shown in Fig. 8. Once MHC becomes a collaborating center, it will
have access to the data related to this training session, as shown
Fig. 6. Workflow of a CEI training session. in Fig. 9.
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1093

Fig. 7. Screenshot of the CEI Admin system as the workflow is moving forward.

6. Implementation and evaluation For comparison with the reference standard, we randomly se-
lected 256 cases from the previously described case pool, each
We have completed a prototype implementation of the en- combined with the ‘‘read’’ and ‘‘write’’ permissions, and devel-
hanced RBAC model. For this purpose, we used the Protégé tool oped a reference standard through manual review by a panel with
[59] to encode the model, with constraints defined in Semantic four domain experts. By comparing the results generated by the
Web Rule Language (SWRL) [60]. Based on this structure, we rep- enhanced RBAC model against the reference standard, the en-
resented the specific CEI users, roles, training requests, operations, hanced RBAC model achieved a sensitivity of 97% and a specificity
workflow statuses, and constraints as Protégé individuals. We then of 100% for the ‘‘read’’ permission, and a sensitivity of 100% and a
leveraged an existing Protégé add-on with an external Jess package specificity of 100% for the ‘‘write’’ permission. Detailed descrip-
[61] to interpret the encoded constraints and to determine tions of the study design, measurement, and analysis can be found
whether access permissions should be granted to specific re- in a separate report [67].
sources. Additional technical details of this prototype implementa-
tion can be found in a separate report [62]. It is important to note
that the enhanced RBAC as a general model for access control can 7. Discussion
and should be implemented in multiple ways (for example, using
the existing engines for XACML implementation [53]). Selection Access control has been applied to several applications in
of the specific approach for implementation should be based on healthcare settings [2,4,44–52]. Since confidentiality of clinical
domain applications and match with the available resources for information is an essential requirement, most of the previous work
development and integration. focused on applications for patient care. In the context of clinical
To evaluate the effectiveness of the enhanced RBAC model for education, controlling access to specific information was not a pri-
information access management, we conducted a study to apply mary concern by tradition. However, as we are moving toward a
the model to manage information access for the CEI project. For system-wide approach to providing clinical education [68,69],
this purpose, we measured the performance of the enhanced RBAC more and more training programs are involving with multiple col-
model through: (1) comparing with an existing system, CEI Admin, laborative parties and complex training workflow. The NYS HIV CEI
the access management of which was implemented in ad hoc ap- program is a perfect example. To our knowledge, this work is the
proach; and (2) comparing with a reference standard developed first application of an information access control model to clinical
through manual review by an expert panel [63]. We have success- education. The case study on the CEI project has provided us
fully used similar strategies for model evaluation in other studies important insights in designing an information access control
[64–66]. model that can be generalized to various applications for clinical
For comparison with the CEI Admin system, we selected the education, biomedical research, and patient care, which will be
training requests received between April 1, 2011 and June 30, the direction for future research.
2011, and combined these requests with CEI Centers (roles) and Access control is typically utilized to protect certain informa-
staff (users) to formulate study cases. These study cases were pro- tion, and thus is more frequently implemented to limit information
cessed and imported into the Protégé tool and evaluated against access. In the case of CEI, facilitation of team coordination and col-
the encoded constraints. For those cases that satisfied the con- laboration was a primary goal, therefore we used access control
straints, individuals of permissions were generated. We then com- not only to limit access to information (i.e., to sift out requests be-
pared these permissions generated by the enhanced RBAC model yond the catchment area of a specific CEI Center) but also to enable
with the results from the ad hoc implementation of the CEI Admin access to information to facilitate collaboration (i.e., to review the
system. For a total of 4576 cases, 4399 had a consistent (1004 po- progress of training workflow documented by a collaborating CEI
sitive and 3395 negative) outcome (granting or denying) on Center). Implementing access management in the context of team
‘‘read’’ permission, and 4400 had a consistent (820 positive and coordination and collaboration for both facilitation and control of
3580 negative) outcome on ‘‘write’’ permission. With a kappa va- information access is another contribution of this work.
lue of 0.801, these two different approaches had a high level of To manage information access in a collaborative environment,
agreement. we identified unique concepts, such as bridging entity and
1094 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

Fig. 8. CECUP invites MHC to collaborate on a training session.

Fig. 9. Once invited, MHC will have access to the related training session.

contributing attribute, and incorporated them into the model as be utilized as a knowledge base to drive information access
specific types of universal constraints. From the CEI project, we management in a variety of situations.
have developed geographical constraint, training topic constraint, To incorporate workflow context into the modeling of access
and training format constraint to model specific types of contrib- control, we selected to expand the core RBAC definition of access
uting attributes. Obviously additional types of universal con- permission to include workflow status. Consequently, the en-
straints can and will be identified from other applications. hanced RBAC is expressive in defining the workflow context for ac-
Certain types of universal constraints (such as the ones we iden- cess permission. For example, the CEI project requires that access
tified from the CEI project) can be applied to a set of similar delegation can only happen in later stages of the workflow
applications. As a long term goal, we plan to assemble the con- (‘‘training-scheduled’’ and ‘‘training-completed’’). This
straint sets identified from various application scenarios to for- workflow context-specific requirement on access management
mulate a UNIversal Constraint ONtology (UNICON), which can can be easily specified with the enhanced RBAC model (see
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1095

Section 4.1 and Appendix B). On the other hand, including work- A major limitation of this study is that the model was devel-
flow status as another dimension in definition of access permission oped from a specific application for clinical education. Its gener-
introduces complexity in specification of permissions and con- alizability needs to be further examined in other applications
straints. A potential solution to balance the expressiveness and and scenarios. For example, when managing information access
simplicity is to allow the access permissions to carry over forward in collaborative clinical workflow, the information access might
by default when the workflow is changing, and meanwhile using be unpredictable but the needs to access certain patient infor-
new constraints to overwrite the default permissions when neces- mation are immediate. To address this requirement, we can ap-
sary. We used this concept to define the access permissions for the ply the enhanced RBAC model to define a policy to grant access
CEI project. Future research needs to focus on identifying general (of patient records) to all clinicians in the same clinical unit.
methods or strategies to address this challenge. Depending on application requirements, we can make this
The access delegation in the enhanced RBAC model is unique in policy more stringent (for example, requiring only those clini-
that it targets on access permissions for only specific objects. This cians on duty can have access); or we can relax this policy to
feature provides flexibility to enable information sharing in a col- allow inviting experts from another clinical unit to consult on
laborative environment and meanwhile limits the access to only a patient case through access delegation. Apparently, the effec-
those objects that are relevant to the collaboration. Thus, it has bal- tiveness of these policies needs to be evaluated in real world
anced nicely between flexibility and need-based access. Previous applications in order to identify the best that fits with domain
research of access delegation under RBAC focused on study of the requirements.
relationship between users and roles [56,57]. Our work for the first
time modeled the relationship between roles and objects in access
8. Conclusion
delegation. For example, when CECUP invites MHC to collaborate
on training request ‘‘1090’’ (see Section 5.5), access delegation is
We have enhanced the RBAC model through: (1) formulating
limited to only this specific request; in comparison, other methods
universal constraints, (2) defining bridging entities and contribut-
will require to grant MHC access permission to all CECUP’s data
ing attributes, (3) extending access permission to include workflow
[56,57]. Therefore, the enhanced RBAC can achieve better security
context, (4) synthesizing a role-based access delegation model to
and effectiveness in information access management. It is impor-
target on specific objects, and (5) developing domain ontologies
tant to note that an access control model only provides a means
as instantiations of the general model to specific applications.
to define access policies. In order to take full advantage of the
We have successfully applied this enhanced RBAC model to the
enhanced RBAC model, we need to leverage its capacity and config-
CEI project to address the specific needs on information access
ure a set of access policies that fit best with the domain
management in context of team collaboration and workflow. An
requirements.
initial evaluation through comparison with an existing system
In the prototype implementation of the enhanced RBAC model
and a reference standard has shown this model can be effectively
for CEI, we enumerated all possibilities for a request (training topic,
used to manage information access in collaborative processes for
agency location, training format, and workflow status) when defin-
coordination of a clinical education program. Future research is re-
ing the access control policies (see Appendix B). Therefore, for any
quired to incrementally develop additional types of universal con-
request there was always a policy applicable. In this way, we guar-
straints, to further investigate how the workflow context and
anteed the completeness of the policies. In addition, we followed
access delegation can be enriched to support the various needs
the convention to define policies only to grant access, with a de-
on information access management in collaborative processes,
fault behavior to deny access if no policy was applicable. Mean-
and to examine the generalizability of the enhanced RBAC model
while, we implemented a separate function to remove a
for other applications in clinical education, biomedical research,
previously granted access after it was revoked [62]. In this way,
and patient care.
we ensured the soundness of the policies. Currently, we do not
have tools to automatically detect and resolve potential policy con-
flicts. Others have already developed a few techniques to address Acknowledgments
this issue [70–73]. This could be another direction for our future
exploration. The CEI project is funded by New York State Department of
In this paper, we only discussed the enhanced RBAC model for Health AIDS Institute through Contracts #C024882 and
anterior control of information access. Another category of its use #C023557. We would like to thank Thomas Della Porta and Mi-
is for posterior auditing of information systems to identify incom- chael Hazard for their contribution to the CEI project. We would
pliances with access policies. Since auditing is a common practice also like to thank CEI program staff Howard Lavigne, Cheryl Smith,
in clinical information systems, this could potentially be an impor- Lyn Stevens, Bruce Agins and colleagues from other CEI Centers for
tant application for the enhanced RBAC model. their support and help.

Appendix A. Representation of the Core RBAC Model in First-Order Predicate Logic

Problem domains
 USER: A set of users
u e USER: u is an element of USER
 ROLE: A set of roles
r e ROLE: r is an element of ROLE
 CONSTRAINT: A set of constraints to regulate users, roles, and permissions
c e CONSTRAINT: c is an element of CONSTRAINT
 OPERATION: A set of operations or actions to define access permissions
op e OPERATION: op is an element of OPERATION

(continued on next page)


1096 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

Appendix A. (continued)
 OBJECT: A set of computer resources or assets to define access permissions
obj e OBJECT: obj is an element of OBJECT
 PERMISSION: A set of permissions, defined as asset-action pairs
PERMISSION = OBJECT  OPERATION
p e PERMISSION: p is an element of PERMISSION
p = (obj,op)
 URA: A many-to-many mapping between users and roles (user-role assignment relation)
URA # USER  ROLE
 RPA: A many-to-many mapping between roles and permissions (role-permission assignment
relation)
RPA # ROLE  PERMISSION
 SESSION: A set of sessions mapped to users and roles
s e SESSION: s is an element of SESSION

Predicates
 User role assignment
user-role (u,r): User u is assigned to role r
 Role permission assignment
role-permission (r,p): Role r is granted permission p, where p = (obj,op)
role-permission (r,obj,op): Role r is granted permission to perform operation op on object obj
 Session user mapping
session-user (s,u): Session s is mapped to user u
 Session role mapping
session-role (s,r): Session s is mapped to role r

Constraints
 User role assignment under constraints
user-role (u,r) c: If constraint c holds, user u is assigned to role r.
 Role permission assignment under constraints
role-permission (r,p) c: If constraint c holds, role r is granted permission p, where p = (obj,op)
role-permission (r,obj,op) c: If constraint c holds, role r is granted permission to perform operation op on object obj

Appendix B. Representation of the Enhanced RBAC Model in First-Order Predicate Logic and Instantiations of Model Elements for the
CEI Project

Problem domains
 USER: A set of users
u e USER: u is an element of USER
 ROLE: A set of roles
r e ROLE: r is an element of ROLE
 CONSTRAINT: A set of constraints to regulate users, roles, and permissions
c e CONSTRAINT: c is an element of CONSTRAINT
 OPERATION:* A set of operations or actions to define access permissions
op e OPERATION: op is an element of OPERATION
OPERATIONREAD: A subset of operations or actions to define the ‘‘read’’ permissions
opr e OPERATIONREAD: opr is an element of OPERATIONREAD
OPERATIONWRITE: A subset of operations or actions to define the ‘‘write’’ permissions
opw e OPERATIONWRITE: opw is an element of OPERATIONWRITE
OPERATIONREAD = {‘‘read’’}
OPERATIONWRITE = {‘‘write’’}
 OBJECT = REQUEST: A set of computer resources or assets, reflecting the specific training requests, to define access
permissions
obj e OBJECT: obj is an element of OBJECT
req e REQUEST: req is an element of REQUEST
 WORKFLOWSTATUS: A set of workflow status to define access permissions
w e WORKFLOWSTATUS: w is an element of WORKFLOWSTATUS
WORKFLOWSTATUSI: A subset of workflow status to define the initial stages of the workflow (delegation is irrelevant)
Wi e WORKFLOWSTATUSI: wi is an element of WORKFLOWSTATUSI
WORKFLOWSTATUSL: A subset of workflow status to define the later stages of the workflow (delegation is relevant)
Wl e WORKFLOWSTATUSL: wl is an element of WORKFLOWSTATUSL
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1097

Appendix B. (continued)
WORKFLOWSTATUST: A subset of workflow status to define the transition stages of the workflow (initial definition of
leading center)
Wt e WORKFLOWSTATUST: wt is an element of WORKFLOWSTATUST
WORKFLOWSTATUS = {‘‘request-received’’, ‘‘unable-to-arrange’’, ‘‘arrangement-pending’’, ‘‘training-scheduled’’,
‘‘training-completed’’}
WORKFLOWSTATUSI = {‘‘request-received’’, ‘‘unable-to-arrange’’, ‘‘arrangement-pending’’}
WORKFLOWSTATUSL = {‘‘training-scheduled’’, ‘‘training-completed’’}
WORKFLOWSTATUST = {‘‘training-scheduled’’}
 PERMISSION: A set of permissions in context of workflow, defined as tuples of object, workflow status, and
operation
PERMISSION = OBJECT  (WORKFLOWSTATUS  OPERATION)
p e PERMISSION: p is an element of PERMISSION
p = (obj,w,op) = (req,w,op)
 URA: A many-to-many mapping between users and roles (user-role assignment relation)
URA # USER  ROLE
 RPA: A many-to-many mapping between roles and permissions (role-permission assignment relation)
RPA # ROLE  PERMISSION
 SESSION: A set of sessions mapped to users and roles
s e SESSION: s is an element of SESSION
 ORGANIZATION: A set of organizations to provide clinical training services
org e ORGANIZATION: org is an element of ORGANIZATION
 COURSE: A set of training courses or topics.
course e COURSE: course is an element of COURSE
 FORMAT: A set of training formats
format e FORMAT: format is an element of FORMAT.
 AGENCY: A set of agencies requiring clinical training services
agency e AGENCY: agency is an element of AGENCY
 LOCATIONS: A set of locations for specific training sessions
loc e LOCATION: loc is an element of LOCATION.

Predicates
 User role assignment
user-role (u,r): User u is assigned to role r
 Role permission assignment
role-permission (r,p): Role r is granted permission p, where p = (obj,w,op) = (req,w,op)
role-permission Role r is granted permission to perform operation op on object obj within the context of
(r,obj,w,op): workflow status w
role-permission Role r is granted permission to perform operation op on request req within the context of
(r,req,w,op): workflow status w
 Session user mapping
session-user (s,u): Session s is mapped to user u
 Session role mapping
session-role (s,r): Session s is mapped to role r
 User employment
employee (u,org): User u is a staff member of organization org
 Role center mapping
roleCenterMapping (r,org): Role r is mapped to organization org
 Request of course and format by
agency
request Agency agency makes a request req for a course course in the format format
(req,course,format,agency):
 Agency location
location (agency,loc): Agency agency is located at the location loc
 Workflow status of request
status (req,w): Request req is processed and its current status in the workflow is w
 Role location mapping
inChargeLocation (r,loc): Role r is in charge of location loc
 Role course mapping
inChargeCourse (r,course): Role r is in charge of course course
 Role format mapping
inChargeFormat (r,format): Role r is in charge of training format format
 Leading center
isLeadingCenter (r,req): Role r is the leading center for request req

(continued on next page)


1098 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

Appendix B. (continued)
 Invitation (access delegation)
invitation Role rinviter invites role rinvitee for collaboration on object obj and grants rinvitee the permission to
(obj,op,rinvitee,rinviter): perform operation op in this context.
invitation Role rinviter invites role rinvitee for collaboration on request req and grants rinvitee the permission
(req,op,rinvitee,rinviter): to perform operation op in this context.
 Revocation
revocation Role rrevoker deprives role rrevokee of the permission to perform operation op with regard to object
(obj,op,rrevokee,rrevoker): obj
revocation Role rrevoker deprives role rrevokee of the permission to perform operation op with regard to
(req,op,rrevokee,rrevoker): training request req

Constraints
 User role assignment under
constraints
user-role (u,r) c: If constraint c holds, user u is assigned to role r
 Role permission assignment
under constraints
role-permission (r,p) c: If constraint c holds, role r is granted permission p, where p = (obj,w,op)
role-permission (r,obj,w,op) If constraint c holds, role r is granted permission to perform operation op on object obj within
c: the context of workflow status w
a
Modified or new elements of the enhanced RBAC model when compared with the core RBAC model. Instantiations of the enhanced RBAC model elements for the CEI
project are with a shaded background.

Instantiations of Universal Constraints for the CEI project

 Assign a role to a user based on his/her employment organization


"u e USER, "r e ROLE, "org e ORGANIZATION:
user-role (u,r)
V
employee(u,org) roleCenterMapping(r,org)
 Assign ‘‘read’’ permissions to a role based on universal constraintsb
"r e ROLE, "req e REQUEST, "w e WORKFLOWSTATUS, "opr e OPERATIONREAD, "course e COURSE, "format e FORMAT, "agency e
AGENCY, "loc e LOCATION:
role-permission (r,req,w,opr)
V
status(req,w) (1) bridging entity, workflow status
V
request(req,course,format,agency) (2) bridging entity, contributing attributes
V
location(agency,loc) (3) bridging entity, contributing attributes
V
inChargeLocation(r,loc) (4) geographical constraints
V
inChargeCourse(r,course) (5) topic constraints
inChargeFormat(r,format) (6) format constraints
 Assign ‘‘read’’ permissions to a role based on invitations 
"r e ROLE, "req e REQUEST, "w e WORKFLOWSTATUS, "opr e OPERATIONREAD, "opw e OPERATIONWRITE, $rinviter e ROLE (rinviter – r):
role-permission (r,req,w,opr)
V
status(req,w) (1) bridging entity, workflow status
V
(invitation(req,opr,r,rinviter) role-permission(rinviter,req,w,opw)) (7) access delegation via invitation

 Assign ‘‘write’’ permissions to a role based on universal constraints (applicable to the initial stages of workflow)
"r e ROLE, "req e REQUEST, "wi e WORKFLOWSTATUSI, "opw e OPERATIONWRITE, "course e COURSE, "format e FORMAT, "agency e
AGENCY, "loc e LOCATION:
role-permission (r,req,wi,opw)
V
status(req,wi) (1) bridging entity, workflow status
V
request(req,course,format,agency) (2) bridging entity, contributing attributes
V
location(agency,loc) (3) bridging entity, contributing attributes
V
inChargeLocation(r,loc) (4) geographical constraints
V
inChargeCourse(r,course) (5) topic constraints
inChargeFormat(r,format) (6) format constraints
 Assign ‘‘write’’ permissions to a role based on invitations (applicable to the later stages of workflow)
"r e ROLE, "req e REQUEST, "wl e WORKFLOWTASKL, "opw e OPERATIONWRITE, $rinviter e ROLE (rinviter – r):
role-permission (r,req,wl,opw)
V
status(req,wl) (1) bridging entity, workflow status
V V
(invitation(req,opw,r,rinviter) role-permission(rinviter,req,wl,opw) revocation(req,opw,rinviter,rinviter))
(7) access delegation via invitation
 Assign ‘‘write’’ permissions to a role based on self-declaration of leading center (applicable to the transition stage of the workflow)
"r e ROLE, "req e REQUEST, "wt e WORKFLOWSTATUST, "opw e OPERATIONWRITE, "course e COURSE, "format e FORMAT, "agency e
AGENCY, "loc e LOCATION:
(continued on next page)
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1099

role-permission (r,req,wt,opw)
V
status(req,wt) (1) bridging entity, workflow status
V
request(req,course,format,agency) (2) bridging entity, contributing attributes
V
location(agency,loc) (3) bridging entity, contributing attributes
V
inChargeLocation(r,loc) (4) geographical constraints
V
inChargeCourse(r,course) (5) topic constraints
V
inChargeFormat(r,format) (6) format constraints
isLeadingCenter(r,req) (8) leading center
b
Here we describe the constraints for the regular permissions and the delegated permissions separately. These constraints can be combined in a single statement with the
logical operator ‘OR’.

Appendix C. Representation of the Constraints for the CEI Project in XACML

 Assign a role to a user based on his/her employment organization

user-role (u,r)
V
employee(u,org) roleCenterMapping(r,org)

<Rule RuleId=‘‘user:role:assignment’’ Effect=‘‘Permit’’>


<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<SubjectAttributeDesignator AttributeId=‘‘urn:cei:ac:username’’ DataType=‘‘&string’’/>
<AttributeValue DataType=‘‘&xml;string’’>u</AttributeValue>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<ResourceAttributeDesignator AttributeId= ‘‘urn:cei:ac:role’’ DataType=‘‘&string’’/>
<AttributeValue DataType=‘‘&xml;string’’>r</AttributeValue>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<ActionAttributeDesignator AttributeId=‘‘urn:cei:ac:user-role’’>
<AttributeValue DataType=‘‘&xml;string’’>enable</AttributeValue>
</ActionMatch>
</Action>
</Actions>
</Target>
<Condition>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:AND’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId= ‘‘urn:cei:ac:employee’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> u </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> org </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId= ‘‘urn:cei:ac:roleCenterMapping’’ DataType=‘‘&xml;string’’/
>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> org </AttributeValue>
</Apply>
</Apply>
</Apply>
</Condition>
</Rule>
1100 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

 Assign ‘‘read’’ permissions to a role based on universal constraints 

role-permission (r,req,w,opr)
V
status(req,w)
V
request(req,course,format,agency)
V
location(agency,loc)
V
inChargeLocation(r,loc)
V
inChargeCourse(r,course)
inChargeFormat(r,format)
<Rule RuleId=‘‘role:permission:assignment’’ Effect=‘‘Permit’’>
<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<SubjectAttributeDesignator AttributeId=‘‘urn:cei:ac:role’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>r</AttributeValue>
<SubjectAttributeDesignator AttributeId=‘‘&subject;subject-id’’DataType=‘‘&xml;string’’/>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<ResourceAttributeDesignator AttributeId=‘‘urn:cei:ac:requestID’’ DataType=‘‘&xml:integer’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>w</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>opr</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
</Action>
</Actions>
</Target>
<Condition>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:AND’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:status’’DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’>w</AttributeValue>
</Apply>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:request’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> course </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> format </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> agency </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1101

<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:location’’ DataType=‘‘&xml;string’’/>


<AttributeValue DataType=‘‘&xml;string’’> agency </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> loc </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeLocation’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> loc </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeCourse’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> course </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeFormat’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> format </AttributeValue>
</Apply>
</Apply>
</Condition>
</Rule>

 Assign ‘‘read’’ permissions to a role based on invitations 

role-permission (r,req,w,opr)
V
status(req,w)
V
(invitation(req,opr,r,rinviter) role-permission(rinviter,req,w,opw))
<Rule RuleId=‘‘role:permission:assignment’’ Effect=‘‘Permit’’>
<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<SubjectAttributeDesignator AttributeId=‘‘urn:cei:ac:role’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>r</AttributeValue>
<SubjectAttributeDesignator AttributeId=‘‘&subject;subject-id’’ DataType=‘‘&xml;string’’/>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<ResourceAttributeDesignator AttributeId=‘‘urn:cei:ac:requestID’’ DataType=‘‘&xml:integer’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>w</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>opr</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>

(continued on next page)


1102 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

</Action>
</Actions>
</Target>
<Condition>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:AND’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:status’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’>w</AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:invitation’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> opr </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> r_inviter </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:rolePermission’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> r_inviter </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> w </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> opw </AttributeValue>
</Apply>
</Apply>
</Condition>
</Rule>

 Assign ‘‘write’’ permissions to a role based on universal constraints (applicable to the initial stages of workflow)

role-permission (r,req,wi,opw)
V
status(req,wi)
V
request(req,course,format,agency)
V
location(agency,loc)
V
inChargeLocation(r,loc)
V
inChargeCourse(r,course)
inChargeFormat(r,format)
<Rule RuleId=‘‘role:permission:assignment’’ Effect=‘‘Permit’’>
<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<SubjectAttributeDesignator AttributeId=‘‘urn:cei:ac:role’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>r</AttributeValue>
<SubjectAttributeDesignator AttributeId=‘‘&subject;subject-id’’ DataType=‘‘&xml;string’’/>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<ResourceAttributeDesignator AttributeId=‘‘urn:cei:ac:requestID’’ DataType=‘‘&xml:integer’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>wi</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1103

AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>opw</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
</Action>
</Actions>
</Target>
<Condition>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:AND’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:status’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’>wi</AttributeValue>
</Apply>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:request’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> course </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> format </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> agency </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:location’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> agency </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> loc </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeLocation’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> loc </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeCourse’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> course </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeFormat’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> format </AttributeValue>
</Apply>
</Apply>
</Condition>
</Rule>

 Assign ‘‘write’’ permissions to a role based on invitations (applicable to the later stages of workflow)

role-permission (r,req,wl,opw)
V
status(req,wl)
V
(invitation(req,opw,r,rinviter) role-permission(rinviter,req,wl,opw)
V
revocation(req,opw,rinviter,rinviter))
<Rule RuleId=‘‘role:permission:assignment’’ Effect=‘‘Permit’’>
<Target>

(continued on next page)


1104 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

<Subjects>
<Subject>
<SubjectMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<SubjectAttributeDesignator AttributeId=‘‘urn:cei:ac:role’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>r</AttributeValue>
<SubjectAttributeDesignator AttributeId=‘‘&subject;subject-id’’ DataType=‘‘&xml;string’’/>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<ResourceAttributeDesignator AttributeId=‘‘urn:cei:ac:requestID’’ DataType=‘‘&xml:integer’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>w1</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>opw</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
</Action>
</Actions>
</Target>
<Condition>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:AND’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:status’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’>w1</AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId=’’ urn:cei:ac:invitation’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> opw </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> r_inviter </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:rolePermission’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> r_inviter </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> w1 </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> opw </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId=’’ urn:cei:ac:revocation’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> opw </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> r_inviter </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> r_inviter </AttributeValue>
</Apply>
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1105

</Apply>
</Condition>
</Rule>

 Assign ‘‘write’’ permissions to a role based on self-declaration of leading center (applicable to the transition stage of the workflow)

role-permission (r,req,wt,opw)
V
status(req,wt)
V
request(req,course,format,agency)
V
location(agency,loc)
V
inChargeLocation(r,loc)
V
inChargeCourse(r,course)
V
inChargeFormat(r,format)
isLeadingCenter(r,req)
<Rule RuleId=‘‘role:permission:assignment’’ Effect=‘‘Permit’’>
<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<SubjectAttributeDesignator AttributeId=‘‘urn:cei:ac:role’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>r</AttributeValue>
<SubjectAttributeDesignator AttributeId=‘‘&subject;subject-id’’ DataType=‘‘&xml;string’’/>
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<ResourceAttributeDesignator AttributeId=‘‘urn:cei:ac:requestID’’ DataType=‘‘&xml:integer’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<Action>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>wt</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
<ActionMatch MatchId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<AttributeValue DataType=‘‘&xml:string’’>opw</AttributeValue>
<ActionAttributeDesignator DataType=‘‘&xml:string’’
AttributeId=‘‘urn:oasis:names:tc:xacml:1.0:action:action-id’’/>
</ActionMatch>
</Action>
</Actions>
</Target>
<Condition>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:AND’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:status’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’>req</AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’>wt</AttributeValue>
</Apply>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-equal’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:request’’ DataType=‘‘&xml;string’’/>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> course </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> format </AttributeValue>

(continued on next page)


1106 X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107

<AttributeValue DataType=‘‘&xml;string’’> agency </AttributeValue>


</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:location’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> agency </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> loc </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeLocation’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> loc </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeCourse’’DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> course </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:inChargeFormat’’DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> format </AttributeValue>
</Apply>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function: string-equal’’>
<Apply FunctionId=‘‘urn:oasis:names:tc:xacml:1.0:function:string-bag’’>
<EnvironmentAttributeDesignator AttributeId=‘‘urn:cei:ac:isLeadingCenter’’ DataType=‘‘&xml;string’’/>
<AttributeValue DataType=‘‘&xml;string’’> r </AttributeValue>
<AttributeValue DataType=‘‘&xml;string’’> req </AttributeValue>
</Apply>
</Apply>
</Condition>
</Rule>

References [13] Buyl R, Nyssen M. MedSkills: a learning environment for evidence-based


medical skills. Methods Inf Med 2010;49(4):390–5.
[14] Reynolds RJ, Candler CS. MedEdPORTAL: educational scholarship for teaching. J
[1] Kunzi J, Koster P, Petkovic M. Emergency access to protected health records.
Contin Educ Health Prof 2008;28(2):91–4.
Stud Health Technol Inform 2009;150:705–9.
[15] Lee ES, McDonald DW, Anderson N, Tarczy-Hornoch P. Incorporating
[2] Lovis C, Spahni S, Cassoni N, Geissbuhler A. Comprehensive management of the
collaboratory concepts into informatics in support of translational
access to the electronic patient record towards trans-institutional networks.
interdisciplinary biomedical research. Int J Med Inform 2009;78(1):10–21.
Int J Med Inform 2007;76(5–6):466–70.
[16] Gennari JH, Weng C, Benedetti J, McDonald DW. Asynchronous
[3] Kesselheim AS, Mello MM. Confidentiality laws and secrecy in medical
communication among clinical researchers: a study for systems design. Int J
research: improving public access to data on drug safety. Health Aff
Med Inform 2005;74(10):797–807.
2007;26(2):483–91.
[17] Kopsacheilis EV, Kamilatos I, Strintzis MG, Makris L. Design of CSCW
[4] Ferreira A, Correia A, Silva A, Corte A, Pinto A, Saavedra A, et al. Why facilitate
applications for medical teleconsultation and remote diagnosis support. Med
patient access to medical records. Stud Health Technol Inform
Inform 1997;22(2):121–32.
2007;127:77–90.
[18] Bricon-Souf N, Beuscart R, Renard JM, Geib JM. An asynchronous co-operative
[5] Renegar G, Webster CJ, Stuerzebecher S, Harty L, Ide SE, Balkite B, et al.
model for co-ordinating medical unit activities. Comput Methods Programs
Returning genetic research results to individuals: points-to-consider. Bioethics
Biomed 1997;54(1–2):77–83.
2006;20(1):24–36.
[19] Xiao Y, Seagull FJ. Emergent CSCW systems: the resolution and bandwidth of
[6] Halsted MJ, Perry LA, Cripe TP, Collins MH, Jakobovits R, Benton C, et al.
workplaces. Int J Med Inform 2007;76(Suppl 1):S261–6.
Improving patient care: the use of a digital teaching file to enhance clinicians’
[20] Pratt W, Reddy MC, McDonald DW, Tarczy-Hornoch P, Gennari JH.
access to the intellectual capital of interdepartmental conferences. Am J
Incorporating ideas from computer-supported cooperative work. J Biomed
Roentgenol 2004;182(2):307–9.
Inform 2004;37(2):128–37.
[7] Ross SE, Lin CT. The effects of promoting patient access to medical records: a
[21] Jitaru E, Moisil I, Alexandru A, Mirescu M, Pertache I. CSCW – a paradigm for an
review. J Am Med Inform Assoc 2003;10(2):129–38.
efficient management of the healthcare organizations. Stud Health Technol
[8] Biswas A, Mynampati KC, Umashankar S, Reuben S, Parab G, Rao R, et al.
Inform 2002;90:596–600.
MetDAT: a modular and workflow-based free online pipeline for mass
[22] Bouillon Y, Wendling F, Bartolomei F. Computer-supported collaborative work
spectrometry data processing, analysis and interpretation. Bioinformatics
(CSCW) in biomedical signal visualization and processing. IEEE Trans Inf
2010;26(20):2639–40.
Technol Biomed 1999;3(1):28–31.
[9] Donelson L, Tarczy-Hornoch P, Mork P, Dolan C, Mitchell JA, Barrier M, et al.
[23] Elkin PL, Liebow M, Bauer BA, Chaliki S, Wahner-Roedler D, Bundrick J, et al.
The BioMediator system as a data integration tool to answer diverse biologic
The introduction of a diagnostic decision support system (DXplain TM) into
queries. Medinfo 2004;11(Pt 2):768–72.
the workflow of a teaching hospital service can decrease the cost of service for
[10] Hannan A. Providing patients online access to their primary care computerized
diagnostically challenging Diagnostic Related Groups (DRGs). Int J Med Inform
medical records: a case study of sharing and caring. Inform Prim Care
2010;79(11):772–7.
2010;18(1):41–9.
[24] Niazkhani Z, Pirnejad H, van der Sijs H, de Bont A, Aarts J. Computerized
[11] Geissbuhler A. Access to health information: a key for better health in the
provider order entry system – does it support the inter-professional
knowledge society. Yearbook Med Inform 2008:20–2.
medication process? Lessons from a Dutch academic hospital. Methods Inf
[12] Lindberg DA, Humphreys BL. Rising expectations: access to biomedical
Med 2010;49(1):20–7.
information. Yearbook Med Inform 2008:165–72.
X.H. Le et al. / Journal of Biomedical Informatics 45 (2012) 1084–1107 1107

[25] Unertl KM, Weinger MB, Johnson KB, Lorenzi NM. Describing and modeling [51] Sujansky WV, Faus SA, Stone E, et al. A method to implement fine-grained
workflow and information flow in chronic disease care. J Am Med Inform Assoc access control for personal health records through standard relational
2009;16(6):826–36. database queries. J Biomed Inform 2010;43(5 Suppl.):S46–50.
[26] Croll P. Privacy, security and access with sensitive health information. Stud [52] Chen K, Chang YC, Wang DW. Aspect-oriented design and implementation of
Health Technol Inform 2010;151:167–75. adaptable access control for electronic medical records. Int J Med Inform
[27] Rinehart-Thompson LA, Hjort BM, Cassidy BS. Redefining the health 2010;79(3):181–203.
information management privacy and security role. Perspect Health Inform [53] OASIS eXtensible access control markup language (XACML). <http://
Manage 2009;6:1d. www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml> [accessed
[28] Blobel B, Pharow P. Security and privacy issues of personal health. Stud Health 25.04.11].
Technol Inform 2007;127:288–97. [54] Li EY, Du TC, Wong JW. Access control in collaborative commerce. Decis
[29] Mikels D. Privacy: after the compliance date. J Healthc Inform Manage Support Syst 2007;43(2):675–85.
2007;18(2):34–7. [55] Tolone W, Ahn GJ, Pai T, et al. Access control in collaborative systems. ACM
[30] Sittig DF, Singh H. Eight rights of safe electronic health record use. J Am Med Comput Surv 2005;37(1):29–41.
Assoc 2009;302(10):1111–3. [56] Zhang L, Ahn GJ, Chu BT. A rule-based framework for role-based delegation
[31] Kurtz G. EMR confidentiality and information security. J Healthc Inform and revocation. ACM Trans Inform Syst Secur 2003;6(3):404–41.
Manage 2003;17(3):41–8. [57] Zhang X, Oh S, Sandhu R. PBDM: a flexible delegation model in RBAC. ACM
[32] American Psychiatric Association. Committee on Confidentiality. Guidelines on symposium on access control models and technologies (SACMAC); 2003. p.
confidentiality. Am J Psychiatry 1987;144(11):1522–6. 149–57.
[33] Lewis D. Information overload: tips for focusing on what you need and [58] AIDS Training and Education Centers. <http://www.aids-ed.org/> [accessed
ignoring what you don’t. Biomed Instrum Technol 2009;43(3):188–95. 25.04.11].
[34] Hoelzer S, Schweiger RK, Rieger J, Meyer M. Dealing with an information [59] The Protégé Ontology Editor and Knowledge Acquisition System. <http://
overload of health science data: structured utilisation of libraries, distributed protege.stanford.edu/> [accessed 25.04.11].
knowledge in databases and Web content. Stud Health Technol Inform [60] SWRL: a semantic web rule language combining OWL and RuleML. <http://
2006;124:549–54. www.w3.org/Submission/SWRL/> [accessed 25.04.11].
[35] Barnett GO, Barry MJ, Robb-Nicholson C, Morgan M. Overcoming information [61] Jess, the Rule Engine for the Java Platform. <http://www.jessrules.com>
overload: an information system for the primary care physician. Stud Health [accessed 25.04.11].
Technol Inform 2004;107(Pt 1):273–6. [62] Le XH, Wang D. Development of a system framework for implementation
[36] Grando MA, Peleg M, Cuggia M, Glasspool D. Patterns for collaborative work in of an enhanced role-based access control model to support collaborative
health care teams. Artif Intell Med 2011;53(3):139–60. processes. In: Proc 3rd USENIX Workshops on Health Security and
[37] Predeschly M, Dadam P, Acker H. Security challenges in adaptive e-Health Privacy; 2012. In press.
processes. In: Proc SAFECOMP 2008. Newcastle upon Tyne, UK, September [63] Friedman CP, Wyatt JC. Evaluation methods in biomedical informatics. 2nd
2008. ed. New York (NY): Springer; 2006.
[38] Lampson BW. Dynamic protection structures. In: AFIPS conference, Las Vegas, [64] Wang D, Peleg M, Tu SW, Boxwala AA, Ogunyemi O, Zeng Q, et al. Design and
Nevada; 1969. p. 27–38. implementation of the GLIF3 guideline execution engine. J Biomed Inform
[39] LaPadula LJ, Bell DE. Secure computer systems: mathematical foundation, vol. 2004;37(5):305–18.
1. Bedford, Mass: Hansom AFB; 1973. [65] Choi J, Currie LM, Wang D, Bakken S. Encoding a clinical practice guideline
[40] D.T.C.S.E.C. (TCSEC). DoD 5200.28-STD foundations. MITRE Technical Report using GuideLine Interchange Format: a case study of a depression screening
2547; 1973. and management guideline. Int J Med Inform 2007;76(Suppl.):S302–7.
[41] Yeh LY, Chen YC, Huang JL. ABACS: an attribute-based access control system [66] Wang D, Peleg M, Bu D, Cantor M, Landesberg G, Lunenfeld E, et al. GESDOR – a
for emergency services over vehicular ad hoc networks. IEEE J Sel Areas generic execution model for sharing of computer-interpretable clinical
Commun 2011;29(3):630–43. practice guidelines. In: Proc AMIA symp; 2003. p. 694–8.
[42] Ferraiolo DR, Sandhu S, Kuhn DR, et al. Proposed NIST standard for role-based [67] Le XH, Doll T, Barbosu M, Luque A, Wang D. Evaluation of an enhanced role-
access control. ACM Trans Inform Syst Secur 2001;4(3):224–74. based access control model to support information access management in
[43] The New York State HIV clinical education initiative. <http:// collaborative processes. Technical Report 12-03, 2012. Biomedical Informatics
www.ceitraining.org> [accessed 25.04.11]. Research and Development Center. University of Rochester. <http://
[44] Georgiadis CK, Mavridis IK, Nikolakopoulou G, Pangalos GI. Implementing birdlab.org/papers/technical_reports/evaluation.pdf>.
context and team based access control in healthcare intranets. Med Inform [68] Sousa AC, Wagner DP, Henry RC, Mavis BE. Better data for teachers, better data
Internet Med 2002;27(3):185–201. for learners, better patient care: college-wide assessment at Michigan State
[45] Blobel B, Nordberg R, Davis JM, et al. Modelling privilege management and University’s College of Human Medicine. Med Educ, Online; 2011. p. 16.
access control. Int J Med Inform 2006;75(8):597–623. [69] Van Harrison R, Standiford CJ, Green LA, Bernstein SJ. Integrating education
[46] Peleg M, Beimel D, Dori D, et al. Situation-based access control: privacy into primary care quality and cost improvement at an academic medical
management via modeling of patient data access scenarios. J Biomed Inform center. J Contin Educ Health Prof 2006;26(4):268–84.
2008;41(6):1028–40. [70] Beimel D, Peleg M. Using OWL and SWRL to represent and reason with
[47] Le XH, Lee S, Lee YK, et al. Activity-oriented access control to ubiquitous situation-based access control policies. Data Knowl Eng 2011;70:596–615.
hospital information and services. Inf Sci 2010;180(16):2979–90. [71] Toninelli A, Montanari R, Kagal L, Lassila O. A semantic context-aware access
[48] Rodriguez MD, Favela J, Martinez EA, et al. Location-aware access to hospital control framework for secure collaborations in pervasive computing
information and services. IEEE Trans Inf Technol Biomed 2004;4:448–55. environments. In: Proc 5th international semantic web conference (ISWC);
[49] Koufi V, Vassilacopoulos G. Context-aware access control for pervasive access 2006. p. 473–86.
to process-based healthcare systems. Stud Health Technol Inform [72] Finin T, Joshi A, Kagal L, et al. ROWLBAC – representing role based access
2008;136:679–84. control in OWL. SACMAT’08; 2008. p. 73–82.
[50] Motta GH, Furuie SS. A contextual role-based access control authorization [73] Bradshaw J, Uszok A, Jefferes R, et al. Representation and reasoning for DAML-
model for electronic patient record. IEEE Trans Inform Technol Biomed based policy and domain services in KAoS and Nomads. AAMAS’03; 2003. p.
2003;7(3):202–7. 835–42.

You might also like