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

ABMPPAD1.m

Go to the documentation of this file.
ABMPPAD1 ; IHS/SD/SDR - Prior Payments/Adjustments page (CE); 
 ;;2.6;IHS 3P BILLING SYSTEM;**6,8,21**;NOV 12, 2009;Build 379
 ;
 ; IHS/SD/SDR - v2.5 p12 - IM25430
 ;   Made correction for <SUBSCR>EDIT2+3^ABMPPAD1
 ;
 ;IHS/SD/SDR - v2.5 p13 - NO IM
 ;IHS/SD/SDR - abm*2.6*6 - 5010 - added export mode 32
 ;IHS/SD/SDR - 2.6*21 - HEAT176726 - ABMILST wasn't always define when trying to edit an entry; added to code to create array if it wasn't already defined.
 ;
 Q
DISPCK ;EP
 ;I ABMP("EXP")'=21&(ABMP("EXP")'=22)&(ABMP("EXP")'=23) S ABMCHK=1 Q  ;must be 837  ;abm*2.6*6 5010
 ;I ABMP("EXP")'=21&(ABMP("EXP")'=22)&(ABMP("EXP")'=23)&(ABMP("EXP")'=32) S ABMCHK=1 Q  ;must be 837  ;abm*2.6*6 5010  ;abm*2.6*8 5010
 I ABMP("EXP")'=21&(ABMP("EXP")'=22)&(ABMP("EXP")'=23)&(ABMP("EXP")'=31)&(ABMP("EXP")'=32)&(ABMP("EXP")'=33) S ABMCHK=1 Q  ;must be 837  ;abm*2.6*6 5010  ;abm*2.6*8 5010
 S ABMCHK=0
 S ABMEXPM=0
 K ABMEXPMS,ABMSFLG,ABMP("OBAMT")
 F  S ABMEXPM=$O(ABMP("EXP",ABMEXPM)) Q:+ABMEXPM=0  D
 .I $G(ABMEXPMS)="" S ABMEXPMS=ABMEXPM
 .I $G(ABMEXPMS)'="",(ABMEXPMS'=ABMEXPM) S ABMCHK=1
 S ABM("CLM")=ABMP("CDFN")
 S ABM("A")="B"
 F  S ABM("A")=$O(^ABMDBILL(DUZ(2),"AS",ABM("CLM"),ABM("A"))) Q:ABM("A")=""!(ABM("A")'="C")  D
 .F ABM=0:0 S ABM=$O(^ABMDBILL(DUZ(2),"AS",ABM("CLM"),ABM("A"),ABM)) Q:'ABM  D
 ..Q:$P($G(^ABMDBILL(DUZ(2),ABM,0)),U,5)'=ABMP("PDFN")
 ..S:(+$G(ABMP("OBAMT"))=0) ABMP("OBAMT")=$P($G(^ABMDBILL(DUZ(2),ABM,2)),U)
 I +$G(ABMP("OBAMT"))=0 S ABMCHK=1
 Q
SETVAR ;EP
 S (ABMPM("PD"),ABMPM("DED"),ABMPM("TOT"))=0
 S (ABMPM("COI"),ABMPM("WO"),ABMPM("NONC"))=0
 S (ABMPM("PENS"),ABMPM("GRP"),ABMPM("REF"))=0
 S ABMPM("PCR")=0
 Q
ADD ;EP
 W !!
 S DIR(0)="NO^1:"_ABMPRIS
 S DIR("A")="Which insurer are you editing"
 D ^DIR K DIR
 I $D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT) S ABMEFLG=1 Q
 I '$D(ABMPL(+Y)) W !,"No insurer at that entry" H 2 S ABMEFLG=1 Q
 S ABMIIEN=$O(ABMPL(+Y,0))
 I $P(ABMPL(+Y,ABMIIEN),U,2)="I" W !,"Cannot add/edit the active insurer!" H 2 S ABMEFLG=1 Q
 W !,"Ok, let's edit ",$P($G(^AUTNINS(ABMIIEN,0)),U),!
 S DIR(0)="SO^P:PAYMENT;A:ADJUSTMENT"
 S DIR("A")="Adding a Payment or Adjustment"
 D ^DIR K DIR
 I $D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT) S ABMEFLG=1 Q
 S ABMCAT=Y
 S (ABMPPIEN,ABMLN,ABMLNSV)=+$G(ABMLNSV)+1
 S ABMPP(ABMIIEN,ABMCAT,ABMLN)=""
 Q
EDIT ;EP
 W !!
 K ABMEFLG
 S DIR(0)="NO^1:"_ABMPRIS
 S DIR("A")="Which insurer are you editing"
 D ^DIR K DIR
 I $D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT) S ABMEFLG=1 Q
 I '$D(ABMPL(+Y)) W !,"No insurer at that entry" H 2 S ABMEFLG=1 Q
 S ABMIIEN=$O(ABMPL(+Y,0))
 I $P(ABMPL(+Y,ABMIIEN),U,2)="I"!($P(ABMPL(+Y,ABMIIEN),U,2)="P") W !,"Cannot add/edit the active/pending insurer!" H 2 S ABMEFLG=1 Q
 W !,"Ok, let's edit ",$P($G(^AUTNINS(ABMIIEN,0)),U),!
 ;start new abm*2.6*6 5010
 D ^XBFMK
 ;start new abm*2.6*21 IHS/SD/SDR HEAT176726
 I +$O(ABMILST(ABMIIEN,0))=0 D
 .F  S ABMBSTA=$O(^ABMDBILL(DUZ(2),"AS",ABMP("CDFN"),ABMBSTA)) Q:ABMBSTA=""  D
 ..Q:ABMBSTA="X"
 ..S ABMBFIEN=0
 ..F  S ABMBFIEN=$O(^ABMDBILL(DUZ(2),"AS",ABMP("CDFN"),ABMBSTA,ABMBFIEN)) Q:+ABMBFIEN=0  D
 ...S ABMBNUM=$P($G(^ABMDBILL(DUZ(2),ABMBFIEN,0)),U)
 ....S ABMLN=+$G(ABMLN)+1
 ....S ABMBINS=$P($G(^ABMDBILL(DUZ(2),ABMBFIEN,0)),U,8)
 ....S ABMILST(ABMBINS,ABMBFIEN)=""
 ;end new abm*2.6*21 IHS/SD/SDR HEAT176726
 S DA(1)=$O(ABMILST(ABMIIEN,0))
 S DIE="^ABMDBILL(DUZ(2),"_DA(1)_",13,"
 S DA=ABMIIEN
 S DR=".12//"
 D ^DIE
 ;end new code 5010
 S ABMCAT=""
 F  S ABMCAT=$O(ABMPP(ABMIIEN,ABMCAT),-1) Q:ABMCAT=""  D
 .S ABMLN=0
 .F  S ABMLN=$O(ABMPP(ABMIIEN,ABMCAT,ABMLN)) Q:+ABMLN=0  D
 ..I $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U)=0 K ABMPP(ABMIIEN,ABMCAT,ABMLN) Q
 ..W !?2,"["_ABMLN_"] "
 ..I ABMCAT="P" W "PAYMENT    ",$J(ABMPP(ABMIIEN,ABMCAT,ABMLN),10,2)
 ..I ABMCAT="A" D
 ...W "ADJUSTMENT ",$J($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U),10,2)
 ...I $P($G(ABMPP(ABMIIEN,ABMCAT,ABMLN)),U,2)'="" W ?30,"[",$P($G(ABMPP(ABMIIEN,ABMCAT,ABMLN)),U,2),"]",$E($P($G(^BAR(90052.01,$P($G(ABMPP(ABMIIEN,ABMCAT,ABMLN)),U,2),0)),U),1,18)
 ...I $P($G(ABMPP(ABMIIEN,ABMCAT,ABMLN)),U,3)'="" W ?50,"[",$P($G(ABMPP(ABMIIEN,ABMCAT,ABMLN)),U,3),"]",$E($P($G(^BARTBL($P($G(ABMPP(ABMIIEN,ABMCAT,ABMLN)),U,3),0)),U),1,18)
 ...I $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,4)'="" W ?75,"[",$P(^BARADJ($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,4),0),U),"]"
 I +$G(ABMLNSV)=0 W !,"Must use Add because there are no transactions to edit!" H 2 S ABMEFLG=1 Q
 S DIR(0)="NO^1:"_ABMLNSV
 S DIR("A")="Which transaction"
 D ^DIR K DIR,ABMLNPK
 I $D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT) S ABMEFLG=1 Q
 S ABMPPIEN=+Y
 Q:'$D(ABMPP(ABMIIEN,"P",ABMPPIEN))&'$D(ABMPP(ABMIIEN,"A",ABMPPIEN))
 S ABMCAT=""
 K ABMLFLG,ABMDIF
 F  S ABMCAT=$O(ABMPP(ABMIIEN,ABMCAT)) Q:ABMCAT=""  D  Q:($G(ABMLFLG)=1)
 .S ABMLN=0
 .F  S ABMLN=$O(ABMPP(ABMIIEN,ABMCAT,ABMLN)) Q:+ABMLN=0  D  Q:($G(ABMLFLG)=1)
 ..I ABMLN=ABMPPIEN S ABMLFLG=1
 Q
EDIT2 ;EP
 S DIR(0)="NO^-99999.99:99999.99:2"
 S DIR("A")="AMOUNT"
 I $P(ABMPP(ABMIIEN,ABMCAT,ABMPPIEN),U)'=0 S DIR("B")=$P(ABMPP(ABMIIEN,ABMCAT,ABMPPIEN),U)
 D ^DIR K DIR
 S ABMAMT=+Y
 S ABMDIF=$P(ABMPP(ABMIIEN,ABMCAT,ABMPPIEN),U)-ABMAMT
 S ABMOAMT=$P(ABMPP(ABMIIEN,ABMCAT,ABMPPIEN),U)
 S $P(ABMPP(ABMIIEN,ABMCAT,ABMPPIEN),U)=+Y
 I ABMCAT="P" D
 .S ABMPM("PD")=+$G(ABMPM("PD"))-(ABMDIF)
 I ABMCAT="A" D
 .I ABMAMT=0 D  Q
 ..S ABMADJC=$P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)
 ..I ABMADJC=3 S ABMPM("WO")=+ABMPM("WO")-ABMOAMT
 ..I ABMADJC=4 S ABMPM("NONC")=+ABMPM("NONC")-ABMOAMT
 ..I ABMADJC=13 S ABMPM("DED")=+ABMPM("DED")-ABMOAMT
 ..I ABMADJC=14 S ABMPM("COI")=+ABMPM("COI")-ABMOAMT
 ..I ABMADJC=15 S ABMPM("PENS")=+ABMPM("PENS")-ABMOAMT
 ..I ABMADJC=16 S ABMPM("GRP")=+ABMPM("GRP")-ABMOAMT
 ..I ABMADJC=19 S ABMPM("REF")=+ABMPM("REF")-ABMOAMT
 ..I ABMADJC=20 S ABMPM("PCR")=+ABMPM("PCR")-ABMOAMT
 ..S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)=""
 ..S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,3)=""
 ..S ABMOFLG=1
 .I $G(ABMOFLG)=1 K ABMOFLG Q
 .K DIR,Y,X
 .S DIR(0)="PO^90052.01^W ""  ""_$P($G(^BAR(90052.01,+Y,0)),U)"
 .S DIR("S")="I "",3,4,13,14,15,16,20,21,22,""[("",""_Y_"","")"
 .S DIR("A")="ADJUSTMENT CATEGORY"
 .I $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)'="" S DIR("B")=$P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)
 .D ^DIR K DIR
 .I Y<0,X="@" S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)=""
 .;
 .I Y>0 D
 ..S ABMADJC=$P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)
 ..I ABMADJC=3 S ABMPM("WO")=+ABMPM("WO")-ABMOAMT
 ..I ABMADJC=4 S ABMPM("NONC")=+ABMPM("NONC")-ABMOAMT
 ..I ABMADJC=13 S ABMPM("DED")=+ABMPM("DED")-ABMOAMT
 ..I ABMADJC=14 S ABMPM("COI")=+ABMPM("COI")-ABMOAMT
 ..I ABMADJC=15 S ABMPM("PENS")=+ABMPM("PENS")-ABMOAMT
 ..I ABMADJC=16 S ABMPM("GRP")=+ABMPM("GRP")-ABMOAMT
 ..I ABMADJC=19 S ABMPM("REF")=+ABMPM("REF")-ABMOAMT
 ..I ABMADJC=20 S ABMPM("PCR")=+ABMPM("PCR")-ABMOAMT
 ..;
 ..I +Y=3 S ABMPM("WO")=+ABMPM("WO")+ABMAMT
 ..I +Y=4 S ABMPM("NONC")=+ABMPM("NONC")+ABMAMT
 ..I +Y=13 S ABMPM("DED")=+ABMPM("DED")+ABMAMT
 ..I +Y=14 S ABMPM("COI")=+ABMPM("COI")+ABMAMT
 ..I +Y=15 S ABMPM("PENS")=+ABMPM("PENS")+ABMAMT
 ..I +Y=16 S ABMPM("GRP")=+ABMPM("GRP")+ABMAMT
 ..I +Y=19 S ABMPM("REF")=+ABMPM("REF")+ABMAMT
 ..I +Y=20 S ABMPM("PCR")=+ABMPM("PCR")+ABMAMT
 ..;
 ..S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)=+Y,ABMADJC=+Y
 .K DIR,Y,X
 .S DIR(0)="PO^90052.02^W ""  ""_$P($G(^BARTBL(+Y,0)),U)"
 .S DIR("S")="I $P(^(0),U,2)=ABMADJC"
 .S DIR("A")="ADJUSTMENT REASON"
 .I $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,3)'="" S DIR("B")=$P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,3)
 .D ^DIR K DIR
 .I Y<0,X="@" S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,3)=""
 .I Y>0 S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,3)=+Y
 .K DIR,Y,X
 .S DIR(0)="PO^90056.06"
 .S DIR("A")="STANDARD REASON"
 .I $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,4)'="" S DIR("B")=$P(^BARADJ($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,4),0),U)
 .D ^DIR K DIR
 .I Y<0,X="@" S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,4)=""
 .I Y>0 S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,4)=+Y
 .S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,5)=""  ;delete any info for billable
 .I $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)'=13&($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)'=14)&($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)'=21)&($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)'=22) D
 ..K DIR,X,Y
 ..S DIR(0)="Y"
 ..S DIR("B")="Y"
 ..S DIR("A")="Do you want to include in secondary balance"
 ..D ^DIR K DIR
 ..I Y>0 S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,5)="Y"
 .I ($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)=21)!($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)=22)  S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,5)="N"
 I $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)=13!($P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,2)=14) S $P(ABMPP(ABMIIEN,ABMCAT,ABMLN),U,5)="Y"
 Q
XIT ;EP
 I +$G(ABMSFLG)=0 D EN^ABMPPFLR  ;this files changes into pymt multiple
 S ABMP("C0")=$G(ABMDCLM(DUZ(2),ABMP("CDFN"),0))
 K ABM,ABMV,ABME,ABMPL,ABMPRIS
 K ABMSTAT,ABMPR,ABMIIEN,ABMINS,ABMLN,ABMCAT,ABMTTYP,ABMCAT
 K ABMLAMT,ABMLNSV,ABMOPDT,DR,DIC,DIE
 K ABMPREC
 S ABMP("SCRN")=0
 S (ABMP("TOT"),ABMS("TOT"))=ABMPM("TOT")
 S ABMP("EXP",ABMP("EXP"))=ABMPM("TOT")
 Q