1 | DGNTR1 ;ALB/RPM - N/T RADIUM PENDING VERIFICATION REPORT ; 10/4/01 11:05am
|
---|
2 | ;;5.3;Registration;**397**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | ;This report lists all patients with an entry in the NTR HISTORY
|
---|
5 | ;file (#28.11) that are pending verification.
|
---|
6 | ;The report can be tasked using TaskMan and the EN^DGNTR1 entry point.
|
---|
7 | ;The option allows manual generation of the report using a user selected
|
---|
8 | ;output device.
|
---|
9 | ;
|
---|
10 | Q ;No direct entry
|
---|
11 | ;
|
---|
12 | EN ;Entry point
|
---|
13 | I '$D(ZTQUEUED) D MAN Q
|
---|
14 | ;
|
---|
15 | QEN ;Start point for TaskMan queuing
|
---|
16 | D START
|
---|
17 | Q
|
---|
18 | ;
|
---|
19 | MAN ;Start point for manual report allows sort order and device selection
|
---|
20 | N DGSORT
|
---|
21 | S DGSORT=$$ASKSTAT^DGNTQ("Enter the sort type","NAME","SM^N:NAME;D:DATE")
|
---|
22 | Q:DGSORT=0
|
---|
23 | I $$DEVICE() D START
|
---|
24 | Q
|
---|
25 | ;
|
---|
26 | DEVICE() ;Allow user selection of output device
|
---|
27 | ; Input: none
|
---|
28 | ;
|
---|
29 | ; Output: Function value Interpretation
|
---|
30 | ; 0 User decides to queue or not print report.
|
---|
31 | ; 1 Device selected to generate report NOW.
|
---|
32 | ;
|
---|
33 | N OK,IOP,POP,%ZIS,DGX
|
---|
34 | S OK=1
|
---|
35 | S %ZIS="MQ"
|
---|
36 | D ^%ZIS
|
---|
37 | S:POP OK=0
|
---|
38 | I OK,$D(IO("Q")) D
|
---|
39 | . N ZTRTN,ZTDESC,ZTSAVE,ZTSK
|
---|
40 | . S ZTRTN="START^DGNTR1"
|
---|
41 | . S ZTSAVE("DGSORT")=""
|
---|
42 | . S ZTDESC="Current N/T Radium Treatment Pending Verification report."
|
---|
43 | . F DGX=1:1:20 D ^%ZTLOAD Q:$G(ZTSK)
|
---|
44 | . W !,$S($D(ZTSK):"Request "_ZTSK_" Queued!",1:"Request Cancelled!"),!
|
---|
45 | . D HOME^%ZIS
|
---|
46 | . S OK=0
|
---|
47 | Q OK
|
---|
48 | ;
|
---|
49 | START ;
|
---|
50 | D LOOP(DGSORT)
|
---|
51 | D PRINT(DGSORT)
|
---|
52 | D EXIT
|
---|
53 | Q
|
---|
54 | ;
|
---|
55 | LOOP(DGSORT) ;Locate all entries that are pending verification
|
---|
56 | ;and build ^TMP("DGNT",$J, with data
|
---|
57 | N DGIEN ;NTR record IEN
|
---|
58 | N DGSTAT ;Screening Status
|
---|
59 | K ^TMP("DGNT",$J)
|
---|
60 | S DGIEN=0
|
---|
61 | F DGSTAT=2,3 D
|
---|
62 | . F S DGIEN=$O(^DGNT(28.11,"AST",DGSTAT,1,DGIEN)) Q:'DGIEN D
|
---|
63 | . . D BLDTMP(DGIEN,DGSORT,DGSTAT)
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | BLDTMP(DGIEN,DGSORT,DGST) ;^TMP("DGNT",$J global builder
|
---|
67 | ; Build TMP file based on sort selection
|
---|
68 | ;
|
---|
69 | ; Input:
|
---|
70 | ; DGIEN - IEN to patient's NTR record
|
---|
71 | ; DGSORT - sort type ("N"ame or "D"ate)
|
---|
72 | ; DGST - screening status (2-Pend Doc, 3-Pend DX)
|
---|
73 | ;
|
---|
74 | N DGX,DGNT,DFN
|
---|
75 | N DGNAME,DGSSN,DGHNC,DGNTR,DGAVI,DGSUB,DGDATE,VADM
|
---|
76 | N X,X1,X2,Y
|
---|
77 | ;validate input parameters
|
---|
78 | Q:'$G(DGIEN)
|
---|
79 | Q:'$G(DGST)
|
---|
80 | S DGSORT=$G(DGSORT)
|
---|
81 | ;
|
---|
82 | S DGX=$S(DGSORT="D":"DGDATE",1:"DGNAME")
|
---|
83 | Q:'$$GETREC^DGNTAPI(DGIEN,"DGNT")
|
---|
84 | S DFN=+$G(DGNT("DFN"))
|
---|
85 | I DFN>0 D
|
---|
86 | . Q:'+$G(DGNT("PRIM")) ;if not NTR PRIMARY ENTRY, quit out
|
---|
87 | . D ^VADPT
|
---|
88 | . S DGNAME=VADM(1)
|
---|
89 | . S DGSSN=$P(VADM(2),U,2)
|
---|
90 | . S DGNTR=$P($G(DGNT("NTR")),"^")
|
---|
91 | . S DGAVI=$P($G(DGNT("AVI")),"^")
|
---|
92 | . S DGSUB=$P($G(DGNT("SUB")),"^")
|
---|
93 | . S DGDATE=$G(DGNT("EDT"))
|
---|
94 | . S ^TMP("DGNT",$J,DGST,@DGX,DGIEN)=DGNAME_U_DGSSN_U_DGNTR_U_DGAVI_U_DGSUB_U_DGDATE
|
---|
95 | . S ^TMP("DGNT",$J,"TOT"_DGST)=$G(^TMP("DGNT",$J,"TOT"_DGST))+1
|
---|
96 | . S ^TMP("DGNT",$J,"TOT")=$G(^TMP("DGNT",$J,"TOT"))+1
|
---|
97 | Q
|
---|
98 | ;
|
---|
99 | PRINT(DGSORT) ;
|
---|
100 | U IO
|
---|
101 | N DGST
|
---|
102 | N DGX,DGIEN
|
---|
103 | N DGFIRST,DGLINE
|
---|
104 | N DGSITE,DGSTNUM,DGSTTN,DGSTN
|
---|
105 | N DGQUIT,DGPAGE
|
---|
106 | N DGDDT ;current date/time for header display
|
---|
107 | S DGSORT=$G(DGSORT)
|
---|
108 | S DGSITE=$$SITE^VASITE
|
---|
109 | S DGSTNUM=$P(DGSITE,U,3),DGSTN=$P(DGSITE,U,2)
|
---|
110 | S DGSTTN=$$NAME^VASITE(DT)
|
---|
111 | S DGSTN=$S($G(DGSTTN)]"":DGSTTN,1:$G(DGSTN))
|
---|
112 | S DGQUIT=0
|
---|
113 | S DGPAGE=0
|
---|
114 | S DGX=$S(DGSORT="D":"DGDATE",1:"DGNAME")
|
---|
115 | S DGDDT=$$FMTE^XLFDT($$NOW^XLFDT,"D")
|
---|
116 | D HEAD(DGDDT)
|
---|
117 | I '$D(^TMP("DGNT",$J)) D Q
|
---|
118 | . W !!!?20,"**** No records to report. ****"
|
---|
119 | S @DGX=""
|
---|
120 | F DGST=2,3 D
|
---|
121 | . F S @DGX=$O(^TMP("DGNT",$J,DGST,@DGX)) Q:@DGX']"" D Q:DGQUIT
|
---|
122 | .. S DGIEN=""
|
---|
123 | .. F S DGIEN=$O(^TMP("DGNT",$J,DGST,@DGX,DGIEN)) Q:DGIEN="" D Q:DGQUIT
|
---|
124 | ... D:$Y>(IOSL-4) HEAD(DGDDT)
|
---|
125 | ... Q:DGQUIT
|
---|
126 | ... S DGLINE=$G(^TMP("DGNT",$J,DGST,@DGX,DGIEN))
|
---|
127 | ... W !,$P(DGLINE,U),?30,$P(DGLINE,U,2),?43,$P(DGLINE,U,3),?47,$P(DGLINE,U,4),?51,$P(DGLINE,U,5),?54,$$FMTE^XLFDT($P(DGLINE,U,6))
|
---|
128 | . Q:DGQUIT
|
---|
129 | . W !!?5,"Total Patients Pending "_$S(DGST=2:"Documentation",1:"Diagnosis")_" Verification: "_+$G(^TMP("DGNT",$J,"TOT"_DGST))
|
---|
130 | . I DGST=2 D HEAD(DGDDT)
|
---|
131 | ;
|
---|
132 | ;Shutdown if stop task requested
|
---|
133 | I DGQUIT W:$D(ZTQUEUED) !!,"REPORT STOPPED AT USER REQUEST" Q
|
---|
134 | ;
|
---|
135 | W !!?5,"Total Patients Pending Verification: "_$G(^TMP("DGNT",$J,"TOT"))
|
---|
136 | I $G(DGPAGE)>0,$E(IOST)="C" K DIR S DIR(0)="E" D ^DIR K DIR S:+Y=0 DGQUIT=1
|
---|
137 | Q
|
---|
138 | ;
|
---|
139 | HEAD(DGDT) ;Print/Display page header
|
---|
140 | ;
|
---|
141 | ; Input:
|
---|
142 | ; DGDT - current date/time for display
|
---|
143 | ; Output
|
---|
144 | ; none
|
---|
145 | ;
|
---|
146 | I $D(ZTQUEUED),$$S^%ZTLOAD S (ZTSTOP,DGQUIT)=1 Q
|
---|
147 | I $G(DGPAGE)>0,$E(IOST)="C" K DIR S DIR(0)="E" D ^DIR K DIR S:+Y=0 DGQUIT=1
|
---|
148 | Q:DGQUIT
|
---|
149 | W @IOF
|
---|
150 | S DGPAGE=$G(DGPAGE)+1
|
---|
151 | W !,DGDT,?15,"N/T RADIUM TREATMENT PENDING VERIFICATION REPORT",?70,"Page: ",$G(DGPAGE)
|
---|
152 | W !,"STATION: "_$G(DGSTN)
|
---|
153 | W !!,"Patient Name",?30,"SSN",?42,"NT",?46,"Avi",?50,"Sub",?54,"Date/Time Entered"
|
---|
154 | W !,"-----------------------",?30,"-----------",?42,"---",?46,"---",?50,"---",?54,"----------------------"
|
---|
155 | Q
|
---|
156 | ;
|
---|
157 | EXIT ;
|
---|
158 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
159 | K ^TMP("DGNT",$J)
|
---|
160 | I '$D(ZTQUEUED) D
|
---|
161 | . K %ZIS,POP
|
---|
162 | . D ^%ZISC,HOME^%ZIS
|
---|
163 | Q
|
---|