Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ABPADC01

ABPADC01.m

Go to the documentation of this file.
  1. ABPADC01 ;CONVERT PAYMENT DATA TO v1.4 FORMAT; [ 07/08/91 9:10 PM ]
  1. ;;1.4;AO PVT-INS TRACKING;*0*;IHS-OKC/KJR;JULY 25, 1991
  1. W !!,"<<< NOT AN ENTRY POINT - JOB ABORTED >>>",!! Q
  1. BEGIN ;ENTRY POINT
  1. D SETUP H 2 D GETDATA,END
  1. Q
  1. SETUP ;
  1. S ABPA("C%")=.02,ABPA("CONVERT")="" I $D(ABPAROFF)'=1 D CRT^ABPAVAR
  1. S ABPA("PCNT")=$P(^ABPVAO(0),"^",4) Q:+ABPA("PCNT")'>0
  1. F I=.02:.02:1 S ABPA(I,"%")=ABPA("PCNT")*I
  1. W !!?3,"Converting your payment data to the v1.4 format:",!!?6,"You "
  1. W "have ",ABPA("PCNT")," patient(s) in your database to process."
  1. W !!?6,"Starting time: " S %H=$H D YX^%DTC W $P(Y,"@",2),!!
  1. S X="Percentage of your database converted" W ?(40-($L(X)\2)),X,!
  1. W ?13,0 F I=10:10:100 W ?($X+3) W:I=10 " " W I
  1. W !?13,"|" F I=1:1:10 W "----|"
  1. F I=$X:-1:14 W @IOBS W:I=14 @ABPARON
  1. Q
  1. GETDATA ;
  1. S ABPA("RCT")=0,ABPATDFN=0 F D Q:+ABPATDFN=0
  1. .S ABPATDFN=$O(^ABPVAO(ABPATDFN)) Q:+ABPATDFN=0
  1. .S ABPA("RCT")=ABPA("RCT")+1,ABPADDFN=0 F D Q:+ABPADDFN=0
  1. ..S ABPADDFN=$O(^ABPVAO(ABPATDFN,"P",ABPADDFN)) Q:+ABPADDFN=0
  1. ..D KVARS S (ABPACAMT,ABPACCNT,ABPAOBAL,ABPATPD)=0
  1. ..S (ABPATA2,ABPATA3,ABPATA4,ABPATA5,ABPATA7)=0
  1. ..F C="N","D","S" S ABPA("UP",C)=0
  1. ..S ABPAAPTR=0 F D Q:+ABPAAPTR=0
  1. ...S ABPAAPTR=$O(^ABPVAO(ABPATDFN,"P",ABPADDFN,"A",ABPAAPTR))
  1. ...Q:+ABPAAPTR=0 S X=^ABPVAO(ABPATDFN,"P",ABPADDFN,"A",ABPAAPTR,0)
  1. ...S ABPAPCOD=$P(X,"^",2) I ABPAPCOD]"" I "NDS"[ABPAPCOD D
  1. ....S ABPA("UP",ABPAPCOD)=ABPA("UP",ABPAPCOD)+(+X)
  1. ..S ABPADPTR=0 F D Q:+ABPADPTR=0
  1. ...S ABPADPTR=$O(^ABPVAO(ABPATDFN,"P",ABPADDFN,"D",ABPADPTR))
  1. ...Q:+ABPADPTR=0
  1. ...S ABPADOS=+^ABPVAO(ABPATDFN,"P",ABPADDFN,"D",ABPADPTR,0)
  1. ...S DA=$P(^ABPVAO(ABPATDFN,"P",ABPADDFN,"D",ABPADPTR,0),"^",2)
  1. ...Q:$D(^ABPVAO(ABPATDFN,1,DA,0))'=1 D GETDAT
  1. ..D BEGIN^ABPAPD7A,CURARAY^ABPAPD7C S ABPA("Y")=3 D FILE^ABPAPD7
  1. .I ABPA("RCT")'<ABPA(ABPA("C%"),"%") D UPDATE
  1. Q
  1. GETDAT ;
  1. S ABPAPTR=+DA,ABPADATA=^ABPVAO(ABPATDFN,1,ABPAPTR,0)
  1. S ABPA("CP",ABPADOS,DA)="0^0^0^0^0^0"
  1. S ABPA("HP",ABPADOS,DA)=ABPA("CP",ABPADOS,DA) D HPARRAY
  1. S ABPACCNT=ABPACCNT+1,ABPA("C",ABPACCNT)=DA
  1. S ABPACAMT=ABPACAMT+$P(ABPADATA,"^",7)
  1. F J=2,3,4,5,7 D
  1. .S @("ABPATA"_J)=@("ABPATA"_J)+$P(ABPA("HP",ABPADOS,DA),"^",J)
  1. Q
  1. HPARRAY ;
  1. F ABPAJ=2:1:5 S @("ABPAP"_ABPAJ)=0
  1. S ABPAZ=0 F S ABPAPTOT=0 D Q:+ABPAZ=0
  1. .S ABPAZ=$O(^ABPVAO("PD",ABPATDFN,DA,ABPAZ)) Q:+ABPAZ=0
  1. .S ABPAZZ=0 F D Q:+ABPAZZ=0
  1. ..S ABPAZZ=$O(^ABPVAO(ABPATDFN,"P",ABPAZ,"D",ABPAZZ)) Q:+ABPAZZ=0
  1. ..Q:$D(^ABPVAO(ABPATDFN,"P",ABPAZ,"D",ABPAZZ,0))'=1 S ABPARCD=^(0)
  1. ..Q:$P(ABPARCD,"^",2)'=DA F ABPAL=3:1:6 D
  1. ...S @("ABPAP"_(ABPAL-1))=@("ABPAP"_(ABPAL-1))+$P(ABPARCD,"^",ABPAL)
  1. S ABPAPTOT=ABPAP2+ABPAP3+ABPAP4+ABPAP5,ABPATPD=ABPATPD+ABPAPTOT
  1. S ABPABAL=($P(ABPADATA,"^",7)-ABPAPTOT)-(+$P(ABPADATA,"^",3))
  1. S $P(ABPA("HP",ABPADOS,DA),"^")=ABPABAL,ABPAOBAL=ABPAOBAL+ABPABAL
  1. F ABPAJ=2:1:5 S $P(ABPA("HP",ABPADOS,DA),"^",ABPAJ)=@("ABPAP"_ABPAJ)
  1. S $P(ABPA("HP",ABPADOS,DA),"^",6)=ABPAPTOT
  1. S $P(ABPA("HP",ABPADOS,DA),"^",7)=+$P(ABPADATA,"^",3)
  1. Q
  1. UPDATE ;
  1. I ABPA("C%")#.1'=0 W:ABPA("C%")=.02 "|" W "-"
  1. E W "|"
  1. S ABPA("C%")=ABPA("C%")+.02
  1. Q
  1. END ;
  1. F Q:ABPA("C%")>1 D UPDATE
  1. W @ABPAROFF,!!?6,"Ending time: " S %H=$H D YX^%DTC W $P(Y,"@",2),!!
  1. K ABPATDFN,ABPADDFN,ABPA
  1. KVARS ;
  1. K ABPACAMT,ABPACCNT,ABPA("HP"),ABPA("CP"),ABPA("PP"),ABPA("UP")
  1. K ABPAP1,ABPAP2,ABPAP3,ABPAP4,ABPAP5,ABPAP6,ABPAPTOT,ABPACDFN,ABPAY
  1. K ABPA("PB"),ABPA("NB"),ABPA("DB"),ABPA("SB"),ABPACTOB,ABPADOS
  1. K ABPACURB,ABPA("S$"),ABPA("N$"),ABPA("P$"),ABPA("D$"),ABPATCNT
  1. K ABPATBAL,ABPA("%"),ABPA("$"),ABPAD,ABPADATA,ABPAY,ABPAZ,ABPAZZ
  1. K ABPAT1,ABPAT2,ABPAT3,ABPAT4,ABPAT5,ABPAT6,ABPAH2,ABPAH3,ABPAH4
  1. K ABPAH5,ABPACURA,ABPAAPTR,X,ABPAPCOD,ABPADPTR,DA,ABPAPTR
  1. Q