| [613] | 1 | PRPFDR4 ;BAYPINES/MJE  VPFS DATA MIGRATION ROUTINE 4 ;05/15/03 | 
|---|
|  | 2 | ;;3.0;PATIENT FUNDS DIAG V5.9;**15**;JUNE 1, 1989 | 
|---|
|  | 3 | ;BAD ENTRY POINT | 
|---|
|  | 4 | Q | 
|---|
|  | 5 | NODE1 S PFNODE1=$G(^PRPF(470,PRPFHLD1,1)) | 
|---|
|  | 6 | S PFSTDBAL=$P(PFNODE1,"^",4) | 
|---|
|  | 7 | I PFSTDBAL>0 S CNTBAL=CNTBAL+PFSTDBAL | 
|---|
|  | 8 | I PFSTDBAL'="" I PFSTDBAL<0!(PFSTDBAL>99999)!((PFSTDBAL'=+PFSTDBAL)&(PFSTDBAL'?.N1".".N)) D | 
|---|
|  | 9 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,27,PFNAME_"_"_PRPFHLD1)="STORED BALANCE^Stored balance invalid or out of range either < $0 or > $99,999^"_PFSTDBAL | 
|---|
|  | 10 | .S CNTERR(27)=CNTERR(27)+1 | 
|---|
|  | 11 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 12 | S PFSTDPVT=$P(PFNODE1,"^",5) | 
|---|
|  | 13 | I PFSTDPVT'="" I PFSTDPVT<0!(PFSTDPVT>99999)!((PFSTDPVT'=+PFSTDPVT)&(PFSTDPVT'?.N1".".N)) D | 
|---|
|  | 14 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,28,PFNAME_"_"_PRPFHLD1)="STORED PRIVATE SOURCE^Stored private invalid or out of range either < $0 or > $99,999^"_PFSTDPVT | 
|---|
|  | 15 | .S CNTERR(28)=CNTERR(28)+1 | 
|---|
|  | 16 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 17 | S PFSTDGRT=$P(PFNODE1,"^",6) | 
|---|
|  | 18 | I PFSTDGRT'="" I PFSTDGRT<0!(PFSTDGRT>99999)!((PFSTDGRT'=+PFSTDGRT)&(PFSTDGRT'?.N1".".N)) D | 
|---|
|  | 19 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,29,PFNAME_"_"_PRPFHLD1)="STORED GRATUITOUS^Stored gratuitous invalid or out of range either < $0 or > $99,999^"_PFSTDGRT | 
|---|
|  | 20 | .S CNTERR(29)=CNTERR(29)+1 | 
|---|
|  | 21 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 22 | S PFARPM=$P(PFNODE1,"^",7) | 
|---|
|  | 23 | I PFARPM'="" I PFARPM<0!(PFARPM>99999)!((PFARPM'=+PFARPM)&(PFARPM'?.N1".".N)) D | 
|---|
|  | 24 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,30,PFNAME_"_"_PRPFHLD1)="RESTRICTED AMOUNT^Restricted monthly amount invalid or < $0 or > $99,999^"_PFARPM | 
|---|
|  | 25 | .S CNTERR(30)=CNTERR(30)+1 | 
|---|
|  | 26 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 27 | S PFARPW=$P(PFNODE1,"^",8) | 
|---|
|  | 28 | I PFARPW'="" I PFARPW<0!(PFARPW>99999)!((PFARPW'=+PFARPW)&(PFARPW'?.N1".".N)) D | 
|---|
|  | 29 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,31,PFNAME_"_"_PRPFHLD1)="RESTRICTED AMOUNT^Restricted weekly amount invalid or < $0 or > $99,999^"_PFARPW | 
|---|
|  | 30 | .S CNTERR(31)=CNTERR(31)+1 | 
|---|
|  | 31 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 32 | I PFARPW'=""&(PFARPM'="") I PFARPM<(5*PFARPW) D | 
|---|
|  | 33 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,32,PFNAME_"_"_PRPFHLD1)="RESTRCT AMT ER^Restrict Mnthly amount < (5X) weekly amt^"_PFARPM | 
|---|
|  | 34 | .S CNTERR(32)=CNTERR(32)+1 | 
|---|
|  | 35 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 36 | I PFARPW'=""&(PFARPM'="") I PFARPM<PFARPW D | 
|---|
|  | 37 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,33,PFNAME_"_"_PRPFHLD1)="RESTRCT AMT ER^Restrict Mnthly amount < weekly amt^"_PFARPM | 
|---|
|  | 38 | .S CNTERR(33)=CNTERR(33)+1 | 
|---|
|  | 39 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 40 | Q | 
|---|
|  | 41 | NODE1X S ^TMP("PRPF_DIAGX",$J,PFSTAID,36,PFNAME_"_"_PRPFHLD1)="NO BALANCE REC^BALANCE RECORD DATA MISSING^"_PFNAME | 
|---|
|  | 42 | S CNTERR(36)=CNTERR(36)+1 | 
|---|
|  | 43 | S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 44 | Q | 
|---|
|  | 45 | NODE2 S PFNODE2=^PRPF(470,PRPFHLD1,2) | 
|---|
|  | 46 | S PFMIN1=$P(PFNODE2,"^",1) | 
|---|
|  | 47 | I PFMIN1'="" I PFMIN1<0!(PFMIN1>99999)!((PFMIN1'=+PFMIN1)&(PFMIN1'?.N1".".N)) D | 
|---|
|  | 48 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,34,PFNAME_"_"_PRPFHLD1)="MINIMUM BALANCE #1^MIN balance invalid or out of range either < $0 or > $99,999^"_PFMIN1 | 
|---|
|  | 49 | .S CNTERR(34)=CNTERR(34)+1 | 
|---|
|  | 50 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 51 | S PFMAX1=$P(PFNODE2,"^",2) | 
|---|
|  | 52 | I PFMAX1'="" I PFMAX1<0!(PFMAX1>99999)!((PFMAX1'=+PFMAX1)&(PFMAX1'?.N1".".N)) D | 
|---|
|  | 53 | .S ^TMP("PRPF_DIAGX",$J,PFSTAID,35,PFNAME_"_"_PRPFHLD1)="MAXIMUM BALANCE #1^MAX balance invalid or out of range either < $0 or > $99,999^"_PFMAX1 | 
|---|
|  | 54 | .S CNTERR(35)=CNTERR(35)+1 | 
|---|
|  | 55 | .S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 56 | Q | 
|---|
|  | 57 | NODE6 S PRPFHLD2=0 | 
|---|
|  | 58 | S (PFMCTR1,PFMCTR2,PFMCTR3)=1 | 
|---|
|  | 59 | S PFMCTR1=1 | 
|---|
|  | 60 | F  S PRPFHLD2=$O(^PRPF(470,PRPFHLD1,6,PRPFHLD2)) Q:'PRPFHLD2  D | 
|---|
|  | 61 | .S PFNODE6=^PRPF(470,PRPFHLD1,6,PRPFHLD2,0) | 
|---|
|  | 62 | .S PFINCPYE=$P(PFNODE6,"^",2) | 
|---|
|  | 63 | .I PFINCPYE="" D | 
|---|
|  | 64 | ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,37,PFNAME_"_"_PRPFHLD1_"_"_"Inc#"_PRPFHLD2)="INCOME PAYEE^Income payee blank, Income source present^"_PFINCPYE | 
|---|
|  | 65 | ..S PFMCTR1=PFMCTR1+1 | 
|---|
|  | 66 | ..S CNTERR(37)=CNTERR(37)+1 | 
|---|
|  | 67 | ..S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 68 | .S PFINCOME=$P(PFNODE6,"^",3) | 
|---|
|  | 69 | .I +PFINCOME'=PFINCOME&(PFINCOME'?.N1".".N) D | 
|---|
|  | 70 | ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,38,PFNAME_"_"_PRPFHLD1_"_"_"Inc#"_PRPFHLD2)="INCOME AMOUNT^Invalid income amount, Income source present^"_PFINCOME | 
|---|
|  | 71 | ..S PFMCTR2=PFMCTR2+1 | 
|---|
|  | 72 | ..S CNTERR(38)=CNTERR(38)+1 | 
|---|
|  | 73 | ..S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 74 | .I +PFINCOME=PFINCOME I PFINCOME<1!(PFINCOME>99999) D | 
|---|
|  | 75 | ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,39,PFNAME_"_"_PRPFHLD1_"_"_"Inc#"_PRPFHLD2)="INCOME AMOUNT^Income amount out of range either < $1 or > $99,999^"_PFINCOME | 
|---|
|  | 76 | ..S CNTERR(39)=CNTERR(39)+1 | 
|---|
|  | 77 | ..S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 78 | .S PFINCFRQ=$P(PFNODE6,"^",4) | 
|---|
|  | 79 | .I PFINCFRQ="" D | 
|---|
|  | 80 | ..S PRPFBC40=PRPFBC40+1 | 
|---|
|  | 81 | .I PFINCFRQ'["D"&(PFINCFRQ'["W")&(PFINCFRQ'["M")&(PFINCFRQ'["Y")&(PFINCFRQ'["X")&(PFINCFRQ'["V")&(PFINCFRQ'["O")&(PFINCFRQ'="") D | 
|---|
|  | 82 | ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,40,PFNAME_"_"_PRPFHLD1_"_"_"Inc#"_PRPFHLD2)="INCOME FREQUENCY^Income frequency not D,W,M,Y,X,V,O,Blank^"_PFINCFRQ | 
|---|
|  | 83 | ..S PFMCTR3=PFMCTR3+1 | 
|---|
|  | 84 | ..S CNTERR(40)=CNTERR(40)+1 | 
|---|
|  | 85 | ..S CNTERR(100)=CNTERR(100)+1 | 
|---|
|  | 86 | Q | 
|---|
|  | 87 | KILLIT ;VARIABLES KILLED HERE | 
|---|
|  | 88 | K CNTBAL,CNTERR,CNTREC,CNTRPSU,CNTSEG,CNTTOT,ND,PARAMS,PFADDR1,PFADDR2 | 
|---|
|  | 89 | K PFADDR3,PFAPPOR,PFARPM,PFARPW,PFAUTH,PFAUTHDT,PFAUTHRS,PFCITY,PFCLAIM,PFDOB | 
|---|
|  | 90 | K PFG,PFGUARD,PFICNFLG,PFINCFRQ,PFINCOME,PFINCPYE,PFINDIG,PFINSAWD,PFMAX1,PFMCTR1 | 
|---|
|  | 91 | K PFMCTR2,PFMCTR3,PFMIN1,PFNAME,PFNAMEX,PFNODE0,PFNODE1,PFNODE2,PFNODE4,PFNODE4D | 
|---|
|  | 92 | K PFNODE4X,PFNODE5,PFNODE51,PFNODE52,PFNODE6,PFNODE7,PFNODE8,PFOTRAST,PFPSTAT | 
|---|
|  | 93 | K PFRGNID,PFSITE,PFSSN,PFSTAID,PFSTAT,PFSTATE,PFSTDBAL,PFSTDGRT,PFSTDPVT,PFSUSDT | 
|---|
|  | 94 | K PFSUSID,PFSUSTXT,PFTDT,PFTDTE,PFTEMP,PFTYPE,PFWARD,PFX,PFY,PFZ,PFZIP,POP,PRPFBADD | 
|---|
|  | 95 | K PRPFBBAL,PRPFBDMO,PRPFCNTR,PRPFDEFR,PRPFHLD1,PRPFHLD2,PRPFHLD3,PRPFHLD4,PRPFSEG | 
|---|
|  | 96 | K X,XION | 
|---|
|  | 97 | Q | 
|---|