1 | PSOTPCLR ;BIRM/PDW-LETTER PRINT REPORTS ;AUG 8, 2003
|
---|
2 | ;;7.0;OUTPATIENT PHARMACY;**145,227**;DEC 1997
|
---|
3 | Q
|
---|
4 | EN ;
|
---|
5 | Q ;placed out of order by patch PSO*7*227
|
---|
6 | K DIR S DIR(0)="SO^N:Patients/Letters NOT Printed;P:Patients/Letters Printed" D ^DIR
|
---|
7 | I Y="N" S PARAM=Y G DEVICE
|
---|
8 | I Y="P" S PARAM=Y G DEVICE
|
---|
9 | Q
|
---|
10 | DEVICE ;
|
---|
11 | W !,"Queuing is recommended",!
|
---|
12 | K %ZIS S %ZIS="Q" D ^%ZIS
|
---|
13 | Q:POP
|
---|
14 | I $D(IO("Q")) D K ZTSK G EXIT2
|
---|
15 | . S ZTRTN="DEQUE^PSOTPCLR",ZTDESC="TPB PRINT LETTER REPORT"
|
---|
16 | . S ZTSAVE("PARAM")=""
|
---|
17 | . D ^%ZTLOAD D ^%ZISC
|
---|
18 | . I $G(ZTSK) W !!,"Tasked with "_ZTSK
|
---|
19 | ;
|
---|
20 | DEQUE ; DEQUE/PRINT LETTERS
|
---|
21 | K ^TMP($J,"PSOTPBLR"),DIVCNT
|
---|
22 | S DIVDA=0 F S DIVDA=$O(^PS(52.91,"AC",DIVDA)) Q:DIVDA'>0 D
|
---|
23 | . S DFN=0 F S DFN=$O(^PS(52.91,"AC",DIVDA,DFN)) Q:DFN'>0 D
|
---|
24 | .. S PRTDTI=$$GET1^DIQ(52.91,DFN,11,"I") I PARAM="P",'PRTDTI Q
|
---|
25 | .. S PRTDTI=$$GET1^DIQ(52.91,DFN,11,"I") I PARAM="N",PRTDTI Q
|
---|
26 | .. S PTNM=$$GET1^DIQ(52.91,DFN,.01),PRTDT=$$FMTE^XLFDT(PRTDTI,"2D")
|
---|
27 | .. S ^TMP($J,"PSOTPBLR",DIVDA,PTNM,DFN)=PRTDT
|
---|
28 | .. S DIVCNT(DIVDA)=$G(DIVCNT(DIVDA))+1
|
---|
29 | PRINT ; print report
|
---|
30 | U IO K DIVCNT,PSOSTOP
|
---|
31 | S PG=0,LINE="",$P(LINE,"=",79)=""
|
---|
32 | S DIVDA=0 F Q:$G(PSOSTOP) S DIVDA=$O(^TMP($J,"PSOTPBLR",DIVDA)) Q:DIVDA'>0 D
|
---|
33 | . D HEADER
|
---|
34 | . S PTNM="" F Q:$G(PSOSTOP) S PTNM=$O(^TMP($J,"PSOTPBLR",DIVDA,PTNM)) Q:PTNM="" D
|
---|
35 | .. S DFN=0 F Q:$G(PSOSTOP) S DFN=$O(^TMP($J,"PSOTPBLR",DIVDA,PTNM,DFN)) Q:DFN'>0 D
|
---|
36 | ... S DIVCNT(DIVDA)=$G(DIVCNT(DIVDA))+1
|
---|
37 | ... D PG
|
---|
38 | ... W !,$$GET1^DIQ(52.91,DFN,.01)
|
---|
39 | ... I PARAM="P" W ?35,^TMP($J,"PSOTPBLR",DIVDA,PTNM,DFN) Q
|
---|
40 | ... S INACTDT=$$GET1^DIQ(52.91,DFN,2,"I"),EXCODE=$$GET1^DIQ(52.91,DFN,3),EXREA=$$GET1^DIQ(52.91,DFN,8)
|
---|
41 | ... W:INACTDT ?35,$$FMTE^XLFDT(INACTDT,"2D") W:$L(EXCODE) ?45,EXCODE
|
---|
42 | ... W:$L(EXREA) !,?10,"Exclusion Reason: ",EXREA
|
---|
43 | SUMMARY ;
|
---|
44 | W:'$D(DIVCNT) !!,"No Data Found"
|
---|
45 | Q:$G(PSOSTOP)
|
---|
46 | I PG,$E(IOST)="C" K DIR S DIR(0)="E" D ^DIR I 'Y S PSOSTOP=1 Q
|
---|
47 | W !,@IOF,!!,?10,"SUMMARY of TPB LETTER PRINTING "
|
---|
48 | I PARAM="P" W "'PRINTED'" I 1
|
---|
49 | E W "'NOT PRINTED'"
|
---|
50 | W !!
|
---|
51 | S DIVDA=0 F S DIVDA=$O(DIVCNT(DIVDA)) Q:DIVDA'>0 D
|
---|
52 | . W !,?5,$$GET1^DIQ(52.92,DIVDA,.01),?40,DIVCNT(DIVDA)
|
---|
53 | W:'$D(DIVCNT) !!,"No Data Found"
|
---|
54 | W !
|
---|
55 | G EXIT
|
---|
56 | ;
|
---|
57 | PG I $Y>(IOSL-4) D HEADER
|
---|
58 | Q
|
---|
59 | HEADER ;
|
---|
60 | W !
|
---|
61 | I PG,$E(IOST)="C" K DIR S DIR(0)="E" D ^DIR I 'Y S PSOSTOP=1 Q
|
---|
62 | W @IOF
|
---|
63 | S PG=PG+1
|
---|
64 | W ?20,$$GET1^DIQ(52.92,DIVDA,.01)
|
---|
65 | I PARAM="P" W " TPB PATIENTS LETTERS PRINTED REPORT",! I 1
|
---|
66 | E W " TPB PATIENTS LETTERS NOT PRINTED REPORT",!
|
---|
67 | W ?28,$$FMTE^XLFDT(DT,"1D"),?60,"Page: ",PG,!,LINE
|
---|
68 | I PARAM="N" W !,?35,"Inactivation",!,"Patient",?35,"Date",?45,"Reason",!
|
---|
69 | Q
|
---|
70 | EXIT ;
|
---|
71 | I $E(IOST)="C" W !!,"End of Report",! K DIR S DIR(0)="EO",DIR("A")="<cr> - Continue" D ^DIR
|
---|
72 | K ^TMP($J,"PSOTPBLR") I $G(ZTSK) D KILL^%ZTLOAD
|
---|
73 | EXIT2 D ^%ZISC
|
---|
74 | K DIR,DIVCNT,DIVDA,LINE,PARAM,PG,PRTDT,PRTDTI,PTNM,SRDT
|
---|
75 | Q
|
---|