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

APCLSILR.m

Go to the documentation of this file.
  1. APCLSILR ;IHS/CMI/LAB - AGGREGATE ILI REPORT;
  1. ;;3.0;IHS PCC REPORTS;**24,26,27,28,29,30**;FEB 05, 1997;Build 27
  1. ;
  1. START ;
  1. W:$D(IOF) @IOF
  1. W !,"********** AGGREGATE ILI Surveillance Report **********",!
  1. D EN^XBVK("APCL")
  1. BD ;get beginning date
  1. W ! S DIR(0)="D^:DT:EP",DIR("A")="Enter beginning date for search" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) D EOJ Q
  1. S APCLBD=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="DA^"_APCLBD_":DT:EP",DIR("A")="Enter ending date for search: " D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G BD
  1. S APCLED=Y
  1. FAC ;
  1. K APCLQUIT
  1. S APCLLOCT=""
  1. K DIR S DIR(0)="S^O:ONE Facility;A:All Facilities;S:Selected set of Facilities or Taxonomy of Faclities"
  1. S DIR("A")="Enter a code indicating what FACILITIES/LOCATIONS are of interest",DIR("B")="O" K DA D ^DIR K DIR,DA
  1. G:$D(DIRUT) BD
  1. S APCLLOCT=Y
  1. K APCLLOCS
  1. D @APCLLOCT
  1. G:$D(APCLQUIT) FAC
  1. ;
  1. ZIS ;
  1. DEMO ;
  1. D DEMOCHK^APCLUTL(.APCLDEMO)
  1. I APCLDEMO=-1 G FAC
  1. S XBRP="PRINT^APCLSILR",XBRC="PROC^APCLSILR",XBRX="EOJ^APCLSILR",XBNS="APCL"
  1. D ^XBDBQUE
  1. ;
  1. EOJ ;ENTRY POINT
  1. D EN^XBVK("APCL")
  1. Q
  1. O ;
  1. W ! S DIC("A")="Which Facility: ",DIC="^AUTTLOC(",DIC(0)="AEMQ" D ^DIC K DIC,DA I Y<0 S APCLQUIT=1 Q
  1. S APCLLOCS(+Y)=""
  1. Q
  1. A ;
  1. K APCLLOCS
  1. Q
  1. S ;taxonomy - call qman interface
  1. K APCLLOCS
  1. S X="ENCOUNTER LOCATION",DIC="^AMQQ(5,",DIC(0)="FM",DIC("S")="I $P(^(0),U,14)" D ^DIC K DIC,DA I Y=-1 W "OOPS - QMAN NOT CURRENT - QUITTING" S APCLQUIT=1 Q
  1. D PEP^AMQQGTX0(+Y,"APCLLOCS(")
  1. I '$D(APCLLOCS) S APCLQUIT=1 Q
  1. I $D(APCLLOCS("*")) K APCLLOC,APCLLOCS W !!,$C(7),$C(7),"ALL locations is NOT an option with this report",! G S
  1. Q
  1. PROC ;EP - called from xbdbque
  1. S APCLJ=$J,APCLH=$H
  1. D XTMP^APCLOSUT("APCLSILR","ILI SURV REPORT")
  1. K APCLVTOT,APCLSRDH,APCLSRDP,APCLILIS,APCLILIP,APCLMEDS,APCLMEDP,APCLAGEG,APCLIMMG,APCLSEXL,APCLIMML,APCLTAB5,APCLTAB8,APCLPTOT,APCLALLF,APCLTAB7
  1. K ^XTMP("APCLSILR",APCLJ,APCLH)
  1. V ; Run by visit date
  1. S APCLSD=$$FMADD^XLFDT(APCLBD,-1)
  1. K APCLVTOT
  1. S APCLVTOT=0,APCLPTOT=0
  1. S APCLODAT=APCLSD_".9999" F S APCLODAT=$O(^AUPNVSIT("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED) D V1
  1. ;
  1. END ;
  1. Q
  1. V1 ;
  1. ;
  1. S APCLVDFN="" F S APCLVDFN=$O(^AUPNVSIT("B",APCLODAT,APCLVDFN)) Q:APCLVDFN'=+APCLVDFN I $D(^AUPNVSIT(APCLVDFN,0)),$P(^(0),U,9),'$P(^(0),U,11) S APCLVREC=^(0) D PROC1
  1. Q
  1. PROC1 ;
  1. Q:'$D(^AUPNVSIT(APCLVDFN,0))
  1. Q:$$DEMO^APCLUTL($P(APCLVREC,U,5),$G(APCLDEMO))
  1. S DFN=$P(APCLVREC,U,5)
  1. Q:'$D(^AUPNPAT(DFN,0))
  1. Q:'$D(^DPT(DFN,0))
  1. Q:$P(^DPT(DFN,0),U)["DEMO,PATIENT"
  1. S APCLVLOC=$P(APCLVREC,U,6) Q:APCLVLOC=""
  1. I $D(APCLLOCS) Q:'$D(APCLLOCS(APCLVLOC)) ;not a location they want
  1. S APCLLOCN=$P(^DIC(4,APCLVLOC,0),U)
  1. I "AORSIH"[$P(APCLVREC,U,7) D
  1. .Q:$D(^XTMP("APCLSILR",APCLJ,APCLH,"TOTPAT",DFN))
  1. .S APCLPTOT=APCLPTOT+1
  1. .S ^XTMP("APCLSILR",APCLJ,APCLH,"TOTPAT",DFN)=""
  1. I "AORSIH"[$P(APCLVREC,U,7) D
  1. .Q:$D(^XTMP("APCLSILR",APCLJ,APCLH,"TOTPATLOC",DFN,APCLVLOC))
  1. .S APCLPTOT(APCLVLOC)=$G(APCLPTOT(APCLVLOC))+1
  1. .S ^XTMP("APCLSILR",APCLJ,APCLH,"TOTPATLOC",DFN,APCLVLOC)=""
  1. S APCLCLIN=$P(APCLVREC,U,8)
  1. S APCLILIV=$$ILIV(APCLVDFN) ;if this is an ILI visit: 1^A,C,H^term to use in facilty visit count^HAD ILI OR H1N1 DX
  1. I APCLILIV D
  1. .;set total # of visits and # by loc
  1. .S $P(APCLVTOT,U,1)=$P(APCLVTOT,U,1)+1
  1. .S $P(APCLVTOT(APCLLOCN),U,1)=$P($G(APCLVTOT(APCLLOCN)),U,1)+1
  1. .S $P(APCLVTOT(APCLLOCN,$P(APCLILIV,U,2),$P(APCLILIV,U,3)),U,1)=$P($G(APCLVTOT(APCLLOCN,$P(APCLILIV,U,2),$P(APCLILIV,U,3))),U,1)+1
  1. .S $P(APCLALLF($P(APCLILIV,U,2),$P(APCLILIV,U,3)),U,1)=$P($G(APCLALLF($P(APCLILIV,U,2),$P(APCLILIV,U,3))),U,1)+1
  1. .Q:'$P(APCLILIV,U,4)
  1. .S $P(APCLVTOT,U,2)=$P(APCLVTOT,U,2)+1
  1. .S $P(APCLVTOT(APCLLOCN),U,2)=$P($G(APCLVTOT(APCLLOCN)),U,2)+1
  1. .S $P(APCLVTOT(APCLLOCN,$P(APCLILIV,U,2),$P(APCLILIV,U,3)),U,2)=$P($G(APCLVTOT(APCLLOCN,$P(APCLILIV,U,2),$P(APCLILIV,U,3))),U,2)+1
  1. .S $P(APCLALLF($P(APCLILIV,U,2),$P(APCLILIV,U,3)),U,2)=$P($G(APCLALLF($P(APCLILIV,U,2),$P(APCLILIV,U,3))),U,2)+1
  1. .D ILIAGE
  1. .;W !,APCLVDFN," ",$P(APCLVREC,U,5)
  1. .S S=$$VAL^XBDIQ1(2,$P(APCLVREC,U,5),.02)
  1. .S $P(APCLILIS(S),U,1)=$P($G(APCLILIS(S)),U,1)+1
  1. .S $P(APCLSEXL(APCLLOCN,S),U,1)=$P($G(APCLSEXL(APCLLOCN,S)),U,1)+1
  1. .;Q:$D(APCLILIP($P(APCLVREC,U,5)))
  1. .I '$D(^XTMP("APCLSILR",APCLJ,APCLH,"APCLILIP",$P(APCLVREC,U,5))) D
  1. ..S $P(APCLILIS(S),U,2)=$P($G(APCLILIS(S)),U,2)+1
  1. ..;S APCLILIP($P(APCLVREC,U,5))=""
  1. ..S ^XTMP("APCLSILR",APCLJ,APCLH,"APCLILIP",$P(APCLVREC,U,5))=""
  1. .I '$D(^XTMP("APCLSILR",APCLJ,APCLH,"APCLSEXL",APCLLOCN,$P(APCLVREC,U,5))) D
  1. ..S $P(APCLSEXL(APCLLOCN,S),U,2)=$P($G(APCLSEXL(APCLLOCN,S)),U,2)+1
  1. ..S ^XTMP("APCLSILR",APCLJ,APCLH,"APCLSEXL",APCLLOCN,$P(APCLVREC,U,5))=""
  1. ;I $P(^AUPNVSIT(APCLVDFN,0),U,7)="H" D RESDIS
  1. D MEDS^APCLSILA
  1. D VACAGE^APCLSILA
  1. Q
  1. ;
  1. ILIAGE ;
  1. NEW H,I,S1,S2,X,T,APCLA,A
  1. S (H,I,S1,S2)=""
  1. Q:'APCLILIV
  1. I $P(^AUPNVSIT(APCLVDFN,0),U,7)="H" S S2="H"
  1. I $P(^AUPNVSIT(APCLVDFN,0),U,7)'="H" S S2="A"
  1. S APCLAY=$$AGE^AUPNPAT($P(APCLVREC,U,5),$$VD^APCLV(APCLVDFN))
  1. ;S APCLAY=$$AGE^APCLSILU($P(APCLVREC,U,5),1,$$VD^APCLV(APCLVDFN))
  1. ;I APCLAY["<"!(APCLAY<5) D Q
  1. ;.S APCLAY=$$AGE^APCLSILU($P(APCLVREC,U,5),2,$$VD^APCLV(APCLVDFN))
  1. ;.I APCLAY<6 Q
  1. ;.S A=$$AGEGM(APCLAY)
  1. ;.I I S APCLAGEG("I",S2,A)=$G(APCLAGEG("I",S2,A))+1,APCLAGEG("I",S2,"TOTAL")=$G(APCLAGEG("I",S2,"TOTAL"))+1
  1. ;.I H S APCLAGEG("H",S2,A)=$G(APCLAGEG("H",S2,A))+1,APCLAGEG("H",S2,"TOTAL")=$G(APCLAGEG("H",S2,"TOTAL"))+1
  1. ;S A=$$AGEG(APCLAY)
  1. S A=$$AGEGY(APCLAY)
  1. S APCLAGEG("I",S2,A)=$G(APCLAGEG("I",S2,A))+1,APCLAGEG("I",S2,"TOTAL")=$G(APCLAGEG("I",S2,"TOTAL"))+1
  1. ;I H S APCLAGEG("H",S2,A)=$G(APCLAGEG("H",S2,A))+1,APCLAGEG("H",S2,"TOTAL")=$G(APCLAGEG("H",S2,"TOTAL"))+1
  1. Q
  1. AGEGM(APCLA) ;EP - age months
  1. I APCLA<24 Q "6-23m"
  1. I APCLA>23,APCLA<60 Q "24-59m"
  1. Q ""
  1. AGEGY(APCLA) ; - age years
  1. I APCLA<5 Q "0-4y"
  1. I APCLA>4,APCLA<25 Q "5-24y" ;FIX LORI
  1. I APCLA>24,APCLA<50 Q "25-49y"
  1. I APCLA>49,APCLA<65 Q "50-64y" ;FIX LORI
  1. I APCLA>64 Q "65y+"
  1. Q ""
  1. AGEG(APCLA) ;EP 0 age years
  1. I APCLA>4,APCLA<19 Q "60m-18y"
  1. I APCLA>18,APCLA<25 Q "19-24y"
  1. I APCLA>24,APCLA<50 Q "25-49y"
  1. I APCLA>49,APCLA<65 Q "50-64y"
  1. I APCLA>64 Q "65+y"
  1. Q ""
  1. ;
  1. RESDIS ;does this H visit have severe resp diagnosis, if yes set counter
  1. NEW X,Y,D,I
  1. S X=0 F S X=$O(^AUPNVPOV("AD",APCLVDFN,X)) Q:X'=+X D
  1. .S D=$P($G(^AUPNVPOV(X,0)),U,1)
  1. .I D="" Q
  1. .I '$$ICD^APCLSILU(D,$O(^ATXAX("B","SURVEILLANCE SEV RESP DIS DXS",0)),9) Q
  1. .S I=$$ICDDX^APCLSILU(D,$$VD^APCLV($P(^AUPNVPOV(X,0),U,3))),I=$P(I,U,4)
  1. .S $P(APCLSRDH(APCLVLOC,I),U,1)=$P($G(APCLSRDH(APCLVLOC,I)),U,1)+1
  1. .I $D(APCLSRDP(APCLVLOC,I,$P(^AUPNVPOV(X,0),U,2))) Q
  1. .S $P(APCLSRDH(APCLVLOC,I),U,2)=$P($G(APCLSRDH(APCLVLOC,I)),U,2)+1
  1. .S APCLSRDP(APCLVLOC,I,$P(^AUPNVPOV(X,0),U,2))=""
  1. .Q
  1. Q
  1. ILIV(V) ;
  1. NEW C,P,APCLCLIN,X,Z,G,Y,VAL,T,APCLCTAX
  1. S APCLCTAX=$O(^ATXAX("B","SURVEILLANCE ILI CLINICS",0))
  1. I '$G(V) Q ""
  1. I '$D(^AUPNVSIT(V)) Q ""
  1. I "AORSH"'[$P(^AUPNVSIT(V,0),U,7) Q ""
  1. S APCLCLIN=$$CLINIC^APCLV(V,"I") ;get clinic code
  1. ;is there a PHN
  1. S X=0,P=0 F S X=$O(^AUPNVPRV("AD",V,X)) Q:X'=+X!(P) D
  1. .Q:'$D(^AUPNVPRV(X,0))
  1. .S Y=$P(^AUPNVPRV(X,0),U)
  1. .S Z=$$VALI^XBDIQ1(200,Y,53.5)
  1. .Q:'Z
  1. .I $P($G(^DIC(7,Z,9999999)),U,1)=13 S P=1
  1. I P G ILIDX1
  1. I $P(^AUPNVSIT(V,0),U,7)'="H" I APCLCLIN="" Q ""
  1. I $P(^AUPNVSIT(V,0),U,7)'="H" I '$D(^ATXAX(APCLCTAX,21,"B",APCLCLIN)) Q "" ;not in clinic taxonomy
  1. ILIDX1 ;
  1. S C=0
  1. K G,Y S G=""
  1. S X=0 F S X=$O(^AUPNVPOV("AD",V,X)) Q:X'=+X D
  1. .S T=$P(^AUPNVPOV(X,0),U)
  1. .I $$ICD^APCLSILU(T,$O(^ATXAX("B","SURVEILLANCE ILI NO TMP NEEDED",0)),9) S C=C+1,Y(C)=$$VAL^XBDIQ1(9000010.07,X,.01)
  1. .I $$ICD^APCLSILU(T,$O(^ATXAX("B","SURVEILLANCE ILI",0)),9),$$TMP100^APCLSILI(V) S C=C+1,Y(C)=$$VAL^XBDIQ1(9000010.07,X,.01)
  1. S VAL=""
  1. I $P(^AUPNVSIT(V,0),U,7)="H" S VAL="H^Hospitalizations"
  1. I P S VAL="C^Provider Code: 13 PHN"
  1. I VAL="" S VAL="A^"_$$VAL^XBDIQ1(9000010,V,.08)
  1. Q 1_U_VAL_U_$S($D(Y):1,1:"")
  1. ;
  1. PER(N,D) ;return % of n/d
  1. I 'D Q "0%"
  1. NEW Z
  1. S Z=N/D,Z=Z*100,Z=$J(Z,3,0)
  1. Q $$STRIP^XLFSTR(Z," ")_"%"
  1. ;----------
  1. C(X,X2,X3) ;
  1. D COMMA^%DTC
  1. Q X
  1. PAD(D,L) ; -- SUBRTN to pad length of data
  1. ; -- D=data L=length
  1. S L=L-$L(D)
  1. Q $E($$REPEAT^XLFSTR(" ",L),1,L)_D
  1. ;
  1. PRINT ;
  1. S APCLPG=0
  1. D HEADER
  1. ;PATIENT COUNT
  1. W "TOTAL PATIENTS"
  1. W !,"These counts represent the total number of patients seen for any ambulatory "
  1. W !,"visit or hospital stay during the report period. A count by facility is "
  1. W !,"also provided."
  1. W !!,"Total Number of Patients seen at any facility: ",?65,$$C(APCLPTOT,0,7),!
  1. S APCLL=0 F S APCLL=$O(APCLPTOT(APCLL)) Q:APCLL'=+APCLL!($D(APCLQUIT)) D
  1. .I $Y>(IOSL-3) D HEADER Q:$D(APCLQUIT)
  1. .W !,"Total Number of Patients seen at ",$P(^DIC(4,APCLL,0),U),": ",?65,$$C(APCLPTOT(APCLL),0,7)
  1. .Q
  1. Q:$D(APCLQUIT)
  1. I $Y>(IOSL-22) D HEADER Q:$D(APCLQUIT)
  1. W !!,"TOTAL FACILITY VISITS"
  1. W !,"These counts represent the total number of visits defined as 'surveillance' "
  1. W !,"visits. The definition of these visits is the following:"
  1. W !," - a Hospitalization"
  1. W !," - a visit to a PHN"
  1. W !," - an Ambulatory visit (service categories A, O, R, S) to one of the following"
  1. W !," clinics: 01 GENERAL, 06 DIABETIC, 10 GYN, 12 IMMUNIZATION,"
  1. W !," 13 INTERNAL MEDICINE, 20 PEDIATRICS, 24 WELL CHILD CARE, "
  1. W !," 28 FAMILY PRACTICE, 30 EMERGENCY ROOM, 57 EPSDT, "
  1. W !," 70 WOMEN'S HEALTH, 80 URGENT CARE, 89 EVENING"
  1. W !!,"Table 1: ILI / H1N1 Visits"
  1. W !,"This table displays the total number of visits defined above and displays the"
  1. W !,"total count of those visits on which there was an ILI diagnosis. An ILI"
  1. W !,"diagnosis is defined as a visit with an diagnosis contained in the "
  1. W !,"SURVEILLANCE ILI NO TMP NEEDED taxonomy."
  1. W !," OR"
  1. W !,"a temperature of >=100 AND one of the ICD diagnosis in the SURVEILLANCE ILI"
  1. W !,"taxonomy."
  1. I $Y>(IOSL-3) D HEADER Q:$D(APCLQUIT)
  1. W !,"The data is broken down by location of encounter and clinic.",!
  1. W "Note that some patients may have been seen in multiple clinics",!
  1. W !?40,"Total # Visits",?56,"Total # Visits",?72,"% w/ILI"
  1. W !?40,"w/ILI",?72,"Diagnosis"
  1. W !,"FACILITY",?40,"Diagnosis" ;,?71,"Diagnosis"
  1. I APCLLOCT="O" G LOCV
  1. W !,"ALL FACILITITES COMBINED"
  1. S APCLCLNT="" F S APCLCLNT=$O(APCLALLF(APCLCLNT)) Q:APCLCLNT=""!($D(APCLQUIT)) D
  1. .I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT) D SUBHEAD1
  1. .I APCLCLNT="A" W !?2,"Ambulatory Clinics",!
  1. .I APCLCLNT'="A" W !
  1. .S APCLCLN="" F S APCLCLN=$O(APCLALLF(APCLCLNT,APCLCLN)) Q:APCLCLN=""!($D(APCLQUIT)) D
  1. ..I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT) D SUBHEAD1
  1. ..W ?3,APCLCLN,?40,$$C($P(APCLALLF(APCLCLNT,APCLCLN),U,2),0,7)
  1. ..W ?56,$$C($P(APCLALLF(APCLCLNT,APCLCLN),U,1),0,7)
  1. ..W ?72,$$PER($P(APCLALLF(APCLCLNT,APCLCLN),U,2),$P(APCLALLF(APCLCLNT,APCLCLN),U,1)),!
  1. .Q
  1. Q:$D(APCLQUIT)
  1. W $$REPEAT^XLFSTR("-",79),!
  1. LOCV S APCLLOC="" F S APCLLOC=$O(APCLVTOT(APCLLOC)) Q:APCLLOC=""!($D(APCLQUIT)) D
  1. .I $Y>(IOSL-3) D HEADER Q:$D(APCLQUIT) D SUBHEAD1
  1. .W !,APCLLOC,?40,$$C($P(APCLVTOT(APCLLOC),U,2),0,7),?56,$$C($P(APCLVTOT(APCLLOC),U,1),0,7),?72,$$PER($P(APCLVTOT(APCLLOC),U,2),$P(APCLVTOT(APCLLOC),U,1)),!
  1. .S APCLCLNT="" F S APCLCLNT=$O(APCLVTOT(APCLLOC,APCLCLNT)) Q:APCLCLNT=""!($D(APCLQUIT)) D
  1. ..I $Y>(IOSL-3) D HEADER Q:$D(APCLQUIT) D SUBHEAD1
  1. ..I APCLCLNT="A" W !?2,"Ambulatory Clinics",!
  1. ..I APCLCLNT'="A" W !
  1. ..S APCLCLN="" F S APCLCLN=$O(APCLVTOT(APCLLOC,APCLCLNT,APCLCLN)) Q:APCLCLN=""!($D(APCLQUIT)) D
  1. ...I $Y>(IOSL-3) D HEADER Q:$D(APCLQUIT) D SUBHEAD1
  1. ...W ?3,APCLCLN,?40,$$C($P(APCLVTOT(APCLLOC,APCLCLNT,APCLCLN),U,2),0,7)
  1. ...W ?56,$$C($P(APCLVTOT(APCLLOC,APCLCLNT,APCLCLN),U,1),0,7)
  1. ...W ?72,$$PER($P(APCLVTOT(APCLLOC,APCLCLNT,APCLCLN),U,2),$P(APCLVTOT(APCLLOC,APCLCLNT,APCLCLN),U,1)),!
  1. .W $$REPEAT^XLFSTR("-",79),!
  1. .Q
  1. Q:$D(APCLQUIT)
  1. SRVD ;
  1. ILISEX ;
  1. D ILISEX^APCLSILT
  1. Q:$D(APCLQUIT)
  1. ILIAVM ;
  1. D ILIAVM^APCLSILT
  1. Q:$D(APCLQUIT)
  1. D ILIAGEP^APCLSILT
  1. Q:$D(APCLQUIT)
  1. D VACAGEP^APCLSILT
  1. Q
  1. SUBHEAD2 ;
  1. W "Table 2: Hospitalizations for Severe Respiratory Disease",!
  1. W !?40,"# of Hospitalizations",?68,"# patients"
  1. W !,?40,"w/Severe Respiratory",!?40,"Disease Diagnosis",!
  1. Q
  1. ;
  1. SUBHEAD1 ;
  1. W !,"Table 1: ILI Visits"
  1. W !?40,"Total # Visits",?56,"Total # Visits",?72,"% w/ILI"
  1. W !?40,"w/ILI",?72," "
  1. W !,"FACILITY",?40,"Diagnosis",?71,"Diagnosis"
  1. W !
  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 APCLQUIT="" Q
  1. HEAD1 ;
  1. I APCLPG W:$D(IOF) @IOF
  1. S APCLPG=APCLPG+1
  1. W ?3,$P(^DIC(4,DUZ(2),0),U),?58,$$FMTE^XLFDT(DT),?72,"Page ",APCLPG,!
  1. W !,$$CTR("*** Aggregate ILI Surveillance Report ***",80),!
  1. S X="Visit Dates: "_$$FMTE^XLFDT(APCLBD)_" through "_$$FMTE^XLFDT(APCLED) W $$CTR(X,80),!
  1. W $$REPEAT^XLFSTR("-",79),!!
  1. Q
  1. ;
  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. 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(0)="E" D ^DIR
  1. Q
  1. ;----------
  1. USR() ;EP - Return name of current user from ^VA(200.
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------
  1. LOC() ;EP - Return location name from file 4 based on DUZ(2).
  1. Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
  1. ;----------