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

APCDDVW.m

Go to the documentation of this file.
  1. APCDDVW ; IHS/CMI/LAB - NO DESCRIPTION PROVIDED ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. START ;
  1. S APCDDT=$$FMTE^XLFDT(DT)
  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 @APCDT
  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 APCDDT,APCDLC,APCDV,APCDBS,APCDV2,APCDL,APCDECNT,APCDVR,APCDRD,DFN,APCDH,APCP,APCDFILE,APCDE,APCDPROC,APCD80S,APCDPG,APCDBDD,APCDEDD,APCDET,APCDQUIT,APCDDEM,APCDVFLE,APCDVDG,APCDVIGR,APCDVDFN,APCDDEMM
  1. K APCDDVS,APCDDVTS,Y,X,APCDDVM,APCDDVH
  1. Q
  1. ZERO ; Write zero dependent report
  1. D ZERO^APCDDVW1
  1. Q
  1. PPPV ; Print report 2
  1. D HEAD
  1. W !!,"TOTAL NUMBER OF ERRORS ON THIS PPPV REPORT: ",$G(APCDCNTR("PPPV")),!!
  1. I '$D(^XTMP("APCDDV",APCDJOB,APCDBT,"PPPV")) W !!,"There are no visits on or after ",$S(APCDPROC="P":"Posting",APCDPROC="V":"Visit",1:"Posting")," date " S Y=APCDBD D DT^DIO2 S Y="" W !,"with no Primary Provider and/or POV." Q
  1. S APCDCL=0 F S APCDCL=$O(^XTMP("APCDDV",APCDJOB,APCDBT,"PPPV",APCDCL)) Q:APCDCL'=+APCDCL!($D(APCDQUIT)) S APCDCLIN="" F S APCDCLIN=$O(^XTMP("APCDDV",APCDJOB,APCDBT,"PPPV",APCDCL,APCDCLIN)) Q:APCDCLIN=""!($D(APCDQUIT)) D
  1. .S APCDH="" F S APCDH=$O(^XTMP("APCDDV",APCDJOB,APCDBT,"PPPV",APCDCL,APCDCLIN,APCDH)) Q:APCDH=""!($D(APCDQUIT)) D
  1. ..S APCDV=0 F S APCDV=$O(^XTMP("APCDDV",APCDJOB,APCDBT,"PPPV",APCDCL,APCDCLIN,APCDH,APCDV)) Q:APCDV'=+APCDV!($D(APCDQUIT)) D:$Y>(IOSL-10) HEAD^APCDDVW Q:$D(APCDQUIT) D PRN1,DE,ER
  1. Q
  1. DE ;EP;FIND DEP ENTRIES
  1. W !?10,"This visit has: "
  1. S APCDVFLE=9000010 F S APCDVFLE=$O(^DIC(APCDVFLE)) Q:APCDVFLE>9000010.99!(APCDVFLE'=+APCDVFLE) D DE2
  1. Q
  1. ;
  1. DE2 ;
  1. S APCDVDG=^DIC(APCDVFLE,0,"GL"),APCDVIGR=APCDVDG_"""AD"",APCDV,APCDVDFN)"
  1. S APCDVDFN="" I $O(@APCDVIGR)]"" W ?27,$P($P(^DIC(APCDVFLE,0),U),"V ",2),"'s",!
  1. K APCDAPOV,APCDAPRV
  1. F APCDVI=1:1 S APCDVDFN=$O(@APCDVIGR) Q:APCDVDFN="" D
  1. .S APCDK12N=APCDVDG_APCDVDFN_",12)",APCDK12D=""
  1. .I $D(@(APCDK12N)) S APCDK12D=@(APCDK12N)
  1. .S APCDK16N="",APCDK16D="" I APCDVFLE=9000010.09 S APCDK16N=APCDVDG_APCDVDFN_",16)" I $D(@(APCDK16N)) S APCDK16D=@(APCDK16N)
  1. .I $P(APCDK16D,U)]"" S APCDAPOV($P(APCDK16D,U))=""
  1. .I $P(APCDK12D,U,13)]"" S APCDAPOV($P(APCDK12D,U,13))=""
  1. .I $P(APCDK12D,U,2)]"" S APCDAPRV($P(^DIC(APCDVFLE,0),U)_" - "_$P($G(^VA(200,$P(APCDK12D,U,2),0)),U))=""
  1. .I $P(APCDK12D,U,4)]"" S APCDAPRV($P(^DIC(APCDVFLE,0),U)_" - "_$P($G(^VA(200,$P(APCDK12D,U,4),0)),U))=""
  1. I $G(APCDDOPP) D
  1. .I $D(APCDAPRV) D
  1. ..W !,"Ordering Providers:",!
  1. ..S APCDX="" F S APCDX=$O(APCDAPRV(APCDX)) Q:APCDX=""!($D(APCDQUIT)) D
  1. ...D HEAD Q:$D(APCDQUIT)
  1. ...W ?3,APCDX,!
  1. I $G(APCDDLPV) D
  1. .I $D(APCDAPOV) D
  1. ..W !,"Lab Diagnoses: ",!
  1. ..S APCDX="" F S APCDX=$O(APCDAPOV(APCDX)) Q:APCDX=""!($D(APCDQUIT)) D
  1. ...D HEAD Q:$D(APCDQUIT)
  1. ...W ?3,APCDX,!
  1. Q
  1. ;
  1. MRG ;
  1. D MRG^APCDDVW1
  1. Q
  1. TXER ;
  1. D TXER^APCDDVW2
  1. Q
  1. ER ;
  1. S APCDV2=0 F S APCDV2=$O(^XTMP("APCDDV",APCDJOB,APCDBT,"PPPV",APCDCL,APCDCLIN,APCDH,APCDV,APCDV2)) Q:APCDV2=""!($D(APCDQUIT)) W:APCDV2>1 ! W ?5,^XTMP("APCDDV",APCDJOB,APCDBT,"PPPV",APCDCL,APCDCLIN,APCDH,APCDV,APCDV2)
  1. Q
  1. PRN1 ;EP
  1. S APCDVR=^AUPNVSIT(APCDV,0) S:'$P(APCDVR,U,6) $P(APCDVR,U,6)=0
  1. S DFN=$P(APCDVR,U,5)
  1. S Y=+APCDVR X ^DD("DD") S APCDRD=Y
  1. W !!," HRN FAC: [",$P(^AUTTLOC(APCDCL,0),U,7),"] HRN: [",APCDH,"] NAME: [",$P(^DPT(DFN,0),U),"]"
  1. W !," DATE: [",APCDRD,"] LOCATION: [",$S($D(^DIC(4,$P(APCDVR,U,6),0)):$P(^(0),U),1:"UNKNOWN"),"]"
  1. W !," SERVICE CATEGORY: [",$P(APCDVR,U,7),"] TYPE: [",$P(APCDVR,U,3),"] CLINIC: [",$S($P(APCDVR,U,8)]"":$P(^DIC(40.7,$P(APCDVR,U,8),0),U),1:"NONE"),"]"
  1. I $P($G(^AUPNVSIT(APCDV,12)),U,11)]"" W !," Ext Acct #: ",$P($G(^AUPNVSIT(APCDV,12)),U,11) ;IHS/CMI/LAB - added acct # display
  1. I APCDT'="PPPV",$P(APCDVR,U,9) W !," DEPENDENT ENTRIES: [",$P(APCDVR,U,9),"]" D DISPPP^APCDDVW1
  1. ;
  1. Q
  1. ;
  1. INPT ;
  1. D INPT^APCDDVW1
  1. Q
  1. ALL ;
  1. S APCDT="ZERO" D ZERO Q:$D(APCDQUIT)
  1. S APCDT="PPPV" D PPPV Q:$D(APCDQUIT)
  1. S APCDT="MRG" D MRG Q:$D(APCDQUIT)
  1. S APCDT="TXER" D TXER Q:$D(APCDQUIT)
  1. S APCDT="INPT" D INPT Q:$D(APCDQUIT)
  1. Q
  1. ;
  1. PPPVSUB W !,"THE FOLLOWING VISITS DO NOT HAVE EITHER A PRIMARY PROVIDER OR PURPOSE OF VISIT"
  1. Q
  1. ZEROSUB W !,"VISITS WITH A ZERO DEPENDENT ENTRY COUNT -- POTENTIAL DELETIONS"
  1. Q
  1. TXERSUB ;
  1. W !,"LIST OF VISITS WITH TRANSACTION ERRORS"
  1. I $D(APCDDEMM) W "----MANDATORY DEMOGRAPHIC DATA ITEMS",!,"*******MUST BE CORRECTED IN ORDER FOR DATA TO BE TRANSMITTED*******"
  1. I $D(APCDDEM) W "----DEMOGRAPHIC ERRORS (PAT REG)"
  1. Q
  1. MRGSUB ;
  1. W !,"MULTIPLE VISITS ON ONE DAY;POTENTIAL MERGES"
  1. Q
  1. INPTSUB ;
  1. W !,"VISITS WITH INPATIENT EDIT ERRORS"
  1. Q
  1. G:$D(APCDDEM)!($D(APCDDEMM)) HEAD2
  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 !,APCDDT,?70,"Page: ",APCDPG
  1. W !?29,"PCC Data Entry Module"
  1. W !?23,"*********************************"
  1. W !?23,"* VISIT REVIEW ERROR REPORT *"
  1. W !?23,"*********************************"
  1. W !!,"Report of Errors for ",$S(APCDPROC="P":"Posting",APCDPROC="V":"VISIT",1:"Posting")," Date Range: ",APCDBDD," through ",APCDEDD
  1. S X=$S(APCDLOCT="A":"ALL Locations Included",APCDLOCT="O":"Location of Encounter: "_$P(^DIC(4,APCDLOCT("ONE"),0),U),APCDLOCT="S":"LOCATIONs Included: ALL Within the "_$P(^AUTTSU(APCDLOCT("SU"),0),U)_" Service Unit",1:"")
  1. W !?(80-$L(X)/2),X
  1. W !,APCD80S
  1. D @(APCDT_"SUB")
  1. W !,APCD80S
  1. Q