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

ABMDF35.m

Go to the documentation of this file.
ABMDF35 ; IHS/SD/SDR - Set HCFA-1500 (02/12) Print Array ;  
 ;;2.6;IHS 3P BILLING SYSTEM;**13**;NOV 12, 2009;Build 213
 ;
 K ABMP,ABMF
 S ABMP("EXP")=35
 D TXST^ABMDFUTL
 ;
BDFN ;
 S ABMY("N")=0
 F  S ABMY("N")=$O(ABMY(ABMY("N"))) Q:'ABMY("N")  D
 .S ABMP("BDFN")=""
 .F  S ABMP("BDFN")=$O(ABMY(ABMY("N"),ABMP("BDFN"))) Q:'ABMP("BDFN")  D
 ..Q:'$D(^ABMDBILL(DUZ(2),ABMP("BDFN"),0))
 ..D ENT
 ..S DIE="^ABMDBILL(DUZ(2),"
 ..S DA=ABMP("BDFN")
 ..S DR=".04////B;.16////A;.17////"_ABMP("XMIT")
 ..D ^ABMDDIE
 ..Q:$D(ABM("DIE-FAIL"))
 ..K ^ABMDBILL(DUZ(2),"AS",+^ABMDBILL(DUZ(2),ABMP("BDFN"),0),"A",ABMP("BDFN")),^ABMDBILL(DUZ(2),"AC","A",ABMP("BDFN"))
 D TXUPDT^ABMDFUTL
 ;
XIT ;
 K ABM,ABMV,ABMF,ABMS,ABMR
 Q
 ;
HCFA ;
 D EMG^ABMDF35E  ;sets EMG flag
 F ABMS("I")=36:1:47 K ABMF(ABMS("I"))
 F ABMS("I")=37:2:47 D  Q:$G(ABM("QUIT"))
 .I $D(ABMR) D
 ..S ABMS=0
 ..F  S ABMS=$O(ABMS(ABMS)) Q:+ABMS=0  D
 ...S ABMLN=2
 ...D PROC^ABMDF35E
 ...S ABMLN=ABMLN+1
 ..S ABMLN=0,ABMPRT=0
 .F ABMS("I")=37:2:47 D  Q:$G(ABM("QUIT"))
 ..S ABMLN=$O(ABMR(ABMLN))
 ..I 'ABMLN S ABM("QUIT")=1 Q
 ..S ABMPRT=0
 ..I (($O(ABMR(ABMLN,9),-1))+(ABMS("I")))>49 Q
 ..S ABMLCNT=0
 ..F  S ABMPRT=$O(ABMR(ABMLN,ABMPRT)) Q:+ABMPRT=0  D
 ...M ABMF($S(ABMPRT=1:(ABMS("I")-1),1:ABMS("I")))=ABMR(ABMLN,ABMPRT)
 ...S ABMLCNT=ABMLCNT+1
 ...K ABMR(ABMLN,ABMPRT)
 ..K ABMR(ABMLN)
 I ABMS("I")=47,(+$O(ABMR(0))'=0) D ^ABMDF35X G HCFA
 S $P(ABMF(49),U,7)=$P(ABMR("TOT"),U)
 S $P(ABMF(49),U,8)=$P(ABMR("TOT"),U,2)
 I +$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),7)),U,23)'=0 S $P(ABMF(49),U,8)=+$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),7)),U,23)  ;abm*2.6*13 patient paid amount
 I
 K ABMR("MORE")
 D ^ABMDF35X
 Q
 ;
ENT ;EP for setting up export array
 K ABMP("INS"),ABMP("CDFN")
 S ABMPGCNT=1,ABMPCNT=1  ;page counter
 D ^ABMDF35A,^ABMDF35B,^ABMDF35C,^ABMDF35D
 ;
 ;total number of pages (used for claim header)
 S ABMPCNT=6
 S ABMRPG=0
 F  S ABMRPG=$O(ABMR(ABMRPG)) Q:+ABMRPG=0  S ABMPCNT=+$G(ABMPCNT)+1
 S ABMPGTOT=(ABMPCNT/6)
 I $P(ABMPGTOT,".",2)>0 S ABMPGTOT=(ABMPGTOT\1)+1
 ;
 I +$O(ABMR("")) S ABMR("MORE")="",ABMP("MORE")=""
 ;payment so flag to write (cont.)
 K ABMTEST,ABMTEST1
 S ABMTEST=$P($G(ABMP("B0")),U)
 S ABMTEST1=$O(^ABMDBILL(DUZ(2),"B",ABMTEST),-1)
 I ($E(ABMTEST,1,$L(ABMTEST)-1))=($E(ABMTEST1,1,$L(ABMTEST1)-1)) D
 .I $D(^ABMDBILL(DUZ(2),$O(^ABMDBILL(DUZ(2),"B",ABMTEST1,"")),3,0)) S ABMP("PTOT")=1
 I $P($G(^ABMNINS(ABMP("LDFN"),ABMP("INS"),1,ABMP("VTYP"),1)),U,18)="C" S ABMP("PTOT")=1
 K ABM("LTOT")
 I $$MPP^ABMUTLP(ABMP("BDFN")) D
 .S $P(ABMF(11),"^",2)="NONE"
 .S $P(ABMF(13),"^",4,6)=""
 .;S $P(ABMF(15),"^",7)=""  ;abm*2.6*13 remove box 9B
 .S $P(ABMF(15),"^",4)=""  ;abm*2.6*13 remove box 9B
 .;S $P(ABMF(17),"^",4)=""  ;abm*2.6*13 remove box 9C
 .S $P(ABMF(17),"^",3)=""  ;abm*2.6*13 remove box 9C
 D ^ABMDF35X
 I +$O(ABMR("")) S ABMS=0 D HCFA
 Q
 ;
ABMU ; EP
 ; Long Description
 N I,J
 S I=0
 F J=1,2 S I=$O(ABMU(I)) Q:'+I  D
 .S:J=1 ABMF(ABMS("I")-1)=ABMU(I)
 .S:J=2 $P(ABMF(ABMS("I")),"^",5)=ABMU(I)
 .K ABMU(I)
 S I=$O(ABMU(I)) I '+I K ABMU
 Q