STANDARD 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)   

DATA          NAME                  GLOBAL        DATA
ELEMENT       TITLE                 LOCATION      TYPE
-----------------------------------------------------------------------------------------------------------------------------------
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.  


              DD ACCESS: @
              RD ACCESS: @
              WR ACCESS: @
             DEL ACCESS: @
           LAYGO ACCESS: @
           AUDIT ACCESS: @
IDENTIFIED BY: 
       "W.02": S %I=Y,Y=$S('$D(^(0)):"",$D(^USR(8930.6,+$P(^(0),U,2),0))#2:$P(^(0),U,1),1:""),C=$P(^DD(8930.6,.01,0),U,2) D Y^DIQ:Y
               ]"" W " ",Y,@("$E("_DIC_"%I,0),0)") S Y=%I K %I
       "W.03": S %I=Y,Y=$S('$D(^(0)):"",$D(^USR(8930.8,+$P(^(0),U,3),0))#2:$P(^(0),U,1),1:""),C=$P(^DD(8930.8,.01,0),U,2) D Y^DIQ:Y
               ]"" W " ",Y,@("$E("_DIC_"%I,0),0)") S Y=%I K %I
       "W.04": S %I=Y,Y=$S('$D(^(0)):"",$D(^USR(8930,+$P(^(0),U,4),0))#2:$P(^(0),U,1),1:""),C=$P(^DD(8930,.01,0),U,2) D Y^DIQ:Y]"" 
               W " ",Y,@("$E("_DIC_"%I,0),0)") S Y=%I K %I
       "W.05": W " ",@("$P($P($C(59)_$S($D(^DD(8930.1,.05,0)):$P(^(0),U,3),1:0)_$E("_DIC_"Y,0),0),$C(59)_$P(^(0),U,5)_"":"",2),$C(5
               9),1)")
       "W.06": S %I=Y,Y=$S('$D(^(0)):"",$D(^USR(8930.2,+$P(^(0),U,6),0))#2:$P(^(0),U,1),1:""),C=$P(^DD(8930.2,.01,0),U,2) D Y^DIQ:Y
               ]"" W " ",Y,@("$E("_DIC_"%I,0),0)") S Y=%I K %I

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)



8930.1,.01    DOCUMENT DEFINITION    0;1 POINTER TO TIU DOCUMENT DEFINITION FILE (#8925.1) (Required)

              INPUT TRANSFORM:  S DIC("S")="I ""^CL^DC^DOC^""[(U_$P(^(0),U,4)_U)" D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
              LAST EDITED:      FEB 25, 1997 
              HELP-PROMPT:      Enter the Document Definition for which the action is authorized or subscribed to. 
              DESCRIPTION:      This is a Document Definition of Type Class, Document Class, or Title from the Document Definition
                                File 8925.1 

              SCREEN:           S DIC("S")="I ""^CL^DC^DOC^""[(U_$P(^(0),U,4)_U)"
              EXPLANATION:      Rules are limited to Classes, Document Classes, and Titles.
              CROSS-REFERENCE:  8930.1^B 
                                1)= S ^USR(8930.1,"B",$E(X,1,30),DA)=""
                                2)= K ^USR(8930.1,"B",$E(X,1,30),DA)

              CROSS-REFERENCE:  8930.1^AC^MUMPS 
                                1)= I +$P($G(^USR(8930.1,+DA,0)),U,2),+$P($G(^(0)),U,3),+$P($G(^(0)),U,4) S ^USR(8930.1,"AC",+X,+$P
                                ($G(^USR(8930.1,+DA,0)),U,2),+$P($G(^(0)),U,3),+$P($G(^(0)),U,4),DA)=""

                                2)= I +$P($G(^USR(8930.1,+DA,0)),U,2),+$P($G(^(0)),U,3),+$P($G(^(0)),U,4) K ^USR(8930.1,"AC",+X,+$P
                                ($G(^USR(8930.1,+DA,0)),U,2),+$P($G(^(0)),U,3),+$P($G(^(0)),U,4),DA)
                                This MUMPS-type, Multi-field cross-reference is used to optimize identification of user classes
                                whose members are authorized to perform a given action on a document type, which is in a particular
                                status.  


              CROSS-REFERENCE:  8930.1^AR^MUMPS 
                                1)= I +$P($G(^USR(8930.1,+DA,0)),U,2),+$P($G(^(0)),U,3),+$P($G(^(0)),U,6) S ^USR(8930.1,"AR",+X,+$P
                                ($G(^USR(8930.1,+DA,0)),U,2),+$P($G(^(0)),U,3),+$P($G(^(0)),U,6),DA)=""

                                2)= I +$P($G(^USR(8930.1,+DA,0)),U,2),+$P($G(^(0)),U,3),+$P($G(^(0)),U,6) K ^USR(8930.1,"AR",+X,+$P
                                ($G(^USR(8930.1,+DA,0)),U,2),+$P($G(^(0)),U,3),+$P($G(^(0)),U,6),DA)
                                This MUMPS-type, Multi-field cross-reference is used to optimize identification of users whose
                                relationship to the document allows them to perform a given action on a document type, which is in 
                                a particular status.  



8930.1,.02    STATUS                 0;2 POINTER TO USR RECORD STATUS FILE (#8930.6) (Required)

              LAST EDITED:      OCT 10, 2006 
              HELP-PROMPT:      Enter the status of document for which the event is authorized. 
              CROSS-REFERENCE:  8930.1^AC1^MUMPS 
                                1)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,3),+$P($G(^(0)),U,4) S ^USR(8930.1,"AC",+$P($G(^
                                USR(8930.1,+DA,0)),U),+X,+$P($G(^(0)),U,3),+$P($G(^(0)),U,4),DA)=""

                                2)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,3),+$P($G(^(0)),U,4) K ^USR(8930.1,"AC",+$P($G(^
                                USR(8930.1,+DA,0)),U),+X,+$P($G(^(0)),U,3),+$P($G(^(0)),U,4),DA)
                                This MUMPS-type, Multi-field cross-reference is used to optimize identification of user classes
                                whose members are authorized to perform a given action on a document type, which is in a particular
                                status.  


              CROSS-REFERENCE:  8930.1^AR1^MUMPS 
                                1)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,3),+$P($G(^(0)),U,6) S ^USR(8930.1,"AR",+$P($G(^
                                USR(8930.1,+DA,0)),U),+X,+$P($G(^(0)),U,3),+$P($G(^(0)),U,6),DA)=""

                                2)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,3),+$P($G(^(0)),U,6) K ^USR(8930.1,"AR",+$P($G(^
                                USR(8930.1,+DA,0)),U),+X,+$P($G(^(0)),U,3),+$P($G(^(0)),U,6),DA)
                                This MUMPS-type, Multi-field cross-reference is used to optimize identification of users whose
                                relationship to the document allows them to perform a given action on a document type, which is in 
                                a particular status.  



8930.1,.03    ACTION                 0;3 POINTER TO USR ACTION FILE (#8930.8) (Required)

              LAST EDITED:      OCT 10, 2006 
              HELP-PROMPT:      Enter the action which is permitted for this document type. 
              DESCRIPTION:
                                This is the action to be permitted for a given document type and status.  

              CROSS-REFERENCE:  8930.1^AC2^MUMPS 
                                1)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,4) S ^USR(8930.1,"AC",+$P($G(^
                                USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+X,+$P($G(^(0)),U,4),DA)=""

                                2)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,4) K ^USR(8930.1,"AC",+$P($G(^
                                USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+X,+$P($G(^(0)),U,4),DA)
                                This MUMPS-type, Multi-field cross-reference is used to optimize identification of user classes
                                whose members are authorized to perform a given action on a document type, which is in a particular
                                status.  


              CROSS-REFERENCE:  8930.1^AR2^MUMPS 
                                1)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,6) S ^USR(8930.1,"AR",+$P($G(^
                                USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+X,+$P($G(^(0)),U,6),DA)=""

                                2)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,6) K ^USR(8930.1,"AR",+$P($G(^
                                USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+X,+$P($G(^(0)),U,6),DA)
                                This MUMPS-type, Multi-field cross-reference is used to optimize identification of users whose
                                relationship to the document allows them to perform a given action on a document type, which is in 
                                a particular status.  



8930.1,.04    USER CLASS             0;4 POINTER TO USR CLASS FILE (#8930)

              LAST EDITED:      JAN 02, 1997 
              HELP-PROMPT:      Identify User Class to which authorization will be granted. 
              DESCRIPTION:      This is the User Class which is being authorized to perform an action on a document of the type and
                                status indicated.  

              CROSS-REFERENCE:  8930.1^AC3^MUMPS 
                                1)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,3) S ^USR(8930.1,"AC",+$P($G(^
                                USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,3),+X,DA)=""

                                2)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,3) K ^USR(8930.1,"AC",+$P($G(^
                                USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,3),+X,DA)
                                This MUMPS-type, Multi-field cross-reference is used to optimize identification of user classes
                                whose members are authorized to perform a given action on a document type, which is in a particular
                                status.  


              CROSS-REFERENCE:  8930.1^C 
                                1)= S ^USR(8930.1,"C",$E(X,1,30),DA)=""
                                2)= K ^USR(8930.1,"C",$E(X,1,30),DA)
                                This REGULAR FileMan cross-reference facilitates look-ups based on USER CLASS.  



8930.1,.05    AND FLAG               0;5 SET

                                '&' FOR AND; 
                                '!' FOR OR; 
              LAST EDITED:      JUN 19, 1995 
              HELP-PROMPT:      Indicate whether the User Class and User Role should be "AND'ed" 
              DESCRIPTION:      This field allows the ADPAC to indicate whether the conditions specified by User Class and User
                                Role should be logically "AND'ed," or logically "OR'ed," as they will be unless otherwise
                                specified.  i.e., if you want to specify that an unsigned discharge summary may be signed by a
                                user, where: 
                                 
                                User Class = Provider AND User Role = Author, 
                                 
                                then you'll want to set this field to AND.  


8930.1,.06    USER ROLE              0;6 POINTER TO USR ROLE FILE (#8930.2)

              LAST EDITED:      JAN 02, 1997 
              HELP-PROMPT:      Identify the role of the user with respect to the documents. 
              DESCRIPTION:      This identifies the role of the user with respect to the document in question (e.g.,
                                Author/Dictator, Expected Signer, Expected Cosigner, Attending Physician, etc.).  

              CROSS-REFERENCE:  8930.1^AR3^MUMPS 
                                1)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,3) S ^USR(8930.1,"AR",+$P($G(^
                                USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,3),+X,DA)=""

                                2)= I +$P($G(^USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,3) K ^USR(8930.1,"AR",+$P($G(^
                                USR(8930.1,+DA,0)),U),+$P($G(^(0)),U,2),+$P($G(^(0)),U,3),+X,DA)
                                This MUMPS-type, Multi-field cross-reference is used to optimize identification of users whose
                                relationship to the document allows them to perform a given action on a document type, which is in 
                                a particular status.  


              CROSS-REFERENCE:  8930.1^D 
                                1)= S ^USR(8930.1,"D",$E(X,1,30),DA)=""
                                2)= K ^USR(8930.1,"D",$E(X,1,30),DA)
                                This REGULAR FileMan Cross-reference facilitates look-ups based on USER ROLE.  



8930.1,1      DESCRIPTION            1;0   WORD-PROCESSING #8930.11

              DESCRIPTION:       For most entries, the meaning of the entry will be clear from the description of the associated
                                event in the TIU Event file.  In some cases, that may not suffice, in which case this field may be
                                used to further 
                                 
                                For example, if an entry associates the Signature event with a document of status completed, it
                                might help to note in the description field that such a signature is a walkup signature.  
                                 
                                It should not be necessary to describe consequences in this field - those descriptions may be
                                gotten from the associated protocol descriptions instead.  
                                 
                                This field will be used when persons associating users with user classes wish to know the meaning
                                of events associated with certain user classes.  


                LAST EDITED:      OCT 11, 1994 
                HELP-PROMPT:      If the meaning of this entry requires elaboration beyond the description of the associated event 
                                  in the TIU Event file, elaborate here. 



8930.1,2      PREREQUISITE ACTION    PRE;E1,245 MUMPS

              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      FEB 13, 1995 
              HELP-PROMPT:      Enter M-code to execute before the event can occur. 
              WRITE AUTHORITY:  @

8930.1,3      CONSEQUENCE            POST;E1,245 MUMPS

              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      FEB 13, 1995 
              HELP-PROMPT:      Enter M-code to be executed on completion of the action. 
              WRITE AUTHORITY:  @


      FILES POINTED TO                      FIELDS

TIU DOCUMENT DEFINITION (#8925.1)  DOCUMENT DEFINITION (#.01)

USR ACTION (#8930.8)              ACTION (#.03)

USR CLASS (#8930)                 USER CLASS (#.04)

USR RECORD STATUS (#8930.6)       STATUS (#.02)

USR ROLE (#8930.2)                USER ROLE (#.06)



INPUT TEMPLATE(S):
USR DEFINE AUTHORIZATIONS     APR 02, 2007@09:05  USER #0    

PRINT TEMPLATE(S):

SORT TEMPLATE(S):

FORM(S)/BLOCK(S):