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

APCLPDEM.m

Go to the documentation of this file.
  1. APCLPDEM ; IHS/CMI/LAB - report of visits re-linked ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. ;
  1. START ;EP - called from option
  1. D XIT
  1. W:$D(IOF) @IOF
  1. W !!,"This option will print a list of all visits for your 'DEMO' patients."
  1. W !,"The patient visits listed are those for patients whose name begins with"
  1. W !,"DEMO,PATIENT or who reside in your site defined DEMO patient search template."
  1. W !!,"You can use this list to delete the visits using the data entry delete"
  1. W !,"visit option."
  1. W !
  1. ;
  1. GETDATES ;
  1. W !!,"Please enter the range of visit dates for the demo patients."
  1. BD ;get beginning date
  1. W ! S DIR(0)="D^:DT:EP",DIR("A")="Enter beginning Date" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G XIT
  1. S APCLBD=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="D^"_APCLBD_":DT:EP",DIR("A")="Enter ending Date" S Y=APCLBD D DD^%DT D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G BD
  1. S APCLED=Y
  1. S X1=APCLBD,X2=-1 D C^%DTC S APCLSD=X S Y=APCLBD D DD^%DT S APCLBDD=Y S Y=APCLED D DD^%DT S APCLEDD=Y
  1. ZIS ;
  1. DEMO ;
  1. D DEMOCHK^APCLUTL(.APCLDEMO)
  1. I APCLDEMO=-1 G GETDATES
  1. S DIR(0)="S^P:PRINT Output;B:BROWSE Output on Screen",DIR("A")="Do you wish to ",DIR("B")="P" K DA D ^DIR K DIR
  1. I $D(DIRUT) G XIT
  1. I $G(Y)="B" D BROWSE,XIT Q
  1. W !! S XBRP="PRINT^APCLPDEM",XBRC="PROC^APCLPDEM",XBNS="APCL*",XBRX="XIT^APCLPDEM"
  1. D ^XBDBQUE
  1. D XIT
  1. Q
  1. BROWSE ;
  1. S XBRP="VIEWR^XBLM(""PRINT^APCLPDEM"")"
  1. S XBNS="APCL",XBRC="PROC^APCLPDEM",XBRX="XIT^APCLPDEM",XBIOP=0 D ^XBDBQUE
  1. Q
  1. ;
  1. PROC ;EP - called from xbdbque
  1. ;loop through all visits in date range and look for DEMO patient visits
  1. S APCLJOB=$J,APCLTOT=0,APCLBT=$H
  1. D XTMP("APCLPDEM","DEMO PATIENT VISIT LIST")
  1. S X1=APCLBD,X2=-1 D C^%DTC S APCLSD=X
  1. S APCLODAT=APCLSD_".9999" F S APCLODAT=$O(^AUPNVSIT("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED) D
  1. .S APCLV=0 F S APCLV=$O(^AUPNVSIT("B",APCLODAT,APCLV)) Q:APCLV'=+APCLV D
  1. ..Q:$P(^AUPNVSIT(APCLV,0),U,11)
  1. ..Q:$P(^AUPNVSIT(APCLV,0),U,5)=""
  1. ..Q:$$DEMO^APCLUTL($P(^AUPNVSIT(APCLV,0),U,5),$G(APCLDEMO))
  1. ..S ^XTMP("APCLPDEM",APCLJOB,APCLBT,"VISITS",$P(^AUPNVSIT(APCLV,0),U,5),APCLV)="",APCLTOT=APCLTOT+1
  1. Q
  1. PRINT ;EP - called from xbdbque
  1. K APCLQ S APCLPG=0
  1. I '$D(^XTMP("APCLPDEM",APCLJOB,APCLBT,"VISITS")) D HEADER W !!,"There are no Demo patient visits for that time period.",! Q
  1. D HEADER
  1. S APCLP=0 F S APCLP=$O(^XTMP("APCLPDEM",APCLJOB,APCLBT,"VISITS",APCLP)) Q:APCLP=""!($D(APCLQ)) D
  1. .S APCLV=0 F S APCLV=$O(^XTMP("APCLPDEM",APCLJOB,APCLBT,"VISITS",APCLP,APCLV)) Q:APCLV'=+APCLV!($D(APCLQ)) D
  1. ..I $Y>(IOSL-4) D HEADER Q:$D(APCLQ)
  1. ..W !,$$HRN^AUPNPAT(APCLP,DUZ(2)),?7,$E($P(^DPT(APCLP,0),U),1,22),?29,$$FMTE^XLFDT($P(^AUPNVSIT(APCLV,0),U),1)," (",APCLV,")",?62,$P(^AUPNVSIT(APCLV,0),U,3),?65,$P(^AUPNVSIT(APCLV,0),U,7),?68,$E($$CLINIC^APCLV(APCLV,"E"),1,12)
  1. W !!,"Total # of Visits: ",APCLTOT,!
  1. K ^XTMP("APCLPDEM",APCLJOB,APCLBT)
  1. XIT ;
  1. D EN^XBVK("APCL")
  1. D KILL^AUPNPAT
  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. I 'APCLPG G HEADER1
  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. HEADER1 ;
  1. W:$D(IOF) @IOF S APCLPG=APCLPG+1
  1. W !?13,"********** CONFIDENTIAL PATIENT INFORMATION **********"
  1. W !?(80-$L($P(^DIC(4,DUZ(2),0),U))/2),$P(^DIC(4,DUZ(2),0),U),?($S(80=132:120,1:72)),"Page ",APCLPG,!
  1. S APCLTEXT="'DEMO' PATIENT VISITS"
  1. W !?(80-$L(APCLTEXT)/2),APCLTEXT,!
  1. S APCLTEXT="Visit Dates: "_APCLBDD_" and "_APCLEDD
  1. W ?(80-$L(APCLTEXT)/2),APCLTEXT,!
  1. W $TR($J(" ",80)," ","-")
  1. W !,"HRN",?7,"PATIENT",?32,"DATE/TIME (IEN)",?60,"TYPE",?65,"SC",?68,"CLINIC"
  1. W !,$TR($J(" ",80)," ","-")
  1. Q
  1. DATE(D) ;EP
  1. I D="" Q ""
  1. Q $E(D,4,5)_"/"_$E(D,6,7)_"/"_$E(D,2,3)
  1. ;
  1. XTMP(N,D) ;EP - set xtmp 0 node
  1. Q:$G(N)=""
  1. S ^XTMP(N,0)=$$FMADD^XLFDT(DT,14)_"^"_DT_"^"_$G(D)
  1. Q
  1. ;
  1. ;