NURA9I ;HIRMFO/MD,FT-NPSB REPORT BY LOCATION ;7/21/97
;;4.0;NURSING SERVICE;**3,13**;Apr 25, 1997
Q:'$D(^DIC(213.9,1,"OFF")) Q:$P(^DIC(213.9,1,"OFF"),U,1)=1
S (NURPLSW,NURQUEUE,NURQUIT,NURMDSW,NURSW1,NURPAGE,NUROUT)=0,NURNODE4="",NRNLPN=1
D EN1^NURSAUTL G QUIT:$G(NUROUT)
D EN9^NURSAGSP
I NURMDSW S DIC(0)="AEMQZ",NURPLSCR=1 D EN5^NURSAGSP K NURPLSCR I $G(NUROUT) G QUIT
I NURMDSW=0,NURPLSW=1 S NURPLSCR=1 D PRD^NURSAGSP K NURPLSCR I $G(NUROUT) G QUIT
W ! D EN1^NURSAGSP G QUIT:$G(NUROUT)
D EN3^NURSAGSP G QUIT:$G(NUROUT)
D EN1^NURSAGP1 W ! G QUIT:$G(NUROUT)
S ZTDESC="NPSB Report by Nursing Location",ZTRTN="START^NURA9I",NURS132=1 D EN7^NURSUT0 G:POP!($D(ZTSK)) QUIT
START ;
K ^TMP($J),^TMP("NURLOC",$J) U IO S (NURQUIT,NURPAGE,NURSW1,NUROUT)=0
SORT S Z="" F S Z=$O(^NURSF(210,"AC",Z)) Q:Z="" I Z'="R" F DA=0:0 S DA=$O(^NURSF(210,"AC",Z,DA)) Q:DA'>0 I $D(^NURSF(210,DA,0)),+$P(^(0),U) S DA(1)=$P(^(0),U) W:$R(100)&($E(IOST)="C") "." D SORT1
D:NURSZAP=7 EN4^NURSAUTL S X=$O(^TMP($J,""))
I $O(^TMP($J,""))="",'$D(NURSNLOC) S NURPROG(4)=$S($G(NURPROG)=0:NURPROG(1),1:""),NURFAC(2)=$S($G(NURFAC)=0:NURFAC(1),1:"") D NHDR W !!,"THERE IS NO DATA FOR THIS REPORT"
I $O(^TMP($J,""))="",$D(NURSNLOC) S NURPROG(4)=$S($G(NURPROG)=0:NURPROG(1),1:""),NURFAC(2)=$S($G(NURFAC)=0:NURFAC(1),1:"") D NHDR S NL1="" F S NL1=$O(NURSNLOC(NL1)) Q:NL1="" 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,NURY)) Q:NURY="" F S NURZ=$O(^TMP($J,NURY,NURZ)) Q:NURZ="" F S NURX=$O(^TMP($J,NURY,NURZ,NURX)) Q:NURX="" S ^TMP("NURLOC",$J,NURX)=""
. S NL1="" F S NL1=$O(NURSNLOC(NL1)) Q:NL1="" I '$D(^TMP("NURLOC",$J,NL1)) D
. . S NURPROG(4)=$S($G(NURPROG)=0:NURPROG(1),1:""),NURFAC(2)=$S($G(NURFAC)=0:NURFAC(1),1:"") D:NURSW1=0 NHDR S NURSW1=1 D NODATA^NURSUT1
. . Q
. Q
D NPRINT
QUIT K ^TMP($J) D CLOSE^NURSUT1,^NURAKILL
Q
SORT1 F NURNODE4=0:0 S NURNODE4=$O(^NURSF(211.8,"C",DA(1),NURNODE4)) Q:NURNODE4'>0 F NURNODE5=0:0 S NURNODE5=$O(^NURSF(211.8,"C",DA(1),NURNODE4,NURNODE5)) Q:NURNODE5'>0 D
.I $D(^NURSF(211.8,NURNODE4,1,NURNODE5,0)),$P(^(0),U)'>DT&(('$P(^(0),U,6))!($P(^(0),U,6)'
7&(NURSZDA'=DA) S NURSZORT=1 D EN3^NURSAUTL:NURSZAP>6,EN2^NURSAUTL:NURSZORT&NURSZAP Q:'NURSZORT
I NURMDSW S NURFAC(2)=$$EN11^NURSUT3($G(NURNODE4)) Q:$G(NURFAC(2))=""
E S NURFAC(2)=" BLANK"
I NURPLSW D
.S NURPROG(3)=$O(^NURSF(211.4,"B",+$P($G(^NURSF(211.8,NURNODE4,0)),U),"")),NURPROG(2)=$P($G(^NURSF(211.4,+NURPROG(3),1)),U,4) S:NURPROG(2)="" NURPROG(2)=+$O(^NURSF(212.7,"B","NURSING",0)) S NURPROG(2)=$$GET1^DIQ(212.7,NURPROG(2),.01,"I")
.Q
E S NURPROG(2)=" BLANK"
I $D(^VA(200,DA(1),0)),$P(^(0),U)'="" S N1=$P(^(0),U)
E S N1=" BLANK"
S NLO=$S($D(^NURSF(211.8,NURNODE4,0))&($P(^(0),U)'=""):$P(^(0),U),1:" BLANK")
I $D(^NURSF(211.4,"B",+NLO)) S NLO(1)=$O(^NURSF(211.4,"B",+NLO,0)) I $D(^NURSF(211.4,+NLO(1),"I")),$E($P(^("I"),"^"))="I" Q
D EN2^NURSUT0 Q:$G(NPSPOS(1))="" I '+NURCAT,'$D(^TMP("NURSCAT",$J,NPSPOS(1))) Q
D SETCAT^NURAAGS1
I NURSCATY="R"!(NURSCATY="L")!($E(NURSCATY)="O") F D1=0:0 S D1=$O(^NURSF(210,DA,14,D1)) Q:D1'>0 S NAD=$S(+$P($G(^NURSF(210,DA,14,D1,0)),U,3):$P(^(0),U,3),1:" BLANK") D NPW
Q
NPW S NPWARD=NLO D EN7^NURSAUTL S NL1=$S(NPWARD'="":$E(NPWARD,1,10),1:" BLANK")
I 'NURHOSP,'$D(NURSNLOC(NL1)) Q
I 'NSP,NADNSPC(2)) Q
I NURMDSW,'$G(NURFAC),$G(NURFAC(1))'=$G(NURFAC(2)) Q
I NURPLSW,'$G(NURPROG),$G(NURPROG(1))'=$G(NURPROG(2)) Q
S:NURPROG(2)="NURSING" NURPROG(2)=" "_NURPROG(2)
S ^TMP($J,NURFAC(2),NURPROG(2),NL1,NURSCATY,NAD,N1,DA,D1)=""
Q
NPRINT S NURFAC(2)="" F S NURFAC(2)=$O(^TMP($J,NURFAC(2))) Q:NURFAC(2)="" S NBRK=0 D NHDR D NM Q:$G(NUROUT)
Q
NM S NURPROG(4)="" F S NURPROG(4)=$O(^TMP($J,NURFAC(2),NURPROG(4))) Q:NURPROG(4)="" D:($G(NURPLSW)&(NBRK=0)) BRK^NURA6I2 D NN Q:NURQUIT
Q
NN S NL1="" F S NL1=$O(^TMP($J,NURFAC(2),NURPROG(4),NL1)) Q:NL1="" D:NBRK NHDR Q:NURQUIT D NO Q:NURQUIT
Q
NO S NURCAT="" F S NURCAT=$O(^TMP($J,NURFAC(2),NURPROG(4),NL1,NURCAT)) Q:NURCAT="" D NP Q:NURQUIT
Q
NP S NAD="" F S NAD=$O(^TMP($J,NURFAC(2),NURPROG(4),NL1,NURCAT,NAD)) Q:NAD="" D NR Q:NURQUIT
Q
NR S N1="" F S N1=$O(^TMP($J,NURFAC(2),NURPROG(4),NL1,NURCAT,NAD,N1)) Q:N1="" D NS Q:NURQUIT
Q
NS S DA=0 F S DA=$O(^TMP($J,NURFAC(2),NURPROG(4),NL1,NURCAT,NAD,N1,DA)) Q:DA'>0 S NADT=$E(NAD,1,7) S D1=0 F S D1=$O(^TMP($J,NURFAC(2),NURPROG(4),NL1,NURCAT,NAD,N1,DA,D1)) Q:D1'>0 D NPPRINT Q:NURQUIT
Q
NPPRINT I ($Y>(IOSL-8)) D NHDR Q:NURQUIT
S:'NURSW1 NURSW1=1 S:'NBRK NBRK=1
W !,?2,$E(N1,1,20)
I $P($G(^VA(200,+$G(^NURSF(210,+DA,0)),1)),U,9)'="" S M=$P(^(1),U,9) W ?25,$E(M,1,3),"-",$E(M,4,5),"-",$E(M,6,9)
W:NL1'=" BLANK" ?39,$E(NL1,1,10)
W:NURCAT="R"!(NURCAT="L") ?51,$$CAT^NURSUT2(NURCAT)
S DATA=$G(^NURSF(210,DA,14,D1,0)) F I=4,5,6,3 I +$P(DATA,U,I) S Y=+$P(DATA,U,I) D D^DIQ S ZZ=$S(I=4:61,I=5:77,I=6:93,3:109) W ?ZZ,Y
Q
NHDR I 'NURQUEUE,NURSW1,$E(IOST)="C" D ENDPG^NURSUT1 S:$G(NUROUT) NURQUIT=+NUROUT Q:NURQUIT
S NURPAGE=NURPAGE+1 W:$E(IOST)="C"!(NURPAGE>1) @IOF
I $G(NURMDSW),$G(NURFAC(2))'="" W !,?$$CNTR^NURSUT2(NURFAC(2)),$S(NURFAC(2)=" BLANK":"NO FACILITY",1:NURFAC(2))
W !,"NURSING SERVICE NPSB PROFILE BY LOCATION" S X="T" D ^%DT D:+Y D^DIQ W ?93,Y,?109,"PAGE: ",NURPAGE
W !!,?93,"TENTATIVE",!,?51,"SERVICE",?61,"DATE WORK COPY",?77,"DATE RETURNED",?93,"DATE FOR",?109,"ACTUAL DATE"
W !,?2,"NAME",?25,"SSN",?39,"LOCATION",?51,"CATEGORY",?61,"IS SENT OUT",?77,"FOR TYPING",?93,"FOR BOARD ACT.",?109,"OF BOARD ACT."
W !,$$REPEAT^XLFSTR("-",132)
I $G(NURPLSW),$G(NBRK) D BRK^NURA6I2
Q