Tutorials › Optimal Design and Model-Informed Dosing › Defining User Roles and Permissions

Model-Informed Precision Dosing in Practice · Tutorial 379 of 497

Defining User Roles and Permissions

Design and test role permissions that give each user only the access needed for their work while separating clinical decisions from system administration.

Advanced 10 min read

What You'll Learn

  • Distinguish permission to view patient information from permission to generate or approve a recommendation.
  • Define roles around specific tasks, patient scope, and workflow context.
  • Apply least privilege, default denial, and separation of duties to dosing workflows.
  • Identify conflicting permissions and explain the risks they create.
  • Compare role-based and attribute-based access controls.
  • Test role designs for excessive access, missing access, and unsafe escalation paths.

Why Roles Matter in a Dosing Workflow

A dosing decision-support system can expose sensitive patient information, calculate a recommendation, place that recommendation into a clinical workflow, and change the configuration that controls the service. Those are different actions with different consequences. A user who needs to review a recommendation does not automatically need authority to approve an order; a system administrator who maintains interfaces does not automatically need access to patient records.

The purpose of role design is to translate work responsibilities into explicit, testable permissions. It is not enough to name roles “clinician,” “pharmacist,” or “administrator.” Each role must specify what its users can do, on which patients or records, and under what conditions. Role design should complement the workflow and interface choices already made for displaying, acting on, and overriding recommendations.

Definition: A permission is an authorization to perform a defined action on a defined resource under stated conditions. A role is a named bundle of permissions assigned to users because they perform a particular set of job functions. A role is not, by itself, proof of clinical competence, professional scope, or approval authority.

For a model-informed dosing service, begin by separating four capabilities: viewing patient data, generating a recommendation, approving or releasing an order, and administering system settings. These capabilities may be combined when workflow and policy justify it, but they should not be treated as a single “access” permission. In particular, generating a recommendation is not the same as authorizing a medication order, and administering the software is not the same as making a clinical decision.

Specify Permissions Before Naming Roles

A permission specification should identify at least the user or role, the action, the resource, and relevant conditions. “Can access dosing” is too vague to test. A more useful statement is: “A pharmacist assigned to the current care team may view the dosing inputs and generated recommendation for that team’s active patients.” The condition limits access by patient relationship and workflow context.

The least-privilege principle says to grant only the permissions needed for assigned work, and only for the necessary scope and duration. A sound initial policy is to deny access unless a permission is explicitly granted. Access can then be granted to an appropriate role rather than assembled through informal exceptions. A person’s job title alone should not imply that they need every capability associated with the system.

CapabilityTypical purposePermission boundary to define
View patient dataReview the clinical inputs relevant to dosingWhich patients, data elements, and care contexts are visible?
Generate recommendationRequest a calculation using available inputsWhich users can initiate it, and for which patients or workflows?
Approve or release orderAuthorize an order to proceed in the clinical workflowWhich users have approval authority, and what review is required?
Administer settingsMaintain configuration, mappings, or access rulesWhich changes are permitted, and are they separated from clinical approval?

The table describes distinct functions, not a universal staffing model. For example, a clinician may be allowed to view data and generate a recommendation but still need a separate authorized user to approve the order. Local policy and professional responsibilities determine who may approve; technical permission should enforce those boundaries rather than invent them.

Worked Example: Building a Minimal Role Matrix

Consider a hypothetical service in which a prescriber reviews dosing recommendations and approves orders, a clinical pharmacist reviews inputs and generates recommendations, and an application administrator maintains configuration. For a first-pass design, use four permissions: view, generate, approve, and administer. Assume all patient access is further limited to patients in the user’s authorized care context.

Assign the prescriber view and approve permissions. Assign the pharmacist view and generate permissions. Assign the application administrator administer permission, but no patient-data or clinical-order permission by default. The resulting matrix is:

RoleViewGenerateApproveAdminister
PrescriberYesNoYesNo
Clinical pharmacistYesYesNoNo
Application administratorNoNoNoYes

This design permits the pharmacist to prepare a recommendation but does not authorize that user to approve the order. The prescriber can review and approve but cannot change system settings. The administrator can maintain the service without routine access to identifiable patient data. If an administrator must troubleshoot a specific patient-level issue, that need calls for a narrowly scoped, documented, time-limited process rather than a permanent blanket grant.

The matrix is only a starting point. Before use, verify that the EHR’s underlying permissions do not silently add capabilities, that each role has a defined patient scope, and that the workflow can still be completed when the pharmacist or prescriber is unavailable.

Conflict Risks and Separation of Duties

A role conflict occurs when one user receives permissions that should be separated because combining them creates an unacceptable risk. The relevant question is not simply whether a person could perform two tasks; it is whether one account can bypass a meaningful check, conceal an error, or change the system in a way that affects its own clinical decisions.

For example, an account that can both change dosing-related configuration and approve orders could alter a setting and then authorize orders under that changed setting without an independent check. An account that can generate and approve an order may also remove a review step that the workflow intends to provide. These combinations are not automatically prohibited in every setting, but they require explicit justification, controls, and evidence that the residual risk is acceptable.

Definition: Separation of duties divides sensitive tasks among different users or roles so that no single account can complete a risky sequence without an independent check. It is especially important where a permission can change clinical output, authorize treatment, or weaken the controls around either action.

Assess conflicts as combinations of actions, not just pairs of role names. Ask whether an account can change configuration and approve an order, grant itself additional access, or use an emergency access path without review. Also check whether inherited permissions create a conflict: a user may appear to have a limited role while membership in a second group supplies the missing approval or administration permission.

Worked Example: Detecting a Role Conflict

In a hypothetical clinic, a single “dosing lead” role has view, generate, approve, and administer permissions. The role is assigned to one clinician who also maintains the dosing service’s local settings. Identify the conflict and propose a safer design.

The risky combination is administer plus approve. The same account can change settings that may affect recommendations and approve orders that use those settings. The additional combination of generate plus approve also means the account can produce and authorize its own recommendation, eliminating an intended independent review if the workflow requires one.

A safer design separates the clinical and technical duties. Give the clinician view, generate, and any locally authorized approval permission needed for clinical work, but remove routine administer permission. Give the application administrator configuration permission without approval or routine patient-data access. If a small service cannot staff those functions separately at all times, establish a controlled exception: restrict the change to a defined purpose and duration, record who used it and why, and require an independent review of the resulting configuration change and affected orders.

This is not solved merely by renaming the combined role or reminding the user to be careful. The permission path itself must be restricted or a specific compensating control must make the exceptional action visible and independently reviewable.

Role-Based and Attribute-Based Controls

In role-based access control (RBAC), permissions are associated with roles, and users receive permissions through their assigned roles. RBAC is relatively easy to explain and review when job functions are stable and the number of roles is manageable. Its weakness is that broad roles can accumulate permissions, while highly specific combinations can produce an unmanageable number of roles.

In attribute-based access control (ABAC), an authorization decision depends on attributes of the user, resource, action, and context. A rule might allow a clinician to view a patient’s data only when the clinician is assigned to that patient’s care team and is working in the relevant clinical workflow. Attributes can make patient-level scope and time or context limits explicit, but policy becomes harder to understand if rules are numerous or hidden in several systems.

Many implementations use both approaches: a role identifies the user’s general function, while attributes narrow access to the appropriate patient, location, or workflow. Whatever the implementation, state the authorization rule in terms that can be tested. A user should not gain access to a patient merely because they belong to a broad professional group.

Worked Example: Limiting Access by Patient Context

Suppose a hypothetical pharmacist has a role that permits viewing dosing inputs and generating a recommendation. The pharmacist is assigned to a care team with 18 active patients. A second ward has 24 active patients. Assume the policy permits access only to patients assigned to the user’s current team.

The role grants the relevant actions, but the team assignment restricts the resources. The pharmacist may view and generate for the 18 assigned patients; the same role does not authorize those actions for the 24 patients on the other ward. The restriction is applied to each patient record, not inferred from the user’s professional title.

To test the rule, attempt an allowed action on one assigned patient and a denied action on one patient outside the team. Confirm that both viewing and generation are checked; a system that blocks record viewing but allows generation through a patient identifier has not enforced the policy consistently. If the pharmacist’s assignment ends, the access condition should no longer be satisfied.

Testing, Diagnostics, and Limitations

A role design is not complete until its permissions have been tested in the actual workflow. Test representative users against both allowed and denied actions. Include ordinary use, patient-scope boundaries, role changes, combined group membership, and any exceptional access path. Confirm that the application checks authorization at the point of action, not only when a user first opens a screen.

Useful warning signs include users who routinely share accounts, frequent requests for broad temporary grants, a role that combines configuration changes with clinical approval, and permissions retained after a user changes duties. Also investigate mismatches between the role matrix and observed access: a supposedly denied action that succeeds indicates an enforcement defect, while a routinely blocked necessary task may indicate that the design omitted a legitimate workflow need. A blocked task should prompt a policy review, not an automatic broadening of access.

Audit records should make it possible to determine which account performed a sensitive action, on which patient or configuration, and when. For exceptional access, record the reason and the scope of the grant. Logs do not prevent an unsafe permission combination, but they support detection and review. They are not a substitute for clear authorization rules.

No single role matrix is appropriate for every institution. Staffing models, clinical authority, EHR behavior, and local privacy and security requirements vary. RBAC can become cumbersome where work changes frequently; ABAC can be difficult to audit when its rules are opaque; and separation of duties can slow urgent workflows if no safe exception path exists. The design must therefore balance patient safety, privacy, accountability, and operational feasibility, while keeping permissions narrower than the maximum access a user might find convenient.

Common Mistake

Common mistake: “The application administrator is trusted, so the account should have access to all patient data and the ability to approve orders.” Trust in a person does not make every permission necessary. The correction is to grant technical administration separately from routine patient access and clinical approval, then define a documented, limited exception for troubleshooting when needed.

Check Your Understanding

Answer each question, then compare your reasoning with the solutions below.

  1. A pharmacist can view patient data and generate recommendations. Does that automatically authorize the pharmacist to approve orders? Explain.
  2. An account can change dosing-related settings and approve orders. Identify the main conflict and one control that could reduce the risk.
  3. A user has a role that permits viewing and generating recommendations, but is not assigned to a particular patient’s care team. Under a patient-scoped policy, should the user be allowed to generate for that patient?
  4. Give one advantage and one limitation of RBAC compared with ABAC in this setting.
  5. Why is an account that can grant itself new permissions a special concern?

Solutions. (1) No. Generating a recommendation and approving an order are distinct permissions; approval depends on assigned clinical authority and workflow policy. (2) The account can alter settings that may affect recommendations and approve orders under those settings. Separate administration from approval; if separation is temporarily infeasible, use narrowly scoped access with independent review. (3) No, if the policy requires current care-team assignment. The role grants actions but does not satisfy the patient-scope condition. (4) RBAC is often straightforward to describe and review for stable job functions, but broad roles can accumulate excessive permissions. ABAC can enforce patient and workflow context more precisely, but complex rules may be harder to understand and audit. (5) Self-granting access can bypass the normal authorization process and conceal privilege escalation; permission grants should be restricted and independently reviewable.

Clinical Biostats