YTQAPI16 ;ASF/ALB MHA REPORT BY Q ; 4/3/07 11:34am ;;5.01;MENTAL HEALTH;**85**;Dec 30, 1994;Build 48 Q MAIN ; N N,YSAD,G,YSCODE,YSB,YSD,YSE,YSCN,DIRUT,Y,YSA,YSC,YSCOMP,YSQNUMB,YSQTEXT D SELAD W !!,"You must queue this report- off hours are strongly suggested" S %ZIS="QM" D ^%ZIS Q:IO="" I '$D(IO("Q")) W !,"Must be queued-- try again",! H 2 Q ;-->out I $D(IO("Q")) D D ^%ZTLOAD D HOME^%ZIS K IO("Q") Q .S ZTRTN="ENQ^YTQAPI16",ZTDESC="MHA3 QRQ Export",ZTSAVE("YS*")="" .S ZTIO=ION_";"_IOST .I $D(IO("DOC"))#2,IO("DOC")]"" S ZTIO=ZTIO_";"_IO("DOC") Q .I IOM S ZTIO=ZTIO_";"_IOM .I IOSL S ZTIO=ZTIO_";"_IOSL Q ENQ ;taskman entry K ^TMP("YSQR",$J),^TMP("YSQA",$J) S N=0 D BUILDG D XML D ^%ZISC Q XML ;setup output S N=N+1,^TMP("YSXML",$J,N)="" S N=N+1,^TMP("YSXML",$J,N)="" D GUTS S N=N+1,^TMP("YSXML",$J,N)="" U IO S N=0 F S N=$O(^TMP("YSXML",$J,N)) Q:N'>0 W ^(N),! Q ;-->out SELAD ;administation filter W @IOF,!!,"MHA Question Frequency Report" K DIR S DIR(0)="DA^2961001:NOW:TX",DIR("A")="Begin date/time: ",DIR("B")="T-1M" D ^DIR Q:$D(DIRUT) S YSB=Y K DIR S DIR(0)="DA^2961001:NOW:TX",DIR("A")="End date/time: ",DIR("B")="NOW" D ^DIR Q:$D(DIRUT) S YSE=Y K DIC S DIC(0)="AEQ",DIC="^YTT(601.71," D ^DIC Q:Y'>0 S YSCODE=$P(Y,U,2) Q BUILDG ;global create S YSCN=$O(^YTT(601.71,"B",YSCODE,-1)) S YSD=YSB-.00001 F S YSD=$O(^YTT(601.84,"AC",YSCN,YSD)) Q:(YSD'>0)!(YSD>YSE) D . S YSAD=0 F S YSAD=$O(^YTT(601.84,"AC",YSCN,YSD,YSAD)) Q:YSAD'>0 D .. S YSCOMP=$P(^YTT(601.84,YSAD,0),U,9) .. Q:YSCOMP'="Y" .. S ^TMP("YSQA",$J,YSAD)="" S YSAD=0 F S YSAD=$O(^TMP("YSQA",$J,YSAD)) Q:YSAD'>0 S YSA=0 F S YSA=$O(^YTT(601.85,"AD",YSAD,YSA)) Q:YSA'>0 D B3 Q B3 ; S YSQNUMB=$P(^YTT(601.85,YSA,0),U,3) S YSC=$P(^YTT(601.85,YSA,0),U,4) S:YSC'?1N.N YSC="?" S YSCN=$S(YSC?1N.N:^YTT(601.75,YSC,1),1:"???") S:$D(^YTT(601.85,YSA,1,1,0)) YSCN=^YTT(601.85,YSA,1,1,0) S ^TMP("YSQR",$J,YSQNUMB)=$G(^TMP("YSQR",$J,YSQNUMB))+1 S ^TMP("YSQR",$J,YSQNUMB,YSC)=$G(^TMP("YSQR",$J,YSQNUMB,YSC))+1 Q GUTS ;extract the data into an XML global S N=N+1,^TMP("YSXML",$J,N)=""_YSCODE_"" S YSQNUMB=0 F S YSQNUMB=$O(^TMP("YSQR",$J,YSQNUMB)) Q:YSQNUMB'>0 D . S N=N+1,^TMP("YSXML",$J,N)="" . S N=N+1,^TMP("YSXML",$J,N)=""_YSQNUMB_"" . S YSQTEXT=$G(^YTT(601.72,YSQNUMB,1,1,0)) . S N=N+1,^TMP("YSXML",$J,N)=""_YSQTEXT_"" . S YSC=0 F S YSC=$O(^TMP("YSQR",$J,YSQNUMB,YSC)) Q:YSC'>0 D .. S N=N+1,^TMP("YSXML",$J,N)="" .. S N=N+1,^TMP("YSXML",$J,N)=""_YSC_"" .. S N=N+1,^TMP("YSXML",$J,N)=""_$G(^YTT(601.75,YSC,1))_"" .. S N=N+1,^TMP("YSXML",$J,N)=""_^TMP("YSQR",$J,YSQNUMB,YSC)_"" .. S N=N+1,^TMP("YSXML",$J,N)=""_^TMP("YSQR",$J,YSQNUMB)_"" .. S N=N+1,^TMP("YSXML",$J,N)="" . S N=N+1,^TMP("YSXML",$J,N)="" Q