- 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