1 | ECXPHAU ;ALB/JAM - Print Pharmacy Volume Edit Log (IVP,PRE,UDP) ; 11/2/06 8:54am
|
---|
2 | ;;3.0;DSS EXTRACTS;**92**;Dec 22, 1997;Build 30
|
---|
3 | EN ;entry point from option
|
---|
4 | ;Init variables and sort array
|
---|
5 | N QFLG,SORT,ECXX,ECXNAM,ECSD,ECED
|
---|
6 | ;
|
---|
7 | S QFLG=0
|
---|
8 | W !!,"This option prints a log of the changes made to the Pharmacy"
|
---|
9 | W !,"Extracts: PRE, IVP or UDP",!
|
---|
10 | ;
|
---|
11 | ;Get Extract
|
---|
12 | D EXTRT Q:QFLG
|
---|
13 | ;Get sort
|
---|
14 | D GETSORT Q:QFLG
|
---|
15 | W !!,"** REPORT REQUIRES 132 COLUMNS TO PRINT CORRECTLY **"
|
---|
16 | D DTRNG Q:QFLG
|
---|
17 | D PRINT
|
---|
18 | Q
|
---|
19 | EXTRT ;Prompt for extract to report on
|
---|
20 | N DIR,DIRUT
|
---|
21 | S DIR(0)="SO^P:PRE;I:IVP;U:UDP"
|
---|
22 | S DIR("A")="Which extract log do you need?"
|
---|
23 | D ^DIR I $D(DIRUT) S QFLG=1 Q
|
---|
24 | S ECXX=Y,ECXNAM=Y(0)
|
---|
25 | Q
|
---|
26 | GETSORT ;Prompt for sorting order for report
|
---|
27 | N DIR,X,Y,DIRUT
|
---|
28 | S DIR(0)="SO^1:USER NAME;2:DATE CHANGED"
|
---|
29 | S DIR("A")="Select sort for Pharmacy Volume Edit Log",DIR("B")=1
|
---|
30 | D ^DIR
|
---|
31 | I $D(DIRUT) S QFLG=1 Q
|
---|
32 | S SORT=Y
|
---|
33 | Q
|
---|
34 | PRINT ;Print report using fileman EN1^DIP for IVP
|
---|
35 | N L,DIR,DIC,DIA,FLDS,DHD,BY,FR,TO,DIOBEG,ECXFIL,PG,ECXFLG
|
---|
36 | S ECXFIL=$S(ECXX="P":"727.81",ECXX="I":"727.819",1:"727.809"),ECXFLG=0
|
---|
37 | S L=0,DIC="^DIA("_ECXFIL_",",DIOBEG="I $E(IOST,1,2)=""C-"" W @IOF"
|
---|
38 | S FLDS=".04;L23,.02;C25;L20,.01;C47;L14,D EXTNOI^ECXPHAU;C62;L9,"
|
---|
39 | S FLDS=FLDS_"1.1;C74;L15,2;C90;L19,3;C110;L15"
|
---|
40 | S DHD="W ?0 D RPTHDR^ECXPHAU"
|
---|
41 | I SORT=1 D
|
---|
42 | .S BY=".04,.02",FR="A,"_ECSD,TO="Zz,"_ECED
|
---|
43 | I SORT=2 D
|
---|
44 | .S BY=".02,.04",FR=ECSD_",A",TO=ECED_",Zz"
|
---|
45 | D EN1^DIP
|
---|
46 | I 'ECXFLG,'$D(^DIA(ECXFIL)) D
|
---|
47 | .W !,"NO RECORDS FOUND"
|
---|
48 | .I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR
|
---|
49 | Q
|
---|
50 | ;
|
---|
51 | EXTNOI ;Extract Number
|
---|
52 | I $G(X) W $P($G(^ECX(ECXFIL,+X,0)),"^",3)
|
---|
53 | Q
|
---|
54 | RPTHDR ;report header
|
---|
55 | N LN
|
---|
56 | S PG=$G(PG)+1,ECXFLG=1
|
---|
57 | W "PHARMACY VOLUME EDIT LOG FOR "_ECXNAM,?115,"Page ",PG,!
|
---|
58 | W "Printed on ",$$HTE^XLFDT($H)," for ",ECSD," to ",ECED,!
|
---|
59 | W "USER NAME",?24,"DATE/TIME CHANGED",?46,"SEQUENCE #",?61
|
---|
60 | W "EXTRACT #",?73,"FIELD NAME",?89,"OLD VALUE",?109,"NEW VALUE",!
|
---|
61 | S $P(LN,"-",130)="" W LN,!
|
---|
62 | Q
|
---|
63 | DTRNG ;report date range
|
---|
64 | N %DT,ECDT,X,Y
|
---|
65 | DTREP S %DT="AEX",%DT("A")="Starting with Date: ",%DT(0)="-NOW" D ^%DT
|
---|
66 | I Y<0 S QFLG=1 Q
|
---|
67 | S ECDT=Y,ECSD=$$FMTE^XLFDT(Y,2)
|
---|
68 | S %DT="AEX",%DT("A")="Ending with Date: ",%DT(0)="-NOW" D ^%DT
|
---|
69 | I Y<0 S QFLG=1 Q
|
---|
70 | I Y<ECDT D G DTREP
|
---|
71 | .W !!,"The ending date cannot be earlier than the starting date.",!
|
---|
72 | I $E(Y,1,5)'=$E(ECDT,1,5) D G DTREP
|
---|
73 | .W !!,"Beginning and ending dates must be in the same month and year.",!
|
---|
74 | S ECED=$$FMTE^XLFDT(Y,2)
|
---|
75 | Q
|
---|