IBCF2P ;ALB/ARH - PRINT HCFA 1500 12-90 FORM ; 17-JUL-93
;;2.0;INTEGRATED BILLING;**8,52,133,488**;21-MAR-94;Build 184
;;Per VHA Directive 10-93-142, this routine should not be modified.
;
PRINT ; print the form, IBFLD required
S IBADDM=+$P($G(^IBE(350.9,1,1)),U,27),IBPAGE=1
F IBI=1:1:6 W !,?IBADDM,$G(IBFLD(0,IBI)) ;mailing address
LINE8 ; insured's ID number
W !!,?49,$E(IBFLD("1A"),1,28)
LINE10 ; patient name, DOB, sex; insured's name ("SAME" if patient)
W !!,$E(IBFLD(2),1,28),?30,IBFLD("3D"),?($S(IBFLD("3X")="M":41,1:46)),"X",?49,$E(IBFLD(4),1,28)
LINE12 ; patient's address (street); pt. rel to ins.; insured's address
W !!,$E(IBFLD(5,1),1,28),?($S(+IBFLD(6)=1:32,+IBFLD(6)=2:37,+IBFLD(6)=3:41,1:46)),"X",?49,$E(IBFLD(7),1,28)
LINE14 ; patient addr city, state code, marital status; insured's city, state
W !!,$E(IBFLD(5,2),1,24),?25,IBFLD("5S"),?($S(IBFLD("8M")="S":34,IBFLD("8M")="M":40,1:46)),"X",?49
LINE16 ; patient zip code, phone; patient employment status; insured's zip code, phone
W !!,$E(IBFLD(5,3),1,12),?14,IBFLD("5T"),?34,$S(IBFLD("8E")="E":"X",1:""),?49
LINE18 ; other insured's name; insured's policy group
W !!,$E(IBFLD(9),1,28),?49,$E(IBFLD(11),1,28)
LINE20 ; other insured's policy number; condition related to employment?; insured's date of birth and sex
W !!,$E(IBFLD("9A"),1,28),?($S(+IBFLD("10A"):34,1:40)),"X"
W ?53,IBFLD("11AD") I IBFLD("11AX")'="" W ?($S(IBFLD("11AX")="M":67,1:74)),"X"
LINE22 ; other insured's DOB, sex; patient auto accident & place; insured's employer
W !! ;,?1,IBFLD("9BD") I IBFLD("9BX")'="" W ?($S(IBFLD("9BX")="M":17,1:23)),"X" *488*
W ?($S(+IBFLD("10B"):34,1:40)),"X",?44,IBFLD("10BS"),?49,$E(IBFLD("11B"),1,28)
LINE24 ; other insured's employer; patient other accident; insured's insurance plan name
;remove box 9c *488*
;W !!,$E(IBFLD("9C"),1,28),?($S(+IBFLD("10C"):34,1:40)),"X",?49,$E(IBFLD("11C"),1,28)
W !!,?($S(+IBFLD("10C"):34,1:40)),"X",?49,$E(IBFLD("11C"),1,28)
LINE26 ; other insured's plan name; is there another benefit plan *488* add box 10d
W !!,$E(IBFLD("9D"),1,28),?30,IBFLD("10D"),?($S(+IBFLD("11D"):51,1:56)),"X"
LINE29 ; patient's signature; insured's signature (use PL 99-272, SECTION 1729 TITLE 38)
W !!!,?3,IBFLD(12),?56,IBFLD(13)
LINE32 ; date of current illness; date of similar illness; dates unable to work *488*
W !!!,?1,IBFLD(14),?14,IBFLD(14.1),?26,IBFLD(15.1),?36,IBFLD(15),?53,IBFLD("16A"),?67,IBFLD("16B")
LINE34 ; name of referring physician; ID# referring physician; hospitalization dates related to services
W !!,?53,IBFLD("18A"),?67,IBFLD("18B")
LINE35 ; "not for SC" note line 1
W !,?14,$E(IBFLD(19),1,31)_"-"
LINE36 ; "not for SC" note line 2; outside lab (now defaults to "no" in IBEHCFA)
W !,$E(IBFLD(19),32,83),?56,"X"
LINE37 ; diagnosis code indicator *488*
W !,?40,IBFLD("21A")
LINE38 ; diagnosis codes 1-4 ; field 22 (MEDICAID) left blank *488*
W !,?2,IBFLD(21,1),?15,IBFLD(21,2),?28,IBFLD(21,3),?40,IBFLD(21,4)
LINE39 ; diagnosis codes 5-8 *488*
W !,?2,IBFLD(21,5),?15,IBFLD(21,6),?28,IBFLD(21,7),?40,IBFLD(21,7)
LINE40 ; diagnosis codes 9-12; field 23 (prior authorization #) *488*
W !,?2,IBFLD(21,9),?15,IBFLD(21,10),?28,IBFLD(21,11),?40,IBFLD(21,12),?49,IBFLD(23)
LINE44 ;lines 44,46,48,50,52,54 all the same
W !! S IBI=+$P(IBFLD(24),U,2) F IBJ=1:1:6 S IBI=IBI+1 D
. W ! I $D(IBFLD(24,IBI_"A")) W ?25,$E(IBFLD(24,IBI_"A"),1,15)
. W ! I $D(IBFLD(24,IBI)) D S IBFLD(24)=IBFLD(24)-1
.. W $P(IBFLD(24,IBI),U,1),?9,$P(IBFLD(24,IBI),U,2),?18,$P(IBFLD(24,IBI),U,3),?21,$P(IBFLD(24,IBI),U,4),?25,$E($P(IBFLD(24,IBI),U,5),1,15)
.. I $P(IBFLD(24,IBI),U,9) W ?32,$P($$MOD^ICPTMOD(+$P(IBFLD(24,IBI),U,9),"I",DT),U,2)
.. W ?41,$P(IBFLD(24,IBI),U,6),?48,$S(+$P(IBFLD(24,IBI),U,7):$J($P(IBFLD(24,IBI),U,7),9,2),1:""),?57,$J($P(IBFLD(24,IBI),U,8),3)
S $P(IBFLD(24),U,2)=IBI
;
LINE56 W !!,IBFLD(25),?18,"X",?22,IBFLD(26),?49,$J(IBFLD(28),10,2)
W:IBFLD(29) ?62,$J(IBFLD(29),7,2)
LINE58 W !!,?22,$E(IBFLD(32,1),1,26),?49,$E(IBFLD(33,1),1,26)
LINE69 W !,$E(IBFLD(31),1,21),?22,$E(IBFLD(32,2),1,26),?49,$E(IBFLD(33,2),1,26)
LINE60 W !,$E(IBFLD(31),22,42)
W ?22,$E(IBFLD(32,3),1,(26-2-$L(IBFLD(32,"X")))) I IBFLD(32,"X")'="" W ", "_IBFLD(32,"X")
W ?49,$E(IBFLD(33,3),1,(26-2-$L(IBFLD(33,"X")))) I IBFLD(33,"X")'="" W ", "_IBFLD(33,"X")
LINE61 W !,$E(IBFLD(31),43,63),?49,IBFLD(33,4)
;
I +IBFLD(24)>0 D G LINE38 ;multiple pages
. S IBPAGE=IBPAGE+1
. W @IOF,!,?IBADDM,"PAGE ",IBPAGE,!!!!!!!,?49,IBFLD("1A"),!!,IBFLD(2)
. F IBI=1:1:26 W !
;
END K IBADDM,IBPAGE
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBCF2P 4577 printed Oct 16, 2024@18:13:36 Page 2
IBCF2P ;ALB/ARH - PRINT HCFA 1500 12-90 FORM ; 17-JUL-93
+1 ;;2.0;INTEGRATED BILLING;**8,52,133,488**;21-MAR-94;Build 184
+2 ;;Per VHA Directive 10-93-142, this routine should not be modified.
+3 ;
PRINT ; print the form, IBFLD required
+1 SET IBADDM=+$PIECE($GET(^IBE(350.9,1,1)),U,27)
SET IBPAGE=1
+2 ;mailing address
FOR IBI=1:1:6
WRITE !,?IBADDM,$GET(IBFLD(0,IBI))
LINE8 ; insured's ID number
+1 WRITE !!,?49,$EXTRACT(IBFLD("1A"),1,28)
LINE10 ; patient name, DOB, sex; insured's name ("SAME" if patient)
+1 WRITE !!,$EXTRACT(IBFLD(2),1,28),?30,IBFLD("3D"),?($SELECT(IBFLD("3X")="M":41,1:46)),"X",?49,$EXTRACT(IBFLD(4),1,28)
LINE12 ; patient's address (street); pt. rel to ins.; insured's address
+1 WRITE !!,$EXTRACT(IBFLD(5,1),1,28),?($SELECT(+IBFLD(6)=1:32,+IBFLD(6)=2:37,+IBFLD(6)=3:41,1:46)),"X",?49,$EXTRACT(IBFLD(7),1,28)
LINE14 ; patient addr city, state code, marital status; insured's city, state
+1 WRITE !!,$EXTRACT(IBFLD(5,2),1,24),?25,IBFLD("5S"),?($SELECT(IBFLD("8M")="S":34,IBFLD("8M")="M":40,1:46)),"X",?49
LINE16 ; patient zip code, phone; patient employment status; insured's zip code, phone
+1 WRITE !!,$EXTRACT(IBFLD(5,3),1,12),?14,IBFLD("5T"),?34,$SELECT(IBFLD("8E")="E":"X",1:""),?49
LINE18 ; other insured's name; insured's policy group
+1 WRITE !!,$EXTRACT(IBFLD(9),1,28),?49,$EXTRACT(IBFLD(11),1,28)
LINE20 ; other insured's policy number; condition related to employment?; insured's date of birth and sex
+1 WRITE !!,$EXTRACT(IBFLD("9A"),1,28),?($SELECT(+IBFLD("10A"):34,1:40)),"X"
+2 WRITE ?53,IBFLD("11AD")
IF IBFLD("11AX")'=""
WRITE ?($SELECT(IBFLD("11AX")="M":67,1:74)),"X"
LINE22 ; other insured's DOB, sex; patient auto accident & place; insured's employer
+1 ;,?1,IBFLD("9BD") I IBFLD("9BX")'="" W ?($S(IBFLD("9BX")="M":17,1:23)),"X" *488*
WRITE !!
+2 WRITE ?($SELECT(+IBFLD("10B"):34,1:40)),"X",?44,IBFLD("10BS"),?49,$EXTRACT(IBFLD("11B"),1,28)
LINE24 ; other insured's employer; patient other accident; insured's insurance plan name
+1 ;remove box 9c *488*
+2 ;W !!,$E(IBFLD("9C"),1,28),?($S(+IBFLD("10C"):34,1:40)),"X",?49,$E(IBFLD("11C"),1,28)
+3 WRITE !!,?($SELECT(+IBFLD("10C"):34,1:40)),"X",?49,$EXTRACT(IBFLD("11C"),1,28)
LINE26 ; other insured's plan name; is there another benefit plan *488* add box 10d
+1 WRITE !!,$EXTRACT(IBFLD("9D"),1,28),?30,IBFLD("10D"),?($SELECT(+IBFLD("11D"):51,1:56)),"X"
LINE29 ; patient's signature; insured's signature (use PL 99-272, SECTION 1729 TITLE 38)
+1 WRITE !!!,?3,IBFLD(12),?56,IBFLD(13)
LINE32 ; date of current illness; date of similar illness; dates unable to work *488*
+1 WRITE !!!,?1,IBFLD(14),?14,IBFLD(14.1),?26,IBFLD(15.1),?36,IBFLD(15),?53,IBFLD("16A"),?67,IBFLD("16B")
LINE34 ; name of referring physician; ID# referring physician; hospitalization dates related to services
+1 WRITE !!,?53,IBFLD("18A"),?67,IBFLD("18B")
LINE35 ; "not for SC" note line 1
+1 WRITE !,?14,$EXTRACT(IBFLD(19),1,31)_"-"
LINE36 ; "not for SC" note line 2; outside lab (now defaults to "no" in IBEHCFA)
+1 WRITE !,$EXTRACT(IBFLD(19),32,83),?56,"X"
LINE37 ; diagnosis code indicator *488*
+1 WRITE !,?40,IBFLD("21A")
LINE38 ; diagnosis codes 1-4 ; field 22 (MEDICAID) left blank *488*
+1 WRITE !,?2,IBFLD(21,1),?15,IBFLD(21,2),?28,IBFLD(21,3),?40,IBFLD(21,4)
LINE39 ; diagnosis codes 5-8 *488*
+1 WRITE !,?2,IBFLD(21,5),?15,IBFLD(21,6),?28,IBFLD(21,7),?40,IBFLD(21,7)
LINE40 ; diagnosis codes 9-12; field 23 (prior authorization #) *488*
+1 WRITE !,?2,IBFLD(21,9),?15,IBFLD(21,10),?28,IBFLD(21,11),?40,IBFLD(21,12),?49,IBFLD(23)
LINE44 ;lines 44,46,48,50,52,54 all the same
+1 WRITE !!
SET IBI=+$PIECE(IBFLD(24),U,2)
FOR IBJ=1:1:6
SET IBI=IBI+1
Begin DoDot:1
+2 WRITE !
IF $DATA(IBFLD(24,IBI_"A"))
WRITE ?25,$EXTRACT(IBFLD(24,IBI_"A"),1,15)
+3 WRITE !
IF $DATA(IBFLD(24,IBI))
Begin DoDot:2
+4 WRITE $PIECE(IBFLD(24,IBI),U,1),?9,$PIECE(IBFLD(24,IBI),U,2),?18,$PIECE(IBFLD(24,IBI),U,3),?21,$PIECE(IBFLD(24,IBI),U,4),?25,$EXTRACT($PIECE(IBFLD(24,IBI),U,5),1,15)
+5 IF $PIECE(IBFLD(24,IBI),U,9)
WRITE ?32,$PIECE($$MOD^ICPTMOD(+$PIECE(IBFLD(24,IBI),U,9),"I",DT),U,2)
+6 WRITE ?41,$PIECE(IBFLD(24,IBI),U,6),?48,$SELECT(+$PIECE(IBFLD(24,IBI),U,7):$JUSTIFY($PIECE(IBFLD(24,IBI),U,7),9,2),1:""),?57,$JUSTIFY($PIECE(IBFLD(24,IBI),U,8),3)
End DoDot:2
SET IBFLD(24)=IBFLD(24)-1
End DoDot:1
+7 SET $PIECE(IBFLD(24),U,2)=IBI
+8 ;
LINE56 WRITE !!,IBFLD(25),?18,"X",?22,IBFLD(26),?49,$JUSTIFY(IBFLD(28),10,2)
+1 if IBFLD(29)
WRITE ?62,$JUSTIFY(IBFLD(29),7,2)
LINE58 WRITE !!,?22,$EXTRACT(IBFLD(32,1),1,26),?49,$EXTRACT(IBFLD(33,1),1,26)
LINE69 WRITE !,$EXTRACT(IBFLD(31),1,21),?22,$EXTRACT(IBFLD(32,2),1,26),?49,$EXTRACT(IBFLD(33,2),1,26)
LINE60 WRITE !,$EXTRACT(IBFLD(31),22,42)
+1 WRITE ?22,$EXTRACT(IBFLD(32,3),1,(26-2-$LENGTH(IBFLD(32,"X"))))
IF IBFLD(32,"X")'=""
WRITE ", "_IBFLD(32,"X")
+2 WRITE ?49,$EXTRACT(IBFLD(33,3),1,(26-2-$LENGTH(IBFLD(33,"X"))))
IF IBFLD(33,"X")'=""
WRITE ", "_IBFLD(33,"X")
LINE61 WRITE !,$EXTRACT(IBFLD(31),43,63),?49,IBFLD(33,4)
+1 ;
+2 ;multiple pages
IF +IBFLD(24)>0
Begin DoDot:1
+3 SET IBPAGE=IBPAGE+1
+4 WRITE @IOF,!,?IBADDM,"PAGE ",IBPAGE,!!!!!!!,?49,IBFLD("1A"),!!,IBFLD(2)
+5 FOR IBI=1:1:26
WRITE !
End DoDot:1
GOTO LINE38
+6 ;
END KILL IBADDM,IBPAGE
+1 QUIT