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

APCDCAFV.m

Go to the documentation of this file.
  1. APCDCAFV ; IHS/CMI/LAB - CODING QUEUE ROUTINE 16-AUG-1994 ;
  1. ;;2.0;IHS PCC SUITE;**2,8,11,15**;MAY 14, 2009;Build 11
  1. ;; ;
  1. ;
  1. PROCESS ;EP
  1. S APCDJ=$J,APCDH=$H,APCDGRTA=0,APCDGRTP=0
  1. S ^XTMP("APCDCAFT",0)=$$FMADD^XLFDT(DT,14)_"^"_DT_"^"_"PCC UNREVIEWED REPORT"
  1. S APCDODAT=$P(APCDBD,".")-1,APCDODAT=APCDODAT_".9999"
  1. S (APCDRCNT,APCDVIEN)=0 F S APCDODAT=$O(^AUPNVSIT("B",APCDODAT)) Q:APCDODAT=""!($P(APCDODAT,".")>$P(APCDED,".")) D
  1. .S APCDVIEN=0 F S APCDVIEN=$O(^AUPNVSIT("B",APCDODAT,APCDVIEN)) Q:APCDVIEN'=+APCDVIEN D
  1. ..S APCDV0=$G(^AUPNVSIT(APCDVIEN,0))
  1. ..Q:APCDV0=""
  1. ..I $P(APCDV0,U,7)="I",'$D(^APCDSITE(DUZ(2),13,"B","I")) G N
  1. ..;Q:"AOSTCRN"'[$P(APCDV0,U,7) ;SERV CAT -LORI CHANGE THIS
  1. ..Q:'$$SCW^APCDCAF($P(APCDV0,U,7))
  1. N ..;
  1. ..Q:'$P(APCDV0,U,9) ;NO DEP ENTRIES
  1. ..Q:$P(APCDV0,U,11) ;DELETED
  1. ..Q:$P(APCDV0,U,3)="C" ;CONTRACT
  1. ..;Q:'$D(^AUPNVPOV("AD",APCDVIEN)) ;no pov PER CAROLYN JOHNSON, INCLUDE THEM
  1. ..;Q:'$D(^AUPNVPRV("AD",APCDVIEN)) ;no provider
  1. ..S APCDVPP=$$PRIMPROV^APCLV(APCDVIEN,"I")
  1. ..;Q:'APCDVPP ;no primary provider
  1. ..S APCDVLOC=$P(APCDV0,U,6)
  1. ..Q:APCDVLOC="" ;no location of encounter
  1. ..I $D(APCDLOCS),'$D(APCDLOCS(APCDVLOC)) Q ;not a location we want
  1. ..S APCDVCLN=$P(APCDV0,U,8)
  1. ..I APCDVCLN="",$D(APCDCLNS) Q ;clinic blank and want certain clinics
  1. ..I $D(APCDCLNS),'$D(APCDCLNS(APCDVCLN)) Q ;not a CLINIC we want
  1. ..S APCDVHL=$P(APCDV0,U,22)
  1. ..I APCDVHL="",$D(APCDHLS) Q ;HOSP LOC blank and want certain HOSP LOCS
  1. ..I $D(APCDHLS),'$D(APCDHLS(APCDVHL)) Q ;not a HOSP LOC we want
  1. ..I APCDVPP="",$D(APCDPRVS) Q ;PRIM PROV blank and want certain PRIM PROVS
  1. ..I $D(APCDPRVS),'$D(APCDPRVS(APCDVPP)) Q ;not a PRIM PROV we want
  1. ..S APCDVCAS=$P($G(^AUPNVSIT(APCDVIEN,11)),U,11)
  1. ..I APCDVCAS="R" Q ;DON'T DISPLAY REVIEWED VISITS
  1. ..;I $D(APCDCASS),'$D(APCDCASS(APCDVCAS)) Q
  1. ..;S APCDVCDR=$$LASTCDR(APCDVIEN) ;last chart deficiency reason
  1. ..;I APCDVCDR="",$D(APCDCDRS) Q ;
  1. ..;I $D(APCDCDRS),'$D(APCDCDRS(APCDVCDR)) Q
  1. ..K APCDVCDR D GETVCDR^APCDCAFS(APCDVIEN,"APCDVCDR") ;GET ALL PENDING REASONS
  1. ..I '$D(APCDVCDR),$D(APCDCDRS) Q ;
  1. ..S G=0 I $D(APCDCDRS) D
  1. ...S X=0 F S X=$O(APCDVCDR(X)) Q:X'=+X I $D(APCDCDRS(X)) S G=1
  1. ..I $D(APCDCDRS),'G Q
  1. ..S $P(^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS",$P($P(^AUPNVSIT(APCDVIEN,0),U),"."),$P(^AUPNVSIT(APCDVIEN,0),U,7)),U,1)=$P($G(^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS",$P($P(^AUPNVSIT(APCDVIEN,0),U),"."),$P(^AUPNVSIT(APCDVIEN,0),U,7))),U,1)+1
  1. ..S APCDGRTA=APCDGRTA+1
  1. ..I 'APCDVPP D
  1. ...S $P(^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS",$P($P(^AUPNVSIT(APCDVIEN,0),U),"."),$P(^AUPNVSIT(APCDVIEN,0),U,7)),U,2)=$P($G(^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS",$P($P(^AUPNVSIT(APCDVIEN,0),U),"."),$P(^AUPNVSIT(APCDVIEN,0),U,7))),U,2)+1
  1. ...S APCDGRTP=APCDGRTP+1
  1. ..Q
  1. .Q
  1. Q
  1. ;
  1. DATE(D) ;
  1. NEW X,Y
  1. S X=$P(D,".")
  1. S X=$E(D,4,5)_"/"_$E(D,6,7)_"/"_$E(D,2,3)
  1. S Y=$$FMTE^XLFDT(D,"2S"),Y=$P(Y,"@",2),Y=$P(Y,":",1,2)
  1. Q X_"@"_Y
  1. ;
  1. ERRORCHK ;
  1. ;check for no pov, .9999 or multiple primary providers
  1. S APCDERR=""
  1. I '$D(^AUPNVPOV("AD",APCDV)) S APCDERR="NO POV"
  1. S X=0 F S X=$O(^AUPNVPOV("AD",APCDV,X)) Q:X'=+X D
  1. .I $$VAL^XBDIQ1(9000010.07,X,.01)=".9999" S APCDERR=".9999 POV " Q
  1. .I $$VAL^XBDIQ1(9000010.07,X,.01)="ZZZ.999" S APCDERR="ZZZ.999 POV "
  1. S X=0,C=0 F S X=$O(^AUPNVPRV("AD",APCDV,X)) Q:X'=+X D
  1. .I $P(^AUPNVPRV(X,0),U,4)="P" S C=C+1
  1. I C>1 S APCDERR=APCDERR_"MULT PRIM PROV"
  1. Q
  1. RBLK(V,L) ;left blank fill
  1. NEW %,I
  1. S %=$L(V),Z=L-% F I=1:1:Z S V=V_" "
  1. Q V
  1. LBLK(V,L) ;left blank fill
  1. NEW %,I
  1. S %=$L(V),Z=L-% F I=1:1:Z S V=" "_V
  1. Q V
  1. ;
  1. LASTCDR(V,F) ;EP - get last chart deficiency reason
  1. I $G(F)="" S F="I" ;default to ien
  1. I '$D(^AUPNVCA("AD",V)) Q ""
  1. NEW X,A,D,L
  1. S X=0 F S X=$O(^AUPNVCA("AD",V,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVCA(X,0))
  1. .S D=$P(^AUPNVCA(X,0),U)
  1. .S A((9999999-$P(D,".")))=X
  1. S L=$O(A(0)) I L="" Q ""
  1. S L=A(L)
  1. Q $S(F="I":$P(^AUPNVCA(L,0),U,6),1:$$VAL^XBDIQ1(9000010.45,L,.06))
  1. ;
  1. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. ;Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
  1. NEW DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. S DIR("A")="Press Enter to Continue",DIR(0)="E" D ^DIR
  1. Q
  1. ;----------
  1. PRINT ;EP - called from xbdbque
  1. S APCD80S="-------------------------------------------------------------------------------"
  1. S Y=APCDBD D DD^%DT S APCDBDD=Y S Y=APCDED D DD^%DT S APCDEDD=Y
  1. S APCDPG=0
  1. K APCDQUIT
  1. D COVPAGE
  1. D PRINT1
  1. DONE I $D(APCDET) S APCDDVTS=(86400*($P(APCDET,",")-$P(APCDBT,",")))+($P(APCDET,",",2)-$P(APCDBT,",",2)),APCDDVH=$P(APCDDVTS/3600,".") S:APCDDVH="" APCDDVH=0
  1. S APCDDVTS=APCDDVTS-(APCDDVH*3600),APCDDVM=$P(APCDDVTS/60,".") S:APCDDVM="" APCDDVM=0 S APCDDVTS=APCDDVTS-(APCDDVM*60),APCDDVS=APCDDVTS W !!,"RUN TIME (H.M.S): ",APCDDVH,".",APCDDVM,".",APCDDVS
  1. I $E(IOST)="C",IO=IO(0) S DIR(0)="E" D ^DIR K DIR
  1. W:$D(IOF) @IOF
  1. XIT ; Clean up and exit
  1. K ^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS")
  1. D EN^XBVK("APCD")
  1. Q
  1. PRINT1 ; Print report 2
  1. I $Y>(IOSL-3) D HEAD I 1
  1. E D H1
  1. I '$D(^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS")) W !!,"There are no visits that are not already reviewed." Q
  1. S APCDS="" F S APCDS=$O(^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS",APCDS)) Q:APCDS=""!($D(APCDQUIT)) D
  1. .S APCDFRO=1 S APCDV="" F S APCDV=$O(^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS",APCDS,APCDV)) Q:APCDV=""!($D(APCDQUIT)) D
  1. ..I $Y>(IOSL-5) D HEAD Q:$D(APCDQUIT)
  1. ..D PRN1 S APCDFRO=""
  1. .S APCDFRO=""
  1. TOTALS ;
  1. Q:$D(APCDQUIT)
  1. I $Y>(IOSL-3) D HEAD Q:$D(APCDQUIT)
  1. W !!,"Totals:",?35,APCDGRTA,?60,APCDGRTP
  1. Q
  1. PRN1 ;EP
  1. S APCDX=^XTMP("APCDCAFT",APCDJ,APCDH,"VISITS",APCDS,APCDV)
  1. W ! W:APCDFRO $$FMTE^XLFDT(APCDS) W ?19,$E($$EXTSET^XBFUNC(9000010,.07,APCDV),1,12),?35,$P(APCDX,U,1),?60,$P(APCDX,U,2)
  1. ;
  1. Q
  1. I 'APCDPG G HEAD1
  1. HEAD2 I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S APCDQUIT="" Q
  1. HEAD1 ;
  1. W:$D(IOF) @IOF S APCDPG=APCDPG+1
  1. W !,$$FMTE^XLFDT(DT),?70,"Page: ",APCDPG
  1. W !?29,"PCC Data Entry Module"
  1. W !,$$CTR("******************************************************************",80)
  1. W !,$$CTR("* COUNT OF VISITS WITH CHART AUDIT STATUS OF INCOMPLETE/BLANK *",80)
  1. W !,$$CTR("******************************************************************",80)
  1. H1 S X="VISIT Date Range: "_APCDBDD_" through "_APCDEDD W !,$$CTR(X,80)
  1. W !!,"VISIT DATE",?19,"SERV CAT",?35,"# UNREVIEWED VISITS",?60,"# W/NO PROV",!,?60,"(ANCILLARY)"
  1. W !,APCD80S
  1. Q
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
  1. ;----------
  1. COVPAGE ;
  1. W !,$$FMTE^XLFDT(DT),?70,"Page: ",APCDPG
  1. W !?29,"PCC Data Entry Module"
  1. W !,$$CTR("******************************************************************",80)
  1. W !,$$CTR("* COUNT OF VISITS WITH CHART AUDIT STATUS OF INCOMPLETE/BLANK *",80)
  1. W !,$$CTR("******************************************************************",80)
  1. W !!,$$CTR("VISIT LIST CRITERIA",80)
  1. W !!,"VISIT DATES: ",$$FMTE^XLFDT(APCDBD)," to ",$$FMTE^XLFDT(APCDED)
  1. ;W !,"SERVICE CATEGORY: A, O, S, C, T, M"
  1. W !,"SERVICE CATEGORY: "
  1. S X=$P(^DD(9000010,.07,0),U,3),D=""
  1. F Y=1:1 S J=$P(X,";",Y) Q:J="" D
  1. .S C=$P(J,":")
  1. .Q:'$$SCW^APCDCAF(C)
  1. .S:D]"" D=D_", "
  1. .S D=D_C
  1. W D
  1. W !,"VISIT TYPE: NOT Contract"
  1. W !!,"LOCATION OF ENCOUNTER: " D
  1. .I '$D(APCLLOCS) W "All" Q
  1. .S Y=0,C=0 F S Y=$O(APCDLOCS(Y)) Q:Y'=+Y S C=C+1 W:C>1 ";" W ?24,$E($P(^DIC(4,Y,0),U),1,15)
  1. W !!,"CLINICS: " D
  1. .I '$D(APCLCLNS) W "All" Q
  1. .S Y=0,C=0 F S Y=$O(APCDCLNS(Y)) Q:Y'=+Y S C=C+1 W:C>1 ";" W ?24,$E($P(^DIC(40.7,Y,0),U),1,15)
  1. W !!,"HOSPITAL LOCATIONS: " D
  1. .I '$D(APCLHLS) W "All" Q
  1. .S Y=0,C=0 F S Y=$O(APCDHLS(Y)) Q:Y'=+Y S C=C+1 W:C>1 ";" W ?24,$E($P(^SC(Y,0),U),1,15)
  1. W !!,"PRIMARY PROVIDER ON VISIT: " D
  1. .I '$D(APCLPRV) W "All" Q
  1. .S Y=0,C=0 F S Y=$O(APCDPRVS(Y)) Q:Y'=+Y S C=C+1 W:C>1 ";" W ?24,$E($P(^VA(200,Y,0),U),1,15)
  1. ;W !!,"CHART AUDIT STATUS: " D
  1. ;.I '$D(APCDCASS) W "All" Q
  1. ;.S Y=0,C=0 F S Y=$O(APCDCASS(Y)) Q:Y'=+Y S C=C+1 W:C>1 ";" W ?24,$$EXTSET^XBFUNC(9000010.45,Y,.04)
  1. W !!,"CHART DEFICIENCY REASONS: " D
  1. .I '$D(APCLCDRS) W "All (includes visits with no chart deficiency reason entered" Q
  1. .S Y=0,C=0 F S Y=$O(APCDCDRS(Y)) Q:Y'=+Y S C=C+1 W:C>1 ";" W ?24,$E($P(^AUTTCDR(Y,0),U),1,15)
  1. Q