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

APCLTAX.m

Go to the documentation of this file.
  1. APCLTAX ; IHS/CMI/LAB - REPORT FOR ANMC ;
  1. ;;2.0;IHS PCC SUITE;**11**;MAY 14, 2009;Build 58
  1. ;
  1. ;
  1. INFORM ;
  1. W:$D(IOF) @IOF
  1. W !!,?20,"*********HOSPITAL DISCHARGE BY RANGE OF TAXONOMY*******",!
  1. W !!,?40,"TEMPLATE CREATION",!!
  1. W !!,"This is a special report written to create a patient search template.",!,"The patients selected will be based on the following criteria:",!,?5,"- living patients with a discharge in a user defined time frame"
  1. W !?5,"- excluding patients discharged before they were 10 days old",!?5,"- excluding patients whose LOS was less than 1",!?5,"- excluding patients whose primary dx is not in a user selected taxonomy",!
  1. GETDATES ;
  1. BD ;get beginning date
  1. W ! S DIR(0)="D^:DT:EP",DIR("A")="Enter beginning Discharge Date for Search" 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 Discharge Date for Search" S Y=APCLBD D DD^%DT S DIR("B")=Y,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. ;
  1. TAX ;get icd taxonomy
  1. S APCLTAX=""
  1. S DIC="^ATXAX(",DIC(0)="AEMQ",DIC("S")="I $P(^(0),U,15)=80",DIC("A")="Enter the Diagnoses Taxonomy: "
  1. D ^DIC K DIC,DA
  1. I Y=-1 G BD
  1. S APCLTAX=+Y
  1. S APCLSRCH=""
  1. S DIC="^DIBT(",DIC(0)="AELMQZ",DIC("A")="Search Template: ",DIC("DR")="2///"_DT_";4///9000001;5///"_DUZ
  1. W !
  1. D ^DIC
  1. I +Y<1 W !!,"No Search Template selected." G TAX
  1. I +Y,$D(^DIBT(+Y)) W !!,"An unduplicated patient list resulting from this report will be stored in the",!!?20,"** ",Y(0,0)," ** Search Template." K ^DIBT(+Y,1)
  1. ;
  1. S APCLSRCH=+Y
  1. DEMO ;
  1. D DEMOCHK^APCLUTL(.APCLDEMO)
  1. I APCLDEMO=-1 G SEARCH
  1. GO ;process
  1. W !!,"OKAY -- HOLD ON WHILE I FIND ALL THE DISCHARGES..."
  1. START ;
  1. S APCLPCNT=0
  1. ;
  1. V ; Run by visit date
  1. S APCLODAT=APCLSD_".9999" F S APCLODAT=$O(^AUPNVINP("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED) D V1
  1. ;
  1. W !!,"ALL DONE - FOUND ",APCLPCNT," PATIENTS.",!
  1. END ;EOJ
  1. D XIT
  1. K APCLTAX,APCLSRCH,APCLBD,APCLSD,APCLODAT,APCLED,APCLVSIT,APCLVDFN,APCLP,APCLVREC,APCLFOUN,APCLPCNT,DFN
  1. Q
  1. V1 ;
  1. S APCLVDFN="" F S APCLVDFN=$O(^AUPNVINP("B",APCLODAT,APCLVDFN)) Q:APCLVDFN'=+APCLVDFN I $D(^AUPNVINP(APCLVDFN,0)) S APCLVREC=^(0) D PROC
  1. Q
  1. PROC ;
  1. S DFN=$P(APCLVREC,U,2)
  1. Q:$$DEMO^APCLUTL(DFN,$G(APCLDEMO))
  1. Q:$P($G(^DPT(DFN,.35)),U)]""
  1. S X2=$P(^DPT(DFN,0),U,3) Q:X2="" S X1=$P($P(APCLVREC,U),".") D ^%DTC
  1. Q:X<10 ;QUIT IF LESS THAN 10 DAYS OLD
  1. S APCLVSIT=$P(APCLVREC,U,3)
  1. S X1=$P($P(APCLVREC,U),"."),X2=$P($P(^AUPNVSIT(APCLVSIT,0),U),".") D ^%DTC
  1. Q:X<1
  1. DXHIT ;
  1. K APCLFOUN,APCLP S APCL1=0 F S APCL1=$O(^AUPNVPOV("AD",APCLVSIT,APCL1)) Q:APCL1="" I $P(^AUPNVPOV(APCL1,0),U,4)="P" S APCLP=APCL1
  1. I '$D(APCLP) S APCLP=$O(^AUPNVPOV("AD",APCLVSIT,0))
  1. Q:'$D(APCLP) ;NO POV
  1. Q:APCLP=""
  1. Q:'$$ICD^ATXAPI($P(^AUPNVPOV(APCLP,0),U),APCLTAX,9)
  1. S APCLPCNT=APCLPCNT+1
  1. S ^DIBT(APCLSRCH,1,DFN)=""
  1. W "."
  1. Q
  1. XIT ;
  1. K APCLSITE,APCLRPT,APCLINFO,APCLSORT,APCLPROC,APCLINF,APCLBD,APCLED,APCLSD,APCLDT,APCLLOC,APCLODAT,APCLVDFN,APCLVLOC,APCLVREC,APCLCLIN,APCLSKIP,APCL1,APCL2,APCLAP,APCLDISC,APCLPPOV,APCLX,APCLHIGH,APCLDATE,APCLPRNT,APCLJOB,APCLAPCC
  1. K APCLDX,APCLLOW,APCLICD,APCLDA1,APCLDA2,APCLY,APCLTITL,APCL80S,APCLEDD,APCLHD1,APCLHD2,APCLLENG,APCLLOCT,APCLPG,APCLSRT2,APCLTOT,APCLBDD,APCLPROV,APCLSEC,APCLZ,APCLADIS,APCLQUIT,APCLLOCC,APCLBT,APCLBTH
  1. K APCLJOB,APCLRXCL,APCLOTHC
  1. K X,X1,X2,IO("Q"),%,Y,POP,DIRUT,ZTSK,ZTQUEUED,H,S,TS,M
  1. Q