Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IBTODD1

IBTODD1.m

Go to the documentation of this file.
  1. IBTODD1 ;ALB/AAS - CLAIMS TRACKING DENIED DAYS REPORT ; 27-OCT-93
  1. ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
  1. ;
  1. % I '$D(DT) D DT^DICRW
  1. PRINT ; -- print data
  1. ; -- ^tmp($j,"ibtodd",primary sort,secondary sort,ibtrc)=DFN ^ attending ^ treating specialty ^ service ^ billing bed section ^ billing rate
  1. ;
  1. K IBCNT
  1. I 'IBSUM D HDR
  1. I 'IBSUM,$O(^TMP($J,"IBTODD",""))="" W !!,"No Denials Found in Date Range." G PRINTQ
  1. ;
  1. S IBI="",IBISV=""
  1. F S IBI=$O(^TMP($J,"IBTODD",IBI)) Q:IBI=""!(IBQUIT) D
  1. .I IBSORT'="P",IBISV'=IBI D SUBT^IBTODD
  1. .S IBISV=IBI
  1. .D SUBH^IBTODD(IBI) S IBJ="" F S IBJ=$O(^TMP($J,"IBTODD",IBI,IBJ)) Q:IBJ=""!(IBQUIT) D
  1. ..S IBTRC=""
  1. ..F S IBTRC=$O(^TMP($J,"IBTODD",IBI,IBJ,IBTRC)) Q:IBTRC=""!(IBQUIT) S IBDATA=^(IBTRC) D ONE
  1. I 'IBSUM D SUBT^IBTODD
  1. D SUM
  1. ;
  1. PRINTQ Q
  1. ;
  1. ONE ; -- print one entry
  1. ; -- ^tmp($j,"ibtodd",primary sort,secondary sort,ibtrc)=DFN ^ attending ^ treating specialty ^ service ^ billing bed section ^ billing rate
  1. ;
  1. S IBAPL=$$APPEAL(IBTRC)
  1. D CNTS
  1. S IBTALL=+$P($G(^IBT(356.2,+IBTRC,1)),"^",7) ;entire admission denied
  1. Q:IBSUM
  1. ;
  1. I IOSL<($Y+4) D HDR
  1. S DFN=+IBDATA D PID^VADPT
  1. S IBTRCD=$G(^IBT(356.2,+IBTRC,0))
  1. L1 W !,$E($P(^DPT(DFN,0),"^"),1,22),?25,VA("PID")
  1. S IBCDT=$$CDT($P(IBTRCD,"^",2))
  1. W ?38,$$DAT1^IBOUTL(+IBCDT\1) W:$P(IBCDT,"^",2) " to"
  1. W ?50,$J($P(IBDATA,"^",2),8)
  1. I IBTALL W ?64,"ALL"
  1. I 'IBTALL W ?64,$$DAT1^IBOUTL($P(IBTRCD,"^",15),"2P") W:$P(IBTRCD,"^",16) " to"
  1. I IBTALL!('$P(IBTRCD,"^",16)) W " (",$P(IBDATA,"^",7),")"
  1. K IBDEN,IBC S IBDEN=0,IBC=0
  1. F S IBDEN=$O(^IBT(356.2,+IBTRC,12,IBDEN)) Q:'IBDEN S IBC=IBC+1,IBC(IBC)=^(IBDEN,0)
  1. W:$G(IBC(1)) ?78,$E($$EXPAND^IBTRE(356.212,.01,+IBC(1)),1,25)
  1. W ?110,$S(+$P(IBAPL,"^",2):"YES",1:"NO")
  1. W ?117,$J(+IBAPL,8)
  1. ;
  1. ;
  1. L2 W !?38,$$DAT1^IBOUTL($P(IBCDT,"^",2)\1,"2P")
  1. W ?64,$$DAT1^IBOUTL($P(IBTRCD,"^",16),"2P")
  1. I 'IBTALL,$P(IBTRCD,"^",16) W " (",$P(IBDATA,"^",7),")"
  1. W ?78,$E($$EXPAND^IBTRE(356.212,.01,$G(IBC(2))),1,25)
  1. ;
  1. I $O(IBC(2)) S IBDEN=2 F S IBDEN=$O(IBC(IBDEN)) Q:'IBDEN W !?78,$E($$EXPAND^IBTRE(356.212,.01,$G(IBC(IBDEN))),1,25)
  1. ONEQ W !
  1. Q
  1. ;
  1. SUM ; -- Print summary report
  1. Q:IBQUIT
  1. I $E(IOST,1,2)="C-",IBPAG D PAUSE^VALM1 I $D(DIRUT) S IBQUIT=1 Q
  1. I $E(IOST,1,2)="C-"!(IBPAG) W @IOF
  1. S IBPAG=IBPAG+1
  1. W !,"MCCR/UR DENIED DAYS Summary Report for Reviews Dated ",$$FMTE^XLFDT(IBBDT),$S(IBBDT'=IBEDT:" to "_$$FMTE^XLFDT(IBEDT),1:"")," "
  1. W ?(IOM-33),"Page ",IBPAG," ",IBHDT
  1. W !!,?35,"Number",?50,"Days",?65,"Amount",?80,"Days won",?100,"Maximum"
  1. W !,"Service",?35,"Denials",?50,"Denied",?65,"Denied",?80,"on Appeal",?100,"Billing Rate"
  1. W !,$TR($J(" ",IOM)," ","-")
  1. ;
  1. I $O(^TMP($J,"IBTODD",""))="" W !!,"No Denials Found in Date Range." G SUMQ
  1. ;
  1. S IBSERV="" F S IBSERV=$O(IBCNT(IBSERV)) Q:IBSERV="" D
  1. .W !,$$EXPAND^IBTRE(42.4,3,IBSERV)
  1. .W ?32,$J($P(IBCNT(IBSERV),"^",3),8)
  1. .W ?46,$J(+IBCNT(IBSERV),8)
  1. .S X=$P(IBCNT(IBSERV),"^",2),X2="0$" D COMMA^%DTC W ?60,X
  1. .W ?81,$J($P(IBCNT(IBSERV),"^",4),6)
  1. .S X=$P(IBCNT(IBSERV),"^",6),X2="0$" D COMMA^%DTC W ?95,X
  1. ;
  1. W !?48,"--------",!,?48,$J(IBTOTL,6)
  1. SUMQ ;
  1. Q
  1. ;
  1. CNTS ; -- develop summary data
  1. S IBSERV=$P(IBDATA,"^",4)
  1. I IBSERV="" S IBSERV="UNKNOWN"
  1. S:'$D(IBCNT(IBSERV)) IBCNT(IBSERV)=""
  1. S $P(IBCNT(IBSERV),"^")=$P(IBCNT(IBSERV),"^")+$P(IBDATA,"^",7)
  1. S $P(IBCNT(IBSERV),"^",2)=$P(IBCNT(IBSERV),"^",2)+($P(IBDATA,"^",7)*$P(IBDATA,"^",6))
  1. S $P(IBCNT(IBSERV),"^",3)=$P(IBCNT(IBSERV),"^",3)+1
  1. S $P(IBCNT(IBSERV),"^",4)=$P(IBCNT(IBSERV),"^",4)+$G(IBAPL)
  1. S:$P(IBCNT(IBSERV),"^",6)<$P(IBDATA,"^",6) $P(IBCNT(IBSERV),"^",6)=$P(IBDATA,"^",6)
  1. S IBSUBT=$G(IBSUBT)+$P(IBDATA,"^",7)
  1. S IBTOTL=$G(IBTOTL)+$P(IBDATA,"^",7)
  1. Q
  1. ;
  1. HDR ; -- Print header for billing report
  1. Q:IBQUIT
  1. I $E(IOST,1,2)="C-",IBPAG D PAUSE^VALM1 I $D(DIRUT) S IBQUIT=1 Q
  1. I $E(IOST,1,2)="C-"!(IBPAG) W @IOF
  1. S IBPAG=IBPAG+1
  1. W !,"MCCR/UR DENIED DAYS Report for Reviews Dated ",$$FMTE^XLFDT(IBBDT),$S(IBBDT'=IBEDT:" to "_$$FMTE^XLFDT(IBEDT),1:"")," "
  1. W ?(IOM-33),"Page ",IBPAG," ",IBHDT
  1. W !!,?38,"Dates of",?64,"Dates",?117,"Days Approved"
  1. W !,"Patient",?25,"Pt. ID",?38,"Care",?50,"Attending",?64,"Denied",?78,"Denial Reason",?105,"Appealed",?117,"on Appeal"
  1. W !,$TR($J(" ",IOM)," ","-")
  1. Q
  1. ;
  1. CDT(IBTRN) ; -- compute dates of care
  1. N X,Y S X=$G(^IBT(356,+IBTRN,0)),Y=""
  1. I $P(X,"^",5) S DGPM=$G(^DGPM($P(X,"^",5),0)) D
  1. .S Y=+DGPM
  1. .I $P(DGPM,"^",17) S Y=Y_"^"_+$G(^DGPM($P(DGPM,"^",17),0))
  1. I 'Y S Y=$P(X,"^",6)
  1. Q Y
  1. ;
  1. APPEAL(IBTRC) ; -- Find appeals
  1. N X,Y,IBAPEAL,IBTRN,IBTRSV S (Y,X)=0
  1. S IBTRSV=IBTRC
  1. S IBTRC=0 F S IBTRC=$O(^IBT(356.2,"AP",+IBTRSV,IBTRC)) Q:'IBTRC S Y=1,X=X+$$AP(IBTRC)
  1. ;
  1. Q X_"^"_Y
  1. ;
  1. AP(IBTRC) ; -- count days approved
  1. N X,Y,Z
  1. S (X,Z)=0
  1. F S X=$O(^IBT(356.2,+IBTRC,14,X)) Q:'X S Y=$G(^(X,0)),Z=Z+$$FMDIFF^XLFDT($P(Y,"^",2),+Y)+1
  1. Q Z