1 | DGPFUT4 ;ALB/SAE - PRF UTILITIES CONTINUED ; 6/9/04 1:33pm
|
---|
2 | ;;5.3;Registration;**554**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | Q ; no direct entry
|
---|
5 | ;
|
---|
6 | BLDGLOB(DGPFDA,DGPFHX,TXN,DGPFLOUT,DGPFGOUT) ; build global
|
---|
7 | ;
|
---|
8 | ; This procedure builds the temporary global for display.
|
---|
9 | ; It first determines the longest label, then it steps thru the $TEXT
|
---|
10 | ; list of labels of fields, which control the order of nodes created.
|
---|
11 | ; For each label it appends the field value then adds the resulting
|
---|
12 | ; value to the temporary global ^TMP("DGPFARY",$J).
|
---|
13 | ;
|
---|
14 | ; Input:
|
---|
15 | ; DGPFDA - data array
|
---|
16 | ; - derived from DGPFA if called by Flag Assignment transaction
|
---|
17 | ; - derived from DGPFLF if called by Flag Management transaction
|
---|
18 | ; DGPFHX - history array
|
---|
19 | ; - derived from DGPFAH if called by Flag Assignment transaction
|
---|
20 | ; - derived from DGPFLH if called by Flag Management transaction
|
---|
21 | ; TXN - transaction - one of the following:
|
---|
22 | ; FA - FLAG ASSIGNMENT - Assign Flag
|
---|
23 | ; FA - FLAG ASSIGNMENT - Edit Flag Assignment
|
---|
24 | ; FA - FLAG ASSIGNMENT - Change Assignment Ownership
|
---|
25 | ; FM - FLAG MANAGEMENT - Add New Record Flag
|
---|
26 | ; FM - FLAG MANAGEMENT - Edit Record Flag
|
---|
27 | ; DGPFLOUT - (L)ocal (OUT)put array, containing non-WP fields
|
---|
28 | ; DGPFGOUT - (G)lobal (OUT)put array name to be built.
|
---|
29 | ;
|
---|
30 | ; Output:
|
---|
31 | ; DGPFGOUT - (G)lobal (OUT)put - name of ^TMP global built
|
---|
32 | ; Contains assignment detail
|
---|
33 | ; This global is displayed to screen for user.
|
---|
34 | ;
|
---|
35 | ; Temporary variables:
|
---|
36 | N DGPFROOT ; Array root subscript
|
---|
37 | N DGPFCOL ; Column value for each display field, stored in text block
|
---|
38 | N DGPFLABL ; Label of DGPFROOT for display
|
---|
39 | N DGPFVAL ; Value from DGPFROOT array node
|
---|
40 | N DGPFPAD ; Holds padded spaces for display alignment
|
---|
41 | N DGPFOFST ; Offset of text line in text subroutine
|
---|
42 | N DGPFLONG ; Longest label for later display
|
---|
43 | N DGPFLINE ; Line number incremented during final global build in SET
|
---|
44 | N DGPFRTN ; Routine that contains the TEXT from which to read
|
---|
45 | N DGPFTEXT ; value of text line retrieved from TEXT
|
---|
46 | N DGPFTAG ; tag at offset of TEXT
|
---|
47 | N DGPFSR ; TEXT subroutine to use to acquire data
|
---|
48 | N DGPFPICT ; count of number of times PRININV array has been read
|
---|
49 | ;
|
---|
50 | S DGPFLINE=0
|
---|
51 | S DGPFRTN=$P(TXN,U)_"TXT"
|
---|
52 | S DGPFPICT=0
|
---|
53 | ;
|
---|
54 | ; determine longest label - set this value into the variable DGPFLONG:
|
---|
55 | S DGPFLONG=1
|
---|
56 | F DGPFOFST=2:1 D Q:DGPFROOT=""!(DGPFROOT="QUIT")
|
---|
57 | . S DGPFTAG=DGPFRTN_"+"_DGPFOFST,DGPFTEXT=$T(@DGPFTAG)
|
---|
58 | . S DGPFROOT=$P(DGPFTEXT,";",3)
|
---|
59 | . Q:DGPFROOT=""!(";DESC;NARR;COMMENT;REASON;QUIT;"[(";"_DGPFROOT_";"))
|
---|
60 | . I DGPFROOT="PRININV",'$D(DGPFLOUT(DGPFROOT)) Q
|
---|
61 | . S DGPFLABL=$P(DGPFTEXT,";",5)
|
---|
62 | . S DGPFLONG=$S($L(DGPFLABL)+1>DGPFLONG:$L(DGPFLABL)+1,1:DGPFLONG)
|
---|
63 | ;
|
---|
64 | ; step thru the text - this controls the order of display
|
---|
65 | F DGPFOFST=2:1 D Q:DGPFROOT=""!(DGPFROOT="QUIT")
|
---|
66 | . S DGPFTAG=DGPFRTN_"+"_DGPFOFST,DGPFTEXT=$T(@DGPFTAG)
|
---|
67 | . S DGPFROOT=$P(DGPFTEXT,";",3)
|
---|
68 | . S DGPFLABL=$P(DGPFTEXT,";",5)
|
---|
69 | . Q:DGPFROOT=""!(DGPFROOT="QUIT")
|
---|
70 | . ;
|
---|
71 | . ; build array from Principal Investigator multiple
|
---|
72 | . I DGPFROOT="PRININV" D Q
|
---|
73 | . . D BLDPI(DGPFROOT,DGPFLABL,DGPFLONG,.DGPFLINE,.DGPFLOUT,DGPFGOUT)
|
---|
74 | . ;
|
---|
75 | . ; build array from word-processing multiple:
|
---|
76 | . I ";DESC;NARR;COMMENT;REASON;"[(";"_DGPFROOT_";") D Q
|
---|
77 | . . D BLDWP(DGPFROOT,DGPFLABL,.DGPFLINE,.DGPFLOUT,DGPFGOUT)
|
---|
78 | . ;
|
---|
79 | . S DGPFCOL=DGPFLONG-$L(DGPFLABL)
|
---|
80 | . S DGPFPAD=$E($J("",DGPFCOL),1,DGPFCOL)
|
---|
81 | . S DGPFVAL=DGPFPAD_DGPFLABL_DGPFLOUT(DGPFROOT)
|
---|
82 | . ;
|
---|
83 | . S DGPFLINE=DGPFLINE+1
|
---|
84 | . S @DGPFGOUT@(DGPFLINE,0)=DGPFVAL
|
---|
85 | Q
|
---|
86 | ;
|
---|
87 | BLDPI(DGPFROOT,DGPFLABL,DGPFLONG,DGPFLINE,DGPFLOUT,DGPFGOUT) ;
|
---|
88 | ;
|
---|
89 | ; Add each of the nodes from the PRININV array multiple to temp global.
|
---|
90 | ;
|
---|
91 | ; Input:
|
---|
92 | ; DGPFROOT - Name of the field derived from the $TEXT segment below
|
---|
93 | ; DGPFLABL - Label
|
---|
94 | ; DGPFLONG - Contains length of longest label
|
---|
95 | ; DGPFLINE - Line number for incrementing of global array nodes
|
---|
96 | ; DGPFLOUT - Local array of WP text
|
---|
97 | ; DGPFGOUT - (G)lobal (OUT)put - name of ^TMP global built
|
---|
98 | ;
|
---|
99 | ; Output:
|
---|
100 | ; none - build DGPFGOUT - (G)lobal (OUT)put ^TMP global
|
---|
101 | ;
|
---|
102 | ; Temporary variables:
|
---|
103 | N DGPFSUB ; subscript
|
---|
104 | N DGPFPAD ; padding for leading spaces for display
|
---|
105 | N DGPFCOL ; column value for Principal Investigator label
|
---|
106 | N DGPFVAL ; value from DGPFROOT array node
|
---|
107 | ;
|
---|
108 | S DGPFCOL=DGPFLONG-$L(DGPFLABL)
|
---|
109 | S DGPFPAD=$E($J("",DGPFCOL),1,DGPFCOL)
|
---|
110 | ;
|
---|
111 | S DGPFSUB=""
|
---|
112 | F S DGPFSUB=$O(DGPFLOUT(DGPFROOT,DGPFSUB)) Q:'DGPFSUB D
|
---|
113 | . S DGPFVAL=DGPFPAD_DGPFLABL_$G(DGPFLOUT(DGPFROOT,DGPFSUB,0))
|
---|
114 | . ;
|
---|
115 | . S DGPFLINE=DGPFLINE+1
|
---|
116 | . S @DGPFGOUT@(DGPFLINE,0)=DGPFVAL
|
---|
117 | Q
|
---|
118 | ;
|
---|
119 | BLDWP(DGPFROOT,DGPFLABL,DGPFLINE,DGPFLOUT,DGPFGOUT) ;build WP array
|
---|
120 | ;
|
---|
121 | ; This procedure adds each of the nodes from the word-processing
|
---|
122 | ; multiple to the temp global (^TMP).
|
---|
123 | ;
|
---|
124 | ; Input:
|
---|
125 | ; DGPFROOT - Name of the field derived from the $TEXT segment below
|
---|
126 | ; DGPFLABL - label
|
---|
127 | ; DGPFLINE - Line number for incrementing of global array nodes
|
---|
128 | ; DGPFLOUT - Local array of WP text to be added to the global array
|
---|
129 | ; DGPFGOUT - (G)lobal (OUT)put - name of ^TMP global built
|
---|
130 | ;
|
---|
131 | ; Output:
|
---|
132 | ; none - build DGPFGOUT - (G)lobal (OUT)put ^TMP global
|
---|
133 | ;
|
---|
134 | ; Temporary variables:
|
---|
135 | N DGSUB ; subscript value in word processing fields
|
---|
136 | N DGPFPAD ; Padding as spaces for alignment of headers
|
---|
137 | N DGPFVAL ; value from DGPFROOT array node
|
---|
138 | ;
|
---|
139 | S DGPFPAD=" "
|
---|
140 | ;
|
---|
141 | ; insert header for narrative:
|
---|
142 | S DGPFVAL=DGPFPAD_DGPFLABL
|
---|
143 | ;
|
---|
144 | S DGPFLINE=DGPFLINE+1
|
---|
145 | S @DGPFGOUT@(DGPFLINE,0)=DGPFVAL
|
---|
146 | ;
|
---|
147 | ; set each word processing line
|
---|
148 | S DGSUB=0
|
---|
149 | F S DGSUB=$O(DGPFLOUT(DGPFROOT,DGSUB)) Q:'DGSUB D
|
---|
150 | . S DGPFVAL=DGPFPAD_$G(DGPFLOUT(DGPFROOT,DGSUB,0))
|
---|
151 | . ;
|
---|
152 | . S DGPFLINE=DGPFLINE+1
|
---|
153 | . S @DGPFGOUT@(DGPFLINE,0)=DGPFVAL
|
---|
154 | Q
|
---|
155 | ;
|
---|
156 | FATXT ; ordered list of fields to be presented to user for Flag Assignment
|
---|
157 | ;;ROOT; ;LABEL;
|
---|
158 | ;;PATIENT; ;Patient Name: ;
|
---|
159 | ;;FLAGNAME; ;Flag Name: ;
|
---|
160 | ;;FLAGTYPE; ;Flag Type: ;
|
---|
161 | ;;CATEGORY; ;Flag Category: ;
|
---|
162 | ;;STATUS; ;Assignment Status: ;
|
---|
163 | ;;INITASSIGN; ;Initial Assignment: ;
|
---|
164 | ;;LASTREVIEW; ;Last Review Date: ;
|
---|
165 | ;;REVIEWDT; ;Next Review Date: ;
|
---|
166 | ;;OWNER; ;Owner Site: ;
|
---|
167 | ;;ORIGSITE; ;Originating Site: ;
|
---|
168 | ;;ACTION; ;Assignment Action: ;
|
---|
169 | ;;ACTIONDT; ;Action Date: ;
|
---|
170 | ;;ENTERBY; ;Entered By: ;
|
---|
171 | ;;APPRVBY; ;Approved By: ;
|
---|
172 | ;;NARR; ;Record Flag Assignment Narrative: ;
|
---|
173 | ;;COMMENT; ;Action Comments: ;
|
---|
174 | ;;QUIT;
|
---|
175 | Q
|
---|
176 | ;
|
---|
177 | FMTXT ; ordered list of fields to be presented to user for Flag Management
|
---|
178 | ;;ROOT; ;LABEL;
|
---|
179 | ;;FLAGNAME; ;Flag Name: ;
|
---|
180 | ;;CATEGORY; ;Flag Category: ;
|
---|
181 | ;;FLAGTYPE; ;Flag Type: ;
|
---|
182 | ;;STATUS; ;Flag Status: ;
|
---|
183 | ;;REVFREQ; ;Review Frequency Days: ;
|
---|
184 | ;;NOTIDAYS; ;Notification Days: ;
|
---|
185 | ;;REVGRP; ;Review Mail Group: ;
|
---|
186 | ;;TIUTITLE; ;Progress Note Title: ;
|
---|
187 | ;;ENTERDT; ;Enter/Edit On: ;
|
---|
188 | ;;ENTERBY; ;Enter/Edit By: ;
|
---|
189 | ;;PRININV; ;Principal Investigator(s): ;
|
---|
190 | ;;DESC; ;Flag Description: ;
|
---|
191 | ;;REASON; ;Reason For Flag Enter/Edit: ;
|
---|
192 | ;;QUIT;
|
---|
193 | Q
|
---|