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

ABMEH32.m

Go to the documentation of this file.
  1. ABMEH32 ; IHS/ASDST/DMJ - HCFA-1500 EMC RECORD DA2 (Insurance Information) ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;
  1. ; IHS/ASDS/DMJ - 03/26/01 - V2.4 P5 - HQW-0301-100073
  1. ; Modified to put state abbrev. in DA2
  1. ;
  1. START ;START HERE
  1. K ABMR(32),ABMREC(32,ABME("S#"))
  1. S ABME("RTYPE")=32 ; Record type
  1. D SET^ABMERUTL,LOOP
  1. D S90^ABMERUTL ; Increment record type counter
  1. Q
  1. ;
  1. LOOP ;LOOP HERE
  1. F I=10:10:200 D
  1. .D @I
  1. .I $D(^ABMEXLM("AA",+$G(ABMP("INS")),+$G(ABMP("EXP")),32,I)) D @(^(I))
  1. .I '$G(ABMP("NOFMT")) S ABMREC(32,ABME("S#"))=$G(ABMREC(32,ABME("S#")))_ABMR(32,I)
  1. Q
  1. ;
  1. 10 ;1-3 Record ID
  1. S ABMR(32,10)="DA2"
  1. Q
  1. ;
  1. 20 ;4-5 Sequence #
  1. S ABMR(32,20)="0"_ABME("S#")
  1. S ABMR(32,20)=$$FMT^ABMERUTL(ABMR(32,20),2)
  1. Q
  1. ;
  1. 30 ;6-22 Patient Control Number
  1. S ABMR(32,30)=ABMP("PCN")
  1. S ABMR(32,30)=$$FMT^ABMERUTL(ABMR(32,30),17)
  1. Q
  1. ;
  1. 40 ;23-52 Insured's Address Line 1
  1. S ABMR(32,40)=""
  1. I $G(ABME("PPP")) D ; from patient file
  1. .S ABME("FLD")=.111
  1. .D DIQ4^ABMER31A
  1. .S ABMR(32,40)=$G(ABM(2,ABME("PPP"),.111,"E"))
  1. I ABMR(32,40)="",$G(ABME("PH")) D ; else policy holder file
  1. .S ABME("FLD")=.09
  1. .D DIQ1^ABMER31A
  1. .S ABMR(32,40)=$G(ABM(9000003.1,+ABME("PH"),.09,"E"))
  1. S ABMR(32,40)=$$FMT^ABMERUTL(ABMR(32,40),30)
  1. Q
  1. ;
  1. 50 ;53-82 Insured's Address Line 2
  1. S ABMR(32,50)=""
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.112
  1. .D DIQ4^ABMER31A
  1. .S ABMR(32,50)=$G(ABM(2,ABME("PPP"),.112,"E"))
  1. S ABMR(32,50)=$$FMT^ABMERUTL(ABMR(32,50),30)
  1. Q
  1. ;
  1. 60 ;83-102 Insured's City
  1. S ABMR(32,60)=""
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.114
  1. .D DIQ4^ABMER31A
  1. .S ABMR(32,60)=$G(ABM(2,ABME("PPP"),.114,"E"))
  1. I ABMR(32,60)="",$G(ABME("PH")) D
  1. .S ABME("FLD")=.11
  1. .D DIQ1^ABMER31A
  1. .S ABMR(32,60)=$G(ABM(9000003.1,+ABME("PH"),.11,"E"))
  1. S ABMR(32,60)=$$FMT^ABMERUTL(ABMR(32,60),20)
  1. Q
  1. ;
  1. 70 ;103-104 Insured's State
  1. S ABMR(32,70)=""
  1. S ABME("ISTATE")=""
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.115
  1. .D DIQ4^ABMER31A
  1. .S ABME("ISTATE")=$G(ABM(2,ABME("PPP"),.115,"I"))
  1. I 'ABME("ISTATE"),$G(ABME("PH")) D
  1. .S ABME("FLD")=.12
  1. .D DIQ1^ABMER31A
  1. .S ABME("ISTATE")=$G(ABM(9000003.1,ABME("PH"),.12,"I"))
  1. S ABMR(32,70)=$P($G(^DIC(5,+ABME("ISTATE"),0)),"^",2)
  1. S ABMR(32,70)=$$FMT^ABMERUTL(ABMR(32,70),2)
  1. Q
  1. ;
  1. 80 ;103-113 Insured's Zip
  1. S ABMR(32,80)=""
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.116
  1. .D DIQ4^ABMER31A
  1. .S ABMR(32,80)=$G(ABM(2,ABME("PPP"),.116,"E"))
  1. I ABMR(32,80)="",$G(ABME("PH")) D
  1. .S ABME("FLD")=.13
  1. .D DIQ1^ABMER31A
  1. .S ABMR(32,80)=$G(ABM(9000003.1,ABME("PH"),.13,"E"))
  1. S $E(ABMR(32,80),6,9)="0000"
  1. S ABMR(32,80)=$$FMT^ABMERUTL(ABMR(32,80),9)
  1. Q
  1. 90 ;114-123 Insured Phone
  1. S ABMR(32,90)=""
  1. S ABMR(32,90)=$$FMT^ABMERUTL(ABMR(32,90),10)
  1. Q
  1. 100 ;124-131 Insured Retire Date
  1. S ABMR(32,100)=""
  1. S ABMR(32,100)=$$FMT^ABMERUTL(ABMR(32,100),8)
  1. Q
  1. 110 ;132-139 Insured Retire Date
  1. S ABMR(32,110)=""
  1. S ABMR(32,110)=$$FMT^ABMERUTL(ABMR(32,110),8)
  1. Q
  1. 120 ;140-172 Employer Name
  1. S ABMR(32,120)=""
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.01
  1. .D DIQ3^ABMER31A
  1. .S ABMR(32,120)=$G(ABM(9999999.75,+DA,.01,"E"))
  1. I ABMR(32,120)="",$G(ABME("PH")) D
  1. .S ABME("FLD")=.16
  1. .D DIQ1^ABMER31A
  1. .S ABMR(32,120)=$G(ABM(9000003.1,ABME("PH"),.16,"E"))
  1. S ABMR(32,120)=$$FMT^ABMERUTL(ABMR(32,120),33)
  1. Q
  1. ;
  1. 130 ;173-202 Employer Address 1
  1. S ABMR(32,130)=""
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.02
  1. .D DIQ3^ABMER31A
  1. .S ABMR(32,130)=$G(ABM(9999999.75,+DA,.02,"E"))
  1. I ABMR(32,130)="",$G(ABME("PH")) D
  1. .S ABME("FLD")=.02
  1. .D DIQ2^ABMER31A
  1. .S ABMR(32,130)=$G(ABM(9999999.75,+ABME("EMP"),.02,"E"))
  1. S ABMR(32,130)=$$FMT^ABMERUTL(ABMR(32,130),30)
  1. Q
  1. 140 ;203-232 Employer Address 2
  1. S ABMR(32,140)=""
  1. S ABMR(32,140)=$$FMT^ABMERUTL(ABMR(32,140),30)
  1. Q
  1. 150 ;233-252 Employer City
  1. S ABMR(32,150)=""
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.03
  1. .D DIQ3^ABMER31A
  1. .S ABMR(32,150)=$G(ABM(9999999.75,+DA,.03,"E"))
  1. I ABMR(32,150)="",$G(ABME("PH")) D
  1. .S ABME("FLD")=.03
  1. .D DIQ2^ABMER31A
  1. .S ABMR(32,150)=$G(ABM(9999999.75,+ABME("EMP"),.03,"E"))
  1. S ABMR(32,150)=$$FMT^ABMERUTL(ABMR(32,150),20)
  1. Q
  1. ;
  1. 160 ;253-254 Employer State
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.04
  1. .D DIQ3^ABMER31A
  1. .S ABME("ESTATE")=$G(ABM(9999999.75,+DA,.04,"I"))
  1. I '$G(ABME("ESTATE")),$G(ABME("PH")) D
  1. .S ABME("FLD")=.04
  1. .D DIQ2^ABMER31A
  1. .S ABME("ESTATE")=$G(ABM(9999999.75,+ABME("EMP"),.04,"I"))
  1. S ABMR(32,160)=$S($G(ABME("ESTATE")):$P($G(^DIC(5,ABME("ESTATE"),0)),"^",2),1:"")
  1. S ABMR(32,160)=$$FMT^ABMERUTL(ABMR(32,160),2)
  1. Q
  1. ;
  1. 170 ;255-263 Employer Zip
  1. S ABMR(32,170)=""
  1. I $G(ABME("PPP")) D
  1. .S ABME("FLD")=.05
  1. .D DIQ3^ABMER31A
  1. .S ABMR(32,170)=$G(ABM(9999999.75,+DA,.05,"E"))
  1. I ABMR(32,170)="",$G(ABME("PH")) D
  1. .S ABME("FLD")=.05
  1. .D DIQ2^ABMER31A
  1. .S ABMR(32,170)=$G(ABM(9999999.75,+ABME("EMP"),.05,"E"))
  1. S ABMR(32,170)=$$FMT^ABMERUTL(ABMR(32,170),9)
  1. Q
  1. ;
  1. 180 ;264-275 Employee ID #
  1. S ABMR(32,180)=""
  1. S ABMR(32,180)=$$FMT^ABMERUTL(ABMR(32,180),12)
  1. Q
  1. ;
  1. 190 ;276-300 Filler (National)
  1. S ABMR(32,190)=""
  1. S ABMR(32,190)=$$FMT^ABMERUTL(ABMR(32,190),25)
  1. Q
  1. 200 ;301-320 Filler (Local)
  1. S ABMR(32,200)=""
  1. S ABMR(32,200)=$$FMT^ABMERUTL(ABMR(32,200),20)
  1. Q
  1. ;
  1. EX(ABMX,ABMY,ABMZ) ;EXTRINSIC FUNCTION HERE
  1. ;
  1. ; INPUT: ABMX = data element
  1. ; ABMY = bill internal entry number
  1. ; ABMZ = Insurer priority (1 thru 3)
  1. ;
  1. ; OUTPUT: Y = bill internal entry number
  1. ;
  1. S ABMP("BDFN")=ABMY
  1. D SET^ABMERUTL
  1. S ABME("INS")=ABMZ
  1. I '$D(^ABMDBILL(DUZ(2),ABMP("BDFN"),13,"B",ABME("INS"))) S Y="" Q Y
  1. D ISET^ABMERINS
  1. I '$G(ABMP("NOFMT")) S ABMP("FMT")=0
  1. D @ABMX
  1. S Y=ABMR(32,ABMX)
  1. I $D(ABMP("FMT")) S ABMP("FMT")=1
  1. K ABMR(32,ABMX),ABME,ABMX,ABMY,ABMZ,ABM
  1. Q Y