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

AMHRC1.m

Go to the documentation of this file.
  1. AMHRC1 ; IHS/CMI/LAB - ACTIVE CLIENT LIST - OPEN NOT SEEN IN N DAYS ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;;MAY 14, 2010
  1. ;
  1. START ;
  1. I '$D(IOF) D HOME^%ZIS
  1. W @(IOF),!!
  1. W "******* CLIENTS WITH CASE OPEN DATE BUT NOT SEEN IN N DAYS) *******",!!
  1. W "This report will produce a list of patients who have a case open date,",!,"no closed date, and have not been seen in N days.",!
  1. W "The user will determine the number of days to use.",!
  1. I '$D(^AMHSITE(DUZ(2),16,DUZ)) D
  1. .W !,"This report will only include Cases on which you are the documented"
  1. .W !,"provider.",!!
  1. D DBHUSRP^AMHUTIL,DBHUSR^AMHUTIL,PAUSE^AMHLEA
  1. ;
  1. PROG ;
  1. D XIT
  1. S AMHPROG=""
  1. S DIR(0)="S^O:ONE Program;A:ALL Programs",DIR("A")="Run the Report for which PROGRAM",DIR("B")="A" KILL DA D ^DIR KILL DIR
  1. G:$D(DIRUT) XIT
  1. I Y="A" G PROV
  1. S DIR(0)="9002011.58,.03",DIR("A")="Which PROGRAM" KILL DA D ^DIR KILL DIR
  1. G:$D(DIRUT) PROG
  1. I X="" G PROG
  1. S AMHPROG=Y
  1. PROV ;
  1. S AMHPROV=""
  1. S DIR(0)="S^A:Any Provider;O:One Provider",DIR("A")="Include cases opened by",DIR("B")="A" K DA D ^DIR K DIR
  1. G:$D(DIRUT) XIT
  1. I Y="A" G DAYS
  1. S DIC="^VA(200,",DIC(0)="AEMQ",DIC("A")="Which PROVIDER: " D ^DIC
  1. K DIC,DA
  1. I Y=-1 G PROV
  1. S AMHPROV=+Y
  1. DAYS ;
  1. S AMHDAYS=0
  1. S DIR(0)="N^1:99999:0",DIR("A")="Enter the number of days since the patient has been seen" K DA D ^DIR K DIR
  1. I $D(DIRUT) W !,"Bye..." D XIT Q
  1. I Y="" D XIT Q
  1. S AMHDAYS=Y
  1. DEMO ;
  1. D DEMOCHK^AMHUTIL1(.AMHDEMO)
  1. I AMHDEMO=-1 G DAYS
  1. ZIS ;
  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. S XBRC="PROC^AMHRC1",XBRP="^AMHRC1P",XBNS="AMH",XBRX="XIT^AMHRC1"
  1. D ^XBDBQUE
  1. XIT ;
  1. D EN^XBVK("AMH")
  1. D KILL^AUPNPAT
  1. Q
  1. ;
  1. BROWSE ;
  1. S XBRP="VIEWR^XBLM(""^AMHRC1P"")"
  1. S XBNS="AMH",XBRC="PROC^AMHRC1",XBRX="XIT^AMHRC1",XBIOP=0 D ^XBDBQUE
  1. Q
  1. PROC ;EP - entry point for processing
  1. S AMHPCNT=0,AMHCCNT=0
  1. S AMHJOB=$J,AMHBTH=$H,AMHCASE=0,AMHBT=$H,AMHCASE=0
  1. D XTMP^AMHUTIL("AMHRC1","BH - REPORT - OPEN NOT SEEN")
  1. F S AMHCASE=$O(^AMHPCASE(AMHCASE)) Q:AMHCASE'=+AMHCASE D PROC1
  1. S AMHET=$H
  1. K AMHCASE
  1. Q
  1. PROC1 ;
  1. Q:'$$ALLOWCD^AMHLCD(DUZ,AMHCASE)
  1. Q:$P(^AMHPCASE(AMHCASE,0),U)=""
  1. I $P(^AMHPCASE(AMHCASE,0),U,2)="" Q
  1. I AMHPROG]"",$P(^AMHPCASE(AMHCASE,0),U,3)'=AMHPROG Q ;not right program
  1. Q:$P(^AMHPCASE(AMHCASE,0),U,5)]"" ;closed date
  1. S DFN=$P(^AMHPCASE(AMHCASE,0),U,2)
  1. Q:'DFN
  1. Q:'$$ALLOWP^AMHUTIL(DUZ,DFN)
  1. Q:$$DEMO^AMHUTIL1(DFN,$G(AMHDEMO))
  1. I AMHPROV,AMHPROV'=$P(^AMHPCASE(AMHCASE,0),U,8) Q
  1. S AMHSEEN=0 D CHKVISIT Q:AMHSEEN
  1. I '$D(^XTMP("AMHRP4",AMHJOB,AMHBTH,"PATIENTS",DFN)) S AMHPCNT=AMHPCNT+1,^XTMP("AMHRP4",AMHJOB,AMHBTH,"PATIENTS",DFN)=""
  1. S ^XTMP("AMHRC1",AMHJOB,AMHBTH,"CASES",$P(^DPT(DFN,0),U),DFN,AMHCASE)=AMHD,AMHCCNT=AMHCCNT+1
  1. Q
  1. ;
  1. CHKVISIT ;chk for last visit date less than amhdays - set amhseen if seen
  1. S AMHD=""
  1. S AMHD=$$GETV(DFN)
  1. Q:AMHD=""
  1. I $$FMDIFF^XLFDT(DT,AMHD)>(AMHDAYS-1) Q
  1. S AMHSEEN=1
  1. Q
  1. GETV(P) ;return null or patients last visit date
  1. NEW AMHR,D S AMHR="",G=""
  1. I '$D(^AMHREC("AE",P)) Q AMHR
  1. ;S D=$O(^AMHREC("AE",P,"")),AMHR=$O(^AMHREC("AE",P,D,"")) I AMHR]"" S AMHR=$P($P(^AMHREC(AMHR,0),U),".")
  1. S D=0 F S D=$O(^AMHREC("AE",P,D)) Q:'D!(G) D
  1. .S AMHR=0 F S AMHR=$O(^AMHREC("AE",P,D,AMHR)) Q:AMHR'=+AMHR!(G) D
  1. ..Q:'$$ALLOWVI^AMHUTIL(DUZ,AMHR)
  1. ..S G=$P($P(^AMHREC(AMHR,0),U),".")
  1. Q G