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

SDWLR31.m

Go to the documentation of this file.
  1. SDWLR31 ;BPOI/TEH - WAIT LIST REPORT 30/120 (PCMM) PRINT;06/12/2002 ; Compiled January 29, 2009 13:19:33
  1. ;;5.3;PIMS;**524,1015,1016**;JUN 30, 2012;Build 20
  1. ;
  1. ;
  1. ;
  1. ;
  1. ;
  1. Q
  1. EN ;ENTRY POINT
  1. K ^TMP("SDWLR31",$J)
  1. S SDWLJOB=$G(^TMP("SDWLR30","JOB"))
  1. S %H=+$H D YMD^%DTC S SDWLDT=X
  1. D SORT
  1. D PRINT
  1. K SDWLJOB,SDWLDT,SDWLINS,SDWLDATE,SDWLOPEN,X,S1,S2,S3,S1T,S2T,S3T,SDWLDA
  1. K SDWLTY,SDWLTYP,SDWLFL,SDWLFLG
  1. Q
  1. SORT I SDWLJOB I $D(^TMP("SDWLR30",SDWLJOB)) S (SDWLINS,SDWLDATE,SDWLOPEN)="" N XX F XX="INS","DATE","OPEN" I $D(^TMP("SDWLR30",SDWLJOB,XX)) D
  1. . S @("SDWL"_XX)=$G(^TMP("SDWLR30",SDWLJOB,XX))
  1. E N YY F YY="INS","DATE","OPEN" S @("SDWL"_YY)=@YY
  1. A0 I '$D(SDWLINS) Q
  1. A1 I '$D(SDWLDATE) Q
  1. A2 I '$D(SDWLOPEN) Q
  1. I SDWLDATE'="ALL" S SDWLDATB=$P(SDWLDATE,U),SDWLDATE=$P(SDWLDATE,U,2)
  1. A3 S SDWLDA=0 F S SDWLDA=$O(^SDWL(409.3,SDWLDA)) Q:SDWLDA<1 D
  1. . S SDWLX=$G(^SDWL(409.3,SDWLDA,0))
  1. . S SDWLIN=+$P(SDWLX,U,3) I SDWLINS'="ALL",SDWLINS'[SDWLIN Q
  1. . S SDWLTY=+$P(SDWLX,U,5)
  1. . S SDWLTYP=+$S(SDWLTY=1:$P(SDWLX,U,6),SDWLTY=2:$P(SDWLX,U,7),SDWLTY=3:$P(SDWLX,U,8),SDWLTY=4:$P(SDWLX,U,9),1:0)
  1. . S SDWLSTAT=$P(SDWLX,U,17)
  1. . I SDWLOPEN="O"&(SDWLOPEN'=SDWLSTAT) Q ; QUIT IF OPEN ONLY
  1. . S SDWLORDT=$P(SDWLX,U,2)
  1. . S SDWLDTQ=0 I $D(SDWLDATB) D
  1. . . I SDWLORDT<SDWLDATB S SDWLDTQ=1 Q
  1. . . I SDWLORDT>SDWLDATE S SDWLDTQ=1 Q
  1. . I SDWLDTQ Q
  1. . S SDWLFLG="O" I SDWLOPEN[SDWLSTAT,SDWLSTAT="C" D
  1. . . S SDWLFLG="C-ND" I $G(^SDWL(409.3,SDWLDA,"DIS")) S SDWLFLG="C",SDWLORDT=$P(^SDWL(409.3,SDWLDA,"DIS"),U)
  1. . S SDWLFLG=$S(SDWLFLG="O":1,SDWLFLG="C":2,1:3)
  1. . S X1=SDWLDT,X2=SDWLORDT D ^%DTC S SDWLAPD=X
  1. . I SDWLAPD<30 S SDWLFL=1
  1. . I SDWLAPD>29&(SDWLAPD<120) S SDWLFL=2
  1. . I SDWLAPD>120 S SDWLFL=3
  1. . S SDWLCNT=0 I $D(^TMP("SDWLR31",$J,SDWLIN,SDWLFLG,SDWLFL,SDWLTY,SDWLTYP)) S SDWLCNT=^(SDWLTYP)
  1. . S SDWLCNT=SDWLCNT+1 S ^TMP("SDWLR31",$J,SDWLIN,SDWLFLG,SDWLFL,SDWLTY,SDWLTYP)=SDWLCNT
  1. . ;S ^TMP("SDWLR31",$J,"B",SDWLDA,SDWLFL,SDWLTY,SDWLTYP,SDWLFLG)=""
  1. Q
  1. PRINT ;PRINT REPORT
  1. D HD
  1. S (SDWLIN,SDWLTY,SDWLTYP,SDWLFL)=0,(S1,S2,S3)=0
  1. B0 F S SDWLIN=$O(^TMP("SDWLR31",$J,SDWLIN)) Q:SDWLIN<1 D
  1. .S (S1,S2,S3,S1T,S2T,S3T)=0
  1. .S SDWLINX=$$GET1^DIQ(4,SDWLIN_",",.01) W !,$E(SDWLINX,1,20)," (",SDWLIN,")"
  1. .S SDWLFLG=0
  1. .F S SDWLFLG=$O(^TMP("SDWLR31",$J,SDWLIN,SDWLFLG)) Q:SDWLFLG<1 D D S2
  1. ..W ?22,$S(SDWLFLG=1:"(OPEN RECORDS)",SDWLFLG=2:"(CLOSED RECORDS)",SDWLFLG=3:"(CLOSED - WITH NO DISPOSITION RECORDED)",1:"UNKNOWN"),!!
  1. ..S SDWLFL=0
  1. ..F S SDWLFL=$O(^TMP("SDWLR31",$J,SDWLIN,SDWLFLG,SDWLFL)) Q:SDWLFL<1 D
  1. ...S SDWLTY=0
  1. ...F S SDWLTY=$O(^TMP("SDWLR31",$J,SDWLIN,SDWLFLG,SDWLFL,SDWLTY)) Q:SDWLTY<1 D D S1
  1. ....S SDWLTYX=$$EXTERNAL^DILFD(409.3,4,,SDWLTY) W ?22,$E(SDWLTYX,1,15)
  1. ....S SDWLTYP=0
  1. ....F S SDWLTYP=$O(^TMP("SDWLR31",$J,SDWLIN,SDWLFLG,SDWLFL,SDWLTY,SDWLTYP)) Q:SDWLTYP<1 D
  1. .....S SDWLF=$S(SDWLTY=1:404.51,SDWLTY=2:404.57,SDWLTY=3:409.31,SDWLTY=4:409.32,1:0) I 'SDWLF S SDWLTYN=""
  1. .....S SDWLTYN=$$GET1^DIQ(SDWLF,SDWLTYP_",",.01) W ?40,$E(SDWLTYN,1,12)
  1. .....S SDWLN=$G(^TMP("SDWLR31",$J,SDWLIN,SDWLFLG,SDWLFL,SDWLTY,SDWLTYP)) S @("S"_SDWLFL)=@("S"_SDWLFL)+SDWLN
  1. .....S @("S"_SDWLFL_"T")=@("S"_SDWLFL_"T")+SDWLN
  1. .....S TAB=$S(SDWLFL=1:55,SDWLFL=2:60,SDWLFL=3:65,1:65) D
  1. ......F SDX=1:1:3 D
  1. .......S TAB=$S(SDX=1:55,SDX=2:60,SDX=3:65,1:65) D
  1. ........W ?TAB I SDX=SDWLFL W $J(SDWLN,$S(SDWLFL<3:3,1:4))
  1. ........E W ?TAB,$J(0,$S(SDX<3:3,1:4))
  1. ......W !
  1. Q
  1. S1 W !,?55,"===",?60,"===",?65,"====",!,?40,"SUBTOTALS"
  1. W ?55,$J(S1,3),?60,$J(S2,3),?65,$J(S3,4) S (S1,S2,S3)=0 W !!
  1. Q
  1. S2 W !,?55,"===",?60,"===",?65,"====",!,?43,"TOTALS"
  1. W ?55,$J(S1T,3),?60,$J(S2T,3),?65,$J(S3T,4),!!
  1. Q
  1. HD ;HEADER
  1. W:$D(IOF) @IOF W !!,?80-$L("EWL 30/60/120 DAY REPORT")\2,"EWL 30/60/120 DAY REPORT",!!
  1. W !,?5,"INSTITUTION",?25,"TYPE",?40,"LOCATION",?55,"<30",?60,">30",?65,">120"
  1. W !,?5,"===========",?25,"====",?40,"========",?55,"===",?60,"===",?65,"====",!
  1. Q