1 | PRPFNQ ;ALTOONA/CTB-PATIENT FUNDS MULTIPLE CARD DRIVER ;15 APR 02
|
---|
2 | V ;;3.0;PATIENT FUNDS;**3,5,6,7,13**;JUNE 1, 1989
|
---|
3 | N BDATE W *7,!,"REMEMBER, this option requires a printer with a line length of at least",!,"132 characters and a page length of at least 62 lines.",!
|
---|
4 | W !!,"Enter the names(s) of cards required, one at a time. "
|
---|
5 | S LIST=1
|
---|
6 | S DIC("A")="Select PATIENT NAME: "
|
---|
7 | A S DIC=470,DIC(0)="AEQM" D ^DIC K DIC("A") I +Y>0 D ADD S DIC("A")="Select Next PATIENT NAME: " G A
|
---|
8 | K DIC
|
---|
9 | I $D(LIST)'=11 W !,*7,"No cards selected, Option is Terminated! " R X:3 K IOP D OUT Q
|
---|
10 | D DATE IF $D(DTOUT)!($D(DUOUT))!($D(DIROUT)) K BDATE,DTOUT,DUOUT,DIROUT D OUT Q
|
---|
11 | S ZTDESC="PRINT SELECTED PATIENT FUND CARDS",ZTSAVE("DIC")="^PRPF(470," S:$D(BDATE) ZTSAVE("BDATE*")="",ZTRTN="DQ^PRPFNQ",ZTSAVE("LIST*")="" D ^PRPFQ
|
---|
12 | K LIST,%Y,Y
|
---|
13 | QUIT
|
---|
14 | ADD NEW X
|
---|
15 | I $L($G(LIST(LIST))_+Y)>240 S LIST=LIST+1
|
---|
16 | S LIST(LIST)=$G(LIST(LIST))_+Y_"^"
|
---|
17 | QUIT
|
---|
18 | DQ K ^TMP("PRPFAD",$J)
|
---|
19 | F I=1:1:LIST F J=1:1 S N=$P(LIST(I),"^",J) Q:'N S ^TMP("PRPFAD",$J,N)=""
|
---|
20 | S DIC="^PRPF(470,"
|
---|
21 | S IOP=PRIOP
|
---|
22 | S BY=".01",(FR,TO)="",BY(0)="^TMP(""PRPFAD"",$J,",FLDS="[PRPF CARD]",L=0,L(0)=1,DIOEND="K ^TMP(""PRPFAD"",$J)"
|
---|
23 | D EN1^DIP D OUT
|
---|
24 | Q
|
---|
25 | DATE ;IF PARTIAL LIST IS REQUESTED, ASK EARLIEST DATE ELSE S DATE=01/01/1900
|
---|
26 | S DIR(0)="SA^A:ALL;P:PARTIAL",DIR("A")="Partial List or All Tranactions: ",DIR("B")="ALL"
|
---|
27 | S DIR("?")="You may enter (A)LL or (P)ARTIAL",DIR("?",1)="Selecting PARTIAL will allow you to print only those transactions",DIR("?",2)="starting with the date you select."
|
---|
28 | D ^DIR K DIR IF $D(DTOUT)!($D(DUOUT))!($D(DIROUT)) Q
|
---|
29 | S BDATE=2000101,X=BDATE D CNVD^PRPFQ S BDATE1=X I Y="A" QUIT
|
---|
30 | S DIR(0)="DOA^:DT:EX",DIR("A")="Select Earliest Date to Print on Cards: ",DIR("?")="^D HELP^PRPFNQ" D ^DIR K DIR
|
---|
31 | IF $D(DTOUT)!($D(DUOUT))!($D(DIROUT)) Q
|
---|
32 | IF Y>0 S BDATE=+Y-1,X=+Y D CNVD^PRPFQ S BDATE1=X
|
---|
33 | QUIT
|
---|
34 | DOIT S DIC="^PRPF(470,",L=0,(FLDS,BY)="[PRPF RANGE OF CARDS]" D EN1^DIP
|
---|
35 | Q
|
---|
36 | ALL ;PRINT ALL CARDS
|
---|
37 | S %A="This option will print a card for each ACTIVE patient, or for ALL patients,",%A(1)=" regardless of status, within the range selected."
|
---|
38 | S %A(2)="Are you sure that you want to run this option now"
|
---|
39 | S %B="A 'Yes' will begin the job, after you select a device. Remember,"
|
---|
40 | S %B(1)="this job will take a while to run. Enter an '^' to terminate the option." D ^PRPFYN Q:%'=1
|
---|
41 | D DATE IF $D(DTOUT)!($D(DUOUT))!($D(DIROUT)) K BDATE,BDATE1,DTOUT,DUOUT,DIROUT D OUT Q
|
---|
42 | S %A="Do you wish to print only the ACTIVE cards",%B="",%=1 D ^PRPFYN Q:%<0 W !!,"I will now print a card for ",$S(%=1:"ALL ACTIVE ",1:"ALL")," cards."
|
---|
43 | K DIS(0) I %=1 S DIS(0)="I $P(^PRPF(470,D0,0),U,2)=""A"""
|
---|
44 | S M="PATIENT" D RNG^PRPFQ I '$D(FR)!('$D(TO)) D OUT Q
|
---|
45 | S BY="[PRPF RANGE OF CARDS]",%=1,%A="OK TO CONTINUE",%B="" D ^PRPFYN Q:%'=1
|
---|
46 | S DIC="^PRPF(470,",L=0,FLDS="[PRPF CARD]" D EN1^DIP
|
---|
47 | OUT K %,%DT,%H,%I,%W,%X,BDATE,BDATE1,DCC,DFN,DGA1,DG1,DGT,DGX,DIJ,DIOEND,DIOP,DIPT,DIR,DISH,DIYS,DP,F,FLDS,IOX,IOY,L,O,POP,MTR,PAGE,PRPFKEY,PRPFRNG,PRPFRNG2,PTR,W,X,ZTSK
|
---|
48 | QUIT
|
---|
49 | RESEARCH ;;SEARCH OF PATIENT FUNDS FOR DATES OF RESTRICTION OVER 6 MONTHS OLD
|
---|
50 | ;HITS ARE STORED IN THE AK CROSSREFERENCE
|
---|
51 | D SELRNG^PRPFQ
|
---|
52 | I PRPFRNG="" D OUT QUIT
|
---|
53 | I PRPFRNG="@" S PRPFRNG2=""
|
---|
54 | E S PRPFRNG2=PRPFRNG
|
---|
55 | S ZTSAVE("PRPFRNG")=PRPFRNG,ZTSAVE("PRPFRNG2")=PRPFRNG2
|
---|
56 | S ZTRTN="DQRES^PRPFNQ",ZTDESC=$P($T(RESEARCH),";",3) D ^PRPFQ,OUT Q
|
---|
57 | DQRES ;DQ POINT FOR RESTRICTION SEARCH
|
---|
58 | I $D(ZTQUEUED) S IOP=PRIOP,ZTREQ="@"
|
---|
59 | K ^TMP("PRPFAK",$J)
|
---|
60 | S X="T-181",%DT="" D ^%DT
|
---|
61 | S X="Please hold on, I'm searching the file now.*" D MSG^PRPFQ
|
---|
62 | S DA=0 F S DA=$O(^PRPF(470,DA)) Q:'DA S X=$P($G(^PRPF(470,DA,0)),"^",12) I X]"",X<Y S ^TMP("PRPFAK",$J,DA)=""
|
---|
63 | I $D(^TMP("PRPFAK",$J))<9 S X="No matches found today.*" D MSG^PRPFQ G OUTR
|
---|
64 | S:$D(PRIOP) IOP=PRIOP S DIC="^PRPF(470,",L=0,L(0)=1,BY="@73:99;S,.01",BY(0)="^TMP(""PRPFAK"",$J,",FLDS="[PRPF OVERDUE PRINT",FR=""_PRPFRNG_"",TO=""_PRPFRNG2_""
|
---|
65 | S DIOEND="K ^TMP(""PRPFAK"") W !,""The information contained in this report is protected by the Privacy Act of 1974"""
|
---|
66 | S:PRPFRNG="@" BY="@73,@73:99,.01",FR="@,@",TO=","
|
---|
67 | D EN1^DIP
|
---|
68 | OUTR ;
|
---|
69 | K IOP,PRIOP,PFM,T5,^TMP("PRPFAK",$J) D DIKILL^PRPFQ G ZTKILL^PRPFQ
|
---|
70 | Q
|
---|
71 | HELP W !,"If you enter a date, ALL entries on the card, before that date",!," will be consolidated.",! D HELP^%DTC Q
|
---|