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

ABPACKS0.m

Go to the documentation of this file.
  1. ABPACKS0 ;AO PVT-INS CHECK SUMMARY DISPLAY; [ 06/26/91 7:56 AM ]
  1. ;;1.4;AO PVT-INS TRACKING;*0*;IHS-OKC/KJR;JULY 25, 1991
  1. W !!,"<<< NOT AN ENTRY POINT - ACCESS DENIED >>>",!! Q
  1. ;---------------------------------------------------------------------
  1. CLEAR ;PROCEDURE TO KILL ALL TEMPORARY VARIABLES
  1. K I,GOTCHECK,RESTRICT,ABPACHK
  1. Q
  1. ;---------------------------------------------------------------------
  1. K ABPA("HD") S ABPA("HD",1)=ABPATLE,ABPA("HD",2)=$P(XQO,"^",2)
  1. D ^ABPAHD
  1. Q
  1. ;---------------------------------------------------------------------
  1. GETCHK ;PROCEDURE PROCESS INPUT OF A CHECK NUMBER
  1. F I=0:0 D Q:(GOTCHECK)!(('GOTCHECK)&((Y="")!(Y["^"))) W *7," ??"
  1. .S RESTRICT=0 W !! D MAIN^ABPACKLK
  1. .I $D(ABPACHK)=1 I ABPACHK]""&('GOTCHECK) S Y=" "
  1. I GOTCHECK D
  1. .S ABPA("DTIN")=ABPACHK("XMIT") D DTCVT^ABPAMAIN
  1. .S ABPACHK("RCVD")=ABPA("DTOUT")
  1. Q
  1. ;---------------------------------------------------------------------
  1. DEVICE ;PROCEDURE TO PROCESS OUTPUT DEVICE SELECTION
  1. K %IS S %IS="H",%IS("A")="Use which device: " W ! D ^%ZIS U IO
  1. Q
  1. ;---------------------------------------------------------------------
  1. HEAD2 ;PROCEDURE TO DRAW CHECK SUMMARY HEADER
  1. S ABPAPG=ABPAPG+1 W @IOF,!
  1. S ABPA("DTIN")=DT D DTCVT^ABPAMAIN W ABPA("DTOUT")
  1. S X=ABPATLE_" - Check Summary" W ?40-($L(X)/2),X
  1. S X="Page ("_ABPAPG_")" W ?79-$L(X),X,!
  1. F I=1:1:79 W "=" I I=79 W !
  1. W " Check #: ",ABPACHK("NUM")," for ",$E(ABPACHK("APNAM"),1,27)
  1. W ?56,"Amount: ",$J(ABPACHK("AMT"),8,2)
  1. W !," Payor: ",ABPACHK("PAYOR"),?55,"Balance: "
  1. W $J(ABPACHK("RAMT"),8,2),!,"Received: ",ABPACHK("RCVD"),?53
  1. W "Last User: ",ABPACHK("LUSR"),! F I=1:1:79 W "=" I I=79 W !
  1. W "Facility",?13,"Patient Name",?38,"DOS Beg/End",?54
  1. W "Amount Insurer Name",!
  1. Q
  1. ;---------------------------------------------------------------------
  1. DETAIL ;PROCEDURE TO EXTRACT AND WRITE OUT THE DETAIL RECORDS
  1. S DA(2)=0,ABPA("TAMT")=0,ABPAX=""
  1. F ABPAI=0:0 D Q:+DA(2)=0!(ABPAX="^")
  1. .S DA(2)=$O(^ABPVAO("CK",ABPACHK("NUM"),DA(2))) Q:+DA(2)=0 S DA(1)=0
  1. .F ABPAJ=0:0 D Q:+DA(1)=0!(ABPAX="^")
  1. ..S DA(1)=$O(^ABPVAO("CK",ABPACHK("NUM"),DA(2),DA(1))) Q:+DA(1)=0
  1. ..S ABPA("PAT")="",ABPA("FAC")="" I $D(^ABPVAO(DA(2),0))=1 D
  1. ...S DATA=^ABPVAO(DA(2),0),ABPA("PAT")=$P(DATA,"^")
  1. ...S ABPAPTR=$P(DATA,"^",2) Q:$D(^AUTTLOC(ABPAPTR,0))'=1
  1. ...I $P(^AUTTLOC(ABPAPTR,0),"^",4)'=ABPACHK("AP") S ABPAX="^" Q
  1. ...S DATA=^AUTTLOC(ABPAPTR,0),ABPA("FAC")=$P(DATA,"^",2)
  1. ..I ABPAX="^" S ABPAX="" Q
  1. ..S ABPA("BDOS")=9999999,ABPA("EDOS")=0,ABPA("INS")=""
  1. ..I $D(^ABPVAO(DA(2),"P",DA(1),"D",0))=1 D
  1. ...S DA=0 F ABPAK=0:0 D Q:+DA=0
  1. ....S DA=$O(^ABPVAO(DA(2),"P",DA(1),"D",DA)) Q:+DA=0
  1. ....Q:$D(^ABPVAO(DA(2),"P",DA(1),"D",DA,0))'=1
  1. ....S ABPA("DOS")=+^ABPVAO(DA(2),"P",DA(1),"D",DA,0)
  1. ....I ABPA("DOS")<ABPA("BDOS") S ABPA("BDOS")=ABPA("DOS")
  1. ....I ABPA("DOS")>ABPA("EDOS") S ABPA("EDOS")=ABPA("DOS")
  1. ....S ABPAPTR=$P(^ABPVAO(DA(2),"P",DA(1),"D",DA,0),"^",2)
  1. ....Q:$D(^ABPVAO(DA(2),1,ABPAPTR,0))'=1
  1. ....S ABPAPTR=$P(^ABPVAO(DA(2),1,ABPAPTR,0),"^",6)
  1. ....Q:$D(^AUTNINS(ABPAPTR,0))'=1
  1. ....S ABPA("INS")=$E($P(^AUTNINS(ABPAPTR,0),"^"),1,18)
  1. ..S ABPA("DTIN")=ABPA("BDOS") D DTCVT^ABPAMAIN
  1. ..S ABPA("BDOS")=ABPA("DTOUT")
  1. ..S ABPA("DTIN")=ABPA("EDOS") D DTCVT^ABPAMAIN
  1. ..S ABPA("EDOS")=ABPA("DTOUT"),ABPA("AMT")=0
  1. ..I $D(^ABPVAO(DA(2),"P",DA(1),"A",0))=1 D
  1. ...S DA=0 F ABPAK=0:0 D Q:+DA=0
  1. ....S DA=$O(^ABPVAO(DA(2),"P",DA(1),"A",DA)) Q:+DA=0
  1. ....Q:$D(^ABPVAO(DA(2),"P",DA(1),"A",DA,0))'=1
  1. ....Q:$P(^ABPVAO(DA(2),"P",DA(1),"A",DA,0),"^",2)'="S"
  1. ....S ABPA("AMT")=ABPA("AMT")+(+^ABPVAO(DA(2),"P",DA(1),"A",DA,0))
  1. ..S ABPA("TAMT")=ABPA("TAMT")+ABPA("AMT")
  1. ..W !,ABPA("FAC"),?13,$E(ABPA("PAT"),1,20),?34,$J(ABPA("BDOS"),8)
  1. ..W " ",$J(ABPA("EDOS"),8),?52,$J(ABPA("AMT"),8,2),?61,ABPA("INS")
  1. ..I $Y>(IOSL-3) D Q:ABPAX="^" D HEAD2
  1. ...I $E(IOST,1)'="P" D
  1. ....S ABPAMESS="...Press any key to continue or ""^"" to exit..."
  1. ....U IO(0) D PAUSE^ABPAMAIN U IO
  1. Q:ABPAX="^" I ABPA("TAMT")=0 D Q
  1. .W !!,"No payments found using this check for this accounting point."
  1. W !?52,"--------",!?52,$J(ABPA("TAMT"),8,2)
  1. Q
  1. ;---------------------------------------------------------------------
  1. CLOSE ;PROCEDURE TO PROCESS OUTPUT DEVICE CLOSING
  1. U IO W ! X ^%ZIS("C") S IOP=$I D ^%ZIS K IOP
  1. Q
  1. ;---------------------------------------------------------------------
  1. MAIN ;THE OVERALL ROUTINE DRIVER - ENTRY POINT TO THIS PROGRAM
  1. D CLEAR,HEAD,GETCHK I 'GOTCHECK D CLEAR Q
  1. D DEVICE I $E(IOST,1)="P" U IO(0) W ! D WAIT^DICD U IO
  1. S ABPAPG=0 D HEAD2,DETAIL,CLOSE G:ABPAX="^" MAIN
  1. D PAUSE^ABPAMAIN
  1. G MAIN