ABME8L15 ; IHS/ASDST/DMJ - Header
;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
;Header Segments
;
; IHS/SD/SDR - v2.5 p10 - IM20395
; Split out lines bundled by rev code
;
; IHS/SD/SDR - v2.5 p11 - NPI
;
; IHS/SD/SDR - v2.5 p12 - IM25247
; Add missing REG segment for TIN if NPI ONLY
;
; IHS/SD/SDR - v2.5 p13 - IM25888
; Correction for TOO segment
;
EP ;START HERE
S ABMLXCNT=0
K ABM
D ^ABMEHGRV
S ABMI=0
F S ABMI=$O(ABMRV(ABMI)) Q:'+ABMI D
.S ABMJ=-1
.F S ABMJ=$O(ABMRV(ABMI,ABMJ)) Q:'+ABMJ D
..S ABMK=0
..F S ABMK=$O(ABMRV(ABMI,ABMJ,ABMK)) Q:'+ABMK D
...D LOOP
K ABMI,ABMJ,ABMK
Q
;
LOOP ;
Q:$P(ABMRV(ABMI,ABMJ,ABMK),U,2)=""
S ABMLXCNT=ABMLXCNT+1
D EP^ABME8LX
D WR^ABMUTL8("LX")
D EP^ABME8SV3
D WR^ABMUTL8("SV3")
I $P(ABMRV(ABMI,ABMJ,ABMK),U,23)'=""!($P(ABMRV(ABMI,ABMJ,ABMK),U,24)'="") D
.D ^ABME8TOO
.D WR^ABMUTL8("TOO")
I $P(ABMRV(ABMI,ABMJ,ABMK),U,10)'=$P(ABMB7,U) D
.Q:'$P(ABMRV(ABMI,ABMJ,ABMK),U,10)
.D EP^ABME8DTP(472,"D8",$P(ABMRV(ABMI,ABMJ,ABMK),U,10))
.D WR^ABMUTL8("DTP")
;
; Loop 2420A - Rendering Physician
I $P($G(ABMRV(ABMI,ABMJ,ABMK)),U,13) D
.S ABM("PRV")=$P(ABMRV(ABMI,ABMJ,ABMK),U,13)
.Q:ABM("PRV")=$O(ABMP("PRV","D",0))
.D EP^ABME8NM1(82,ABM("PRV"))
.D WR^ABMUTL8("NM1")
.D EP^ABME8PRV("PE",ABM("PRV"))
.D WR^ABMUTL8("PRV")
.I ABMNPIU="N" D
..Q:((ABMRCID="99999")!(ABMRCID="AHCCCS866004791")) ;AZ Medicaid
..D EP^ABME8REF("EI",9999999.06,DUZ(2))
..D WR^ABMUTL8("REF")
.I ABMNPIU'="N" D
..D EP^ABME8REF(ABMP("RTYPE"),200,ABM("PRV"))
..D WR^ABMUTL8("REF")
Q
ABME8L15 ; IHS/ASDST/DMJ - Header
+1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
+2 ;Header Segments
+3 ;
+4 ; IHS/SD/SDR - v2.5 p10 - IM20395
+5 ; Split out lines bundled by rev code
+6 ;
+7 ; IHS/SD/SDR - v2.5 p11 - NPI
+8 ;
+9 ; IHS/SD/SDR - v2.5 p12 - IM25247
+10 ; Add missing REG segment for TIN if NPI ONLY
+11 ;
+12 ; IHS/SD/SDR - v2.5 p13 - IM25888
+13 ; Correction for TOO segment
+14 ;
EP ;START HERE
+1 SET ABMLXCNT=0
+2 KILL ABM
+3 DO ^ABMEHGRV
+4 SET ABMI=0
+5 FOR
SET ABMI=$ORDER(ABMRV(ABMI))
IF '+ABMI
QUIT
Begin DoDot:1
+6 SET ABMJ=-1
+7 FOR
SET ABMJ=$ORDER(ABMRV(ABMI,ABMJ))
IF '+ABMJ
QUIT
Begin DoDot:2
+8 SET ABMK=0
+9 FOR
SET ABMK=$ORDER(ABMRV(ABMI,ABMJ,ABMK))
IF '+ABMK
QUIT
Begin DoDot:3
+10 DO LOOP
End DoDot:3
End DoDot:2
End DoDot:1
+11 KILL ABMI,ABMJ,ABMK
+12 QUIT
+13 ;
LOOP ;
+1 IF $PIECE(ABMRV(ABMI,ABMJ,ABMK),U,2)=""
QUIT
+2 SET ABMLXCNT=ABMLXCNT+1
+3 DO EP^ABME8LX
+4 DO WR^ABMUTL8("LX")
+5 DO EP^ABME8SV3
+6 DO WR^ABMUTL8("SV3")
+7 IF $PIECE(ABMRV(ABMI,ABMJ,ABMK),U,23)'=""!($PIECE(ABMRV(ABMI,ABMJ,ABMK),U,24)'="")
Begin DoDot:1
+8 DO ^ABME8TOO
+9 DO WR^ABMUTL8("TOO")
End DoDot:1
+10 IF $PIECE(ABMRV(ABMI,ABMJ,ABMK),U,10)'=$PIECE(ABMB7,U)
Begin DoDot:1
+11 IF '$PIECE(ABMRV(ABMI,ABMJ,ABMK),U,10)
QUIT
+12 DO EP^ABME8DTP(472,"D8",$PIECE(ABMRV(ABMI,ABMJ,ABMK),U,10))
+13 DO WR^ABMUTL8("DTP")
End DoDot:1
+14 ;
+15 ; Loop 2420A - Rendering Physician
+16 IF $PIECE($GET(ABMRV(ABMI,ABMJ,ABMK)),U,13)
Begin DoDot:1
+17 SET ABM("PRV")=$PIECE(ABMRV(ABMI,ABMJ,ABMK),U,13)
+18 IF ABM("PRV")=$ORDER(ABMP("PRV","D",0))
QUIT
+19 DO EP^ABME8NM1(82,ABM("PRV"))
+20 DO WR^ABMUTL8("NM1")
+21 DO EP^ABME8PRV("PE",ABM("PRV"))
+22 DO WR^ABMUTL8("PRV")
+23 IF ABMNPIU="N"
Begin DoDot:2
+24 ;AZ Medicaid
IF ((ABMRCID="99999")!(ABMRCID="AHCCCS866004791"))
QUIT
+25 DO EP^ABME8REF("EI",9999999.06,DUZ(2))
+26 DO WR^ABMUTL8("REF")
End DoDot:2
+27 IF ABMNPIU'="N"
Begin DoDot:2
+28 DO EP^ABME8REF(ABMP("RTYPE"),200,ABM("PRV"))
+29 DO WR^ABMUTL8("REF")
End DoDot:2
End DoDot:1
+30 QUIT