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

YSASU.m

Go to the documentation of this file.
  1. YSASU ;ASF/ALB,HIOFO/FT - ASI MANAGEMENT REPORTS ;2/7/13 9:50am
  1. ;;5.01;MENTAL HEALTH;**38,121**;Dec 30, 1994;Build 61
  1. ;Reference to ^DPT supported by IA #10035
  1. ;Reference to %ZTLOAD APIs supported by DBIA #10063
  1. ;Reference to %ZISC supported by IA #10089
  1. ;Reference to FILE 4 fields supported by DBIA #10090
  1. ;Reference to $$SITE^VASITE supported by IA #10112
  1. MAIN ;entry point for YSAS MANAGEMENT REPORT option
  1. K ^TMP("YSASU",$J) N G,G0,G5,GP5,J,N,Y,YSASBDT,YSASCNT,YSASCNT2,YSASDT,YSASEDT,YSASITE,YSASMCNT,YSASMTC,YSASN,YSASS,YSAWAIT,YSCLASS,YSFL,YSIFN,YSLOC,YSNAME,YSSIGND,YSTOT,YSSPEC,YSTRANS
  1. W @IOF,!?10,"Addiction Severity Index",!?15,"Site Report by Date"
  1. D DTRANGE Q:YSASBDT=""!(YSASEDT="")
  1. W !!,"Results returned via Mailman. Please queue this report for after hours."
  1. QUEUE ;
  1. ;S YSASITE=$P(^DIC(4,+^YSTX(604.8,1,0),0),U)
  1. S YSASITE=$$SITE()
  1. N IOP,ZTDESC,ZTIO,ZTRTN,ZTSAVE
  1. S ZTIO="",ZTSAVE("YSAS*")="",ZTRTN="ENQ^YSASU",ZTDESC="YSAS ASI SITE REPORT" D ^%ZTLOAD
  1. I '$D(ZTSK) Q
  1. W !!,"Your Task Number is "_ZTSK D ^%ZISC
  1. Q
  1. ENQ ;queue entry
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. D FINDIT
  1. D BUILDIT
  1. D PTLST^YSASU1
  1. D MAIL2^YSASU1
  1. Q
  1. ZZ S N=0 F S N=$O(^TMP("YSASU",$J,"M",N)) Q:N'>0 W !,^(N)
  1. Q
  1. DTRANGE ;date range
  1. N %DT
  1. W ! S (YSASBDT,YSASEDT)="",%DT("A")="Beginning Date for ASI Range: ",%DT="AEX" D ^%DT
  1. Q:Y'>0
  1. S YSASBDT=+Y
  1. W ! S %DT("A")="Ending Date for ASI Range: " D ^%DT
  1. Q:Y'>0
  1. S YSASEDT=+Y
  1. I (YSASEDT>0)&(YSASEDT<YSASBDT) W !,?7,"Ending Date must be closer to today than Beginning Date",! H 2 W $C(7) G DTRANGE
  1. Q
  1. FINDIT ; loop thru 604 by date
  1. S (YSCLASS(-1),YSCLASS(1),YSCLASS(2),YSCLASS(3),YSTOT,YSSPEC(-1),YSSPEC(1),YSSPEC(2),YSSPEC(3),YSSPEC("N"),YSSIGND(0),YSSIGND(1),YSAWAIT(0),YSAWAIT(1),YSTRANS(0),YSTRANS(1))=0
  1. S YSASDT=YSASBDT-.001 F S YSASDT=$O(^YSTX(604,"AD",YSASDT)) Q:YSASDT'>0!(YSASDT>YSASEDT) S YSIFN=0 F S YSIFN=$O(^YSTX(604,"AD",YSASDT,YSIFN)) Q:YSIFN'>0 D
  1. . S G0=$G(^YSTX(604,YSIFN,0)),GP5=$G(^YSTX(604,YSIFN,.5)),G5=$G(^YSTX(604,YSIFN,5))
  1. . ;1=date interview 2=dfn 3=class 4=special 5=interviewer 6=e signed 7=e sig 8= awaiting trans 9= trans date
  1. . IF $P(G0,U,2)>0 S YSNAME=$P(^DPT($P(G0,U,2),0),U)
  1. . IF $P(G0,U,2)="" S YSNAME="unknown "_YSIFN
  1. . S ^TMP("YSASU",$J,"A",YSNAME,YSIFN)=""
  1. . S ^TMP("YSASU",$J,YSIFN)=YSASDT_U_$P(G0,U,2)_U_$P(G0,U,4)_U_$P(G0,U,11)_U_$P(G0,U,9)_U_$P(GP5,U,1)_U_$P(GP5,U,2)_U_$P(G5,U,3)_U_$P(G5,U,4)
  1. . S YSTOT=$G(YSTOT)+1
  1. . S G=$P(G0,U,4) S:G="" G=-1 S YSCLASS(G)=$G(YSCLASS(G))+1
  1. . S G=$P(G0,U,11) S:G="" G=-1 S YSSPEC(G)=$G(YSSPEC(G))+1
  1. . S G=$P($G(GP5),U,1) S:G="" G=0 S YSSIGND(G)=$G(YSSIGND(G))+1
  1. . S G=$P($G(G5),U,3) S:G="" G=0 S YSAWAIT(G)=$G(YSAWAIT(G))+1
  1. . S G=$P($G(G5),U,4),G=$S(G="":0,1:1),YSTRANS(G)=$G(YSTRANS(G))+1
  1. Q
  1. BUILDIT ;build output tmp
  1. K ^TMP("YSASU",$J,"M") S YSASN=0,YSASS="",$P(YSASS," ",79)=""
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=$E(YSASS,1,15)_"Addiction Severity Index Status Report"
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=" Facility: "_YSASITE
  1. S Y=YSASBDT X ^DD("DD") S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)="Begining Date: "_Y
  1. S Y=YSASEDT X ^DD("DD") S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=" Ending Date: "_Y
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=" "
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)="During this time period there were:"
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=YSTOT_" total entries"
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=YSCLASS(1)_" Full, "_YSCLASS(2)_" Lite, "_YSCLASS(3)_" Follow-up and "_YSCLASS(-1)_" Unspecified"
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=YSSPEC("N")_" Completed, "_YSSPEC(1)_" Terminated, "_YSSPEC(2)_" Refused, "_YSSPEC(3)_" Unable and "_YSSPEC(-1)_" Unspecified"
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=YSSIGND(1)_" were signed and "_YSSIGND(0)_" remain unsigned"
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=YSTRANS(1)_" were transmitted to the central database and "_YSTRANS(0)_" were not transmitted"
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=YSAWAIT(1)_" are in the queue for the next transmission"
  1. S YSASN=YSASN+1,^TMP("YSASU",$J,"M",YSASN)=" "
  1. Q
  1. SITE() ;get site name
  1. N YSDA
  1. S YSDA=+$P($$SITE^VASITE,U)
  1. Q $$GET1^DIQ(4,YSDA_",",.01)