[613] | 1 | GMRCACTM ; SLC/DLT,DCM,JFR - Set action menus ;10/17/01 22:41
|
---|
| 2 | ;;3.0;CONSULT/REQUEST TRACKING;**1,4,11,18,15,17,22,55**;DEC 27, 1997;Build 4
|
---|
| 3 | ;
|
---|
| 4 | ; This routine invokes IA #2425
|
---|
| 5 | ;
|
---|
| 6 | CPRS(GMRCPM,GUI) ;Entry point for setting menu actions for CPRS user
|
---|
| 7 | ;Input:
|
---|
| 8 | ; GMRCPM=a list of File 123 IEN's to check for menu actions.
|
---|
| 9 | ; Passed in as '300;303;295;309;313'
|
---|
| 10 | ; GUI =1 if coming from the GUI; return field name in ORFLG also
|
---|
| 11 | ;Output:
|
---|
| 12 | ; ORFLG(ien)= A^B^C^D^E^F^G^H where:
|
---|
| 13 | ; Ien = internal entry of record in file 123
|
---|
| 14 | ; A = a number representing one of the following:
|
---|
| 15 | ; 1 - user has only review capabilities
|
---|
| 16 | ; 2 - user has full update capabilities
|
---|
| 17 | ; 3 - user has administrative update capabilities
|
---|
| 18 | ; 4 - user has full update and admin user capabilities
|
---|
| 19 | ; 5 - user has full update capabilities via unrestricted access
|
---|
| 20 | ; B = field in file 123.5 (REQUEST SERVICES) that gave the user
|
---|
| 21 | ; update authority (ex. Update user w/o Notification)
|
---|
| 22 | ; C = Service in file 123.5 (REQUEST SERVICES) that gave the user
|
---|
| 23 | ; update authority (ex. CARDIOLOGY,NEUROLOGY)
|
---|
| 24 | ; D = contains a 1 if user is allowed to associate medicine results
|
---|
| 25 | ; with a consult procedure request
|
---|
| 26 | ; F = contain a 1 if user can disassociate a medicine result that was
|
---|
| 27 | ; incorrectly associated with a consult procedure request
|
---|
| 28 | ; G = contains a 1 if user is allowed to EDIT and RESUBMIT a canceled
|
---|
| 29 | ; request
|
---|
| 30 | ; H = 0-4 depending on actions allowed on a Clin. Proc. request
|
---|
| 31 | ;
|
---|
| 32 | I '$L(GMRCPM) S ORFLG=1 Q
|
---|
| 33 | K ORFLG
|
---|
| 34 | N I,GMRCSS,GMRCIEN
|
---|
| 35 | F I=1:1 S ORFLG=1,GMRCIEN=$P(GMRCPM,";",I) Q:GMRCIEN="" D
|
---|
| 36 | .S ORFLG(GMRCIEN)=1 ;set default answer to read only
|
---|
| 37 | .I $P($G(^GMR(123,GMRCIEN,12)),U,5)="P" D Q ;IFC placer so only ED/RES
|
---|
| 38 | .. ;can user edit/resubmit
|
---|
| 39 | .. I $$VALPROV^GMRCEDIT(GMRCIEN) S $P(ORFLG(GMRCIEN),U,6)=1
|
---|
| 40 | .S GMRCSS=+$P($G(^GMR(123,+GMRCIEN,0)),"^",5)
|
---|
| 41 | .Q:'+$G(GMRCSS)
|
---|
| 42 | .;when service is defined, check for service user
|
---|
| 43 | .D EN
|
---|
| 44 | .S ORFLG(GMRCIEN)=ORFLG
|
---|
| 45 | . ;what actions to allow if a Clincial Procedure
|
---|
| 46 | . S $P(ORFLG(GMRCIEN),U,7)=$$CPACTM^GMRCCP(GMRCIEN)
|
---|
| 47 | .I ORFLG>1 D
|
---|
| 48 | .. ;can DUZ associate med results? only if not a CP!
|
---|
| 49 | .. N P4
|
---|
| 50 | .. S P4=$S(+$P(ORFLG(GMRCIEN),U,7):0,1:$$CANDOMED^GMRCGUIU(GMRCIEN))
|
---|
| 51 | .. S $P(ORFLG(GMRCIEN),U,4)=P4
|
---|
| 52 | . ;can DUZ disassociate a med result?
|
---|
| 53 | . S $P(ORFLG(GMRCIEN),U,5)=+$$REMUSR^GMRCDIS(GMRCIEN)
|
---|
| 54 | . ;can user edit/resubmit
|
---|
| 55 | . I $$VALPROV^GMRCEDIT(GMRCIEN) S $P(ORFLG(GMRCIEN),U,6)=1
|
---|
| 56 | . Q
|
---|
| 57 | Q
|
---|
| 58 | ;
|
---|
| 59 | EN ;Set GMRCACTM with appropriate menu of actions based on user
|
---|
| 60 | ;If ORFLG is DEFINED then GMRCACTM is returned as a set of codes:
|
---|
| 61 | ; 1 = GMRCACTM USER REVIEW SCREEN - simple actions
|
---|
| 62 | ; 2 = GMRCACTM SERVICE ACTION menu - all actions possible for
|
---|
| 63 | ; clinical user in service
|
---|
| 64 | ; 3 = administrative user
|
---|
| 65 | ; initialize GMRCACTM for read only
|
---|
| 66 | S GMRCACTM="GMRCACTM USER REVIEW SCREEN"
|
---|
| 67 | ; if service and entry aren't defined, assume read only access
|
---|
| 68 | I '$D(XQADATA),$S('+$G(GMRCSS):1,1:0) D Q
|
---|
| 69 | .I $D(ORFLG) S ORFLG(GMRCIEN)=1 K GMRCACTM
|
---|
| 70 | .Q
|
---|
| 71 | ;
|
---|
| 72 | ;Get the users service update level
|
---|
| 73 | N GMRCFLG
|
---|
| 74 | S GMRCFLG=$$VALID^GMRCAU(+GMRCSS,"",,$G(GUI))
|
---|
| 75 | S:+GMRCFLG=1 GMRCFLG=$S(($D(ORFLG)&($$PATCH^XPDUTL("OR*3.0*243"))):"5^"_$P(GMRCFLG,U,2,9999),1:"2^"_$P(GMRCFLG,U,2,9999))
|
---|
| 76 | ;
|
---|
| 77 | ;If ORFLG is all that should be returned, than set and exit
|
---|
| 78 | I $D(ORFLG) D Q
|
---|
| 79 | . K GMRCACTM
|
---|
| 80 | . I GMRCFLG=0 S ORFLG=1 Q
|
---|
| 81 | . S ORFLG=GMRCFLG Q
|
---|
| 82 | ;
|
---|
| 83 | ; If GMRCSS=and IFC sending service, only allow review screen
|
---|
| 84 | I $D(^GMR(123.5,+GMRCSS,"IFC")),$P(^("IFC"),U) S GMRCFLG=0
|
---|
| 85 | ;
|
---|
| 86 | ;Process the GMRCFLG value to get the GMRCACTM defined.
|
---|
| 87 | I GMRCFLG>0 D Q
|
---|
| 88 | . S GMRCACTM="GMRCACTM SERVICE ACTION MENU"
|
---|
| 89 | Q
|
---|