ACHSDADP ; IHS/ITSC/JVK - DENIAL APPEAL DISPLAY/EDIT; [ 09/21/2006 3:05 PM ]
;;3.1;CONTRACT HEALTH MGMT SYSTEM;**6,13**;JUNE 11, 2001
;ACHS*3.1.* 7/1/2003 NEW ROUTINE TO ENTER APPEAL STATUS
;AND APPEAL LEVEL
;ACHS*3.1*13 9.8.06 IHS/OIT/FCJ MISSING Q, SCREEN NOT UPDATING, ADDED
; INTERFACE TO RCIS REFERRAL
;
K DFN S ACHDOCT="denial"
D ^ACHSDLK
I $D(ACHDLKER) D RTRN^ACHS Q
S DA=ACHSA
TOF ;
Q:'$D(ACHSA)
Q:'$D(^ACHSDEN(DUZ(2),"D",ACHSA,0))
W @IOF
DSP ; --- Display
D VIDEO^ACHS
S:'$D(IORVON) IORVON=""
S:'$D(IORVOFF) IORVOFF=""
D HDR,P1
G:'$D(DUOUT) TOF
END ;
K ACHSI,ACHSJ,ACHSPRNF,ACHSPROF,ACHSMPRI
Q
;
HDR ;
S ACHDPAT=$S($$DN^ACHS(0,7):$P($G(^DPT($$DN^ACHS(0,7),0)),U),1:$$DN^ACHS(10,1))
W IORVON,!?79,!,"CHS DENIAL DISPLAY",?25,"PATIENT: ",$E(ACHDPAT,1,25),?62,"CHART#: "
I $$DN^ACHS(0,6)="Y",$$DN^ACHS(0,7),$G(^AUPNPAT($$DN^ACHS(0,7),41,DUZ(2),0)) W $P($G(^AUPNPAT($$DN^ACHS(0,7),41,DUZ(2),0)),U,2)
E W "NONE"
W !?79,IORVOFF,!,$$REPEAT^XLFSTR("=",79),!
Q
;
P1 ; --- Display Page 1
W IORVOFF
S STATUS=$$DN^ACHS(0,8)
W "DENIAL NO: ",$$DN^ACHS(0,1),?45,"DENIAL STATUS: ",$S(STATUS="":"Active",STATUS="Y":"Canceled",STATUS="R":"Reversed"),!
W "DATE ISSUED: ",$$FMTE^XLFDT($$DN^ACHS(0,2))
W ?45,"ISSUED BY: ",$E($P($G(^VA(200,$$DN^ACHS(0,3),0)),U),1,25)
W !!,"1. DATE MED SVC: ",$$FMTE^XLFDT($$DN^ACHS(0,4))
W ?43,"2. DATE OF REQUEST: ",$$FMTE^XLFDT($$DN^ACHS(0,5))
;ITSC/SET/JVK ACHS*3.1*6 MEDICAL PRIORITY ORIGNALLY NOT REQUIRED FIELD
S ACHSMPRI=$$DN^ACHS(400,2)
;W !,"3. MEDICAL PRIORITY: ",$P($G(^ACHSMPRI($$DN^ACHS(400,2),0)),U)
W !,"3. MEDICAL PRIORITY: ",$S(ACHSMPRI'="":$P($G(^ACHSMPRI($$DN^ACHS(400,2),0)),U),ACHSMPRI="":"NONE SET")
S %=$$DN^ACHS(100,10)
;
W !,"4. VISIT TYPE: ",$S(%="O":"OUTPATIENT",%="I":"INPATIENT",%="A":"AMBULANCE",%="P":"PATIENT ESCORT",%="D":"DENTAL",1:"UNKNOWN")
;
W !!,"5. PRIMARY PROVIDER: ",?25,$S($$DN^ACHS(100,1)="Y":$P($G(^AUTTVNDR($$DN^ACHS(100,2),0)),U),1:$$DN^ACHS(100,3))
;
W !,"6. SECONDARY PROVIDERS: "
;--Other providers on file Node 200
S ACHSI=0
F ACHSJ=1:1:3 S ACHSI=$O(^ACHSDEN(DUZ(2),"D",ACHSA,200,ACHSI)) Q:ACHSI'?1N.N D
. S ACHSPROF(ACHSJ)=$P(^ACHSDEN(DUZ(2),"D",ACHSA,200,ACHSI,0),U)
. S ACHSPROF(ACHSJ)=$P(^AUTTVNDR(ACHSPROF(ACHSJ),0),U)
. W ?25,ACHSPROF(ACHSJ),!
;--Other providers not on file Node 210
S ACHSI=0
F ACHSJ=1:1:3 S ACHSI=$O(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHSI)) Q:ACHSI'?1N.N D
. S ACHSPRNF(ACHSJ)=$P(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHSI,0),U)
. W ?25,ACHSPRNF(ACHSJ),!
;
W !,"7. PRIMARY DENIAL REASON: " S %=$$DN^ACHS(250,1) I % W $P($G(^ACHSDENS(%,0)),U)
;
W !,"8. *OTHER RESOURCES: ",$S($P($G(^ACHSDEN(DUZ(2),"D",ACHSA,800,0)),U,4):"YES",1:"NONE")
;
W ?43,"9. *OTHER IHS RESOURCES: ",$S($P($G(^ACHSDEN(DUZ(2),"D",ACHSA,825,0)),U,4):"YES",1:"NONE")
;
S %=$$DN^ACHS(400,3)
W !,"10. APPEAL STATUS: ",IORVON,$S(%'="":$P($G(^ACHSDENA(%,0)),U),1:"NONE"),IORVOFF
S %=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,431,0)),U,4)
W ?42,"11. *APPEAL TRANSACTION RECORDS: ",$S(%'="":$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,431,0)),U,4),1:"NONE")
W !,"12. *CHS OFFICE COMMENTS: ",$S($D(^ACHSDEN(DUZ(2),"D",ACHSA,900,0)):"YES",1:"NONE")
;
W !?15,IORVON,"*",IORVOFF," - CHOOSE THESE FIELDS TO SEE FURTHER INFORMATION",!
;
S %=$$DIR^ACHS("LO^8:12","Enter Number Of Field To Edit or <RETURN> To Accept","","","","")
;
I %="" S DUOUT=""
Q:$D(DUOUT)!$D(DTOUT)!'%
D @(+%)
Q
;
8 ; --- Other Resources
W !!
I '$$DIE(800) S DUOUT=""
Q
;
;'OTHER IHS RESOURCES'
9 ;
W !!
I '$$DIE(825) S DUOUT=""
Q
;
10 ;
;ITSC-SET-JVK 5/27/03 ACHS*3.1*6
;I '$$DIE(430) S DUOUT=""
W @IOF
W ?20,"APPEAL TRANSACTION MENU",!
I '$$DIE(431) S DUOUT=""
Q
11 ;
W @IOF
W ?20,"APPEAL TRANSACTION MENU",!
I '$$DIE(431) S DUOUT=""
Q
;
12 ;
W !!
I '$$DIE(900) S DUOUT=""
Q
;
DIE(DR) ; --- Edit appropriate fields in Denial
W !!
S DA=ACHSA
S DA(1)=DUZ(2)
S DIE="^ACHSDEN("_DUZ(2)_",""D"","
I '$$LOCK^ACHS("^ACHSDEN(DUZ(2),""D"",ACHSA)","+") Q 0
D ^DIE
;ACHS*3.1*13 8.31.06 IHS.OIT.FCJ ADDED CALL TO REF IN NXT LINE
I DR=431 D APPEAL,REF
I '$$LOCK^ACHS("^ACHSDEN(DUZ(2),""D"",ACHSA)","-") Q 0
Q 1
APPEAL ;--ENTER OR EDIT APPEAL TRANSACTIONS--
S ACHSTREC=$P(D,U,2)
S ACHSDREC=$P(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)
;S %=$$DIR^ACHS("Y","DO YOU WANT TO CHANGE THE DENIAL APPEAL STATUS","NO","By entering NO only the appeal status in the transaction record is changed.","","")
;I Y S $P(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)=ACHSTREC
;
;ITSC-SET-JVK 5/27/03 ACHS*3.1*6
I ACHSDREC="" S $P(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)=ACHSTREC
I ACHSTREC="" S $P(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)=""
I ACHSDREC'=ACHSTREC S $P(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)=ACHSTREC
S %=$$DN^ACHS(400,3)
I %="" S $P(ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)="" Q
I $$GET1^DIQ(9002074,%,.01,"I")="REVERSED AFTER APPEAL" S $P(^ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)="R"
I $$GET1^DIQ(9002074,%,.01,"I")="PAYED WITH ADDITIONAL MONEY" S $P(^ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)="R"
I $$GET1^DIQ(9002074,%,.01,"I")="APPEAL PENDING" S $P(^ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)=""
I $$GET1^DIQ(9002074,%,.01,"I")="UPHELD AFTER APPEAL" S $P(^ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)=""
Q ;ACHS*3.1*13 8.31.06 IHS.OIT.FCJ
;ACHS*3.1*13 8.31.06 IHS.OIT.FCJ ST OF CHANGES TO CALL INTERFACE W/RCIS
REF ;UPDATE REFERRAL IF DENIAL EXIST AND LINK IS ON
;GET REF IF DOES NOT EXIST WRITE ERROR MESSAGE WITH A RET TO CONT
I $$LINK^ACHSBMC D
.S ACHSREC=""
.S ACHSREC=^ACHSDEN(DUZ(2),"D",ACHSA,431,D1,0) D APPEAL^ACHSBMC
.K ACHSREC
Q
;ACHS*3.1*13 8.31.06 IHS.OIT.FCJ END OF CHANGES
ACHSDADP ; IHS/ITSC/JVK - DENIAL APPEAL DISPLAY/EDIT; [ 09/21/2006 3:05 PM ]
+1 ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**6,13**;JUNE 11, 2001
+2 ;ACHS*3.1.* 7/1/2003 NEW ROUTINE TO ENTER APPEAL STATUS
+3 ;AND APPEAL LEVEL
+4 ;ACHS*3.1*13 9.8.06 IHS/OIT/FCJ MISSING Q, SCREEN NOT UPDATING, ADDED
+5 ; INTERFACE TO RCIS REFERRAL
+6 ;
+7 KILL DFN
SET ACHDOCT="denial"
+8 DO ^ACHSDLK
+9 IF $DATA(ACHDLKER)
DO RTRN^ACHS
QUIT
+10 SET DA=ACHSA
TOF ;
+1 IF '$DATA(ACHSA)
QUIT
+2 IF '$DATA(^ACHSDEN(DUZ(2),"D",ACHSA,0))
QUIT
+3 WRITE @IOF
DSP ; --- Display
+1 DO VIDEO^ACHS
+2 IF '$DATA(IORVON)
SET IORVON=""
+3 IF '$DATA(IORVOFF)
SET IORVOFF=""
+4 DO HDR
DO P1
+5 IF '$DATA(DUOUT)
GOTO TOF
END ;
+1 KILL ACHSI,ACHSJ,ACHSPRNF,ACHSPROF,ACHSMPRI
+2 QUIT
+3 ;
HDR ;
+1 SET ACHDPAT=$SELECT($$DN^ACHS(0,7):$PIECE($GET(^DPT($$DN^ACHS(0,7),0)),U),1:$$DN^ACHS(10,1))
+2 WRITE IORVON,!?79,!,"CHS DENIAL DISPLAY",?25,"PATIENT: ",$EXTRACT(ACHDPAT,1,25),?62,"CHART#: "
+3 IF $$DN^ACHS(0,6)="Y"
IF $$DN^ACHS(0,7)
IF $GET(^AUPNPAT($$DN^ACHS(0,7),41,DUZ(2),0))
WRITE $PIECE($GET(^AUPNPAT($$DN^ACHS(0,7),41,DUZ(2),0)),U,2)
+4 IF '$TEST
WRITE "NONE"
+5 WRITE !?79,IORVOFF,!,$$REPEAT^XLFSTR("=",79),!
+6 QUIT
+7 ;
P1 ; --- Display Page 1
+1 WRITE IORVOFF
+2 SET STATUS=$$DN^ACHS(0,8)
+3 WRITE "DENIAL NO: ",$$DN^ACHS(0,1),?45,"DENIAL STATUS: ",$SELECT(STATUS="":"Active",STATUS="Y":"Canceled",STATUS="R":"Reversed"),!
+4 WRITE "DATE ISSUED: ",$$FMTE^XLFDT($$DN^ACHS(0,2))
+5 WRITE ?45,"ISSUED BY: ",$EXTRACT($PIECE($GET(^VA(200,$$DN^ACHS(0,3),0)),U),1,25)
+6 WRITE !!,"1. DATE MED SVC: ",$$FMTE^XLFDT($$DN^ACHS(0,4))
+7 WRITE ?43,"2. DATE OF REQUEST: ",$$FMTE^XLFDT($$DN^ACHS(0,5))
+8 ;ITSC/SET/JVK ACHS*3.1*6 MEDICAL PRIORITY ORIGNALLY NOT REQUIRED FIELD
+9 SET ACHSMPRI=$$DN^ACHS(400,2)
+10 ;W !,"3. MEDICAL PRIORITY: ",$P($G(^ACHSMPRI($$DN^ACHS(400,2),0)),U)
+11 WRITE !,"3. MEDICAL PRIORITY: ",$SELECT(ACHSMPRI'="":$PIECE($GET(^ACHSMPRI($$DN^ACHS(400,2),0)),U),ACHSMPRI="":"NONE SET")
+12 SET %=$$DN^ACHS(100,10)
+13 ;
+14 WRITE !,"4. VISIT TYPE: ",$SELECT(%="O":"OUTPATIENT",%="I":"INPATIENT",%="A":"AMBULANCE",%="P":"PATIENT ESCORT",%="D":"DENTAL",1:"UNKNOWN")
+15 ;
+16 WRITE !!,"5. PRIMARY PROVIDER: ",?25,$SELECT($$DN^ACHS(100,1)="Y":$PIECE($GET(^AUTTVNDR($$DN^ACHS(100,2),0)),U),1:$$DN^ACHS(100,3))
+17 ;
+18 WRITE !,"6. SECONDARY PROVIDERS: "
+19 ;--Other providers on file Node 200
+20 SET ACHSI=0
+21 FOR ACHSJ=1:1:3
SET ACHSI=$ORDER(^ACHSDEN(DUZ(2),"D",ACHSA,200,ACHSI))
IF ACHSI'?1N.N
QUIT
Begin DoDot:1
+22 SET ACHSPROF(ACHSJ)=$PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,200,ACHSI,0),U)
+23 SET ACHSPROF(ACHSJ)=$PIECE(^AUTTVNDR(ACHSPROF(ACHSJ),0),U)
+24 WRITE ?25,ACHSPROF(ACHSJ),!
End DoDot:1
+25 ;--Other providers not on file Node 210
+26 SET ACHSI=0
+27 FOR ACHSJ=1:1:3
SET ACHSI=$ORDER(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHSI))
IF ACHSI'?1N.N
QUIT
Begin DoDot:1
+28 SET ACHSPRNF(ACHSJ)=$PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHSI,0),U)
+29 WRITE ?25,ACHSPRNF(ACHSJ),!
End DoDot:1
+30 ;
+31 WRITE !,"7. PRIMARY DENIAL REASON: "
SET %=$$DN^ACHS(250,1)
IF %
WRITE $PIECE($GET(^ACHSDENS(%,0)),U)
+32 ;
+33 WRITE !,"8. *OTHER RESOURCES: ",$SELECT($PIECE($GET(^ACHSDEN(DUZ(2),"D",ACHSA,800,0)),U,4):"YES",1:"NONE")
+34 ;
+35 WRITE ?43,"9. *OTHER IHS RESOURCES: ",$SELECT($PIECE($GET(^ACHSDEN(DUZ(2),"D",ACHSA,825,0)),U,4):"YES",1:"NONE")
+36 ;
+37 SET %=$$DN^ACHS(400,3)
+38 WRITE !,"10. APPEAL STATUS: ",IORVON,$SELECT(%'="":$PIECE($GET(^ACHSDENA(%,0)),U),1:"NONE"),IORVOFF
+39 SET %=$PIECE($GET(^ACHSDEN(DUZ(2),"D",ACHSA,431,0)),U,4)
+40 WRITE ?42,"11. *APPEAL TRANSACTION RECORDS: ",$SELECT(%'="":$PIECE($GET(^ACHSDEN(DUZ(2),"D",ACHSA,431,0)),U,4),1:"NONE")
+41 WRITE !,"12. *CHS OFFICE COMMENTS: ",$SELECT($DATA(^ACHSDEN(DUZ(2),"D",ACHSA,900,0)):"YES",1:"NONE")
+42 ;
+43 WRITE !?15,IORVON,"*",IORVOFF," - CHOOSE THESE FIELDS TO SEE FURTHER INFORMATION",!
+44 ;
+45 SET %=$$DIR^ACHS("LO^8:12","Enter Number Of Field To Edit or <RETURN> To Accept","","","","")
+46 ;
+47 IF %=""
SET DUOUT=""
+48 IF $DATA(DUOUT)!$DATA(DTOUT)!'%
QUIT
+49 DO @(+%)
+50 QUIT
+51 ;
8 ; --- Other Resources
+1 WRITE !!
+2 IF '$$DIE(800)
SET DUOUT=""
+3 QUIT
+4 ;
+5 ;'OTHER IHS RESOURCES'
9 ;
+1 WRITE !!
+2 IF '$$DIE(825)
SET DUOUT=""
+3 QUIT
+4 ;
10 ;
+1 ;ITSC-SET-JVK 5/27/03 ACHS*3.1*6
+2 ;I '$$DIE(430) S DUOUT=""
+3 WRITE @IOF
+4 WRITE ?20,"APPEAL TRANSACTION MENU",!
+5 IF '$$DIE(431)
SET DUOUT=""
+6 QUIT
11 ;
+1 WRITE @IOF
+2 WRITE ?20,"APPEAL TRANSACTION MENU",!
+3 IF '$$DIE(431)
SET DUOUT=""
+4 QUIT
+5 ;
12 ;
+1 WRITE !!
+2 IF '$$DIE(900)
SET DUOUT=""
+3 QUIT
+4 ;
DIE(DR) ; --- Edit appropriate fields in Denial
+1 WRITE !!
+2 SET DA=ACHSA
+3 SET DA(1)=DUZ(2)
+4 SET DIE="^ACHSDEN("_DUZ(2)_",""D"","
+5 IF '$$LOCK^ACHS("^ACHSDEN(DUZ(2),""D"",ACHSA)","+")
QUIT 0
+6 DO ^DIE
+7 ;ACHS*3.1*13 8.31.06 IHS.OIT.FCJ ADDED CALL TO REF IN NXT LINE
+8 IF DR=431
DO APPEAL
DO REF
+9 IF '$$LOCK^ACHS("^ACHSDEN(DUZ(2),""D"",ACHSA)","-")
QUIT 0
+10 QUIT 1
APPEAL ;--ENTER OR EDIT APPEAL TRANSACTIONS--
+1 SET ACHSTREC=$PIECE(D,U,2)
+2 SET ACHSDREC=$PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)
+3 ;S %=$$DIR^ACHS("Y","DO YOU WANT TO CHANGE THE DENIAL APPEAL STATUS","NO","By entering NO only the appeal status in the transaction record is changed.","","")
+4 ;I Y S $P(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)=ACHSTREC
+5 ;
+6 ;ITSC-SET-JVK 5/27/03 ACHS*3.1*6
+7 IF ACHSDREC=""
SET $PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)=ACHSTREC
+8 IF ACHSTREC=""
SET $PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)=""
+9 IF ACHSDREC'=ACHSTREC
SET $PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,400),U,3)=ACHSTREC
+10 SET %=$$DN^ACHS(400,3)
+11 IF %=""
SET $PIECE(ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)=""
QUIT
+12 IF $$GET1^DIQ(9002074,%,.01,"I")="REVERSED AFTER APPEAL"
SET $PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)="R"
+13 IF $$GET1^DIQ(9002074,%,.01,"I")="PAYED WITH ADDITIONAL MONEY"
SET $PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)="R"
+14 IF $$GET1^DIQ(9002074,%,.01,"I")="APPEAL PENDING"
SET $PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)=""
+15 IF $$GET1^DIQ(9002074,%,.01,"I")="UPHELD AFTER APPEAL"
SET $PIECE(^ACHSDEN(DUZ(2),"D",ACHSA,0),U,8)=""
+16 ;ACHS*3.1*13 8.31.06 IHS.OIT.FCJ
QUIT
+17 ;ACHS*3.1*13 8.31.06 IHS.OIT.FCJ ST OF CHANGES TO CALL INTERFACE W/RCIS
REF ;UPDATE REFERRAL IF DENIAL EXIST AND LINK IS ON
+1 ;GET REF IF DOES NOT EXIST WRITE ERROR MESSAGE WITH A RET TO CONT
+2 IF $$LINK^ACHSBMC
Begin DoDot:1
+3 SET ACHSREC=""
+4 SET ACHSREC=^ACHSDEN(DUZ(2),"D",ACHSA,431,D1,0)
DO APPEAL^ACHSBMC
+5 KILL ACHSREC
End DoDot:1
+6 QUIT
+7 ;ACHS*3.1*13 8.31.06 IHS.OIT.FCJ END OF CHANGES