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

ABMPPAD2.m

Go to the documentation of this file.
ABMPPAD2 ; IHS/SD/SDR - Prior Payments/Adjustments page (CE); 
 ;;2.6;IHS 3P BILLING SYSTEM;**11**;NOV 12, 2009;Build 133
 ;
DISP ;EP
 K ABMSFLG,ABMMFLG,ABMEFLG,ABMRSTR
 D SETVAR^ABMPPAD1
 S ABMDASH="",$P(ABMDASH,"-",80)=""
 S ABMZ("TITL")="PRIOR PAYMENTS/ADJUSTMENTS"
 S ABMP("SCRN")="A"
 S ABMZ("PG")="A"
 I '$D(ABMP("DDL")) D SUM^ABMDE1 I 1
 E  S ABMC("CONT")="" D PAUSE^ABMDE1 G:$D(DUOUT)!$D(DTOUT)!$D(DIROUT) XIT
 ;
 S ABMINS=0
 F  S ABMINS=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINS)) Q:+ABMINS=0  D
 .S ABMIIEN=$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINS,0)),U)
 .S ABMPRI=$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINS,0)),U,2)
 .S ABMSTAT=$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINS,0)),U,3)
 .Q:ABMSTAT'="I"&(ABMSTAT'="C")
 .S ABMLST("PRIO",ABMPRI,ABMIIEN)=ABMINS_"^"_ABMSTAT
 ;
 S ABMP("CBAMT")=0
 S ABMIPRI=0
 F  S ABMIPRI=$O(ABMLST("PRIO",ABMIPRI)) Q:+ABMIPRI=0  D
 .S ABMIIEN=0
 .F  S ABMIIEN=$O(ABMLST("PRIO",ABMIPRI,ABMIIEN)) Q:+ABMIIEN=0  D
 ..S ABMCAT=""
 ..F  S ABMCAT=$O(ABMLST("TRANS",ABMIIEN,ABMCAT)) Q:ABMCAT=""  D
 ...S ABMLN=0
 ...F  S ABMLN=$O(ABMLST("TRANS",ABMIIEN,ABMCAT,ABMLN)) Q:+ABMLN=0  D
 ....S ABMTREC=$G(ABMLST("TRANS",ABMIIEN,ABMCAT,ABMLN))
 ....I $P(ABMTREC,U,5)="Y" S ABMP("CBAMT")=ABMP("CBAMT")+($FN($P(ABMTREC,U),"-"))
 ....I ABMCAT="P" S ABMPM("PD")=+$G(ABMPM("PD"))+($P(ABMTREC,U))
 ....I ABMCAT="A" D
 .....S ABMATYP=$P(ABMTREC,U,2)
 .....S ABMAAMT=$P(ABMTREC,U)
 .....S:ABMATYP=3 ABMPM("WO")=+$G(ABMPM("WO"))+ABMAAMT
 .....S:ABMATYP=4 ABMPM("NONC")=+$G(ABMPM("NONC"))+ABMAAMT
 .....S:ABMATYP=13 ABMPM("DED")=+$G(ABMPM("DED"))+ABMAAMT
 .....S:ABMATYP=14 ABMPM("COI")=+$G(ABMPM("COI"))+ABMAAMT
 .....S:ABMATYP=15 ABMPM("PENS")=+$G(ABMPM("PENS"))+ABMAAMT
 .....S:ABMATYP=16 ABMPM("GRP")=+$G(ABMPM("GRP"))+ABMAAMT
 .....S:ABMATYP=19 ABMPM("REF")=+$G(ABMPM("REF"))+ABMAAMT
 .....S:ABMATYP=20 ABMPM("PCR")=+$G(ABMPM("PCR"))+ABMAAMT
 ;
 W !,"Payment Amount....: " S ABMNFLG=1 W $$DOLAMT(ABMPM("PD")) K ABMNFLG
 W ?40,"Deductible Amount.: ",$$DOLAMT(ABMPM("DED"))
 W !,"Payment Credits...: ",$$DOLAMT(ABMPM("PCR"))
 W ?40,"Co-pay/ins Amount.: ",$$DOLAMT(ABMPM("COI"))
 W !?40,"Write Off.........: ",$$DOLAMT(ABMPM("WO"))
 W !,"Refund............: ",$$DOLAMT(ABMPM("REF"))
 W ?40,"Non-Covered Amount: ",$$DOLAMT(ABMPM("NONC"))
 W !?40,"Penalty Amount....: ",$$DOLAMT(ABMPM("PENS"))
 W !?40,"Grouper Allowance.: ",$$DOLAMT(ABMPM("GRP"))
 S ABMRVFLG=1  ;abm*2.6*11 HEAT81390
 ;
 S ABMPRI=0
 F  S ABMPRI=$O(ABMLST("PRIO",ABMPRI)) Q:+ABMPRI=0  D
 .S ABMIIEN=0
 .S ABMPRIS=ABMPRI
 .F  S ABMIIEN=$O(ABMLST("PRIO",ABMPRI,ABMIIEN)) Q:+ABMIIEN=0  D
 ..S ABMSTAT=$P(ABMLST("PRIO",ABMPRI,ABMIIEN),U,2)
 ..S ABMINS=$P(ABMLST("PRIO",ABMPRI,ABMIIEN),U)
 ..S ABMSTAT=$S(ABMSTAT="F":"FLAGGED",ABMSTAT="I":"ACTIVE",ABMSTAT="P":"PENDING",ABMSTAT="U":"UNBILLABLE",ABMSTAT="C":"COMPLETED",ABMSTAT="B":"BILLED",ABMSTAT="L":"PARTIAL",1:"")
 ..W !!,"["_ABMPRI_"] INSURER: ",$E($P($G(^AUTNINS(ABMIIEN,0)),U),1,27)
 ..W ?40,"PRIORITY ORDER: ",ABMPRI
 ..W ?62,"STATUS: "
 ..W $S(ABMSTAT="COMPLETED":$$EN^ABMVDF("RVN"),1:""),ABMSTAT,$S(ABMSTAT="COMPLETED":$$EN^ABMVDF("RVF"),1:"")
 ..S ABMCOV=0
 ..F  S ABMCOV=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINS,11,ABMCOV)) Q:+ABMCOV=0  D
 ...I $P($G(^AUTNINS(ABMIIEN,0)),U)["MEDICARE" D
 ....W !?14,"COVERAGE TYPE: ",$P($G(^AUTTPIC(ABMCOV,0)),U)
 ....S ABMCOV=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINS,11,ABMCOV))
 ....I +ABMCOV'=0 W ", ",$P($G(^AUTTPIC(ABMCOV,0)),U)
 ...E  W !?14,"COVERAGE TYPE: ",$P($G(^AUTTPIC(ABMCOV,0)),U)
 ..S ABMCAT=""
 ..F  S ABMCAT=$O(ABMLST("TRANS",ABMIIEN,ABMCAT),-1) Q:ABMCAT=""  D
 ...S ABMLN=0
 ...F  S ABMLN=$O(ABMLST("TRANS",ABMIIEN,ABMCAT,ABMLN)) Q:+ABMLN=0  D
 ....Q:+$P(ABMLST("TRANS",ABMIIEN,ABMCAT,ABMLN),U)=0
 ....I +$G(ABMLNSV)<ABMLN S ABMLNSV=ABMLN
 ....S ABMDAMT=$P($G(ABMLST("TRANS",ABMIIEN,ABMCAT,ABMLN)),U)
 ....I ABMCAT="P" S ABMNFLG=1
 ....S ABMDAMT=$$DOLAMT(ABMDAMT)
 ....K ABMNFLG
 ....I ABMCAT="P" W !?6,"PYMT: ",ABMDAMT
 ....E  D ADJS
 W !,ABMDASH,!
 I ("^21^22^23^31^32^33^"[("^"_ABMP("EXP")_"^")) D
 .I $G(ABMSFLG)=1 W "ERROR: STANDARD ADJUSTMENT CODE NOT ENTERED FOR ADJUSTMENT",!
 .I $G(ABMMFLG)=1 W "ERROR: STANDARD ADJUSTMENT REASON DOESN'T MATCH ADJUSTMENT CATEGORY/REASON",!
 .I ABMP("CBAMT")<0 W "ERROR: NEGATIVE BALANCE ON BILL NOT ALLOWED",! S ABMSFLG=1
 .I $G(ABMSFLG)=1!($G(ABMMFLG)=1) W ABMDASH,!
 .I $G(ABMSFLG)=1 W "**Use the EDIT option to populate the Standard Adjustment Reason Code**",!
 E  K ABMSFLG,ABMMFLG  ;remove flag for other checks of this error
 ;
 S ABMP("OPT")="AERSQ"
 S ABMP("DFLT")="Q"
 D SEL
 I "AERS"'[$E(Y) D XIT^ABMPPADJ Q
 I $D(DTOUT)!$D(DUOUT)!$D(DIROUT) D XIT^ABMPPADJ Q
 S ABM("DO")=$S($E(Y)="A":"ADD^ABMPPADJ",$E(Y)="E":"EDIT^ABMPPADJ",$E(Y)="R":"RESTR^ABMPPADJ",$E(Y)="S":"EN^ABMPPFLR",1:"XIT^ABMPPADJ") D @ABM("DO")
 G DISP
 Q
ADJS ;EP
 W !?7,"ADJ: ",ABMDAMT
 S ABMPREC=$G(ABMLST("TRANS",ABMIIEN,ABMCAT,ABMLN))
 ;I $P(ABMPREC,U,5)="Y" W ?24,"<B>"
 ;I $P(ABMPREC,U,5)="N" W ?24,"<N>"
 I $P(ABMPREC,U,2)'="" W ?28,"[",$P(ABMPREC,U,2),"] ",$E($P($G(^BAR(90052.01,$P(ABMPREC,U,2),0)),U),1,18)
 I $P(ABMPREC,U,3)'="" W ?47,"[",$P(ABMPREC,U,3),"] ",$E($P($G(^BARTBL($P(ABMPREC,U,3),0)),U),1,18)
 I $P($G(ABMPREC),U,4)'="" D
 .W ?75,"["_$P(^BARADJ($P($G(ABMPREC),U,4),0),U)_"]"
 .I $P(^BARADJ($P(ABMPREC,U,4),0),U,3)'=$P(ABMPREC,U,2) S ABMMFLG=1
 .I $P(^BARADJ($P(ABMPREC,U,4),0),U,4)'=$P(ABMPREC,U,3) S ABMMFLG=1
 I $P($G(ABMPREC),U,4)="",($P(ABMPREC,U)'=0) S ABMSFLG=1
 Q
DOLAMT(AMT) ;
 Q $S(($E(AMT,1)="-"!($G(ABMNFLG)=1))&(AMT'=0):"("_$J($S($E(AMT)="-":$E(AMT,2,$L(AMT)),1:AMT),10,2)_")",1:$J(+$G(AMT),11,2))
 ;
SEL ;EP for Page Commands, Desired Action Controller
 I $D(ABMP("DDL")),$D(ABMP("QUIT")) S Y="Q" G XIT
 S:'$D(ABMP("DFLT")) ABMP("DFLT")=""
 K %P,DIR S DIR(0)="F^1:9"
 S (DIR("B"),ABMO("DFLT"))=$S(ABMP("DFLT")]"":ABMP("DFLT"),ABMP("OPT")'["N":"B",1:"N")
 S DIR("A")="Desired ACTION ("
 S DIR("?",1)=" Choose from one of the following actions:"
 S DIR("?",2)=" "
 F ABMO("CTR")=3:1 S ABMO("TXT")=$E(ABMP("OPT"),ABMO("CTR")-2) Q:ABMO("TXT")=""  D
 .I $D(ABMP("VIEWMODE")),"NVBJQ"'[ABMO("TXT") Q
 .S DIR("?",ABMO("CTR"))=$P($T(@ABMO("TXT")),";;",2),DIR("A")=DIR("A")_$P($T(@ABMO("TXT")),";;",3)_"/"
 S DIR("?",ABMO("CTR"))=" "
 S DIR("?")=" Enter First Character of the Desired Action."
 S DIR("A")=$P(DIR("A"),"/",1,$L(DIR("A"),"/")-1)_")"
 D ^DIR K DIR
 G XIT:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
 S:X="" Y=ABMO("DFLT")
 S Y=$$UPC^ABMERUTL(Y)
 I $E(X)="?" D ^ABMDEHLP G SEL
 I '+$E(Y),'+$E(Y,2),$E(Y,2)'=0 S Y=$E(Y)
 I $A(Y,1)>96&($A(Y,1)<123) S Y=$C($A(Y,1)-32)_$E(Y,2,99)
 I ABMP("OPT")[$E(Y) K ABMP("DFLT") G XIT
 I +Y,$D(ABMZ("NUM")),Y<(ABMZ("NUM")+1) K ABMP("DFLT") S Y="E"_+Y G XIT
 W *7 G SEL
 ;
A ;;     Add  - Add a New Entry;;Add
E ;;     Edit - Edit Information in the Current Screen;;Edit
R ;;     Rstr - Restore transactions from A/R;;Restore
S ;;     Save - Save transactions;;Save
Q ;;     Quit - Stop Editing the Data;;Quit
 ;
FLDS ;EP for Field Edit Controller
 S ABMO("Y")=+$E(Y,2,3) I ABMO("Y")>0&(ABMO("Y")<(ABMP("FLDS")+1)) S Y=ABMO("Y") G EJ
 W ! S DIR(0)="LO^1:"_ABMP("FLDS"),DIR("A")="Desired FIELDS",DIR("B")="1-"_ABMP("FLDS") D ^DIR K DIR
 G XIT:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
EJ S ABMP("FLDS")=Y
 G XIT
 ;
XIT K ABMO,ABMP("OPT")
 Q