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

ACHSDNRC.m

Go to the documentation of this file.
  1. ACHSDNRC ; IHS/OIT/FCJ - DENIAL REPORT FOR CARE NOT W/IN MED PRIORITY ; [ 10/31/2003 11:43 AM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**25**;JUNE 11, 2001;Build 43
  1. ;;ACHS*3.1*25 NEW ROUTINE
  1. ;
  1. A2 ;
  1. W !!,"Enter the BEGINNING DATE for this report: " D READ^ACHSFU G EXT:$D(DUOUT)!$D(DTOUT) S:Y?1"?".E Y="?" I $E(Y)="A"!(Y="")
  1. S X=Y,%DT="XEP" D ^%DT G A2:Y<1 S ACHSBDT=Y I Y>DT D FUDT^ACHS G A2
  1. ;
  1. A3 ;
  1. W !!,"Enter the ENDING DATE for this report: " D READ^ACHSFU G EXT:$D(DTOUT)!(Y="") G A2:$D(DUOUT) S:Y?1"?".E Y="?" S X=Y,%DT="XEP" D ^%DT G A3:Y<1 S ACHSEDT=Y I Y>DT D FUDT^ACHS G A3
  1. I ACHSEDT<ACHSBDT W !!,*7,"The END is before the BEGINNING." G A2
  1. ;
  1. ;
  1. DEV ;
  1. S ACHSIO=IO
  1. S %ZIS="OPQ" D ^%ZIS I POP D HOME^%ZIS G END
  1. G:'$D(IO("Q")) START K IO("Q") I $D(IO("S"))!($E(IOST)'="P") W *7,!,"Please queue to system printers." D ^%ZISC G DEV
  1. X ^%ZOSF("UCI") S ZTRTN="START^ACHSDNI",ZTUCI=Y,ZTDESC="CHS Denial Documents"_$E(ACHSBDT,2,7)_" to "_$E(ACHSEDT,2,7) F ACHS="ACHSBDT","ACHSEDT","DUZ(2)" S ZTSAVE(ACHS)=""
  1. D ^%ZTLOAD G:'$D(ZTSK) DEV
  1. K ZTSK
  1. G END
  1. ;
  1. START ; EP - TaskMan.
  1. S ACHSISU=ACHSBDT-1,Y=ACHSBDT X ^DD("DD") S ACHS("BDT")=Y,Y=ACHSEDT X ^DD("DD") S ACHS("EDT")=Y,(ACHSTOT("$"),ACHSTOT)=0
  1. S ACHST1=$$C^XBFUNC("For the period "_ACHS("BDT")_" through "_ACHS("EDT"),80)
  1. D BRPT^ACHSFU
  1. D HDR
  1. ;
  1. LOOP ;
  1. K DUOUT,DTOUT
  1. F S ACHSISU=$O(^ACHSDEN(DUZ(2),"D","AISSUE",ACHSISU)) Q:+ACHSISU=0!(ACHSISU>ACHSEDT) D Q:$D(DUOUT)!$D(DTOUT)
  1. .S ND="" F S ND=$O(^ACHSDEN(DUZ(2),"D","AISSUE",ACHSISU,ND)) Q:ND="" D Q:$D(DUOUT)!$D(DTOUT)
  1. ..S ACHS(0)=$G(^ACHSDEN(DUZ(2),"D",ND,0)),FLG=0,ACHSREA=""
  1. ..Q:ACHS(0)=""
  1. ..Q:'$D(^ACHSDEN(DUZ(2),"D",ND,250))
  1. ..I $P(ACHS(0),U,6)="N" Q:$P($G(^ACHSDEN(DUZ(2),"D",ND,10)),U)="" S ACHSNAME=$P(^ACHSDEN(DUZ(2),"D",ND,10),U)
  1. ..I $P(ACHS(0),U,6)="Y" Q:$P(ACHS(0),U,7)="" S ACHSNAME=$P($G(^DPT($P(ACHS(0),U,7),0)),U) Q:ACHSNAME=""
  1. ..;TEST FOR REASON AND REASON OPTION...
  1. ..S ACHSREA=DUZ(2)_","_ND
  1. ..I $$VAL^XBDIQ1(9002071.01,ACHSREA,250)["Care" S FLG=1
  1. ..I FLG=0,$$VAL^XBDIQ1(9002071.01,ACHSREA,250)["Medical",$$VAL^XBDIQ1(9002071.01,ACHSREA,252)["Not" S FLG=1
  1. ..Q:'FLG
  1. ..K ACHSICD S ACHSICD=0,INDX=0,ACHSICD(1)=""
  1. ..I $D(^ACHSDEN(DUZ(2),"D",ND,500)) F S ACHSICD=$O(^ACHSDEN(DUZ(2),"D",ND,500,ACHSICD)) Q:ACHSICD'?1N.N D
  1. ...S INDX=INDX+1,ACHSIDX=DUZ(2)_","_ND_","_ACHSICD
  1. ...S ACHSICD(INDX)=$$VAL^XBDIQ1(9002071.05,ACHSIDX,.01) ;ICD CODE
  1. ..S ACHS("$")=+$P(^ACHSDEN(DUZ(2),"D",ND,100),U,9) ;ACTUAL CHARGES
  1. ..S Y=ACHSISU X ^DD("DD") W Y,?14,$P(ACHS(0),U),?30,ACHSICD(1),?50 S X=ACHS("$"),X2=2,X3=12 D FMT^ACHS W !
  1. ..I INDX>1 F L=2:1:INDX W ?30,ACHSICD(L),! I $Y>ACHSBM D RTRN^ACHS Q:$D(DUOUT)!$D(DTOUT) D HDR
  1. ..I $Y>ACHSBM D RTRN^ACHS Q:$D(DUOUT)!$D(DTOUT) D HDR
  1. ..S ACHSTOT=ACHSTOT+1,ACHSTOT("$")=ACHSTOT("$")+ACHS("$")
  1. ;
  1. END ;
  1. S X=ACHSTOT("$"),X2="2$",X3=16 D COMMA^%DTC W !,ACHS("="),!,"TOTALS FOR THIS REPORT: ",ACHSTOT," DENIAL",$S(ACHSTOT=1:"",1:"S"),?61,X D RTRN^ACHS W @IOF
  1. ;
  1. EXT ;
  1. K ACHSISU,ACHSNAME,ACHSTOT,ND,L,ACHSICD,ACHSIDX,ACHSREA
  1. D ERPT^ACHS
  1. Q
  1. ;
  1. HDR ; Print header.
  1. S ACHSPG=ACHSPG+1
  1. W @IOF,!!,$$C^XBFUNC("*** CONTRACT HEALTH CARE SYSTEM REPORT ***",80),!!
  1. W ACHSLOC,!,$$C^XBFUNC("DENIAL REASON FOR CARE NOT",80),?71,"Page",$J(ACHSPG,3),!,$$C^XBFUNC("WITHIN MEDICAL PRIORITY",80)
  1. W !,ACHSTIME,!!,ACHST1,!!,"ISSUE DATE",?14,"DENIAL #",?27,"ICD-DIAGNOSIS",?50,"ACTUAL CHARGES",!,ACHS("="),!
  1. Q