1 | PSOCIDC9 ;BIR/LE - continuation of activity log corrections ;2/28/05 12:50pm
|
---|
2 | ;;7.0;OUTPATIENT PHARMACY;**239,250**;DEC 1997
|
---|
3 | ;
|
---|
4 | RPT ;
|
---|
5 | N JOBN,NAMSP,ZTDESC,ZTRTN,ZTQUEUED,ZTREQ
|
---|
6 | S NAMSP=$$NAMSP^PSOCIDC7
|
---|
7 | S JOBN="CIDC ACTIVITY LOG CORRECTION"
|
---|
8 | L +^XTMP(NAMSP):0 I '$T D Q
|
---|
9 | .W !,JOBN_" job for PSO*7*239 is still running. Halting..."
|
---|
10 | L -^XTMP(NAMSP)
|
---|
11 | W !!,"This report reflects all prescriptions where the activity and"
|
---|
12 | W !,"copay activity logs were corrected. For detailed information,"
|
---|
13 | W !,"please view the activity and copay logs on the prescriptions."
|
---|
14 | ;
|
---|
15 | W !!,"You may queue the report to print, if you wish.",!
|
---|
16 | ;
|
---|
17 | DVC ;
|
---|
18 | K %ZIS,POP,IOP S %ZIS="QM" D ^%ZIS I $G(POP) W !!,"Nothing queued to print.",! G DONE
|
---|
19 | QUEUE ;
|
---|
20 | I $D(IO("Q")) S ZTRTN="START^PSOCIDC9",ZTDESC=JOBN_" CIDC Activity Logs Corrections" D ^%ZTLOAD K %ZSI W !,"Report queued to print.",! G DONE
|
---|
21 | START ;
|
---|
22 | U IO
|
---|
23 | N BLDT,RXO,NAMSP,PSOFILL,PSODFN,PSONAM,PSOOUT,PSODV,RXP,SSN,PSODIV,PSODV
|
---|
24 | N CANCEL,JOBN,PSOPATID,PSOTOT
|
---|
25 | S NAMSP=$$NAMSP^PSOCIDC7
|
---|
26 | ;****************************************************** for testing only - next line
|
---|
27 | S JOBN="CIDC ACTIVITY LOGS CORRECTION"
|
---|
28 | S PSOOUT=0,PSODV=$S($E(IOST)="C":"C",1:"P")
|
---|
29 | S PSOPGCT=0,PSOPGLN=IOSL-7,PSOPGCT=1
|
---|
30 | S BLDT=$P($G(^XTMP(NAMSP,0,"LAST")),"^",2)
|
---|
31 | I '$D(DT) S DT=$$NOW^XLFDT
|
---|
32 | D TITLE
|
---|
33 | S (PSOTOT,PSONAM)=""
|
---|
34 | F S PSONAM=$O(^XTMP(NAMSP,"LOG",PSONAM)) Q:PSONAM="" D
|
---|
35 | .S PSODFN=""
|
---|
36 | .F S PSODFN=$O(^XTMP(NAMSP,"LOG",PSONAM,PSODFN)) Q:PSODFN="" D
|
---|
37 | ..S RXP=""
|
---|
38 | ..F S RXP=$O(^XTMP(NAMSP,"LOG",PSONAM,PSODFN,RXP)) Q:RXP="" D
|
---|
39 | ...D FULL Q:$G(PSOOUT) S PSONAME=$P($G(^DPT(PSODFN,0)),"^"),PSOTOT=PSOTOT+1
|
---|
40 | ...W !,$E(PSONAME,1,14)
|
---|
41 | ...D PRTSSN
|
---|
42 | ...S RXO=$P($G(^PSRX(RXP,0)),"^")
|
---|
43 | ...W ?41," ",RXO ;," (",PSOFILL,")"
|
---|
44 | W:PSOTOT'="" !,"Total number of prescriptions modified: ",PSOTOT
|
---|
45 | G END
|
---|
46 | ;
|
---|
47 | FULL ;
|
---|
48 | I ($Y+7)>IOSL&('$G(PSOOUT)) D TITLE
|
---|
49 | Q
|
---|
50 | ;
|
---|
51 | TITLE ;
|
---|
52 | I $G(PSODV)="C",$G(PSOPGCT)'=1 W ! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSOOUT=1 Q
|
---|
53 | ;
|
---|
54 | W @IOF D
|
---|
55 | . W !,"Patch PSO*7*239 - Corrected Activity and Copay Activity logs",!!
|
---|
56 | . W "Note that this report reflects all prescriptions where the activity and/or",!
|
---|
57 | . W "copay activity logs were corrected. For detailed information, please view",!
|
---|
58 | . W "the activity and copay activity log on the prescription.",!
|
---|
59 | ;
|
---|
60 | S Y=DT X ^DD("DD") W !,"Date printed: ",Y,?70,"Page: ",PSOPGCT,!
|
---|
61 | F MJT=1:1:79 W "="
|
---|
62 | ;W !?55,"Updated",?67,"Updated"
|
---|
63 | ;W !,?55,"Activity",?67,"COPAY"
|
---|
64 | W !,"PATIENT NAME (SSN) DIV",?42,"RX# " ;,?55,"Log",?67,"Activity Log" ;,?55,"RELEASE DATE",?69,"REL BILL"
|
---|
65 | W !,"--------------- ------- --------------",?42,"------------"
|
---|
66 | ;W ?55,"------------",?67,"-----------"
|
---|
67 | S PSOPGCT=PSOPGCT+1
|
---|
68 | Q
|
---|
69 | ;
|
---|
70 | END ;
|
---|
71 | I '$G(PSOOUT),$G(PSODV)="C" W !!,"** End of Report **" K DIR S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR
|
---|
72 | I $G(PSODV)="C" W !
|
---|
73 | E W @IOF
|
---|
74 | DONE ;
|
---|
75 | K MJT,PSOPGCT,PSOPGLN,Y,DIR,X,IOP,POP,IO("Q"),DIRUT,DUOUT,DTOUT
|
---|
76 | D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
|
---|
77 | Q
|
---|
78 | ;
|
---|
79 | PRTSSN ;
|
---|
80 | S SSN=$P(^DPT(PSODFN,0),"^",9),SSN=$E(SSN,$L(SSN)-3,$L(SSN))
|
---|
81 | S PSOPATID=$E(PSONAM,1)_SSN
|
---|
82 | S PSODIV=$P($G(^PSRX(RXP,2)),"^",9)
|
---|
83 | S:PSODIV'="" PSODIV=$P($G(^PS(59,PSODIV,0)),"^",1)
|
---|
84 | W ?17,"("_PSOPATID_")"_" "_$E(PSODIV,1,15)
|
---|
85 | Q
|
---|
86 | ;------
|
---|
87 | LOCKED ;LIST OF LOCKED RX'S
|
---|
88 | N JOBN,NAMSP,ZTDESC,ZTRTN,ZTQUEUED,ZTREQ,PSODV
|
---|
89 | S NAMSP=$$NAMSP^PSOCIDC7
|
---|
90 | S JOBN="CIDC ACTIVITY LOG CORRECTION - LOCKED PRESCRIPTIONS"
|
---|
91 | L +^XTMP(NAMSP):0 I '$T D Q
|
---|
92 | .W !,JOBN_" job for PSO*7*239 is still running. Halting..."
|
---|
93 | L -^XTMP(NAMSP)
|
---|
94 | W !!,"This report reflects all prescriptions where the activity and",!
|
---|
95 | W "copay activity logs could not be corrected due to the Rx being locked."
|
---|
96 | ;
|
---|
97 | W !!,"You may queue the report to print, if you wish.",!
|
---|
98 | ;
|
---|
99 | DVC2 ;
|
---|
100 | K %ZIS,POP,IOP S %ZIS="QM" D ^%ZIS I $G(POP) W !!,"Nothing queued to print.",! G DONE
|
---|
101 | QUEUE2 ;
|
---|
102 | I $D(IO("Q")) S ZTRTN="START2^PSOCIDC9",ZTDESC=JOBN_" CIDC Activity Logs Corrections - Locked Rx's" D ^%ZTLOAD K %ZSI W !,"Report queued to print.",! G DONE
|
---|
103 | START2 ;
|
---|
104 | U IO
|
---|
105 | N BLDT,NAMSP,PSODFN,PSONAM,PSONAME,PSOOUT,PSODV,RXP,SSN,PSODIV,PSOPGCT,PSOOUT
|
---|
106 | N CANCEL,JOBN,PSOPATID,PSOTOT,PSONCNT,PSORXN
|
---|
107 | S NAMSP=$$NAMSP^PSOCIDC7
|
---|
108 | S JOBN="CIDC ACTIVITY LOGS CORRECTION - Locked Rx report"
|
---|
109 | S (PSOPGCT,PSONCNT,PSOOUT)=0,PSODV=$S($E(IOST)="C":"C",1:"P")
|
---|
110 | S PSOPGLN=IOSL-7,PSOPGCT=1,RXP=""
|
---|
111 | S BLDT=$P($G(^XTMP(NAMSP,0,"LAST")),"^",2)
|
---|
112 | I '$D(DT) S DT=$$NOW^XLFDT
|
---|
113 | D TITLE2
|
---|
114 | F S RXP=$O(^XTMP(NAMSP,0,"LOCKED RX",RXP)) Q:RXP="" D
|
---|
115 | . D FULL2 Q:$G(PSOOUT)
|
---|
116 | . S PSONCNT=PSONCNT+1
|
---|
117 | . S (DFN,PSODFN)=$P($G(^PSRX(RXP,0)),"^",2),PSORXN=$P($G(^PSRX(RXP,0)),"^")
|
---|
118 | . S (PSONAME,PSONAM)=$P($G(^DPT(PSODFN,0)),"^") W !,$E(PSONAME,1,14)
|
---|
119 | . D PRTSSN
|
---|
120 | . W ?41," ",PSORXN
|
---|
121 | . W:^XTMP(NAMSP,0,"LOCKED RX",RXP)'="" ?60,"CORRECTED"
|
---|
122 | W !!,"Total number of prescriptions locked: ",PSONCNT,!
|
---|
123 | G END
|
---|
124 | Q
|
---|
125 | ;
|
---|
126 | FULL2 ;
|
---|
127 | I ($Y+7)>IOSL&('$G(PSOOUT)) D TITLE2
|
---|
128 | Q
|
---|
129 | ;
|
---|
130 | TITLE2 ;
|
---|
131 | I $G(PSODV)="C",$G(PSOPGCT)'=1 W ! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSOOUT=1 Q
|
---|
132 | ;
|
---|
133 | W @IOF D
|
---|
134 | . W !,"Patch PSO*7*239 - Locked Prescription Number Report",!!
|
---|
135 | . W "Note that this report reflects all prescriptions where the activity and/or",!
|
---|
136 | . W "copay activity logs could not be corrected. For detailed information,",!
|
---|
137 | . W "please view the activity and copay activity log on the prescription.",!
|
---|
138 | . W !!,"Note that FIXONE^PSOCIDC9 can be run from programmer's mode"
|
---|
139 | . W !,"to correct individual prescriptions.",!!
|
---|
140 | ;
|
---|
141 | S Y=DT X ^DD("DD") W !,"Date printed: ",Y,?70,"Page: ",PSOPGCT,!
|
---|
142 | F MJT=1:1:79 W "="
|
---|
143 | ;
|
---|
144 | W !,"PATIENT NAME (SSN) DIV",?42,"RX# "
|
---|
145 | W !,"--------------- ------- --------------",?42,"------------"
|
---|
146 | S PSOPGCT=PSOPGCT+1
|
---|
147 | Q
|
---|
148 | ;
|
---|
149 | FIXONE ;FIX LOCKED RX'S
|
---|
150 | N RXP,SEQ,CSEQ,PSOMSG,PSONTIM,PSOCHECK,FIXONE,PSOFONE,NAMSP
|
---|
151 | W @IOF D
|
---|
152 | . W !,"This function is used to correct individual prescriptions that were locked"
|
---|
153 | . W !,"during the CIDC Activity Log clean-up process. It verifies whether the"
|
---|
154 | . W !,"prescription needs to be corrected, and if so corrects it. If the Rx still"
|
---|
155 | . W !,"cannot be locked for correction, a message stating such will be displayed."
|
---|
156 | . W !,"Otherwise, a message stating that no correction is needed will be displayed.",!
|
---|
157 | . W !,"For detailed information please view the activity and copay activity log on"
|
---|
158 | . W !,"the prescription. For a listing of locked Rx's, type D LOCKED^PSOCIDC9 at"
|
---|
159 | . W !,"the programmer's prompt.",!
|
---|
160 | ;
|
---|
161 | FIX2 ;
|
---|
162 | S (PSOMSG,PSONTIM,FIXONE,PSOFONE)=""
|
---|
163 | K DIC
|
---|
164 | W ! S DIC="^PSRX(",DIC(0)="QEA" D ^DIC Q:Y<0
|
---|
165 | S RXP=+Y,(DFN,PSODFN)=$P($G(^PSRX(RXP,0)),"^",2),PSONAM=$P($G(^DPT(PSODFN,0)),"^")
|
---|
166 | W !,"For Patient: ",PSONAM
|
---|
167 | S (PSOCHECK,SEQ,CSEQ)=0,NAMSP=$$NAMSP^PSOCIDC7
|
---|
168 | I $D(^PSRX(RXP,"A",0)) F S SEQ=$O(^PSRX(RXP,"A",SEQ)) Q:SEQ="" I $G(^PSRX(RXP,"A",SEQ,0))["BKGD CIDC" S PSOCHECK=1
|
---|
169 | I $D(^PSRX(RXP,"COPAY",0)) F S CSEQ=$O(^PSRX(RXP,"COPAY",CSEQ)) Q:CSEQ="" I $G(^PSRX(RXP,"COPAY",CSEQ,0))["BKGD CIDC" S PSOCHECK=1
|
---|
170 | I 'PSOCHECK W !!,"No changes are needed for this prescription.",! G FIX2
|
---|
171 | S FIXONE=1 D CHECK^PSOCIDC8
|
---|
172 | I '$G(PSOFONE) W !,"Activity logs corrected.",!! S ^XTMP("PSOCIDC7",0,"LOCKED RX",RXP)=DUZ_"^"_$H
|
---|
173 | G FIX2
|
---|
174 | Q
|
---|