1 | TIUSRVT2 ; SLC/JM - Server functions for templates ;1/19/2001
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**80,105**;Jun 20, 1997
|
---|
3 | TACCESS(TIUY,ROOT,USER,LOC) ;Returns Template Access level of User
|
---|
4 | ;
|
---|
5 | ;Return Values:
|
---|
6 | ;
|
---|
7 | ; 0 = FULL ACCESS
|
---|
8 | ; 1 = READ ONLY
|
---|
9 | ; 2 = NO ACCESS
|
---|
10 | ; 3 = SHARED TEMPLATES EDITOR - ACCESS PARAMETERS DO NOT APPLY
|
---|
11 | ;
|
---|
12 | I +ROOT D Q:+TIUY
|
---|
13 | .D ISEDITOR^TIUSRVT(.TIUY,ROOT,USER)
|
---|
14 | .I +TIUY S TIUY=3
|
---|
15 | .E S TIUY=0
|
---|
16 | S TIUY=$$GET^XPAR(USER_";VA(200,","TIU PERSONAL TEMPLATE ACCESS",1,"I")
|
---|
17 | I TIUY="" D
|
---|
18 | .N TIUCLLST,TIUERR,IDX,TMP
|
---|
19 | .D GETLST^XPAR(.TIUCLLST,"SYS","TIU TEMPLATE ACCESS BY CLASS","Q",.TIUERR)
|
---|
20 | .I TIUERR>0 Q
|
---|
21 | .S IDX=0
|
---|
22 | .F S IDX=$O(TIUCLLST(IDX)) Q:'IDX D
|
---|
23 | ..I $$ISA^USRLM(USER,$P(TIUCLLST(IDX),U),.TIUERR) D
|
---|
24 | ...S TMP=+$P(TIUCLLST(IDX),U,2)
|
---|
25 | ...I +TIUY'>TMP S TIUY=TMP
|
---|
26 | I TIUY="" D
|
---|
27 | .N XPARSRCH,SERVICE
|
---|
28 | .I +$G(LOC) S XPARSRCH=LOC_";SC("_U
|
---|
29 | .E S XPARSRCH=""
|
---|
30 | .S SERVICE=$P($G(^VA(200,USER,5)),U)
|
---|
31 | .I +SERVICE>0 S XPARSRCH=XPARSRCH_SERVICE_";DIC(49,"_U
|
---|
32 | .S XPARSRCH=XPARSRCH_"DIV^SYS"
|
---|
33 | .S TIUY=$$GET^XPAR(XPARSRCH,"TIU PERSONAL TEMPLATE ACCESS")
|
---|
34 | I TIUY="" S TIUY=0
|
---|
35 | Q
|
---|
36 | GETDFLT(TIUY) ;Returns Default Templates for the current user
|
---|
37 | N TIUTMP,TIUERR
|
---|
38 | D GETLST^XPAR(.TIUTMP,"USR","TIU DEFAULT TEMPLATES","Q",.TIUERR)
|
---|
39 | S TIUY=$P($G(TIUTMP(1)),U,2)
|
---|
40 | Q
|
---|
41 | SETDFLT(TIUY,SETTINGS) ;Saves Default Templates for the user
|
---|
42 | N TIUERR
|
---|
43 | D EN^XPAR(DUZ_";VA(200,","TIU DEFAULT TEMPLATES",1,SETTINGS,.TIUERR)
|
---|
44 | S TIUY=1
|
---|
45 | Q
|
---|
46 | LSTACCUM(TIUY,TIULVL,TYP,PARAM) ; Accumulates TIUTMP into TIUY
|
---|
47 | N IDX,I,J,FOUND,TIUERR,TIUTMP
|
---|
48 | D GETLST^XPAR(.TIUTMP,TIULVL,PARAM,TYP,.TIUERR)
|
---|
49 | S I=0,IDX=$O(TIUY(999999),-1)+1
|
---|
50 | F S I=$O(TIUTMP(I)) Q:'I D
|
---|
51 | .S (FOUND,J)=0
|
---|
52 | .F S J=$O(TIUY(J)) Q:'J D Q:FOUND
|
---|
53 | ..I TIUY(J)=TIUTMP(I) S FOUND=1
|
---|
54 | .I 'FOUND D
|
---|
55 | ..S TIUY(IDX)=TIUTMP(I)
|
---|
56 | ..S IDX=IDX+1
|
---|
57 | Q
|
---|
58 | RDACCUM(TIUY,TIULVL,TYP) ; Accumulates Reminder Dialog List
|
---|
59 | D LSTACCUM(.TIUY,TIULVL,TYP,"TIU TEMPLATE REMINDER DIALOGS")
|
---|
60 | Q
|
---|
61 | REMDLGS(TIUY) ;Returns a list of all reminder dialogs usable in templates
|
---|
62 | N SRV
|
---|
63 | K TIUY
|
---|
64 | D RDACCUM(.TIUY,"USR","N")
|
---|
65 | S SRV=$P($G(^VA(200,DUZ,5)),U)
|
---|
66 | D RDACCUM(.TIUY,"SRV.`"_+$G(SRV),"N")
|
---|
67 | D RDACCUM(.TIUY,"DIV","N")
|
---|
68 | D RDACCUM(.TIUY,"SYS","N")
|
---|
69 | Q
|
---|
70 | RDINLST(TIULST,TIUIEN) ; Searches TIULST for TIUIEN
|
---|
71 | N IDX,RES
|
---|
72 | S (IDX,RES)=0
|
---|
73 | F S IDX=$O(TIULST(IDX)) Q:'IDX D Q:+RES
|
---|
74 | . I $P(TIULST(IDX),U,2)=TIUIEN S RES=1
|
---|
75 | K TIUIEN
|
---|
76 | Q RES
|
---|
77 | REMDLGOK(TIUY,TIUIEN) ;Returns TRUE if the passed in Reminder Dialog IEN is
|
---|
78 | ; Allowed to be used as a TIU Template
|
---|
79 | N TIULST,SRV
|
---|
80 | S TIUY=-1
|
---|
81 | I '$D(^PXRMD(801.41,+$G(TIUIEN))) Q
|
---|
82 | I $P(^PXRMD(801.41,+$G(TIUIEN),0),U,3)'="" Q
|
---|
83 | S TIUY=1
|
---|
84 | D RDACCUM(.TIULST,"USR","Q")
|
---|
85 | I $$RDINLST(.TIULST,TIUIEN) Q
|
---|
86 | S SRV=$P($G(^VA(200,DUZ,5)),U)
|
---|
87 | D RDACCUM(.TIULST,"SRV.`"_+$G(SRV),"Q")
|
---|
88 | I $$RDINLST(.TIULST,TIUIEN) Q
|
---|
89 | D RDACCUM(.TIULST,"DIV","Q")
|
---|
90 | I $$RDINLST(.TIULST,TIUIEN) Q
|
---|
91 | D RDACCUM(.TIULST,"SYS","Q")
|
---|
92 | I $$RDINLST(.TIULST,TIUIEN) Q
|
---|
93 | S TIUY=0
|
---|
94 | Q
|
---|
95 | OBJACCUM(TIUY,TIULVL) ; Accumulates Reminder Dialog List
|
---|
96 | D LSTACCUM(.TIUY,TIULVL,"N","TIU TEMPLATE PERSONAL OBJECTS")
|
---|
97 | Q
|
---|
98 | PERSOBJS(TIUY) ; Returns the list of Patient Data Objects that are
|
---|
99 | ; allowed to be used in Personal Templates
|
---|
100 | N SRV
|
---|
101 | K TIUY
|
---|
102 | D OBJACCUM(.TIUY,"USR")
|
---|
103 | S SRV=$P($G(^VA(200,DUZ,5)),U)
|
---|
104 | I +SRV D OBJACCUM(.TIUY,"SRV.`"_+$G(SRV))
|
---|
105 | D OBJACCUM(.TIUY,"DIV")
|
---|
106 | D OBJACCUM(.TIUY,"SYS")
|
---|
107 | Q
|
---|
108 | LOCK(TIUY,TIUDA) ; Lock Template
|
---|
109 | L +^TIU(8927,TIUDA,0):1
|
---|
110 | S TIUY=$T
|
---|
111 | Q
|
---|
112 | UNLOCK(TIUY,TIUDA) ; Unlock Template
|
---|
113 | L -^TIU(8927,TIUDA,0):1
|
---|
114 | S TIUY=1
|
---|
115 | Q
|
---|