- NURA9B1 ;HIRMFO/RM,FT-AGE REPORT BY LOCATION BY CATEGORY ;3/27/97
- ;;4.0;NURSING SERVICE;**13**;Apr 25, 1997
- Q:'$D(^DIC(213.9,1,"OFF")) Q:$P(^DIC(213.9,1,"OFF"),"^",1)=1
- S (NURQUIT,NURQUEUE,NUROUT)=0
- D EN1^NURSAUTL G QUIT:$G(NUROUT)
- I NURMDSW S DIC(0)="AQEZ",NURPLSCR=1 D EN5^NURSAGSP G:$G(NUROUT) QUIT
- I NURMDSW=0,NURPLSW=1 S NURPLSCR=1 D PRD^NURSAGSP K NURPLSCR I $G(NUROUT) G QUIT
- W ! D EN1^NURSAGSP G:$G(NUROUT) QUIT
- D EN3^NURSAGSP G:$G(NUROUT) QUIT
- D EN3^NURSAGP0 W ! G QUIT:$G(NUROUT)
- S ZTDESC="Nursing Age Report by Location & Category",ZTRTN="START^NURA9B1" D EN7^NURSUT0 I POP!($D(ZTSK)) G QUIT
- START ;
- K ^TMP("NURA",$J),^TMP($J),^TMP("NURLOC",$J) S NSEL="WC",(NURQUIT,NURSW1,NURSW1(1),NURPAGE,NTCT)=0,(NURNL1,NCATPOS)=""
- D SORT I 'NUROUT U IO D NPRINT,FINCAT^NURAGE
- QUIT K ^TMP("NURA",$J),^TMP($J) D CLOSE^NURSUT1,^NURAKILL
- Q
- NPRINT F NURI=1:1:8 S (NURSOLD(NURI),NURSFOLD(NURI),NURSMOLD(NURI),NURSPOLD(NURI),NURSWOLD(NURI))=0
- S NURFAC="" F S NURFAC=$O(^TMP($J,"L",NURFAC)) Q:NURFAC="" D NL Q:NURQUIT D:NURMDSW FSUBTL^NURAGE Q:NURQUIT
- Q
- NL S NURSPROG="" F S NURSPROG=$O(^TMP($J,"L",NURFAC,NURSPROG)) Q:NURSPROG="" D NM Q:NURQUIT D:NURPLSW PSUBTL^NURAGE Q:NURQUIT
- Q
- NM S NURNL1="" F S NURNL1=$O(^TMP($J,"L",NURFAC,NURSPROG,NURNL1)) Q:NURNL1="" D HDGING^NURAGE Q:NURQUIT D NN Q:NURQUIT D WRTWARD^NURAGE Q:NURQUIT
- Q
- NN S NCATPOS="" F S NCATPOS=$O(^TMP($J,"L",NURFAC,NURSPROG,NURNL1,NCATPOS)) Q:NCATPOS="" D HDGBYP^NURAGE D NO Q:NURQUIT D WRTCAT^NURAGE Q:NURQUIT
- Q
- NO S NURDOB="" F S NURDOB=$O(^TMP($J,"L",NURFAC,NURSPROG,NURNL1,NCATPOS,NURDOB)) Q:NURDOB="" S NURSORT=$G(^(NURDOB)) I NURSORT D NP S NCT=0 Q:NURQUIT
- Q
- NP S NURN1="" F S NURN1=$O(^TMP($J,"L1",NURSORT,NURN1)) Q:NURN1="" D NQ Q:NURQUIT
- Q
- NQ S DA="" F S DA=$O(^TMP($J,"L1",NURSORT,NURN1,DA)) Q:DA="" D ^NURAGE Q:NURQUIT
- Q
- SORT W ! S NRPT=7 D EN3^NURAAGS0
- I $O(^TMP($J,""))="",'$D(NURSNLOC) S NUROUT=1 S NURSPROG=$S($G(NURSPROG)=0:NURSPROG(1),1:" BLANK"),NURFAC=$S($G(NURFAC)=0:NURFAC(1),1:" BLANK") D HDGING^NURAGE W !,"THERE IS NO DATA FOR THIS REPORT"
- I $O(^TMP($J,""))="",$D(NURSNLOC) S NUROUT=1,NURSPROG=$S($G(NURSPROG)=0:NURSPROG(1),1:" BLANK"),NURFAC=$S($G(NURFAC)=0:NURFAC(1),1:" BLANK") D HDGING^NURAGE S NURNL1="" F S NURNL1=$O(NURSNLOC(NURNL1)) Q:NURNL1="" S NL1=NURNL1 D NODATA^NURSUT1
- I $O(^TMP($J,""))'="",$D(NURSNLOC) D I NURSW1=1 D ENDPG^NURSUT1 S NURSW1=0
- . S (NURY,NURZ,NURX)="" F S NURY=$O(^TMP($J,"L",NURY)) Q:NURY="" F S NURZ=$O(^TMP($J,"L",NURY,NURZ)) Q:NURZ="" F S NURX=$O(^TMP($J,"L",NURY,NURZ,NURX)) Q:NURX="" S ^TMP("NURLOC",$J,NURX)=""
- . S NURNL1="" F S NURNL1=$O(NURSNLOC(NURNL1)) Q:NURNL1="" I '$D(^TMP("NURLOC",$J,NURNL1)) D
- . . S NURSPROG=$S($G(NURSPROG)=0:NURSPROG(1),1:" BLANK"),NURFAC(2)=$S($G(NURFAC)=0:NURFAC(1),1:" BLANK") D:NURSW1=0 HDGING^NURAGE S NL1=NURNL1 D NODATA^NURSUT1
- . . Q
- . Q
- Q
- NURA9B1 ;HIRMFO/RM,FT-AGE REPORT BY LOCATION BY CATEGORY ;3/27/97
- +1 ;;4.0;NURSING SERVICE;**13**;Apr 25, 1997
- +2 IF '$DATA(^DIC(213.9,1,"OFF"))
- QUIT
- IF $PIECE(^DIC(213.9,1,"OFF"),"^",1)=1
- QUIT
- +3 SET (NURQUIT,NURQUEUE,NUROUT)=0
- +4 DO EN1^NURSAUTL
- IF $GET(NUROUT)
- GOTO QUIT
- +5 IF NURMDSW
- SET DIC(0)="AQEZ"
- SET NURPLSCR=1
- DO EN5^NURSAGSP
- IF $GET(NUROUT)
- GOTO QUIT
- +6 IF NURMDSW=0
- IF NURPLSW=1
- SET NURPLSCR=1
- DO PRD^NURSAGSP
- KILL NURPLSCR
- IF $GET(NUROUT)
- GOTO QUIT
- +7 WRITE !
- DO EN1^NURSAGSP
- IF $GET(NUROUT)
- GOTO QUIT
- +8 DO EN3^NURSAGSP
- IF $GET(NUROUT)
- GOTO QUIT
- +9 DO EN3^NURSAGP0
- WRITE !
- IF $GET(NUROUT)
- GOTO QUIT
- +10 SET ZTDESC="Nursing Age Report by Location & Category"
- SET ZTRTN="START^NURA9B1"
- DO EN7^NURSUT0
- IF POP!($DATA(ZTSK))
- GOTO QUIT
- START ;
- +1 KILL ^TMP("NURA",$JOB),^TMP($JOB),^TMP("NURLOC",$JOB)
- SET NSEL="WC"
- SET (NURQUIT,NURSW1,NURSW1(1),NURPAGE,NTCT)=0
- SET (NURNL1,NCATPOS)=""
- +2 DO SORT
- IF 'NUROUT
- USE IO
- DO NPRINT
- DO FINCAT^NURAGE
- QUIT KILL ^TMP("NURA",$JOB),^TMP($JOB)
- DO CLOSE^NURSUT1
- DO ^NURAKILL
- +1 QUIT
- NPRINT FOR NURI=1:1:8
- SET (NURSOLD(NURI),NURSFOLD(NURI),NURSMOLD(NURI),NURSPOLD(NURI),NURSWOLD(NURI))=0
- +1 SET NURFAC=""
- FOR
- SET NURFAC=$ORDER(^TMP($JOB,"L",NURFAC))
- IF NURFAC=""
- QUIT
- DO NL
- IF NURQUIT
- QUIT
- IF NURMDSW
- DO FSUBTL^NURAGE
- IF NURQUIT
- QUIT
- +2 QUIT
- NL SET NURSPROG=""
- FOR
- SET NURSPROG=$ORDER(^TMP($JOB,"L",NURFAC,NURSPROG))
- IF NURSPROG=""
- QUIT
- DO NM
- IF NURQUIT
- QUIT
- IF NURPLSW
- DO PSUBTL^NURAGE
- IF NURQUIT
- QUIT
- +1 QUIT
- NM SET NURNL1=""
- FOR
- SET NURNL1=$ORDER(^TMP($JOB,"L",NURFAC,NURSPROG,NURNL1))
- IF NURNL1=""
- QUIT
- DO HDGING^NURAGE
- IF NURQUIT
- QUIT
- DO NN
- IF NURQUIT
- QUIT
- DO WRTWARD^NURAGE
- IF NURQUIT
- QUIT
- +1 QUIT
- NN SET NCATPOS=""
- FOR
- SET NCATPOS=$ORDER(^TMP($JOB,"L",NURFAC,NURSPROG,NURNL1,NCATPOS))
- IF NCATPOS=""
- QUIT
- DO HDGBYP^NURAGE
- DO NO
- IF NURQUIT
- QUIT
- DO WRTCAT^NURAGE
- IF NURQUIT
- QUIT
- +1 QUIT
- NO SET NURDOB=""
- FOR
- SET NURDOB=$ORDER(^TMP($JOB,"L",NURFAC,NURSPROG,NURNL1,NCATPOS,NURDOB))
- IF NURDOB=""
- QUIT
- SET NURSORT=$GET(^(NURDOB))
- IF NURSORT
- DO NP
- SET NCT=0
- IF NURQUIT
- QUIT
- +1 QUIT
- NP SET NURN1=""
- FOR
- SET NURN1=$ORDER(^TMP($JOB,"L1",NURSORT,NURN1))
- IF NURN1=""
- QUIT
- DO NQ
- IF NURQUIT
- QUIT
- +1 QUIT
- NQ SET DA=""
- FOR
- SET DA=$ORDER(^TMP($JOB,"L1",NURSORT,NURN1,DA))
- IF DA=""
- QUIT
- DO ^NURAGE
- IF NURQUIT
- QUIT
- +1 QUIT
- SORT WRITE !
- SET NRPT=7
- DO EN3^NURAAGS0
- +1 IF $ORDER(^TMP($JOB,""))=""
- IF '$DATA(NURSNLOC)
- SET NUROUT=1
- SET NURSPROG=$SELECT($GET(NURSPROG)=0:NURSPROG(1),1:" BLANK")
- SET NURFAC=$SELECT($GET(NURFAC)=0:NURFAC(1),1:" BLANK")
- DO HDGING^NURAGE
- WRITE !,"THERE IS NO DATA FOR THIS REPORT"
- +2 IF $ORDER(^TMP($JOB,""))=""
- IF $DATA(NURSNLOC)
- SET NUROUT=1
- SET NURSPROG=$SELECT($GET(NURSPROG)=0:NURSPROG(1),1:" BLANK")
- SET NURFAC=$SELECT($GET(NURFAC)=0:NURFAC(1),1:" BLANK")
- DO HDGING^NURAGE
- SET NURNL1=""
- FOR
- SET NURNL1=$ORDER(NURSNLOC(NURNL1))
- IF NURNL1=""
- QUIT
- SET NL1=NURNL1
- DO NODATA^NURSUT1
- +3 IF $ORDER(^TMP($JOB,""))'=""
- IF $DATA(NURSNLOC)
- Begin DoDot:1
- +4 SET (NURY,NURZ,NURX)=""
- FOR
- SET NURY=$ORDER(^TMP($JOB,"L",NURY))
- IF NURY=""
- QUIT
- FOR
- SET NURZ=$ORDER(^TMP($JOB,"L",NURY,NURZ))
- IF NURZ=""
- QUIT
- FOR
- SET NURX=$ORDER(^TMP($JOB,"L",NURY,NURZ,NURX))
- IF NURX=""
- QUIT
- SET ^TMP("NURLOC",$JOB,NURX)=""
- +5 SET NURNL1=""
- FOR
- SET NURNL1=$ORDER(NURSNLOC(NURNL1))
- IF NURNL1=""
- QUIT
- IF '$DATA(^TMP("NURLOC",$JOB,NURNL1))
- Begin DoDot:2
- +6 SET NURSPROG=$SELECT($GET(NURSPROG)=0:NURSPROG(1),1:" BLANK")
- SET NURFAC(2)=$SELECT($GET(NURFAC)=0:NURFAC(1),1:" BLANK")
- IF NURSW1=0
- DO HDGING^NURAGE
- SET NL1=NURNL1
- DO NODATA^NURSUT1
- +7 QUIT
- End DoDot:2
- +8 QUIT
- End DoDot:1
- IF NURSW1=1
- DO ENDPG^NURSUT1
- SET NURSW1=0
- +9 QUIT