- ABMDE3B ; IHS/ASDST/DMJ - Edit Page 3 - QUESTIONS - part 3 ;
- ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- ;
- ; IHS/SD/SDR - v2.5 p10 - IM20076
- ; Added EPSDT referral
- ;
- 5 W ! S DIR(0)="Y",DIR("A")="["_ABM("#")_"] Was Visit an Emergency",DIR("?")="If Emergency Room Utilized as a result of Condition of Medical Severity"
- I $P(ABMP("C0"),U,6)]"",$D(^DIC(40.7,$P(ABMP("C0"),U,6),0)),$P(^(0),U)["EMERGENCY" S DIR("B")="Y"
- E I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),8)),$P(^(8),U,5)="Y" S DIR("B")="Y"
- I '$D(DIR("B")) S DIR("B")="N"
- D ^DIR K DIR
- Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
- I Y=1 G ASET
- I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),8)),$P(^(8),U,5)="Y" S DIE="^ABMDCLM(DUZ(2),",DA=ABMP("CDFN"),DR=".85///@;.855///@" D ^DIE K DR
- I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),5)),$P(^(5),U,1)=$O(^ABMDCODE("AC","T",1,"")) S DIE="^ABMDCLM(DUZ(2),",DA=ABMP("CDFN"),DR=".51///@" D ^DIE K DR
- I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),5)),$P(^(5),U,2)=$O(^ABMDCODE("AC","A",7,"")) S DIE="^ABMDCLM(DUZ(2),",DA=ABMP("CDFN"),DR=".52///@" D ^DIE K DR
- Q
- ASET ;EP - Entry Point for setting Emergency Room charge
- S DA=ABMP("CDFN"),DIE="^ABMDCLM(DUZ(2),",DR=".85///Y"
- D ^DIE K DR
- ;
- ASRC I $P(ABMP("C0"),U,7)'=111 Q
- I $P($G(^ABMDCODE(ABMP("CDFN"),5)),U,2)'="" G ATYP
- S X=$O(^ABMDCODE("AC","A",7,"")) G ATYP:X=""
- S DA=ABMP("CDFN"),DIE="^ABMDCLM(DUZ(2),",DR=".52////"_X D ^DIE K DR
- ;
- ATYP S X=$O(^ABMDCODE("AC","T",1,"")) Q:X=""
- I $P($G(^ABMDCODE(ABMP("CDFN"),5)),U,1)'="" Q
- S DA=ABMP("CDFN"),DIE="^ABMDCLM(DUZ(2),",DR=".51////"_X D ^DIE K DR
- Q
- ;
- 6 ; Special Program
- W ! S DIR(0)="Y",DIR("A")="["_ABM("#")_"] Was visit related to a SPECIAL PROGRAM",DIR("?")="If services provided to patient were related to a Special Program"
- I $O(^ABMDCLM(DUZ(2),ABMP("CDFN"),59,0))]"" S DIR("B")="Y"
- E S DIR("B")="N"
- D ^DIR K DIR
- Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
- I Y=1 G SPPROG
- I $O(^ABMDCLM(DUZ(2),ABMP("CDFN"),59,0))]"" S DA(1)=ABMP("CDFN"),ABM("X")=$O(^ABMDCLM(DUZ(2),DA(1),59,0)) I ABM("X")]"" S DA=ABM("X"),DIK="^ABMDCLM(DUZ(2),"_DA(1)_",59," D ^DIK
- Q
- ;
- SPPROG K DIC
- K X,Y
- S ABM("DICS")="9002274.3059" X:$D(^DD(ABM("DICS"),.01,12.1)) ^DD(ABM("DICS"),.01,12.1)
- I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),59))=10 S ABM("X")=$O(^(59,0)) I ABM("X")]"",$D(^(ABM("X"),0)) S ABM("X")=^(0) I $D(^ABMDCODE(ABM("X"),0)) S DIC("B")=$P(^(0),U,1)
- W ! S DIC="^ABMDCODE(",DIC(0)="QEAM" S DIC("A")="Select SPECIAL PROGRAM: " D ^DIC K DIC
- Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)!(X="")
- I +Y<1 G 6
- SP ;EP - Entry Point for setting UB-82 Special Prog code
- S ABM("Y")=+Y
- S DA(1)=ABMP("CDFN")
- I +$O(^ABMDCLM(DUZ(2),DA(1),59,0))=0 S DIC("P")=$P(^DD(9002274.3,59,0),U,2)
- I +$O(^ABMDCLM(DUZ(2),DA(1),59,0))'=0 D
- .S ABM("X")=$O(^ABMDCLM(DUZ(2),DA(1),59,0))
- .I ABM("X")]"" D
- ..K DIR,X,Y
- ..S DIR(0)="Y"
- ..S DIR("A")="Info in EPSDT fields. Ok to delete?"
- ..S DIR("B")="Y"
- ..D ^DIR K DIR
- ..S ABMANS=+Y
- ..Q:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))!($D(DIROUT))
- ..I ABMANS>0 S DA=ABM("X"),DIK="^ABMDCLM(DUZ(2),"_DA(1)_",59," D ^DIK
- I +$O(^ABMDCLM(DUZ(2),DA(1),59,0))'=0,(+$G(ABMANS)<1) Q
- S (DINUM,X)=ABM("Y")
- K DD,DO S DA(1)=ABMP("CDFN"),DIC="^ABMDCLM(DUZ(2),"_DA(1)_",59,",DIC(0)="LE"
- D FILE^DICN K DIC
- ;EPSDT referral?
- S (DA,ABMPSCD)=+Y
- S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",59,"
- S DR=".02"
- D ^DIE
- ;If referral, up to 3 reasons
- I $P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),59,ABMPSCD,0)),U,2)="Y" D ;referral reason
- .F ABMX=1:1:3 D Q:(+Y<0)!($D(DTOUT))!($D(DUOUT))
- ..K DIC,DIE,DA,DR,X,Y
- ..S DA(2)=ABMP("CDFN")
- ..S DA(1)=ABMPSCD
- ..S DIC="^ABMDCLM(DUZ(2),"_DA(2)_",59,"_DA(1)_",1,"
- ..S DIC(0)="AEMLQ"
- ..S DIC("P")=$P(^DD(9002274.3059,".03",0),U,2)
- ..S DIC("A")="Select referral reason(s):"
- ..D ^DIC
- ..I $P(Y,U,3)'=1 S ABMX=ABMX-1
- Q
- ;
- 7 ; Outside Lab Charges
- W ! S DIR(0)="NO^0:999.99:2",DIR("A")="["_ABM("#")_"] Outside Lab Charges",DIR("?")="Enter the Amount of Lab Charges that occurred Outside IHS"
- I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),8)),$P(^(8),U,1)]"" S DIR("B")=$P(^(8),U)
- D ^DIR K DIR
- Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
- I X'="" S DIE="^ABMDCLM(DUZ(2),",DA=ABMP("CDFN"),DR=".81////"_Y D ^DIE K DR
- Q
- ;
- 8 W ! S DIR(0)="YO",DIR("A")="["_ABM("#")_"] Was BLOOD Furnished (Y/N)",DIR("?")="If whole blood or units of packed red cells furnished to patient"
- I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),7)),$P(^(7),U,6)>0 S DIR("B")="Y"
- E S DIR("B")="N"
- D ^DIR K DIR
- Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
- I Y=0 S DIE="^ABMDCLM(DUZ(2),",DA=ABMP("CDFN"),DR=".76///@;.77///@;.78///@;.79///@" D ^DIE K DR Q
- S DIE="^ABMDCLM(DUZ(2),",DA=ABMP("CDFN"),DR=".76T;.77T;.78T;.79T" D ^DIE K DR
- Q
- ;
- XIT Q
- ABMDE3B ; IHS/ASDST/DMJ - Edit Page 3 - QUESTIONS - part 3 ;
- +1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- +2 ;
- +3 ; IHS/SD/SDR - v2.5 p10 - IM20076
- +4 ; Added EPSDT referral
- +5 ;
- 5 WRITE !
- SET DIR(0)="Y"
- SET DIR("A")="["_ABM("#")_"] Was Visit an Emergency"
- SET DIR("?")="If Emergency Room Utilized as a result of Condition of Medical Severity"
- +1 IF $PIECE(ABMP("C0"),U,6)]""
- IF $DATA(^DIC(40.7,$PIECE(ABMP("C0"),U,6),0))
- IF $PIECE(^(0),U)["EMERGENCY"
- SET DIR("B")="Y"
- +2 IF '$TEST
- IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),8))
- IF $PIECE(^(8),U,5)="Y"
- SET DIR("B")="Y"
- +3 IF '$DATA(DIR("B"))
- SET DIR("B")="N"
- +4 DO ^DIR
- KILL DIR
- +5 IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
- QUIT
- +6 IF Y=1
- GOTO ASET
- +7 IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),8))
- IF $PIECE(^(8),U,5)="Y"
- SET DIE="^ABMDCLM(DUZ(2),"
- SET DA=ABMP("CDFN")
- SET DR=".85///@;.855///@"
- DO ^DIE
- KILL DR
- +8 IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),5))
- IF $PIECE(^(5),U,1)=$ORDER(^ABMDCODE("AC","T",1,""))
- SET DIE="^ABMDCLM(DUZ(2),"
- SET DA=ABMP("CDFN")
- SET DR=".51///@"
- DO ^DIE
- KILL DR
- +9 IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),5))
- IF $PIECE(^(5),U,2)=$ORDER(^ABMDCODE("AC","A",7,""))
- SET DIE="^ABMDCLM(DUZ(2),"
- SET DA=ABMP("CDFN")
- SET DR=".52///@"
- DO ^DIE
- KILL DR
- +10 QUIT
- ASET ;EP - Entry Point for setting Emergency Room charge
- +1 SET DA=ABMP("CDFN")
- SET DIE="^ABMDCLM(DUZ(2),"
- SET DR=".85///Y"
- +2 DO ^DIE
- KILL DR
- +3 ;
- ASRC IF $PIECE(ABMP("C0"),U,7)'=111
- QUIT
- +1 IF $PIECE($GET(^ABMDCODE(ABMP("CDFN"),5)),U,2)'=""
- GOTO ATYP
- +2 SET X=$ORDER(^ABMDCODE("AC","A",7,""))
- IF X=""
- GOTO ATYP
- +3 SET DA=ABMP("CDFN")
SET DIE="^ABMDCLM(DUZ(2),"
SET DR=".52////"_X
DO ^DIE
KILL DR
+4 ;
ATYP SET X=$ORDER(^ABMDCODE("AC","T",1,""))
IF X=""
QUIT
+1 IF $PIECE($GET(^ABMDCODE(ABMP("CDFN"),5)),U,1)'=""
QUIT
+2 SET DA=ABMP("CDFN")
SET DIE="^ABMDCLM(DUZ(2),"
SET DR=".51////"_X
DO ^DIE
KILL DR
+3 QUIT
+4 ;
6 ; Special Program
+1 WRITE !
SET DIR(0)="Y"
SET DIR("A")="["_ABM("#")_"] Was visit related to a SPECIAL PROGRAM"
SET DIR("?")="If services provided to patient were related to a Special Program"
+2 IF $ORDER(^ABMDCLM(DUZ(2),ABMP("CDFN"),59,0))]""
SET DIR("B")="Y"
+3 IF '$TEST
SET DIR("B")="N"
+4 DO ^DIR
KILL DIR
+5 IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
QUIT
+6 IF Y=1
GOTO SPPROG
+7 IF $ORDER(^ABMDCLM(DUZ(2),ABMP("CDFN"),59,0))]""
SET DA(1)=ABMP("CDFN")
SET ABM("X")=$ORDER(^ABMDCLM(DUZ(2),DA(1),59,0))
IF ABM("X")]""
SET DA=ABM("X")
SET DIK="^ABMDCLM(DUZ(2),"_DA(1)_",59,"
DO ^DIK
+8 QUIT
+9 ;
SPPROG KILL DIC
+1 KILL X,Y
+2 SET ABM("DICS")="9002274.3059"
IF $DATA(^DD(ABM("DICS"),.01,12.1))
XECUTE ^DD(ABM("DICS"),.01,12.1)
+3 IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),59))=10
SET ABM("X")=$ORDER(^(59,0))
IF ABM("X")]""
IF $DATA(^(ABM("X"),0))
SET ABM("X")=^(0)
IF $DATA(^ABMDCODE(ABM("X"),0))
SET DIC("B")=$PIECE(^(0),U,1)
+4 WRITE !
SET DIC="^ABMDCODE("
SET DIC(0)="QEAM"
SET DIC("A")="Select SPECIAL PROGRAM: "
DO ^DIC
KILL DIC
+5 IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)!(X="")
QUIT
+6 IF +Y<1
GOTO 6
SP ;EP - Entry Point for setting UB-82 Special Prog code
+1 SET ABM("Y")=+Y
+2 SET DA(1)=ABMP("CDFN")
+3 IF +$ORDER(^ABMDCLM(DUZ(2),DA(1),59,0))=0
SET DIC("P")=$PIECE(^DD(9002274.3,59,0),U,2)
+4 IF +$ORDER(^ABMDCLM(DUZ(2),DA(1),59,0))'=0
Begin DoDot:1
+5 SET ABM("X")=$ORDER(^ABMDCLM(DUZ(2),DA(1),59,0))
+6 IF ABM("X")]""
Begin DoDot:2
+7 KILL DIR,X,Y
+8 SET DIR(0)="Y"
+9 SET DIR("A")="Info in EPSDT fields. Ok to delete?"
+10 SET DIR("B")="Y"
+11 DO ^DIR
KILL DIR
+12 SET ABMANS=+Y
+13 IF $DATA(DTOUT)!($DATA(DUOUT))!($DATA(DIRUT))!($DATA(DIROUT))
QUIT
+14 IF ABMANS>0
SET DA=ABM("X")
SET DIK="^ABMDCLM(DUZ(2),"_DA(1)_",59,"
DO ^DIK
End DoDot:2
End DoDot:1
+15 IF +$ORDER(^ABMDCLM(DUZ(2),DA(1),59,0))'=0
IF (+$GET(ABMANS)<1)
QUIT
+16 SET (DINUM,X)=ABM("Y")
+17 KILL DD,DO
SET DA(1)=ABMP("CDFN")
SET DIC="^ABMDCLM(DUZ(2),"_DA(1)_",59,"
SET DIC(0)="LE"
+18 DO FILE^DICN
KILL DIC
+19 ;EPSDT referral?
+20 SET (DA,ABMPSCD)=+Y
+21 SET DIE="^ABMDCLM(DUZ(2),"_DA(1)_",59,"
+22 SET DR=".02"
+23 DO ^DIE
+24 ;If referral, up to 3 reasons
+25 ;referral reason
IF $PIECE($GET(^ABMDCLM(DUZ(2),ABMP("CDFN"),59,ABMPSCD,0)),U,2)="Y"
Begin DoDot:1
+26 FOR ABMX=1:1:3
Begin DoDot:2
+27 KILL DIC,DIE,DA,DR,X,Y
+28 SET DA(2)=ABMP("CDFN")
+29 SET DA(1)=ABMPSCD
+30 SET DIC="^ABMDCLM(DUZ(2),"_DA(2)_",59,"_DA(1)_",1,"
+31 SET DIC(0)="AEMLQ"
+32 SET DIC("P")=$PIECE(^DD(9002274.3059,".03",0),U,2)
+33 SET DIC("A")="Select referral reason(s):"
+34 DO ^DIC
+35 IF $PIECE(Y,U,3)'=1
SET ABMX=ABMX-1
End DoDot:2
IF (+Y<0)!($DATA(DTOUT))!($DATA(DUOUT))
QUIT
End DoDot:1
+36 QUIT
+37 ;
7 ; Outside Lab Charges
+1 WRITE !
SET DIR(0)="NO^0:999.99:2"
SET DIR("A")="["_ABM("#")_"] Outside Lab Charges"
SET DIR("?")="Enter the Amount of Lab Charges that occurred Outside IHS"
+2 IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),8))
IF $PIECE(^(8),U,1)]""
SET DIR("B")=$PIECE(^(8),U)
+3 DO ^DIR
KILL DIR
+4 IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
QUIT
+5 IF X'=""
SET DIE="^ABMDCLM(DUZ(2),"
SET DA=ABMP("CDFN")
SET DR=".81////"_Y
DO ^DIE
KILL DR
+6 QUIT
+7 ;
8 WRITE !
SET DIR(0)="YO"
SET DIR("A")="["_ABM("#")_"] Was BLOOD Furnished (Y/N)"
SET DIR("?")="If whole blood or units of packed red cells furnished to patient"
+1 IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),7))
IF $PIECE(^(7),U,6)>0
SET DIR("B")="Y"
+2 IF '$TEST
SET DIR("B")="N"
+3 DO ^DIR
KILL DIR
+4 IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
QUIT
+5 IF Y=0
SET DIE="^ABMDCLM(DUZ(2),"
SET DA=ABMP("CDFN")
SET DR=".76///@;.77///@;.78///@;.79///@"
DO ^DIE
KILL DR
QUIT
+6 SET DIE="^ABMDCLM(DUZ(2),"
SET DA=ABMP("CDFN")
SET DR=".76T;.77T;.78T;.79T"
DO ^DIE
KILL DR
+7 QUIT
+8 ;
XIT QUIT