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

APCLCP8.m

Go to the documentation of this file.
  1. APCLCP8 ; IHS/CMI/LAB - GIS/TUCSON PCC REPORT WITH AGE BUCKETS ; 11 Apr 2013 10:33 AM
  1. ;;2.0;IHS PCC SUITE;**10**;MAY 14, 2009;Build 88
  1. ;This routine will print the PCC Report that uses age buckets
  1. ;to tabulate sex,tribe or current community by age.
  1. ;
  1. ;Calls APCLBIN1
  1. ;Called from option APCL P BIN AGE BUCKETS
  1. ;
  1. START ;
  1. W:$D(IOF) @IOF
  1. W !,"This report will present, for all visits on which staff members of",!,"discipline group that you select was a provider, time and patient services",!,"by age and sex.",!
  1. S Y=DT D DD^%DT S APCLDT=Y
  1. GETGROUP ;
  1. S DIC="^APCLACTG(",DIC("A")="Enter the Provider Discipline Group you wish to report on: ",DIC(0)="AEMQ" D ^DIC K DIC
  1. I Y=-1 W !,"Bye ... " G XIT
  1. S APCLACTG=+Y
  1. W !!,"You have selected the ",$P(Y,U,2)," discipline group.",!
  1. S DIC="^APCLACTG(",DA=+Y D EN^DIQ K DIC,DA
  1. GETDATES ;
  1. BD ;get beginning date
  1. W ! S DIR(0)="DA^:DT:EP",DIR("A")="Enter beginning Visit Date for Search: " D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G GETGROUP
  1. S APCLBD=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="DA^"_APCLBD_":DT:EP",DIR("A")="Enter ending Visit Date for Search: " S Y=APCLBD D DD^%DT S Y="" 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
  1. LOC ;get location
  1. K APCLLOC
  1. S DIR(0)="S^O:One Location;T:Taxonomy of or Selected Set of Locations;A:All Locations"
  1. S DIR("A")="Include visits from which set of locations",DIR("B")="A" KILL DA D ^DIR KILL DIR
  1. G:$D(DIRUT) BD
  1. I Y="A" K APCLLOC G CLINIC
  1. I Y="O" D O^APCLCP1 G:$D(APCLQ) LOC
  1. I Y="T" D T^APCLCP1 G:$D(APCLQ) LOC
  1. CLINIC ;
  1. K APCLCLN
  1. S DIR(0)="S^O:One Clinic;T:Taxonomy of or Selected Set of Clinics;A:All Clinics"
  1. S DIR("A")="Include visits from which set of clinics",DIR("B")="A" KILL DA D ^DIR KILL DIR
  1. G:$D(DIRUT) LOC
  1. I Y="A" K APCLCLN G BIN
  1. I Y="O" D OC^APCLCP1 G:$D(APCLQ) CLINIC
  1. I Y="T" D TC^APCLCP1 G:$D(APCLQ) CLINIC
  1. ;
  1. BIN S APCLBIN="0-0;1-4;5-14;15-19;20-24;25-44;45-64;65-125"
  1. W !!,"The Age Groups to be used are currently defined as:",! D LIST
  1. S DIR(0)="YO",DIR("A")="Do you wish to modify these age groups",DIR("B")="No" D ^DIR K DIR
  1. I $D(DIRUT) G GETDATES
  1. I Y=0 G ZIS
  1. RUN ;
  1. K APCLQUIT S APCLY="",APCLA=-1 W ! F D AGE Q:APCLX="" I $D(APCLQUIT) G BIN
  1. D CLOSE I $D(APCLQUIT) G BIN
  1. D LIST
  1. G ZIS
  1. ;
  1. AGE ;
  1. S DIR(0)="NO^0:150:0",DIR("A")="Enter the starting age of the "_$S(APCLY="":"first",1:"next")_" age group" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DUOUT)!($D(DTOUT)) S APCLQUIT="" Q
  1. S APCLX=Y
  1. I Y="" Q
  1. I APCLX?1.3N,APCLX>APCLA D SET Q
  1. W $C(7) W !,"Make sure the age is higher the beginning age of the previous group.",! G RUN
  1. ;
  1. SET S APCLA=APCLX
  1. I APCLY="" S APCLY=APCLX Q
  1. S APCLY=APCLY_"-"_(APCLX-1)_";"_APCLX
  1. Q
  1. ;
  1. CLOSE I APCLY="" Q
  1. GC ;
  1. S DIR(0)="NO^0:150:0",DIR("A")="Enter the highest age for the last group" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DUOUT)!($D(DTOUT)) S APCLQUIT="" Q
  1. S APCLX=Y I Y="" S APCLX=199
  1. I APCLX?1.3N,APCLX'<APCLA S APCLY=APCLY_"-"_APCLX,APCLBIN=APCLY Q
  1. W " ??",$C(7) G CLOSE
  1. Q
  1. ;
  1. ;
  1. LIST ;
  1. S %=APCLBIN
  1. F I=1:1 S X=$P(%,";",I) Q:X="" W !,$P(X,":")," - ",$P(X,":",2)
  1. W !
  1. Q
  1. ;
  1. SETBIN ;
  1. S APCLBIN="0:0;1:4;5:14;15:19;20:24;25:44;45:64;65:125"
  1. Q
  1. ZIS ;
  1. DEMO ;
  1. D DEMOCHK^APCLUTL(.APCLDEMO)
  1. I APCLDEMO=-1 G BIN
  1. S XBRP="^APCLCP8P",XBRC="^APCLCP81",XBRX="XIT^APCLCP8",XBNS="APCL"
  1. D ^XBDBQUE
  1. D XIT
  1. Q
  1. ERR W $C(7),$C(7),!,"Must be a valid date and be Today or earlier. Time not allowed!" Q
  1. ;
  1. XIT ;
  1. K APCL80S,APCLBDD,APCLBT,APCLDT,APCLED,APCLEDD,APCLLENG,APCLLOC,APCLPG,APCLQUIT,APCL1,APCL2,APCLAP,APCLDISC,APCLODAT,APCLSD,APCLSKIP,APCLVACT,APCLVDFN,APCLVLOC,APCLVREC,APCLVTM,APCLVTT,APCLX,APCLY,APCLPRIM,APCLSITE,APCLBD
  1. K APCLA,APCLAGE,APCLBIN,APCLCHN,APCLDOB,APCLDOBS,APLCFOUN,APCLJOB,APCLNN,APCLSEX,APCLZ,APCLBT,APCLFOUN,APCLACTG
  1. K X,X1,X2,IO("Q"),%,Y,DIRUT,POP,ZTSK,ZTQUEUED,T,S,M,TS,H,DIR,DUOUT,DTOUT,DUOUT,DLOUT
  1. Q
  1. ;
  1. ;
  1. O ;EP one location
  1. K APCLQ
  1. S DIC="^AUTTLOC(",DIC(0)="AEMQ",DIC("A")="Which LOCATION: " D ^DIC K DIC
  1. I Y=-1 S APCLQ="" Q
  1. S APCLLOC(+Y)=""
  1. Q
  1. T ;EP taxonomy
  1. K APCLQ
  1. S DIC="^ATXAX(",DIC(0)="AEMQ",DIC("A")="Which TAXONOMY: ",DIC("S")="I $P(^(0),U,15)=9999999.06" D ^DIC K DIC
  1. I Y=-1 S APCLQ="" Q
  1. S X=0 F S X=$O(^ATXAX(+Y,21,"B",X)) Q:X="" S APCLLOC(X)=""
  1. Q
  1. OC ;EP one location
  1. K APCLQ
  1. S DIC="^DIC(40.7,",DIC(0)="AEMQ",DIC("A")="Which CLINIC: " D ^DIC K DIC
  1. I Y=-1 S APCLQ="" Q
  1. S APCLCLN(+Y)=""
  1. Q
  1. TC ;EP taxonomy
  1. K APCLQ
  1. S DIC="^ATXAX(",DIC(0)="AEMQ",DIC("A")="Which TAXONOMY: ",DIC("S")="I $P(^(0),U,15)=40.7" D ^DIC K DIC
  1. I Y=-1 S APCLQ="" Q
  1. S X=0 F S X=$O(^ATXAX(+Y,21,"B",X)) Q:X="" S APCLCLN(X)=""
  1. Q