- 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