GLOBAL MAP DATA DICTIONARY #8930.1 -- USR AUTHORIZATION/SUBSCRIPTION FILE                                         3/24/25    PAGE 1
STORED IN ^USR(8930.1,  (114 ENTRIES)   SITE: WWW.BMIRWIN.COM   UCI: VISTA,VISTA                                   (VERSION 1.0)   
-----------------------------------------------------------------------------------------------------------------------------------
This file associates users with actions on documents.  
 
Actions are of 2 kinds: authorization actions such as the signature action, which an associated user is authorized to perform, and
subscription actions, such as an unsigned document notification, which the associated user "signs up to receive." 
 
An action may be associated with a USER CLASS in the User Class file (e.g. Staff Physician class) AND/OR with a USER ROLE in
relation to the document (e.g. author of document).  
 
If an Authorization/Subscription entry has both User Class AND User Role, the AND FLAG field permits these requirements to be
"AND'ed", that is, a user must both belong to the User Class AND must fill the User Role in order to perform the action.  If the
AND FLAG has value OR, or has no value, then User Class and User Role within the same entry are "OR'ed".  
 
Each file entry associates an action with 1 user class and/or 1 role.  The entry makes this association for a given Document
Definition (e.g.  Progress Note) of a given status (e.g. Unsigned).  
 
Multiple file entries for the SAME action/Document Definition/document status allow association with more than one user class/role. 
Such entries are "OR'ed":  that is, if a user belongs to the user class/role of one OR another of these entries, the user may
perform the action.  
 
User classes automatically INCLUDE user subclasses of the given class as defined in the User Class file.  
 
Document Definitions exist in hierarchy in file 8925.1, with Classes at the top level, Document Classes at the next level down, and
Titles under Document Classes.  Authorization/Subscription entries may be defined at any of the above levels.  For example, an
authorization which applies to most or all Progress Notes should be defined at the Class level for Document Definition "Progress
Note."  On the other hand, an authorization which applies only to Progress Notes of Title "Dental Hygiene Note" should be defined
at the Title level for Document Definition "Dental Hygiene Note".  
 
When using authorizations/subscriptions to determine whether a given user should receive/may perform a given action for a Document
Definition of a given Title, code begins by checking entries for that action and status FOR THAT TITLE.  If ANY such entries exist,
then entries for higher Document Definition levels will be ignored, and the user passes/fails based on that level alone.  Thus, if
a Title is linked with a certain action, status and user class, then rules for that Title, action, and status should be entered for
ALL user classes which can perform the action on the Title, since broader authorization (e.g. Provider class) set at higher levels
(e.g. Progress Notes) is ignored.  
 
If such entries do NOT exist, the next higher level of Document Definition is checked.  And so on.  
 
If no entries are found on any level, no users can perform/subscribe to the action for the given Document Definition and status.  


CROSS
REFERENCED BY: DOCUMENT DEFINITION(AC), STATUS(AC1), ACTION(AC2), USER CLASS(AC3), DOCUMENT DEFINITION(AR), STATUS(AR1), 
               ACTION(AR2), USER ROLE(AR3), DOCUMENT DEFINITION(B), USER CLASS(C), USER ROLE(D)



^USR(8930.1,D0,0)= (#.01) DOCUMENT DEFINITION [1P:8925.1] ^ (#.02) STATUS [2P:8930.6] ^ (#.03) ACTION [3P:8930.8] ^ (#.04) USER 
                ==>CLASS [4P:8930] ^ (#.05) AND FLAG [5S] ^ (#.06) USER ROLE [6P:8930.2] ^ 
^USR(8930.1,D0,1,0)=^8930.11^^  (#1) DESCRIPTION
^USR(8930.1,D0,1,D1,0)= (#.01) DESCRIPTION [1W] ^ 
^USR(8930.1,D0,POST)= (#3) CONSEQUENCE [E1,245K] ^ 
^USR(8930.1,D0,PRE)= (#2) PREREQUISITE ACTION [E1,245K] ^ 


INPUT TEMPLATE(S):
^DIE(1488)= USR DEFINE AUTHORIZATIONS    

PRINT TEMPLATE(S):

SORT TEMPLATE(S):

FORM(S)/BLOCK(S):