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

APCLGVP.m

Go to the documentation of this file.
  1. APCLGVP ; IHS/CMI/LAB - print active client list ;
  1. ;;2.0;IHS PCC SUITE;**11**;MAY 14, 2009;Build 58
  1. ;
  1. ;cmi/anch/maw 9/10/2007 code set versioning in VSTS
  1. ;
  1. PRINT ;
  1. I APCLOUT="S" D D DONE Q
  1. .S X=0 F S X=$O(^XTMP("APCLGV",APCLJOB,APCLBTH,"PATIENTS","TEMPLATE",X)) Q:X'=+X S ^DIBT(APCLSTMP,1,X)=""
  1. .W !,"Search template: ",$P(^DIBT(APCLSTMP,0),U)," has been created."
  1. START ;
  1. S APCL80D="-------------------------------------------------------------------------------"
  1. K APCLQ
  1. S Y=APCLBD D DD^%DT S APCLBDD=Y S Y=APCLED D DD^%DT S APCLEDD=Y
  1. S APCLPG=0
  1. I '$D(^XTMP("APCLGV",APCLJOB,APCLBTH)) D HEAD W !!,"NO PATIENTS TO REPORT" G DONE
  1. SRTV ;
  1. D HEAD
  1. S APCLSRT="" F S APCLSRT=$O(^XTMP("APCLGV",APCLJOB,APCLBTH,"PATIENTS",APCLSRT)) Q:APCLSRT=""!($D(APCLQ)) D PAT
  1. G DONE
  1. PAT ;
  1. I 'APCLNPAG D Q:$D(APCLQ)
  1. .I $Y>(IOSL-5) D HEAD Q:$D(APCLQ)
  1. .W !!,APCLSORV,": ",APCLSRT,!
  1. I APCLNPAG D HEAD Q:$D(APCLQ) W !,APCLSORV,": ",APCLSRT,!
  1. S DFN="" F S DFN=$O(^XTMP("APCLGV",APCLJOB,APCLBTH,"PATIENTS",APCLSRT,DFN)) Q:DFN=""!($D(APCLQ)) D DFN
  1. Q
  1. DONE D DONE^APCLOSUT
  1. K ^XTMP("APCLGV",APCLJOB,APCLBTH),APCLJOB,APCLBTH
  1. Q
  1. DFN ;
  1. I $Y>(IOSL-4) D HEAD Q:$D(APCLQ)
  1. W !,$E($P(^DPT(DFN,0),U),1,15)
  1. S APCLHRCN=$S($D(^AUPNPAT(DFN,41,DUZ(2),0)):$P(^(0),U,2),1:"<none>")
  1. W ?17,$J(APCLHRCN,7)
  1. ;begin Y2K
  1. ;W ?27,$P(^DPT(DFN,0),U,2) S Y=$P(^DPT(DFN,0),U,3) W ?31,$E(Y,4,5),"/",$E(Y,6,7),"/",$E(Y,2,3) ;Y2000
  1. W ?27,$P(^DPT(DFN,0),U,2) S Y=$P(^DPT(DFN,0),U,3) W ?30,$E(Y,4,5),"/",$E(Y,6,7),"/",(1700+($E(Y,1,3))) ;Y2000
  1. ;end Y2K
  1. VSTS ; process visits
  1. K APCLRLOC,APCLPRV,APCLPROB
  1. S APCLVIEN=0,APCLBDO=(9999999-APCLBD)_".9999",APCLEDO=9999999-APCLED,APCLSD=(APCLEDO-1)_".9999",APCLRCNT=0
  1. F S APCLSD=$O(^AUPNVSIT("AA",DFN,APCLSD)) Q:APCLSD>APCLBDO!(APCLSD="") D
  1. .S APCLVIEN=0 F S APCLVIEN=$O(^AUPNVSIT("AA",DFN,APCLSD,APCLVIEN)) Q:APCLVIEN'=+APCLVIEN D
  1. ..Q:'$P(^AUPNVSIT(APCLVIEN,0),U,9)
  1. ..Q:$P(^AUPNVSIT(APCLVIEN,0),U,11)
  1. ..S APCLVREC=^AUPNVSIT(APCLVIEN,0)
  1. ..D SCREENS^APCLGV
  1. ..Q:$D(APCLSKIP)
  1. ..S APCLRCNT=APCLRCNT+1 ;COUNT # VISITS
  1. ..;TABLE LOC SEEN
  1. ..I $P(^AUPNVSIT(APCLVIEN,0),U,6)]"",'$D(APCLRLOC($P(^DIC(4,$P(^(0),U,6),0),U))) S APCLRLOC($P(^DIC(4,$P(^AUPNVSIT(APCLVIEN,0),U,6),0),U))=""
  1. ..;TABLE PROVIDERS
  1. ..S APCLP=0 F S APCLP=$O(^AUPNVPRV("AD",APCLVIEN,APCLP)) Q:APCLP'=+APCLP S P=$P(^AUPNVPRV(APCLP,0),U),APCLPRV($S($P(^DD(9000010.06,.01,0),U,2)[200:$P(^VA(200,P,0),U),1:$P(^DIC(16,P,0),U)))=""
  1. ..;TABLE PROBLEMS
  1. ..;S APCLP=0 F S APCLP=$O(^AUPNVPOV("AD",APCLVIEN,APCLP)) Q:APCLP'=+APCLP S P=$P(^AUPNVPOV(APCLP,0),U),APCLPROB($P(^ICD9(P,0),U))="" ;cmi/anch/maw 9/10/2007 orig line
  1. ..S APCLP=0 F S APCLP=$O(^AUPNVPOV("AD",APCLVIEN,APCLP)) Q:APCLP'=+APCLP S P=$P(^AUPNVPOV(APCLP,0),U),APCLPROB($P($$ICDDX^ICDEX(P),U,2))="" ;cmi/anch/maw 9/10/2007 csv
  1. ..Q
  1. .Q
  1. K APCLLINE,APCLPRNT,APCLPCNT,APCLPRNM
  1. S APCLLINE(1)=""
  1. S X="",C=0,K=11 F S X=$O(APCLRLOC(X)) Q:X="" S C=C+1,APCLPRNM(C)=X
  1. D LINE
  1. K APCLPRNM S X="",C=0,K=11 F S X=$O(APCLPRV(X)) Q:X="" S C=C+1,APCLPRNM(C)=X
  1. D LINE
  1. K APCLPRNM S X="",C=0,K=9 F S X=$O(APCLPROB(X)) Q:X="" S C=C+1,APCLPRNM(C)=X
  1. D LINE
  1. S APCLRCNT=$J(APCLRCNT,4),APCLLINE(1)=APCLLINE(1)_APCLRCNT,X=0 F S X=$O(APCLLINE(X)) Q:X'=+X!($D(APCLQ)) D
  1. .I $Y>(IOSL-5) D HEAD Q:$D(APCLQ)
  1. .W ?41,APCLLINE(X),!
  1. Q
  1. LINE ;
  1. I '$D(APCLPRNM) S APCLPRNT="--" D
  1. .S APCLPRNT=$E(APCLPRNT,1,10) D
  1. ..S J=$L(APCLPRNT),APCLLINE(1)=APCLLINE(1)_APCLPRNT F I=J:1:K S APCLLINE(1)=APCLLINE(1)_" "
  1. S X=0 F S X=$O(APCLPRNM(X)) Q:X'=+X D
  1. .I X=1 D Q
  1. ..S APCLPRNT=$E(APCLPRNM(1),1,10) D
  1. ...S J=$L(APCLPRNT),APCLLINE(1)=APCLLINE(1)_APCLPRNT F I=J:1:K S APCLLINE(1)=APCLLINE(1)_" "
  1. .S APCLPRNT=$E(APCLPRNM(X),1,10) D
  1. ..I '$D(APCLLINE(X)) S APCLLINE(X)="",$P(APCLLINE(X)," ",($L(APCLLINE(1))-K))=""
  1. ..S J=$L(APCLPRNT),APCLLINE(X)=APCLLINE(X)_APCLPRNT F I=J:1:K S APCLLINE(X)=APCLLINE(X)_" "
  1. S X=1 F S X=$O(APCLLINE(X)) Q:X'=+X I $L(APCLLINE(X))<$L(APCLLINE(1)) S K=$L(APCLLINE(X))+1,J=$L(APCLLINE(1)) F I=K:1:J S APCLLINE(X)=APCLLINE(X)_" "
  1. Q
  1. I 'APCLPG G HEAD1
  1. I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S APCLQ="" Q
  1. HEAD1 ;
  1. W:$D(IOF) @IOF S APCLPG=APCLPG+1
  1. W $P(^VA(200,DUZ,0),U,2),?72,"Page ",APCLPG,!
  1. W ?(80-$L($P(^DIC(4,DUZ(2),0),U))/2),$P(^DIC(4,DUZ(2),0),U),!
  1. W ?25,"PATIENTS SEEN AT LEAST ",APCLNUM," TIMES",!
  1. W ?17,"VISIT DATES: ",APCLBDD," TO ",APCLEDD,!
  1. PIH W !!,?41,"LOCATION",?53,"PROVIDER",?65,"DX",?75,"#",!
  1. W "PATIENT NAME",?17,"CHART #",?26,"SEX",?31,"DOB",?41,"SEEN",?53,"SEEN",?65,"CODES",?73,"VISITS",!,APCL80D,!
  1. Q