| [613] | 1 | PRPFDR5 ;BAYPINES/MJE  VPFS DATA MIGRATION ROUTINE 5 ;05/15/03
 | 
|---|
 | 2 |  ;;3.0;PATIENT FUNDS DIAG V5.9;**15**;JUNE 1, 1989
 | 
|---|
 | 3 |  ;BAD ENTRY POINT
 | 
|---|
 | 4 |  Q
 | 
|---|
 | 5 | NODE0 S PFNODE0=^PRPF(470,PRPFHLD1,0)
 | 
|---|
 | 6 |  S PFNAMEX=""
 | 
|---|
 | 7 |  S PFNAMEX=PFNAME
 | 
|---|
 | 8 |  I PFNAME=""!($E(PFNAME,1,12)="NAME-MISSING") D
 | 
|---|
 | 9 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,1,PFNAME_"_"_PRPFHLD1)="NAME^Name is blank^"_PFNAME
 | 
|---|
 | 10 |  .S CNTERR(1)=CNTERR(1)+1
 | 
|---|
 | 11 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 12 |  ELSE  I $$FORMAT^XLFNAME7(PFNAMEX,3,30)'=PFNAMEX D
 | 
|---|
 | 13 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,2,PFNAME_"_"_PRPFHLD1)="NAME^Patient Name contains invalid data^"_PFNAME
 | 
|---|
 | 14 |  .S CNTERR(2)=CNTERR(2)+1
 | 
|---|
 | 15 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 16 |  I PFSSN="" D
 | 
|---|
 | 17 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,3,PFNAME_"_"_PRPFHLD1)="SSN^SSN is blank^"_PFSSN
 | 
|---|
 | 18 |  .S CNTERR(3)=CNTERR(3)+1
 | 
|---|
 | 19 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 20 |  I PFSSN'="" D
 | 
|---|
 | 21 |  .I $L(PFSSN)<9!($L(PFSSN)>10) D
 | 
|---|
 | 22 |  ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,4,PFNAME_"_"_PRPFHLD1)="SSN^SSN that is not 9 digits or has non-numeric values^"_PFSSN
 | 
|---|
 | 23 |  ..S CNTERR(4)=CNTERR(4)+1
 | 
|---|
 | 24 |  ..S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 25 |  .I $L(PFSSN)=9 D
 | 
|---|
 | 26 |  ..I '(PFSSN?.9N) D
 | 
|---|
 | 27 |  ...S ^TMP("PRPF_DIAGX",$J,PFSTAID,4.1,PFNAME_"_"_PRPFHLD1)="SSN^SSN that is not 9 digits or has non-numeric values^"_PFSSN
 | 
|---|
 | 28 |  ...S CNTERR(4)=CNTERR(4)+1
 | 
|---|
 | 29 |  ...S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 30 |  .I $L(PFSSN)=10 D
 | 
|---|
 | 31 |  ..I ($E(PFSSN,1,9)?.9N)&($E(PFSSN,10,10)="P") D
 | 
|---|
 | 32 |  ...S ^TMP("PRPF_DIAGX",$J,PFSTAID,6,PFNAME_"_"_PRPFHLD1)="SSN^PSEUDO SSN value^"_PFSSN
 | 
|---|
 | 33 |  ...S CNTRPSU=CNTRPSU+1
 | 
|---|
 | 34 |  ..I '($E(PFSSN,1,9)?.9N)!($E(PFSSN,10,10)'="P") D
 | 
|---|
 | 35 |  ...S ^TMP("PRPF_DIAGX",$J,PFSTAID,4.2,PFNAME_"_"_PRPFHLD1)="SSN^SSN that is not 9 digits or has non-numeric values^"_PFSSN
 | 
|---|
 | 36 |  ...S CNTERR(4)=CNTERR(4)+1
 | 
|---|
 | 37 |  ...S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 38 |  I PFSSN'="" D
 | 
|---|
 | 39 |  .I $D(^TMP("PRPF_DIAGX",$J,"PFSSN",PFSSN)) D
 | 
|---|
 | 40 |  ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,5,PFNAME_"_"_PRPFHLD1)="SSN^SSN duplicate value^"_PFSSN
 | 
|---|
 | 41 |  ..S CNTERR(5)=CNTERR(5)+1
 | 
|---|
 | 42 |  ..S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 43 |  .S ^TMP("PRPF_DIAGX",$J,"PFSSN",PFSSN)=PFSSN
 | 
|---|
 | 44 |  I PFDOB="" D
 | 
|---|
 | 45 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,7,PFNAME_"_"_PRPFHLD1)="DOB^DOB blank^"_PFDOB
 | 
|---|
 | 46 |  .S CNTERR(7)=CNTERR(7)+1
 | 
|---|
 | 47 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 48 |  ELSE  D
 | 
|---|
 | 49 |  .K PRPFBADD
 | 
|---|
 | 50 |  .D DT^DILF("X",PFDOB,.PRPFBADD)
 | 
|---|
 | 51 |  .I $L(+PFDOB)'=7!(PRPFBADD=-1) D
 | 
|---|
 | 52 |  ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,8,PFNAME_"_"_PRPFHLD1)="DOB^DOB contains invalid date^"_PFDOB
 | 
|---|
 | 53 |  ..S CNTERR(8)=CNTERR(8)+1
 | 
|---|
 | 54 |  ..S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 55 |  I PFWARD'="" I $L(PFWARD)>30!($L(PFWARD)<2) D
 | 
|---|
 | 56 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,9,PFNAME_"_"_PRPFHLD1)="WARD^Ward loc invalid length not 2 TO 30^"_PFWARD
 | 
|---|
 | 57 |  .S CNTERR(9)=CNTERR(9)+1
 | 
|---|
 | 58 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 59 |  I PFCLAIM=""!(PFCLAIM="SS") D
 | 
|---|
 | 60 |  .;S ^TMP("PRPF_DIAGX",$J,PFSTAID,8,PFNAME_"_"_PRPFHLD1)="CLAIM#^Claim # blank^"_PFCLAIM
 | 
|---|
 | 61 |  .;S CNTERR(8)=CNTERR(8)+1
 | 
|---|
 | 62 |  .;S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 63 |  ELSE  I $L(PFCLAIM)<7!($L(PFCLAIM)>9)!'(PFCLAIM?.N) D
 | 
|---|
 | 64 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,10,PFNAME_"_"_PRPFHLD1)="CLAIM#^Claim # < 7 or > 9 digits or non-numeric^"_PFCLAIM
 | 
|---|
 | 65 |  .S CNTERR(10)=CNTERR(10)+1
 | 
|---|
 | 66 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 67 |  I PFSTATE="" D
 | 
|---|
 | 68 |  .;S ^TMP("PRPF_DIAGX",$J,PFSTAID,10,PFNAME_"_"_PRPFHLD1)="STATE^STATE field is blank^"_PFSTATE
 | 
|---|
 | 69 |  .;S CNTERR(10)=CNTERR(10)+1
 | 
|---|
 | 70 |  .;S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 71 |  I PFZIP="" D
 | 
|---|
 | 72 |  .;S ^TMP("PRPF_DIAGX",$J,PFSTAID,11,PFNAME_"_"_PRPFHLD1)="ZIPCODE#^ZIPCODE blank^"_PFZIP
 | 
|---|
 | 73 |  .;S CNTERR(11)=CNTERR(11)+1
 | 
|---|
 | 74 |  .;S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 75 |  ELSE  I $L(PFZIP)>5!($L(PFZIP)<5)!'(PFZIP?5N) D
 | 
|---|
 | 76 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,11,PFNAME_"_"_PRPFHLD1)="ZIPCODE#^ZIPCODE < or > 5 digits or non-numeric^"_PFZIP
 | 
|---|
 | 77 |  .S CNTERR(11)=CNTERR(11)+1
 | 
|---|
 | 78 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 79 |  S PFRGNID=""
 | 
|---|
 | 80 |  S PFICNFLG=$$GETICN^MPIF001(PRPFHLD1)
 | 
|---|
 | 81 |  I +PFICNFLG'=-1 D
 | 
|---|
 | 82 |  .I $D(^TMP("PRPF_DIAGX",$J,"PFICN",+PFICNFLG)) D
 | 
|---|
 | 83 |  ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,13,PFNAME_"_"_PRPFHLD1)="ICN^ICN Duplicate^"_PFICNFLG
 | 
|---|
 | 84 |  ..S CNTERR(13)=CNTERR(13)+1
 | 
|---|
 | 85 |  ..S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 86 |  .S ^TMP("PRPF_DIAGX",$J,"PFICN",+PFICNFLG)=PFICNFLG
 | 
|---|
 | 87 |  I +PFICNFLG=-1 D
 | 
|---|
 | 88 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,14,PFNAME_"_"_PRPFHLD1)="ICN^ICN Unassigned or invalid^"_$P(PFICNFLG,"^",2)
 | 
|---|
 | 89 |  .S CNTERR(14)=CNTERR(14)+1
 | 
|---|
 | 90 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 91 |  .;S PRPFBJOB=$$MPIQQ^MPIFAPI(PRPFHLD1)
 | 
|---|
 | 92 |  S (PFAUTHRS,PFNAMEX)=""
 | 
|---|
 | 93 |  I PFAUTH'="" D
 | 
|---|
 | 94 |  .S (PFAUTHRS,PFNAMEX)=$P($G(^VA(200,PFAUTH,0)),"^",1)
 | 
|---|
 | 95 |  .I $$FORMAT^XLFNAME7(PFNAMEX,3,30)'=PFNAMEX!('$D(^VA(200,PFAUTH,0))) D
 | 
|---|
 | 96 |  ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,15,PFNAME_"_"_PRPFHLD1)="PFAUTHRS^Provider name contains invalid data^"_PFAUTHRS
 | 
|---|
 | 97 |  ..S CNTERR(15)=CNTERR(15)+1
 | 
|---|
 | 98 |  ..S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 99 |  S PFAUTHDT=$P(^PRPF(470,PRPFHLD1,0),"^",12)
 | 
|---|
 | 100 |  I PFAUTHDT'="" D
 | 
|---|
 | 101 |  .K PRPFBADD
 | 
|---|
 | 102 |  .D DT^DILF("X",PFAUTHDT,.PRPFBADD)
 | 
|---|
 | 103 |  .I $L(+PFAUTHDT)'=7!(PRPFBADD=-1) D
 | 
|---|
 | 104 |  ..S ^TMP("PRPF_DIAGX",$J,PFSTAID,16,PFNAME_"_"_PRPFHLD1)="PROVAUTHDT^Date of current restriction contains invalid date^"_PFAUTHDT
 | 
|---|
 | 105 |  ..S CNTERR(16)=CNTERR(16)+1
 | 
|---|
 | 106 |  ..S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 107 |  S PFSTAT=$P(PFNODE0,"^",2)
 | 
|---|
 | 108 |  I PFSTAT="" D
 | 
|---|
 | 109 |  .S PRPFBC18=PRPFBC18+1
 | 
|---|
 | 110 |  I PFSTAT'["A"&(PFSTAT'["I")&(PFSTAT'="") D
 | 
|---|
 | 111 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,18,PFNAME_"_"_PRPFHLD1)="ACCOUNT STATUS^Account status containing values other than A or I^"_PFSTAT
 | 
|---|
 | 112 |  .S CNTERR(18)=CNTERR(18)+1
 | 
|---|
 | 113 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 114 |  S PFTYPE=$P(PFNODE0,"^",3)
 | 
|---|
 | 115 |  I PFTYPE="" D
 | 
|---|
 | 116 |  .S PRPFBC19=PRPFBC19+1
 | 
|---|
 | 117 |  I PFTYPE'["L"&(PFTYPE'["R")&(PFTYPE'["U")&(PFTYPE'["X")&(PFTYPE'="") D
 | 
|---|
 | 118 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,19,PFNAME_"_"_PRPFHLD1)="PATIENT TYPE^Patient type values other than L, R, U, X^"_PFTYPE
 | 
|---|
 | 119 |  .S CNTERR(19)=CNTERR(19)+1
 | 
|---|
 | 120 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 121 |  I (PFAUTH=""&(PFTYPE="L"))!(PFAUTH=""&(PFTYPE="R")) D
 | 
|---|
 | 122 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,20,PFNAME_"_"_PRPFHLD1)="PATIENT TYPE/PHY^No Physician name for L or R^"_PFTYPE
 | 
|---|
 | 123 |  .S CNTERR(20)=CNTERR(20)+1
 | 
|---|
 | 124 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 125 |  S PFPSTAT=$P(PFNODE0,"^",4)
 | 
|---|
 | 126 |  I PFPSTAT="" D
 | 
|---|
 | 127 |  .S PRPFBC21=PRPFBC21+1
 | 
|---|
 | 128 |  I PFPSTAT'["A"&(PFPSTAT'["R")&(PFPSTAT'["C")&(PFPSTAT'["N")&(PFPSTAT'["X")&(PFPSTAT'="") D
 | 
|---|
 | 129 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,21,PFNAME_"_"_PRPFHLD1)="PATIENT STATUS^Patient status values other than A, R, C, N, X^"_PFPSTAT
 | 
|---|
 | 130 |  .S CNTERR(21)=CNTERR(21)+1
 | 
|---|
 | 131 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 132 |  S PFINDIG=$P(PFNODE0,"^",5)
 | 
|---|
 | 133 |  I PFINDIG="" D
 | 
|---|
 | 134 |  .S PRPFBC22=PRPFBC22+1
 | 
|---|
 | 135 |  I PFINDIG'["Y"&(PFINDIG'["N")&(PFINDIG'="") D
 | 
|---|
 | 136 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,22,PFNAME_"_"_PRPFHLD1)="INDIGENT^Indigent indicator values other than Y, N^"_PFINDIG
 | 
|---|
 | 137 |  .S CNTERR(22)=CNTERR(22)+1
 | 
|---|
 | 138 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 139 |  S PFAPPOR=$P(PFNODE0,"^",6)
 | 
|---|
 | 140 |  I PFAPPOR'="" I PFAPPOR<0!(PFAPPOR>99999)!((PFAPPOR'=+PFAPPOR)&(PFAPPOR'?.N1".".N)) D
 | 
|---|
 | 141 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,23,PFNAME_"_"_PRPFHLD1)="APPORTIONEE $^Apportionee amount invalid or out of range either < 0 or > $99,999.00^"_PFAPPOR
 | 
|---|
 | 142 |  .S CNTERR(23)=CNTERR(23)+1
 | 
|---|
 | 143 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 144 |  S PFGUARD=$P(PFNODE0,"^",7)
 | 
|---|
 | 145 |  I PFGUARD'="" I PFGUARD<0!(PFGUARD>99999)!((PFGUARD'=+PFGUARD)&(PFGUARD'?.N1".".N)) D
 | 
|---|
 | 146 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,24,PFNAME_"_"_PRPFHLD1)="GUARDIAN $^Guardian amount invalid or out of range either < 0 or > $99,999.00^"_PFGUARD
 | 
|---|
 | 147 |  .S CNTERR(24)=CNTERR(24)+1
 | 
|---|
 | 148 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 149 |  S PFINSAWD=$P(PFNODE0,"^",8)
 | 
|---|
 | 150 |  I PFINSAWD'="" I PFINSAWD<0!(PFINSAWD>99999)!((PFINSAWD'=+PFINSAWD)&(PFINSAWD'?.N1".".N)) D
 | 
|---|
 | 151 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,25,PFNAME_"_"_PRPFHLD1)="INSTITUTIONAL AWARD^Institutional award invalid or out of range either < 0 or > $99,999.00^"_PFINSAWD
 | 
|---|
 | 152 |  .S CNTERR(25)=CNTERR(25)+1
 | 
|---|
 | 153 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 154 |  S PFOTRAST=$P(PFNODE0,"^",10)
 | 
|---|
 | 155 |  I PFOTRAST'="" I PFOTRAST<0!(PFOTRAST>99999)!((PFOTRAST'=+PFOTRAST)&(PFOTRAST'?.N1".".N)) D
 | 
|---|
 | 156 |  .S ^TMP("PRPF_DIAGX",$J,PFSTAID,26,PFNAME_"_"_PRPFHLD1)="OTHER ASSETS^Other assets invalid or out of range either < 0 or > $99,999.00^"_PFOTRAST
 | 
|---|
 | 157 |  .S CNTERR(26)=CNTERR(26)+1
 | 
|---|
 | 158 |  .S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 159 |  Q
 | 
|---|
 | 160 | NODE0X S ^TMP("PRPF_DIAGX",$J,PFSTAID,17,PFNAME_"_"_PRPFHLD1)="NO DEMO RECORD^No demographic record for account^"_PFNAME
 | 
|---|
 | 161 |  S CNTERR(17)=CNTERR(17)+1
 | 
|---|
 | 162 |  S CNTERR(100)=CNTERR(100)+1
 | 
|---|
 | 163 |  Q
 | 
|---|