| [613] | 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
 | 
|---|