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

ABMEF31.m

Go to the documentation of this file.
  1. ABMEF31 ; IHS/ASDST/DMJ - Electronic 837 version 5010 Institutional ;
  1. ;;2.6;IHS Third Party Billing System;**8**;NOV 12, 2009
  1. ;
  1. START ;
  1. ;START HERE
  1. S ABMPXMIT=ABMP("XMIT")
  1. I '$D(ABMP("INS")) D
  1. .S ABMP("INS")=$P(^ABMDTXST(DUZ(2),ABMPXMIT,0),"^",4)
  1. .I 'ABMP("INS") D
  1. ..S DIC="^AUTNINS("
  1. ..S DIC(0)="AEMQ"
  1. ..D ^DIC
  1. ..Q:Y<0
  1. ..S ABMP("INS")=+Y
  1. I 'ABMP("INS") D Q
  1. .W !,"Insurer NOT identified.",!
  1. .D EOP^ABMDUTL(1)
  1. S ABMPINS=ABMP("INS")
  1. S ABMP("ITYPE")=$P($G(^AUTNINS(ABMP("INS"),2)),U)
  1. S ABMPITYP=ABMP("ITYPE")
  1. I ($G(ABMER("CNT"))=1) D Q:$G(POP)
  1. .D OPEN
  1. .I $G(POP) W !,"File could not be created/opened.",! Q
  1. Q:$G(POP) ;abm*2.6*8
  1. S DIE="^ABMDTXST(DUZ(2),"
  1. S DA=ABMPXMIT
  1. S DR=".14///"_ABMFN
  1. D ^DIE
  1. D LOOP
  1. I '$G(ABMSTOT) D
  1. .W !,"No Bills in Batch.",!
  1. I $G(ABMSTOT) D
  1. .D ^ABME5L11
  1. I (ABMER("CNT")=ABMER("LAST")) D END
  1. Q
  1. ;
  1. LOOP ;loop through bills
  1. K ABMR,ABMRT,ABMREC
  1. S ABMOSBR=0
  1. S ABMASBR=0
  1. S (ABMNPDFN,ABMOPDFN)=0
  1. F S ABMASBR=$O(^ABMDTXST(DUZ(2),ABMPXMIT,2,"ASBR",ABMASBR)) Q:'ABMASBR D
  1. .S ABMBILL=0
  1. .S ABMOPDFN=0
  1. .F S ABMBILL=$O(^ABMDTXST(DUZ(2),ABMPXMIT,2,"ASBR",ABMASBR,ABMBILL)) Q:'ABMBILL D
  1. ..D CLAIM
  1. Q
  1. CLAIM ;one claim
  1. K ABMP
  1. S ABMP("INS")=ABMPINS
  1. S ABMP("ITYPE")=ABMPITYP
  1. S ABMP("BDFN")=ABMBILL
  1. Q:'$D(^ABMDBILL(DUZ(2),ABMP("BDFN"),0))
  1. Q:$P(^ABMDBILL(DUZ(2),ABMP("BDFN"),0),"^",4)="X"
  1. D BILLSTAT^ABMDREEX(DUZ(2),ABMP("BDFN"),ABMPXMIT,"O",ABMGCN)
  1. D SET^ABMUTLP(ABMP("BDFN"))
  1. I 'ABMOSBR D
  1. .U 0 W !,"Submission # ",$P($G(^ABMDTXST(DUZ(2),ABMPXMIT,3,$O(^ABMDTXST(DUZ(2),ABMPXMIT,3,"B",ABMXMTDT,0)),0)),"^",2)
  1. .U 0 W !,"Writing bills to file.",!
  1. .D ^ABME5L1
  1. .D ^ABME5L2
  1. S ABMNPDFN=$P(ABMB0,U,5)
  1. D SBR
  1. I ABMOSBR'=ABMASBR D
  1. .D SBR
  1. I ABMNPDFN'=ABMOPDFN D
  1. .D PTCHG^ABME5L3
  1. S ABMP("PNUM")=$$PNUM^ABMUTLP(ABMBILL)
  1. D ^ABME5L5
  1. D ^ABME5L6
  1. D ^ABME5L7
  1. D ^ABME5L8
  1. D ^ABME5L10
  1. W "."
  1. Q
  1. SBR ;new subscriber
  1. S ABMSFILE=$P(ABMASBR,"-",1)
  1. S ABMSIEN=$P(ABMASBR,"-",2)
  1. S ABMCHILD=0
  1. N I
  1. S I=0
  1. F S I=$O(^ABMDTXST(DUZ(2),ABMPXMIT,2,"ASBR",ABMASBR,I)) Q:'I D
  1. .Q:+^ABMDTXST(DUZ(2),ABMPXMIT,2,"ASBR",ABMASBR,I)=18
  1. .Q:ABMBILL'=I
  1. .S ABMCHILD=1
  1. S ABMP("PNUM")=$$PNUM^ABMUTLP(ABMBILL)
  1. D ^ABME5L3
  1. S ABMOSBR=ABMASBR
  1. S ABMOPDFN=ABMP("PDFN")
  1. Q
  1. END ;end of file
  1. D ^%ZISC
  1. W !!,"Finished.",!!
  1. K ABME,ABM,ABMEF,ABMREC,ABMR,ABMRV,ABMFN,ABMLF,ABMLNUM,ABMPATH,ABMHL
  1. Q
  1. ;
  1. OPEN ;
  1. ; OPEN FILE
  1. S DIR(0)="9002274.5,.47"
  1. S DIR("A")="Enter Path"
  1. S DIR("B")=$P($G(^ABMDPARM(DUZ(2),1,4)),"^",7)
  1. D ^DIR K DIR
  1. I Y["^" S POP=1 Q
  1. S ABMPATH=Y
  1. S ABMRCID=$P(^AUTNINS(ABMP("INS"),0),"^",8)
  1. I $L(ABMRCID)<5 D
  1. .S ABMRCID=$E("00000",1,5-$L(ABMRCID))_ABMRCID
  1. S ABMJDT=$$JDT^XBFUNC(DT)
  1. S ABMLF=$G(^ABMNINS("ALF",ABMP("INS")))
  1. S:$P(ABMLF,".",2)'=ABMJDT ABMLF=""
  1. S ABMLNUM=+$E($P(ABMLF,".",1),7,8)
  1. S ABMLNUM=ABMLNUM+1
  1. I ABMLNUM<10 S ABMLNUM="0"_ABMLNUM
  1. S ABMFN="E"_ABMRCID_ABMLNUM_"."_ABMJDT
  1. S DIR(0)="F",DIR("A")="Enter File Name: ",DIR("B")=ABMFN
  1. D ^DIR K DIR
  1. I Y["^" S POP=1 Q
  1. S ABMFN=Y
  1. S POP=0
  1. D OPEN^%ZISH("EMCFILE",ABMPATH,ABMFN,"W")
  1. S:'POP ^ABMNINS("ALF",ABMP("INS"))=ABMFN
  1. Q
  1. SEND ;EP - send file
  1. S ABMFILE=ABMPATH_ABMFN
  1. U IO(0)
  1. W !,"Sending ",ABMFILE
  1. S ABMSND=$$SENDTO1^%ZISH(ABMSPAR,ABMFILE)
  1. I ABMSND W !,$P(ABMSND,"^",2)
  1. Q