[613] | 1 | PRPFMR1 ;BAYPINES/MJE DATA MIGRATION ROUTINE 1 ;05/15/03
|
---|
| 2 | ;;3.0;PATIENT FUNDS - MIGRATION 5.1;**16**;JUNE 1, 1989
|
---|
| 3 | ;ENTRY AT LINETAG ONLY
|
---|
| 4 | Q
|
---|
| 5 | RPC(RESULTS,PARAM1,PARAM2) ;ENTRY POINT FOR VPFS RPC
|
---|
| 6 | S PRPFSEG=PARAM1
|
---|
| 7 | S PRPFJ=PARAM2
|
---|
| 8 | I PRPFSEG>1 D SENDSEG Q
|
---|
| 9 | TEST S PRPFOUT1=1
|
---|
| 10 | LEG ;LEGACY ENTRY POINT
|
---|
| 11 | S:'$D(PRPFOUT1) PRPFOUT1=2
|
---|
| 12 | K ^TMP("PRPF_EXTDATA")
|
---|
| 13 | S (PRPFHLD1,PRPFHLD2,PRPFHLD3,PRPFHLD4,CNTREC,CNTPREC,CNTTOT,PFG,PFX,PFXX)=0
|
---|
| 14 | S U="^"
|
---|
| 15 | S PFSITE=$P($$SITE^VASITE(),"^",3)
|
---|
| 16 | S:PFSITE="" PFSITE="###"
|
---|
| 17 | S (CNTSEG,CNTXREC)=1
|
---|
| 18 | F S PRPFHLD1=$O(^PRPF(470,PRPFHLD1)) Q:'PRPFHLD1 D
|
---|
| 19 | .S PFG=PFG+1 I PFG=100 W "." S PFG=0
|
---|
| 20 | .S CNTPREC=CNTPREC+1
|
---|
| 21 | .S PFNODE12=PFSITE
|
---|
| 22 | .D:$G(^PRPF(470,PRPFHLD1,0))'="" COMPU
|
---|
| 23 | .D NODE12
|
---|
| 24 | .D:$G(^PRPF(470,PRPFHLD1,0))'="" NODE0
|
---|
| 25 | .D:$G(^PRPF(470,PRPFHLD1,1))'="" NODE1
|
---|
| 26 | .D:$G(^PRPF(470,PRPFHLD1,2))'="" NODE2
|
---|
| 27 | .D:$O(^PRPF(470,PRPFHLD1,4,0))>0 NODE4
|
---|
| 28 | .D:$O(^PRPF(470,PRPFHLD1,5,0))>0 NODE5
|
---|
| 29 | .D:$O(^PRPF(470,PRPFHLD1,6,0))>0 NODE6
|
---|
| 30 | .D:$O(^PRPF(470,PRPFHLD1,7,0))>0 NODE7
|
---|
| 31 | .D:$O(^PRPF(470,PRPFHLD1,8,0))>0 NODE8
|
---|
| 32 | D:PRPFOUT1=1
|
---|
| 33 | .S CNTTOT=CNTTOT+CNTREC
|
---|
| 34 | .S ^TMP("PRPF_EXTDATA",$J,0)=DTIME_U_DTIME_U_"DATA FOR PRPF MIGRATION"
|
---|
| 35 | .S ^TMP("PRPF_EXTDATA",$J,1,0)="VPFS"_U_PFSITE_U_U_U_U_"0"_U_"A1"_U_CNTPREC_U_CNTTOT_U_$J
|
---|
| 36 | .D NOW^%DTC S Y=% D DD^%DT
|
---|
| 37 | .S $P(^TMP("PRPF_EXTDATA",$J,1,0),"^",3)="(VER#5.0) "_"RUN-DATE@TIME="_Y
|
---|
| 38 | .S RESULTS=$NA(^TMP("PRPF_EXTDATA",$J,1))
|
---|
| 39 | D:PRPFOUT1=2 OUT
|
---|
| 40 | D KILLIT
|
---|
| 41 | Q
|
---|
| 42 | SENDSEG ;SEND A SEGMENT OF DATA TO MIGRATION JAVA APP
|
---|
| 43 | S RESULTS=$NA(^TMP("PRPF_EXTDATA",PRPFJ,PRPFSEG))
|
---|
| 44 | Q
|
---|
| 45 | ;***************************************************************
|
---|
| 46 | COMPU ;
|
---|
| 47 | S PFNAME=$P($G(^DPT(PRPFHLD1,0)),"^",1)
|
---|
| 48 | S PFSSN=$P($G(^DPT(PRPFHLD1,0)),"^",9)
|
---|
| 49 | I PFNAME="" I PFSSN'="" S PFNAME="NAME-MISSING-SSN#"_PFSSN
|
---|
| 50 | I PFNAME="" I PFSSN="" S PFNAME="NAME-MISSING-NO-SSN-IEN#"_PRPFHLD1
|
---|
| 51 | S PFSSN=$P($G(^DPT(PRPFHLD1,0)),"^",9)
|
---|
| 52 | S PFDOB=$P($G(^DPT(PRPFHLD1,0)),"^",3)
|
---|
| 53 | S PFWARD=$P($G(^DPT(PRPFHLD1,.1)),"^",1)
|
---|
| 54 | S PFCLAIM=$P($G(^DPT(PRPFHLD1,.31)),"^",3)
|
---|
| 55 | S PFADDR1=$P($G(^DPT(PRPFHLD1,.11)),"^",1)
|
---|
| 56 | S PFADDR2=$P($G(^DPT(PRPFHLD1,.11)),"^",2)
|
---|
| 57 | S PFADDR3=$P($G(^DPT(PRPFHLD1,.11)),"^",3)
|
---|
| 58 | S PFCITY=$P($G(^DPT(PRPFHLD1,.11)),"^",4)
|
---|
| 59 | S PFSTATE=$P($G(^DPT(PRPFHLD1,.11)),"^",5)
|
---|
| 60 | S PFZIP=$P($G(^DPT(PRPFHLD1,.11)),"^",6)
|
---|
| 61 | ;S PFICN=$P($G(^DPT(PRPFHLD1,"MPI")),"^",1)
|
---|
| 62 | S PFICN=$P($$GETICN^MPIF001(PRPFHLD1),"^")
|
---|
| 63 | S:PFICN=-1 PFICN=""
|
---|
| 64 | ;S PFSITE=$$KSP^XUPARAM("INST")
|
---|
| 65 | S PFAUTH=$P(^PRPF(470,PRPFHLD1,0),"^",13)
|
---|
| 66 | I PFAUTH S PFAUTHRS=$P($G(^VA(200,PFAUTH,0)),"^",1)
|
---|
| 67 | E S PFAUTHRS=""
|
---|
| 68 | Q
|
---|
| 69 | NODE0 S PFNODE0=^PRPF(470,PRPFHLD1,0)
|
---|
| 70 | S CNTREC=CNTREC+1
|
---|
| 71 | S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"D1"_U_PFNAME_U_PFSSN_U_PFDOB_U_PFWARD_U_PFCLAIM_U_PFADDR1_U_PFADDR2_U_PFADDR3_U_PFCITY_U_PFSTATE_U_PFZIP_U_PFAUTHRS_U_PFNODE12
|
---|
| 72 | D SEG
|
---|
| 73 | S CNTREC=CNTREC+1
|
---|
| 74 | S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"D2"_U_PFNODE0
|
---|
| 75 | D SEG
|
---|
| 76 | Q
|
---|
| 77 | NODE1 S PFNODE1=^PRPF(470,PRPFHLD1,1)
|
---|
| 78 | S CNTREC=CNTREC+1
|
---|
| 79 | S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"B1"_U_PFNODE1
|
---|
| 80 | D SEG
|
---|
| 81 | Q
|
---|
| 82 | NODE2 S PFNODE2=^PRPF(470,PRPFHLD1,2)
|
---|
| 83 | S CNTREC=CNTREC+1
|
---|
| 84 | S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"B2"_U_PFNODE2
|
---|
| 85 | D SEG
|
---|
| 86 | Q
|
---|
| 87 | NODE4 S PRPFHLD2=0
|
---|
| 88 | F S PRPFHLD2=$O(^PRPF(470,PRPFHLD1,4,PRPFHLD2)) Q:'PRPFHLD2 D
|
---|
| 89 | .S PFNODE4=^PRPF(470,PRPFHLD1,4,PRPFHLD2,0)
|
---|
| 90 | .S PFNODE4D=$P(PFNODE4,"^",2)
|
---|
| 91 | .I $D(^PRPF(470.1,$P(PFNODE4,"^",1),0)) D
|
---|
| 92 | ..S PFNODE4T=^PRPF(470.1,$P(PFNODE4,"^",1),0)
|
---|
| 93 | ..S PFCLERK=$P(PFNODE4T,"^",14)
|
---|
| 94 | ..I $P(PFNODE4T,"^",11) D
|
---|
| 95 | ...S $P(PFNODE4T,"^",11)=$P($G(^PRPF(470.2,$P(PFNODE4T,"^",11),0)),"^",1)
|
---|
| 96 | ..I PFCLERK S PFCLERKN=$P($G(^VA(200,PFCLERK,0)),"^",1)
|
---|
| 97 | ..E S PFCLERKN=""
|
---|
| 98 | ..S $P(PFNODE4T,"^",14)=PFCLERKN
|
---|
| 99 | ..S CNTREC=CNTREC+1
|
---|
| 100 | ..S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"T1"_U_PFNODE4D_U_PFNODE4T
|
---|
| 101 | ..D SEG
|
---|
| 102 | Q
|
---|
| 103 | NODE5 S (PRPFHLD2,PRPFHLD3,PRPFHLD4)=0
|
---|
| 104 | F S PRPFHLD2=$O(^PRPF(470,PRPFHLD1,5,PRPFHLD2)) Q:'PRPFHLD2 D
|
---|
| 105 | .S PFNODE5=$G(^PRPF(470,PRPFHLD1,5,PRPFHLD2,0))
|
---|
| 106 | .S CNTREC=CNTREC+1
|
---|
| 107 | .S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"S1"_U_PFNODE5
|
---|
| 108 | .D SEG
|
---|
| 109 | .S PRPFHLD3=0
|
---|
| 110 | .F S PRPFHLD3=$O(^PRPF(470,PRPFHLD1,5,PRPFHLD2,1,PRPFHLD3)) Q:'PRPFHLD3 D
|
---|
| 111 | ..S PFNODE51=$G(^PRPF(470,PRPFHLD1,5,PRPFHLD2,1,PRPFHLD3,0))
|
---|
| 112 | ..S PRPFHLD4=0
|
---|
| 113 | ..I $O(^PRPF(470,PRPFHLD1,5,PRPFHLD2,1,PRPFHLD3,1,PRPFHLD4))'>0 D
|
---|
| 114 | ...S CNTREC=CNTREC+1
|
---|
| 115 | ...S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"S2"_U_PFNODE51_U
|
---|
| 116 | ...D SEG
|
---|
| 117 | ..F S PRPFHLD4=$O(^PRPF(470,PRPFHLD1,5,PRPFHLD2,1,PRPFHLD3,1,PRPFHLD4)) Q:'PRPFHLD4 D
|
---|
| 118 | ...S PFNODE52=$G(^PRPF(470,PRPFHLD1,5,PRPFHLD2,1,PRPFHLD3,1,PRPFHLD4,0))
|
---|
| 119 | ...I $L(PFNODE52)<128 D
|
---|
| 120 | ....S CNTREC=CNTREC+1
|
---|
| 121 | ....S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"S2"_U_PFNODE51_U_PFNODE52
|
---|
| 122 | ....D SEG
|
---|
| 123 | ...I $L(PFNODE52)>127 D
|
---|
| 124 | ....S PFNODE53=$E(PFNODE52,128,256)
|
---|
| 125 | ....S PFNODE52=$E(PFNODE52,1,127)
|
---|
| 126 | ....S CNTREC=CNTREC+1
|
---|
| 127 | ....S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"S2"_U_PFNODE51_U_PFNODE52
|
---|
| 128 | ....D SEG
|
---|
| 129 | ....S CNTREC=CNTREC+1
|
---|
| 130 | ....S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"S3"_U_PFNODE51_U_PFNODE53
|
---|
| 131 | ....D SEG
|
---|
| 132 | Q
|
---|
| 133 | NODE6 S PRPFHLD2=0
|
---|
| 134 | F S PRPFHLD2=$O(^PRPF(470,PRPFHLD1,6,PRPFHLD2)) Q:'PRPFHLD2 D
|
---|
| 135 | .S PFNODE6=^PRPF(470,PRPFHLD1,6,PRPFHLD2,0)
|
---|
| 136 | .S CNTREC=CNTREC+1
|
---|
| 137 | .S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"I1"_U_PFNODE6
|
---|
| 138 | .D SEG
|
---|
| 139 | Q
|
---|
| 140 | NODE7 S PRPFHLD2=0
|
---|
| 141 | F S PRPFHLD2=$O(^PRPF(470,PRPFHLD1,7,PRPFHLD2)) Q:'PRPFHLD2 D
|
---|
| 142 | .S PFNODE7=^PRPF(470,PRPFHLD1,7,PRPFHLD2,0)
|
---|
| 143 | .I $L(PFNODE7)<128 D
|
---|
| 144 | ..S CNTREC=CNTREC+1
|
---|
| 145 | ..S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"R1"_U_PFNODE7
|
---|
| 146 | ..D SEG
|
---|
| 147 | .I $L(PFNODE7)>127 D
|
---|
| 148 | ..S PFNODE71=$E(PFNODE7,128,256)
|
---|
| 149 | ..S PFNODE7=$E(PFNODE7,1,127)
|
---|
| 150 | ..S CNTREC=CNTREC+1
|
---|
| 151 | ..S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"R1"_U_PFNODE7
|
---|
| 152 | ..D SEG
|
---|
| 153 | ..S CNTREC=CNTREC+1
|
---|
| 154 | ..S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"R2"_U_PFNODE71
|
---|
| 155 | ..D SEG
|
---|
| 156 | Q
|
---|
| 157 | NODE8 S PRPFHLD2=0
|
---|
| 158 | F S PRPFHLD2=$O(^PRPF(470,PRPFHLD1,8,PRPFHLD2)) Q:'PRPFHLD2 D
|
---|
| 159 | .S PFNODE8=^PRPF(470,PRPFHLD1,8,PRPFHLD2,0)
|
---|
| 160 | .I $L(PFNODE8)<128 D
|
---|
| 161 | ..S CNTREC=CNTREC+1
|
---|
| 162 | ..S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"X1"_U_PFNODE8
|
---|
| 163 | ..D SEG
|
---|
| 164 | .I $L(PFNODE8)>127 D
|
---|
| 165 | ..S PFNODE81=$E(PFNODE8,128,256)
|
---|
| 166 | ..S PFNODE8=$E(PFNODE8,1,127)
|
---|
| 167 | ..S CNTREC=CNTREC+1
|
---|
| 168 | ..S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"X1"_U_PFNODE8
|
---|
| 169 | ..D SEG
|
---|
| 170 | ..S CNTREC=CNTREC+1
|
---|
| 171 | ..S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTXREC_U_"X2"_U_PFNODE81
|
---|
| 172 | ..D SEG
|
---|
| 173 | Q
|
---|
| 174 | NODE12 ;CHECK STATION ID
|
---|
| 175 | I $D(^PRPF(470,PRPFHLD1,12)) I ^PRPF(470,PRPFHLD1,12)'="" D
|
---|
| 176 | .S:$D(^DIC(4,$G(^PRPF(470,PRPFHLD1,12)),99)) PFNODE12=$P($G(^DIC(4,$G(^PRPF(470,PRPFHLD1,12)),99)),"^",1)
|
---|
| 177 | .S:'$D(^DIC(4,$G(^PRPF(470,PRPFHLD1,12)),99)) PFNODE12=PFSITE
|
---|
| 178 | S:'$D(^PRPF(470,PRPFHLD1,12)) PFNODE12=PFSITE
|
---|
| 179 | S:PFNODE12="" PFNODE12=PFSITE
|
---|
| 180 | ;S CNTREC=CNTREC+1
|
---|
| 181 | ;S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_PFSSN_U_PFICN_U_CNTREC_U_"12"_U_PFNODE12
|
---|
| 182 | ;S ^TMP("PRPF_EXTDATA",$J,CNTSEG,CNTREC)="VPFS"_U_PFSITE_U_PRPFHLD1_U_U_U_CNTREC_U_"12"_U_PFNODE12
|
---|
| 183 | ;D SEG
|
---|
| 184 | Q
|
---|
| 185 | SEG ;SET UP NEW SEGMENT NODE
|
---|
| 186 | S CNTXREC=CNTXREC+1
|
---|
| 187 | D:CNTREC=10000
|
---|
| 188 | .S CNTSEG=CNTSEG+1
|
---|
| 189 | .S CNTTOT=CNTTOT+CNTREC
|
---|
| 190 | .S CNTREC=0
|
---|
| 191 | Q
|
---|
| 192 | OUT ;WRITE OUT TO DEVICE
|
---|
| 193 | S CNTTOT=CNTTOT+CNTREC
|
---|
| 194 | W !
|
---|
| 195 | W !,"Please enter the output device for the detail report or ""^"" to exit:"
|
---|
| 196 | S %ZIS("B")="",%ZIS("HFSMODE")="W" D ^%ZIS K XION R X:2
|
---|
| 197 | I POP K ^TMP("PRPF_EXTDATA") Q
|
---|
| 198 | U IO
|
---|
| 199 | W "VPFS"_U_PFSITE_U_U_U_U_"0"_U_"A1"_U_CNTPREC_U_CNTXREC
|
---|
| 200 | F S PFX=$O(^TMP("PRPF_EXTDATA",$J,PFX)) Q:PFX="" D
|
---|
| 201 | .F S PFXX=$O(^TMP("PRPF_EXTDATA",$J,PFX,PFXX)) Q:PFXX="" D
|
---|
| 202 | ..W !,^TMP("PRPF_EXTDATA",$J,PFX,PFXX)
|
---|
| 203 | D ^%ZISC
|
---|
| 204 | K ^TMP("PRPF_EXTDATA")
|
---|
| 205 | Q
|
---|
| 206 | KILLIT ;KILL LOCAL VARIABLES
|
---|
| 207 | K CNTPREC,CNTREC,CNTSEG,CNTTOT,CNTXREC,PARAMS,PFADDR1,PFADDR2,PFADDR3
|
---|
| 208 | K PFAUTH,PFAUTHRS,PFCITY,PFCLAIM,PFCLERK,PFCLERKN,PFDOB,PFG
|
---|
| 209 | K PFICN,PFNAME,PFNODE0,PFNODE1,PFNODE12,PFNODE2,PFNODE4,PFNODE4D
|
---|
| 210 | K PFNODE4T,PFNODE5,PFNODE51,PFNODE52,PFNODE53,PFNODE6,PFNODE7
|
---|
| 211 | K PFNODE71,PFNODE8,PFNODE81,PFSITE,PFSSN,PFSTATE,PFWARD,PFX
|
---|
| 212 | K PFXX,PFZIP,POP,PRPFHLD1,PRPFHLD2,PRPFHLD3,PRPFHLD4,PRPFJ
|
---|
| 213 | K PRPFOUT1,PRPFSEG,X
|
---|
| 214 | Q
|
---|