ABME8CRC ; IHS/ASDST/DMJ - 837 CRC Segment
;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
;Transaction Set Header
;
; IHS/SD/SDR v2.5 p8 - task 6
; Added code for ambulance
;
; IHS/SD/SDR - v2.5 p10 - IM20076
; Added code for EPSDT
;
EP ;EP - START HERE
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 $G(ABMP("CLIN"))="A3" S ABMR("CRC",20)="07"
I $G(ABMSPIEN)'="" S ABMR("CRC",20)="ZZ"
Q
30 ;CRC02 - Yes/No Condition or Response Code
S ABMR("CRC",30)=""
I $G(ABMP("CLIN"))="A3" S ABMR("CRC",30)=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),12)),U,15)
I $G(ABMSPIEN)'="" 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 ABMR("CRC",30)="Y",(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 $G(ABMPSIEN)'="" 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 ABMR("CRC",30)="Y",(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 $G(ABMSPIEN)'="" 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 ABMR("CRC",30)="Y",(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 $G(ABMSPIEN)'="" 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 ABMR("CRC",30)="Y",(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)
Q
80 ;CRC07 - Condition Indicator
S ABMR("CRC",80)=""
I ABMR("CRC",30)="Y",(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)
Q
ABME8CRC ; IHS/ASDST/DMJ - 837 CRC Segment
+1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
+2 ;Transaction Set Header
+3 ;
+4 ; IHS/SD/SDR v2.5 p8 - task 6
+5 ; Added code for ambulance
+6 ;
+7 ; IHS/SD/SDR - v2.5 p10 - IM20076
+8 ; Added code for EPSDT
+9 ;
EP ;EP - START HERE
+1 KILL ABMREC("CRC"),ABMR("CRC")
+2 SET ABME("RTYPE")="CRC"
+3 DO LOOP
+4 KILL ABME,ABM
+5 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 $GET(ABMP("CLIN"))="A3"
SET ABMR("CRC",20)="07"
+2 IF $GET(ABMSPIEN)'=""
SET ABMR("CRC",20)="ZZ"
+3 QUIT
30 ;CRC02 - Yes/No Condition or Response Code
+1 SET ABMR("CRC",30)=""
+2 IF $GET(ABMP("CLIN"))="A3"
SET ABMR("CRC",30)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),12)),U,15)
+3 IF $GET(ABMSPIEN)'=""
SET ABMR("CRC",30)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,0)),U,2)
+4 QUIT
40 ;CRC03 - Condition Indicator
+1 SET ABMR("CRC",40)=""
+2 IF ABMR("CRC",30)="Y"
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 $GET(ABMPSIEN)'=""
Begin DoDot:1
+7 IF ABMR("CRC",30)="N"
SET ABMR("CRC",40)="NU"
QUIT
+8 SET ABMRIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,0))
+9 IF +ABMRIEN=0
QUIT
+10 SET ABMR("CRC",40)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
End DoDot:1
+11 QUIT
50 ;CRC04 - Condition Indicator
+1 SET ABMR("CRC",50)=""
+2 IF ABMR("CRC",30)="Y"
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 $GET(ABMSPIEN)'=""
Begin DoDot:1
+8 IF +$GET(ABMRIEN)=0
QUIT
+9 SET ABMRIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN))
+10 IF +ABMRIEN=0
QUIT
+11 SET ABMR("CRC",50)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
End DoDot:1
+12 QUIT
60 ;CRC05 - Condition Indicator
+1 SET ABMR("CRC",60)=""
+2 IF ABMR("CRC",30)="Y"
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 $GET(ABMSPIEN)'=""
Begin DoDot:1
+8 IF +$GET(ABMRIEN)=0
QUIT
+9 SET ABMRIEN=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN))
+10 IF +ABMRIEN=0
QUIT
+11 SET ABMR("CRC",60)=$PIECE($GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,1,ABMRIEN,0)),U)
End DoDot:1
+12 QUIT
70 ;CRC06 - Condition Indicator
+1 SET ABMR("CRC",70)=""
+2 IF ABMR("CRC",30)="Y"
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 QUIT
80 ;CRC07 - Condition Indicator
+1 SET ABMR("CRC",80)=""
+2 IF ABMR("CRC",30)="Y"
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 QUIT