ABME5CRC ; IHS/ASDST/DMJ - 837 CRC Segment
;;2.6;IHS 3P BILLING SYSTEM;**6,8**;NOV 12, 2009
;Transaction Set Header
;
EP(ABMTYP) ;EP - START HERE
;ABMTYP = type of CRC to create
K ABMREC("CRC"),ABMR("CRC")
S ABME("RTYPE")="CRC"
D LOOP
K ABME,ABM
Q
LOOP ;LOOP HERE
F I=10:10:80 D
.D @I
.I $D(^ABMEXLM("AA",+$G(ABMP("INS")),+$G(ABMP("EXP")),ABME("RTYPE"),I)) D @(^(I))
.I $G(ABMREC("CRC"))'="" S ABMREC("CRC")=ABMREC("CRC")_"*"
.S ABMREC("CRC")=$G(ABMREC("CRC"))_ABMR("CRC",I)
Q
10 ;segment
S ABMR("CRC",10)="CRC"
Q
20 ;CRC01 - Code Category
I ABMTYP="AMB" S ABMR("CRC",20)="07"
I ABMTYP="VIS" S ABMR("CRC",20)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),8)),U,21)
I $G(ABMSPIEN)'="" S ABMR("CRC",20)="ZZ"
Q
30 ;CRC02 - Yes/No Condition or Response Code
S ABMR("CRC",30)=""
I ABMTYP="AMB" S ABMR("CRC",30)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),12)),U,15)
I ABMTYP="VIS" S ABMR("CRC",30)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),8)),U,22)
I +$G(ABMSPIEN)'=0 S ABMR("CRC",30)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,0)),U,2)
Q
40 ;CRC03 - Condition Indicator
S ABMR("CRC",40)=""
I ABMTYP="AMB",(ABMR("CRC",30)="Y") D
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,0))
.Q:+ABMCIEN=0
.S ABMR("CRC",40)=$P($G(^ABMCNDIN($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
I ABMTYP="VIS" D
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,0))
.Q:+ABMCIEN=0
.S ABMR("CRC",40)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
I +$G(ABMSPIEN)'=0 D
.I ABMR("CRC",30)="N" S ABMR("CRC",40)="NU" Q
.S ABMRIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,0))
.Q:+ABMRIEN=0
.S ABMR("CRC",40)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
Q
50 ;CRC04 - Condition Indicator
S ABMR("CRC",50)=""
I ABMTYP="AMB",(ABMR("CRC",30)="Y") D
.Q:+ABMCIEN=0
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN))
.Q:+ABMCIEN=0
.S ABMR("CRC",50)=$P($G(^ABMCNDIN($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
I ABMTYP="VIS" D
.Q:+ABMCIEN=0
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN))
.Q:+ABMCIEN=0
.S ABMR("CRC",50)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
I +$G(ABMSPIEN)'=0 D
.Q:+$G(ABMRIEN)=0
.S ABMRIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN))
.Q:+ABMRIEN=0
.S ABMR("CRC",50)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
Q
60 ;CRC05 - Condition Indicator
S ABMR("CRC",60)=""
I ABMTYP="AMB",(ABMR("CRC",30)="Y") D
.Q:+ABMCIEN=0
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN))
.Q:+ABMCIEN=0
.S ABMR("CRC",60)=$P($G(^ABMCNDIN($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
I ABMTYP="VIS" D
.Q:+ABMCIEN=0
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN))
.Q:+ABMCIEN=0
.S ABMR("CRC",60)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
I +$G(ABMSPIEN)'=0 D
.Q:+$G(ABMRIEN)=0
.S ABMRIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN))
.Q:+ABMRIEN=0
.S ABMR("CRC",60)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
Q
70 ;CRC06 - Condition Indicator
S ABMR("CRC",70)=""
I ABMTYP="AMB",(ABMR("CRC",30)="Y") D
.Q:+ABMCIEN=0
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN))
.Q:+ABMCIEN=0
.S ABMR("CRC",70)=$P($G(^ABMCNDIN($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
I ABMTYP="VIS" D
.Q:+ABMCIEN=0
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN))
.Q:+ABMCIEN=0
.S ABMR("CRC",70)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
Q
80 ;CRC07 - Condition Indicator
S ABMR("CRC",80)=""
I ABMTYP="AMB",(ABMR("CRC",30)="Y") D
.Q:+ABMCIEN=0
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN))
.Q:+ABMCIEN=0
.S ABMR("CRC",80)=$P($G(^ABMCNDIN($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
I ABMTYP="VIS" D
.Q:+ABMCIEN=0
.S ABMCIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN))
.Q:+ABMCIEN=0
.S ABMR("CRC",80)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
Q
ABME5CRC ; IHS/ASDST/DMJ - 837 CRC Segment
+1 ;;2.6;IHS 3P BILLING SYSTEM;**6,8**;NOV 12, 2009
+2 ;Transaction Set Header
+3 ;
EP(ABMTYP) ;EP - START HERE
+1 ;ABMTYP = type of CRC to create
+2 KILL ABMREC("CRC"),ABMR("CRC")
+3 SET ABME("RTYPE")="CRC"
+4 DO LOOP
+5 KILL ABME,ABM
+6 QUIT
LOOP ;LOOP HERE
+1 FOR I=10:10:80
Begin DoDot:1
+2 DO @I
+3 IF $DATA(^ABMEXLM("AA",+$GET(ABMP("INS")),+$GET(ABMP("EXP")),ABME("RTYPE"),I))
DO @(^(I))
+4 IF $GET(ABMREC("CRC"))'=""
SET ABMREC("CRC")=ABMREC("CRC")_"*"
+5 SET ABMREC("CRC")=$GET(ABMREC("CRC"))_ABMR("CRC",I)
End DoDot:1
+6 QUIT
10 ;segment
+1 SET ABMR("CRC",10)="CRC"
+2 QUIT
20 ;CRC01 - Code Category
+1 IF ABMTYP="AMB"
SET ABMR("CRC",20)="07"
+2 IF ABMTYP="VIS"
SET ABMR("CRC",20)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),8)),U,21)
+3 IF $GET(ABMSPIEN)'=""
SET ABMR("CRC",20)="ZZ"
+4 QUIT
30 ;CRC02 - Yes/No Condition or Response Code
+1 SET ABMR("CRC",30)=""
+2 IF ABMTYP="AMB"
SET ABMR("CRC",30)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),12)),U,15)
+3 IF ABMTYP="VIS"
SET ABMR("CRC",30)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),8)),U,22)
+4 IF +$GET(ABMSPIEN)'=0
SET ABMR("CRC",30)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,0)),U,2)
+5 QUIT
40 ;CRC03 - Condition Indicator
+1 SET ABMR("CRC",40)=""
+2 IF ABMTYP="AMB"
IF (ABMR("CRC",30)="Y")
Begin DoDot:1
+3 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,0))
+4 IF +ABMCIEN=0
QUIT
+5 SET ABMR("CRC",40)=$PIECE($GET(^ABMCNDIN($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
End DoDot:1
+6 IF ABMTYP="VIS"
Begin DoDot:1
+7 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,0))
+8 IF +ABMCIEN=0
QUIT
+9 SET ABMR("CRC",40)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
End DoDot:1
+10 IF +$GET(ABMSPIEN)'=0
Begin DoDot:1
+11 IF ABMR("CRC",30)="N"
SET ABMR("CRC",40)="NU"
QUIT
+12 SET ABMRIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,0))
+13 IF +ABMRIEN=0
QUIT
+14 SET ABMR("CRC",40)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
End DoDot:1
+15 QUIT
50 ;CRC04 - Condition Indicator
+1 SET ABMR("CRC",50)=""
+2 IF ABMTYP="AMB"
IF (ABMR("CRC",30)="Y")
Begin DoDot:1
+3 IF +ABMCIEN=0
QUIT
+4 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN))
+5 IF +ABMCIEN=0
QUIT
+6 SET ABMR("CRC",50)=$PIECE($GET(^ABMCNDIN($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
End DoDot:1
+7 IF ABMTYP="VIS"
Begin DoDot:1
+8 IF +ABMCIEN=0
QUIT
+9 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN))
+10 IF +ABMCIEN=0
QUIT
+11 SET ABMR("CRC",50)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
End DoDot:1
+12 IF +$GET(ABMSPIEN)'=0
Begin DoDot:1
+13 IF +$GET(ABMRIEN)=0
QUIT
+14 SET ABMRIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN))
+15 IF +ABMRIEN=0
QUIT
+16 SET ABMR("CRC",50)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
End DoDot:1
+17 QUIT
60 ;CRC05 - Condition Indicator
+1 SET ABMR("CRC",60)=""
+2 IF ABMTYP="AMB"
IF (ABMR("CRC",30)="Y")
Begin DoDot:1
+3 IF +ABMCIEN=0
QUIT
+4 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN))
+5 IF +ABMCIEN=0
QUIT
+6 SET ABMR("CRC",60)=$PIECE($GET(^ABMCNDIN($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
End DoDot:1
+7 IF ABMTYP="VIS"
Begin DoDot:1
+8 IF +ABMCIEN=0
QUIT
+9 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN))
+10 IF +ABMCIEN=0
QUIT
+11 SET ABMR("CRC",60)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
End DoDot:1
+12 IF +$GET(ABMSPIEN)'=0
Begin DoDot:1
+13 IF +$GET(ABMRIEN)=0
QUIT
+14 SET ABMRIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN))
+15 IF +ABMRIEN=0
QUIT
+16 SET ABMR("CRC",60)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
End DoDot:1
+17 QUIT
70 ;CRC06 - Condition Indicator
+1 SET ABMR("CRC",70)=""
+2 IF ABMTYP="AMB"
IF (ABMR("CRC",30)="Y")
Begin DoDot:1
+3 IF +ABMCIEN=0
QUIT
+4 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN))
+5 IF +ABMCIEN=0
QUIT
+6 SET ABMR("CRC",70)=$PIECE($GET(^ABMCNDIN($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
End DoDot:1
+7 IF ABMTYP="VIS"
Begin DoDot:1
+8 IF +ABMCIEN=0
QUIT
+9 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN))
+10 IF +ABMCIEN=0
QUIT
+11 SET ABMR("CRC",70)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
End DoDot:1
+12 QUIT
80 ;CRC07 - Condition Indicator
+1 SET ABMR("CRC",80)=""
+2 IF ABMTYP="AMB"
IF (ABMR("CRC",30)="Y")
Begin DoDot:1
+3 IF +ABMCIEN=0
QUIT
+4 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN))
+5 IF +ABMCIEN=0
QUIT
+6 SET ABMR("CRC",80)=$PIECE($GET(^ABMCNDIN($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),14,ABMCIEN,0)),0)),U)
End DoDot:1
+7 IF ABMTYP="VIS"
Begin DoDot:1
+8 IF +ABMCIEN=0
QUIT
+9 SET ABMCIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN))
+10 IF +ABMCIEN=0
QUIT
+11 SET ABMR("CRC",80)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),8.5,ABMCIEN,0)),U)
End DoDot:1
+12 QUIT