1 | DGPFLMU1 ;ALB/KCL - PRF DISPLAY FLAG DETAIL LM UTILITIES CONT ; 10/12/05 10:26am
|
---|
2 | ;;5.3;Registration;**425,554,650**;Aug 13, 1993;Build 3
|
---|
3 | ;
|
---|
4 | ;no direct entry
|
---|
5 | QUIT
|
---|
6 | ;
|
---|
7 | EN(DGARY,DGIEN,DGDFN,DGCNT) ;Entry point to build flag assignment detail list area.
|
---|
8 | ;
|
---|
9 | ; Input:
|
---|
10 | ; DGARY - global array subscript
|
---|
11 | ; DGIEN - ien of PATIENT ASSIGNMENT (#26.13) file
|
---|
12 | ; DGDFN - ien of PATIENT (#2) file
|
---|
13 | ;
|
---|
14 | ; Output:
|
---|
15 | ; DGCNT - number of lines in the list, pass by reference
|
---|
16 | ;
|
---|
17 | N DGHIEN ;assignment history ien
|
---|
18 | N DGHIENS ;contains assignment history ien's
|
---|
19 | N DGHISCNT ;count of history records
|
---|
20 | N DGLINE ;line counter
|
---|
21 | N DGPFA ;assignment array
|
---|
22 | N DGPFAH ;assignment history array
|
---|
23 | N DGPFF ;flag array
|
---|
24 | N DGSUB ;subscript of history ien's array
|
---|
25 | ;
|
---|
26 | ;init variables
|
---|
27 | S DGCNT=0
|
---|
28 | S (DGLINE,VALMBEG)=1
|
---|
29 | K DGPFA
|
---|
30 | K DGPFAH
|
---|
31 | K DGPFF
|
---|
32 | K DGHIENS
|
---|
33 | ;
|
---|
34 | Q:'$G(DGIEN)
|
---|
35 | ;
|
---|
36 | ;get assignment into DGPFA array
|
---|
37 | Q:'$$GETASGN^DGPFAA(DGIEN,.DGPFA)
|
---|
38 | S DGPFA("INITASSIGN")=$$GETADT^DGPFAAH(DGIEN) ;initial assign date
|
---|
39 | ;
|
---|
40 | ;get most recent assignment history and place in DGPFAH array
|
---|
41 | Q:'$$GETHIST^DGPFAAH($$GETLAST^DGPFAAH(DGIEN),.DGPFAH)
|
---|
42 | ;
|
---|
43 | ;get record flag into DGPFF array
|
---|
44 | Q:'$$GETFLAG^DGPFUT1($P($G(DGPFA("FLAG")),U),.DGPFF)
|
---|
45 | ;
|
---|
46 | ;build Assignment Details area
|
---|
47 | D ASGN(DGARY,.DGPFA,.DGPFAH,.DGPFF,.DGLINE,.DGCNT)
|
---|
48 | ;
|
---|
49 | ;build Assignment History heading
|
---|
50 | S DGLINE=DGLINE+1
|
---|
51 | D SET(DGARY,DGLINE,$TR($J("",80)," ","="),1,,,.DGCNT)
|
---|
52 | D SET(DGARY,DGLINE,"<Assignment History>",30,IORVON,IORVOFF,.DGCNT)
|
---|
53 | ;
|
---|
54 | ;get all history ien's associated with the assignment
|
---|
55 | Q:'$$GETALLDT^DGPFAAH(DGIEN,.DGHIENS)
|
---|
56 | ;
|
---|
57 | ;reverse loop through each assignment history ien
|
---|
58 | ;and get record into DGPFAH array
|
---|
59 | S DGHISCNT=0,DGSUB=9999999.999999
|
---|
60 | F S DGSUB=$O(DGHIENS(DGSUB),-1) Q:DGSUB="" D
|
---|
61 | . S DGHIEN=+$G(DGHIENS(DGSUB))
|
---|
62 | . K DGPFAH
|
---|
63 | . I $$GETHIST^DGPFAAH(DGHIEN,.DGPFAH) D
|
---|
64 | . . ;
|
---|
65 | . . ;-history record counter
|
---|
66 | . . S DGHISCNT=DGHISCNT+1
|
---|
67 | . . ;
|
---|
68 | . . ;-build assignment history area
|
---|
69 | . . D HIST(DGARY,.DGPFAH,.DGPFA,.DGLINE,DGHISCNT,.DGCNT)
|
---|
70 | Q
|
---|
71 | ;
|
---|
72 | ;
|
---|
73 | ASGN(DGARY,DGPFA,DGPFAH,DGPFF,DGLINE,DGCNT) ;This procedure will build the lines of FLAG ASSIGNMENT details.
|
---|
74 | ;
|
---|
75 | ; Input:
|
---|
76 | ; DGARY - global array subscript
|
---|
77 | ; DGPFF - flag array, pass by reference
|
---|
78 | ; DGPFA - assignment array, pass by reference
|
---|
79 | ; DGPFAH - assignment history array, pass by reference
|
---|
80 | ; DGLINE - line counter
|
---|
81 | ;
|
---|
82 | ; Output:
|
---|
83 | ; DGCNT - number of lines in the list, pass by reference
|
---|
84 | ;
|
---|
85 | ;temporary variables used
|
---|
86 | N DGSUB
|
---|
87 | N DGTMP
|
---|
88 | ;
|
---|
89 | ;set flag name
|
---|
90 | D SET(DGARY,DGLINE,"Flag Name: "_$P($G(DGPFA("FLAG")),U,2),12,,,.DGCNT)
|
---|
91 | ;
|
---|
92 | ;set flag type
|
---|
93 | S DGLINE=DGLINE+1
|
---|
94 | D SET(DGARY,DGLINE,"Flag Type: "_$P($G(DGPFF("TYPE")),U,2),12,,,.DGCNT)
|
---|
95 | ;
|
---|
96 | ;set flag category
|
---|
97 | S DGLINE=DGLINE+1
|
---|
98 | S DGTMP=$S($P($G(DGPFA("FLAG")),U)["26.11":"II (LOCAL)",1:"I (NATIONAL)")
|
---|
99 | D SET(DGARY,DGLINE,"Flag Category: "_DGTMP,8,,,.DGCNT)
|
---|
100 | ;
|
---|
101 | ;set flag assignment status
|
---|
102 | S DGLINE=DGLINE+1
|
---|
103 | D SET(DGARY,DGLINE,"Assignment Status: "_$P($G(DGPFA("STATUS")),U,2),4,,,.DGCNT)
|
---|
104 | ;
|
---|
105 | ;set initial assignment date
|
---|
106 | S DGLINE=DGLINE+1
|
---|
107 | D SET(DGARY,DGLINE,"Initial Assignment: "_$$FDTTM^VALM1($P(+$G(DGPFA("INITASSIGN")),U)),3,,,.DGCNT)
|
---|
108 | ;
|
---|
109 | ;set last review date (do not set if only initial assignment)
|
---|
110 | S DGLINE=DGLINE+1
|
---|
111 | I (+$G(DGPFAH("ASSIGNDT")))=(+$G(DGPFA("INITASSIGN"))) D
|
---|
112 | . S DGTMP="N/A"
|
---|
113 | E S DGTMP=$$FDATE^VALM1(+$G(DGPFAH("ASSIGNDT")))
|
---|
114 | D SET(DGARY,DGLINE,"Last Review Date: "_DGTMP,5,,,.DGCNT)
|
---|
115 | ;
|
---|
116 | ;set next review date
|
---|
117 | S DGLINE=DGLINE+1
|
---|
118 | S DGTMP=+$G(DGPFA("REVIEWDT"))
|
---|
119 | S DGTMP=$S(DGTMP:$$FDATE^VALM1(DGTMP),1:"N/A")
|
---|
120 | D SET(DGARY,DGLINE,"Next Review Date: "_DGTMP,5,,,.DGCNT)
|
---|
121 | ;
|
---|
122 | ;set owner site
|
---|
123 | S DGLINE=DGLINE+1
|
---|
124 | D SET(DGARY,DGLINE,"Owner Site: "_$P($G(DGPFA("OWNER")),U,2)_" "_$$FMTPRNT^DGPFUT1($P($G(DGPFA("OWNER")),U)),11,,,.DGCNT)
|
---|
125 | ;
|
---|
126 | ;set originating site
|
---|
127 | S DGLINE=DGLINE+1
|
---|
128 | D SET(DGARY,DGLINE,"Originating Site: "_$P($G(DGPFA("ORIGSITE")),U,2)_" "_$$FMTPRNT^DGPFUT1($P($G(DGPFA("ORIGSITE")),U)),5,,,.DGCNT)
|
---|
129 | ;
|
---|
130 | ;set assignment narrative
|
---|
131 | S DGLINE=DGLINE+1
|
---|
132 | D SET(DGARY,DGLINE,"",1,,,.DGCNT)
|
---|
133 | S DGLINE=DGLINE+1
|
---|
134 | D SET(DGARY,DGLINE,"Record Flag Assignment Narrative:",1,IORVON,IORVOFF,.DGCNT)
|
---|
135 | I '$D(DGPFA("NARR",1,0)) D Q
|
---|
136 | . S DGLINE=DGLINE+1
|
---|
137 | . D SET(DGARY,DGLINE,"No Narrative Text",1,,,.DGCNT)
|
---|
138 | S (DGSUB,DGTMP)=""
|
---|
139 | F S DGSUB=$O(DGPFA("NARR",DGSUB)) Q:'DGSUB D
|
---|
140 | . S DGTMP=$G(DGPFA("NARR",DGSUB,0))
|
---|
141 | . S DGLINE=DGLINE+1
|
---|
142 | . D SET(DGARY,DGLINE,DGTMP,1,,,.DGCNT)
|
---|
143 | ;
|
---|
144 | ;set blank lines
|
---|
145 | S DGLINE=DGLINE+2
|
---|
146 | D SET(DGARY,DGLINE,"",1,,,.DGCNT)
|
---|
147 | ;
|
---|
148 | Q
|
---|
149 | ;
|
---|
150 | ;
|
---|
151 | HIST(DGARY,DGPFAH,DGPFA,DGLINE,DGHISCNT,DGCNT) ;This procedure will build the lines of FLAG ASSIGNMENT HISTORY details.
|
---|
152 | ;
|
---|
153 | ; Input:
|
---|
154 | ; DGARY - global array subscript
|
---|
155 | ; DGPFAH - assignment history array, pass by reference
|
---|
156 | ; DGPFA - assignment array, pass by reference
|
---|
157 | ; DGLINE - line counter
|
---|
158 | ; DGHISCNT - counter of history record
|
---|
159 | ;
|
---|
160 | ; Output:
|
---|
161 | ; DGCNT - number of lines in the list, pass by reference
|
---|
162 | ;
|
---|
163 | ;temporary variables used
|
---|
164 | N DGTMP
|
---|
165 | N DGSUB
|
---|
166 | ;
|
---|
167 | ;set blank line
|
---|
168 | S DGLINE=DGLINE+1
|
---|
169 | D SET(DGARY,DGLINE,"",1,,,.DGCNT)
|
---|
170 | ;
|
---|
171 | ;add an additional blank line except on the first history
|
---|
172 | I DGHISCNT>1 D
|
---|
173 | . S DGLINE=DGLINE+1
|
---|
174 | . D SET(DGARY,DGLINE,"",1,,,.DGCNT)
|
---|
175 | ;
|
---|
176 | ;set action
|
---|
177 | S DGLINE=DGLINE+1
|
---|
178 | S DGTMP=DGHISCNT_"."
|
---|
179 | D SET(DGARY,DGLINE,DGTMP,1,IORVON,IORVOFF,.DGCNT)
|
---|
180 | D SET(DGARY,DGLINE,"Action: "_$P($G(DGPFAH("ACTION")),U,2),10,IORVON,IORVOFF,.DGCNT)
|
---|
181 | ;
|
---|
182 | ;set assignment date
|
---|
183 | S DGLINE=DGLINE+1
|
---|
184 | D SET(DGARY,DGLINE,"Action Date: "_$$FDTTM^VALM1($P($G(DGPFAH("ASSIGNDT")),U)),5,,,.DGCNT)
|
---|
185 | ;
|
---|
186 | ;set entered by
|
---|
187 | S DGLINE=DGLINE+1
|
---|
188 | D SET(DGARY,DGLINE,"Entered By: "_$P($G(DGPFAH("ENTERBY")),U,2),6,,,.DGCNT)
|
---|
189 | ;
|
---|
190 | ;set approved by
|
---|
191 | S DGLINE=DGLINE+1
|
---|
192 | D SET(DGARY,DGLINE,"Approved By: "_$P($G(DGPFAH("APPRVBY")),U,2),5,,,.DGCNT)
|
---|
193 | ;
|
---|
194 | ;set progress note linked
|
---|
195 | I $D(^DG(40.8,"AD",+$P($G(DGPFA("OWNER")),U))) D
|
---|
196 | . Q:+$G(DGPFAH("ACTION"))=5 ;don't display ENTERED IN ERROR action
|
---|
197 | . S DGLINE=DGLINE+1
|
---|
198 | . D SET(DGARY,DGLINE,"Progress Note: "_$P($G(DGPFAH("TIULINK")),U,2),3,,,.DGCNT)
|
---|
199 | ;
|
---|
200 | ;set history comments
|
---|
201 | S DGLINE=DGLINE+1
|
---|
202 | D SET(DGARY,DGLINE,"Action Comments:",1,,,.DGCNT)
|
---|
203 | S DGLINE=DGLINE+1
|
---|
204 | D SET(DGARY,DGLINE,"----------------",1,,,.DGCNT)
|
---|
205 | I $D(DGPFAH("COMMENT",1,0)) D
|
---|
206 | . S (DGSUB,DGTMP)=""
|
---|
207 | . F S DGSUB=$O(DGPFAH("COMMENT",DGSUB)) Q:'DGSUB D
|
---|
208 | .. S DGTMP=$G(DGPFAH("COMMENT",DGSUB,0))
|
---|
209 | .. S DGLINE=DGLINE+1
|
---|
210 | .. D SET(DGARY,DGLINE,DGTMP,1,,,.DGCNT)
|
---|
211 | E D
|
---|
212 | . S DGLINE=DGLINE+1
|
---|
213 | . D SET(DGARY,DGLINE,"No Comments on file.",1,,,.DGCNT)
|
---|
214 | ;
|
---|
215 | Q
|
---|
216 | ;
|
---|
217 | ;
|
---|
218 | SET(DGARY,DGLINE,DGTEXT,DGCOL,DGON,DGOFF,DGCNT) ;This procedure will set the lines of flag assignment details into the LM display area.
|
---|
219 | ;
|
---|
220 | ; Input:
|
---|
221 | ; DGARY - global array subscript
|
---|
222 | ; DGLINE - line number
|
---|
223 | ; DGTEXT - text
|
---|
224 | ; DGCOL - starting column
|
---|
225 | ; DGON - highlighting on
|
---|
226 | ; DGOFF - highlighting off
|
---|
227 | ;
|
---|
228 | ; Output:
|
---|
229 | ; DGCNT - number of lines in the list, pass by reference
|
---|
230 | ;
|
---|
231 | N DGX ;temp variable for line of display text
|
---|
232 | ;
|
---|
233 | S DGCNT=DGLINE
|
---|
234 | S DGX=$S($D(^TMP(DGARY,$J,DGLINE,0)):^(0),1:"")
|
---|
235 | S ^TMP(DGARY,$J,DGLINE,0)=$$SETSTR^VALM1(DGTEXT,DGX,DGCOL,$L(DGTEXT))
|
---|
236 | D:$G(DGON)]""!($G(DGOFF)]"") CNTRL^VALM10(DGLINE,DGCOL,$L(DGTEXT),$G(DGON),$G(DGOFF))
|
---|
237 | Q
|
---|