ABMDE7 ; IHS/ASDST/DMJ - Edit Page 7 - Inpatient ;
;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
;
; IHS/DSD/JLG - 05/27/98 - NOIS NDA-0598-180119
; Modified to remove call to the claim generator for
; missing hospital admission date, too many side-effects
;
; IHS/SD/SDR - v2.5 p8 - IM14016/IM15234/IM15615
; Fixed Prior Authorization field
;
I $P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),6)),U)="" D
.Q:ABMP("VTYP")=831
. ; Needs to use primary not 1st
.S ABMVDFN=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),11,"AC","P","")) Q:'ABMVDFN
.I $G(ABMP("VDT"))]"" S ^AUPNVSIT("ABILL",ABMP("VDT"),ABMVDFN)=""
;
OPT K ABM,ABME,ABMZ
D DISP^ABMDE7A,^ABMDE7X,^ABMDE7C
S ABMZ("NUM")=$S($D(ABMP("VTYP",999))&$D(ABMP("FLAT")):14,1:13)
I +$O(ABME(0)) S ABME("CONT")="" D ^ABMDERR K ABME("CONT")
W ! S ABMP("OPT")="ENVJBQ" D SEL^ABMDEOPT I "EV"'[$E(Y) S:$D(ABMP("DDL"))&($E(ABMP("PAGE"),$L(ABMP("PAGE")))=7) ABMP("QUIT")="" G XIT
G XIT:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
I $E(Y)="V" D V1^ABMDE7A G OPT
;
EDIT ; Entry of Claim Identifiers
S ABMP("FLDS")=$S($D(ABMP("VTYP",999))&$D(ABMP("FLAT")):14,1:13)
D FLDS^ABMDEOPT
G XIT:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
S DR="" F ABM("I")=1:1 S ABM=$P(ABMP("FLDS"),",",ABM("I")) Q:ABM="" S:ABM("I")>1 DR=DR_";" S DR=DR_$P($T(@ABM),";;",2)
S DIE="^ABMDCLM(DUZ(2),",DA=ABMP("CDFN") D ^DIE K DR
;
S ABM("C5")=$G(^ABMDCLM(DUZ(2),ABMP("CDFN"),5)),ABM("C7")=$G(^(7))
I ABMP("FLDS")[14,$D(ABMP("FLAT")),$D(ABMP("VTYP",999)) D
.S DR=".57//"_$P(ABM("C7"),U,3) D ^DIE
.S ABM("C5")=$G(^ABMDCLM(DUZ(2),ABMP("CDFN"),5))
.S $P(ABMP("FLAT"),U,8)=$P(ABM("C5"),U,7)
I ABMP("FLDS")[3,+ABM("C5")=85,ABMP("FLDS")'[5,$P(ABM("C5"),U,2)<53!($P(ABM("C5"),U,2)>57) S DR=".52///@" D ^DIE S DR=".52T~R" D ^DIE G E2
I ABMP("FLDS")[3,ABMP("FLDS")'[5,$P(ABM("C5"),U,2)>52,$P(ABM("C5"),U,2)<58 S DR=".52///@;.525///@" D ^DIE S DR=".52T~R" D ^DIE
;
E2 K ABMP("FLDS")
G OPT
;
1 ;;.61T
2 ;;.62T
3 ;;.51T;S:$G(X)'=85 Y="@1";.525T;@1
4 ;;.52T
5 ;;.59T
6 ;;.63T
7 ;;.64T
8 ;;.53T
9 ;;.71[9] Service From Date.......: "
10 ;;.72[10] Service Thru Date......: "
11 ;;.73[11] Covered Days...........: "
12 ;;.66[12] Non Covered Days.......: "
13 ;;.512[13] Prior Authorization No: "
14 ;;.57[14] Professional Comp Days.: "
16 ;;.67T
17 ;;.68T
;
XIT K ABM,ABME
Q
;
INP ;EP for Prof Comp Days Input Transform
Q:'$D(^ABMDCLM(DUZ(2),ABMP("CDFN"),5))!'$D(^ABMDCLM(DUZ(2),ABMP("CDFN"),7))
I $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),7),U)=$P(^ABMDCLM(DUZ(2),ABMP("CDFN"),7),U,2),X>1 K X Q
I X>($P(^ABMDCLM(DUZ(2),ABMP("CDFN"),7),U,3)+1) K X
Q
ABMDE7 ; IHS/ASDST/DMJ - Edit Page 7 - Inpatient ;
+1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
+2 ;
+3 ; IHS/DSD/JLG - 05/27/98 - NOIS NDA-0598-180119
+4 ; Modified to remove call to the claim generator for
+5 ; missing hospital admission date, too many side-effects
+6 ;
+7 ; IHS/SD/SDR - v2.5 p8 - IM14016/IM15234/IM15615
+8 ; Fixed Prior Authorization field
+9 ;
+10 IF $PIECE($GET(^ABMDCLM(DUZ(2),ABMP("CDFN"),6)),U)=""
Begin DoDot:1
+11 IF ABMP("VTYP")=831
QUIT
+12 ; Needs to use primary not 1st
+13 SET ABMVDFN=$ORDER(^ABMDCLM(DUZ(2),ABMP("CDFN"),11,"AC","P",""))
IF 'ABMVDFN
QUIT
+14 IF $GET(ABMP("VDT"))]""
SET ^AUPNVSIT("ABILL",ABMP("VDT"),ABMVDFN)=""
End DoDot:1
+15 ;
OPT KILL ABM,ABME,ABMZ
+1 DO DISP^ABMDE7A
DO ^ABMDE7X
DO ^ABMDE7C
+2 SET ABMZ("NUM")=$SELECT($DATA(ABMP("VTYP",999))&$DATA(ABMP("FLAT")):14,1:13)
+3 IF +$ORDER(ABME(0))
SET ABME("CONT")=""
DO ^ABMDERR
KILL ABME("CONT")
+4 WRITE !
SET ABMP("OPT")="ENVJBQ"
DO SEL^ABMDEOPT
IF "EV"'[$EXTRACT(Y)
IF $DATA(ABMP("DDL"))&($EXTRACT(ABMP("PAGE"),$LENGTH(ABMP("PAGE")))=7)
SET ABMP("QUIT")=""
GOTO XIT
+5 IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
GOTO XIT
+6 IF $EXTRACT(Y)="V"
DO V1^ABMDE7A
GOTO OPT
+7 ;
EDIT ; Entry of Claim Identifiers
+1 SET ABMP("FLDS")=$SELECT($DATA(ABMP("VTYP",999))&$DATA(ABMP("FLAT")):14,1:13)
+2 DO FLDS^ABMDEOPT
+3 IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
GOTO XIT
+4 SET DR=""
FOR ABM("I")=1:1
SET ABM=$PIECE(ABMP("FLDS"),",",ABM("I"))
IF ABM=""
QUIT
IF ABM("I")>1
SET DR=DR_";"
SET DR=DR_$PIECE($TEXT(@ABM),";;",2)
+5 SET DIE="^ABMDCLM(DUZ(2),"
SET DA=ABMP("CDFN")
DO ^DIE
KILL DR
+6 ;
+7 SET ABM("C5")=$GET(^ABMDCLM(DUZ(2),ABMP("CDFN"),5))
SET ABM("C7")=$GET(^(7))
+8 IF ABMP("FLDS")[14
IF $DATA(ABMP("FLAT"))
IF $DATA(ABMP("VTYP",999))
Begin DoDot:1
+9 SET DR=".57//"_$PIECE(ABM("C7"),U,3)
DO ^DIE
+10 SET ABM("C5")=$GET(^ABMDCLM(DUZ(2),ABMP("CDFN"),5))
+11 SET $PIECE(ABMP("FLAT"),U,8)=$PIECE(ABM("C5"),U,7)
End DoDot:1
+12 IF ABMP("FLDS")[3
IF +ABM("C5")=85
IF ABMP("FLDS")'[5
IF $PIECE(ABM("C5"),U,2)<53!($PIECE(ABM("C5"),U,2)>57)
SET DR=".52///@"
DO ^DIE
SET DR=".52T~R"
DO ^DIE
GOTO E2
+13 IF ABMP("FLDS")[3
IF ABMP("FLDS")'[5
IF $PIECE(ABM("C5"),U,2)>52
IF $PIECE(ABM("C5"),U,2)<58
SET DR=".52///@;.525///@"
DO ^DIE
SET DR=".52T~R"
DO ^DIE
+14 ;
E2 KILL ABMP("FLDS")
+1 GOTO OPT
+2 ;
1 ;;.61T
2 ;;.62T
3 ;;.51T;S:$G(X)'=85 Y="@1";.525T;@1
4 ;;.52T
5 ;;.59T
6 ;;.63T
7 ;;.64T
8 ;;.53T
9 ;;.71[9] Service From Date.......: "
10 ;;.72[10] Service Thru Date......: "
11 ;;.73[11] Covered Days...........: "
12 ;;.66[12] Non Covered Days.......: "
13 ;;.512[13] Prior Authorization No: "
14 ;;.57[14] Professional Comp Days.: "
16 ;;.67T
17 ;;.68T
+1 ;
XIT KILL ABM,ABME
+1 QUIT
+2 ;
INP ;EP for Prof Comp Days Input Transform
+1 IF '$DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),5))!'$DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),7))
QUIT
+2 IF $PIECE(^ABMDCLM(DUZ(2),ABMP("CDFN"),7),U)=$PIECE(^ABMDCLM(DUZ(2),ABMP("CDFN"),7),U,2)
IF X>1
KILL X
QUIT
+3 IF X>($PIECE(^ABMDCLM(DUZ(2),ABMP("CDFN"),7),U,3)+1)
KILL X
+4 QUIT