- 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