NURARWL7 ;HIRMFO/MD,FT-DAILY TOTAL ROUTINE FOR AMIS WORKLOAD STATISTICS REPORT ;9/20/96
;;4.0;NURSING SERVICE;;Apr 25, 1997
DAYTL ; DAY SUMMARY FOR AMIS WORKLOAD REPORTS
I $G(NWARD),$G(NURSUMSW) D
. I $Y>(IOSL-4) D HEADER^NURARWL8 Q:NUROUT
. D DATE^NURARWL8
. Q
F Y=1,2,3 D
. S $P(NDVAR,U,Y)=$J($P(NDFTEE,U,Y),1,1)-$J($P(NDREQ,U,Y),1,1) I $J($P(NDFTEE,U,Y),1,1),$J($P(NDREQ,U,Y),1,1),NURSZAP'>6,NDPCC S $P(NDPROD,U,Y)=($J($P(NDREQ,U,Y),1,1)/$J($P(NDFTEE,U,Y),1,1))*100
. S $P(NCVAR,U,Y)=$J($P(NCFT,U,Y),1,1)-$J($P(NCRQ,U,Y),1,1) I $J($P(NCFT,U,Y),1,1),$J($P(NCRQ,U,Y),1,1),NURSZAP'>6,NCPCC S $P(NCPROD,U,Y)=($J($P(NCRQ,U,Y),1,1)/$J($P(NCFT,U,Y),1,1))*100
. Q
W !,?18,$$REPEAT^XLFSTR("-",114) S NDATED(2)=$E(NDATE,4,5)_"/"_$E(NDATE,6,7)_"/"_$E(NDATE,2,3)
D
. W !,NDATED(2)," SUMMARY",?22,$J($P(NDREQ,U),4,1),?28,$J($P(NDFTEE,U),4,1),?34,$J($P(NDVAR,U),5,1) W:NURSZAP'>6 ?41,$J($P(NDPROD,U),3,0) W ?48,$J($P(NDREQ,U,2),4,1),?54,$J($P(NDFTEE,U,2),4,1)
. W ?60,$J($P(NDVAR,U,2),5,1) W:NURSZAP'>6 ?67,$J($P(NDPROD,U,2),3,0) W ?74,$J($P(NDREQ,U,3),4,1),?80,$J($P(NDFTEE,U,3),4,1),?86,$J($P(NDVAR,U,3),5,1) W:NURSZAP'>6 ?93,$J($P(NDPROD,U,3),3,0)
. W ?97,$J($P(NDPC,U),4,1),?103,$J($P(NDPC,U,2),4,1),?109,$J($P(NDPC,U,3),4,1),?115,$J($P(NDPC,U,4),4,1),?122,$J($P(NDPC,U,5),3,1),?126,$J(NDPCC,5,1)
. Q
F Z="DOM","REC","HEM" I +DMNHRS(Z)!(+$P(DMNHRS(Z),U,2))!(+$P(DMNHRS(Z),U,3))!(+DCOUNT(Z)) D
. W !,NDATED(2)," ",Z," COUNT",?28,$J(+DMNHRS(Z),4,1),?54,$J($P(DMNHRS(Z),U,2),4,1),?80,$J($P(DMNHRS(Z),U,3),4,1)
. W ?97,$J(+DCOUNT(Z),4,1),?103,$J($P(DCOUNT(Z),U,2),4,1),?109,$J($P(DCOUNT(Z),U,3),4,1),?115,$J($P(DCOUNT(Z),U,4),4,1),?122,$J($P(DCOUNT(Z),U,5),3,1),?126,$J(+DCOUNT(Z),5,1)
. S DCOUNT(Z)=0
. Q
F X=1:1:3 S $P(NDREQ,U,X)=0,$P(NDFTEE,U,X)=0,$P(NDVAR,U,X)=0,$P(NDPROD,U,X)=0,$P(NCFT,U,X)=0,$P(NCVAR,U,X)=0,$P(NCPROD,U,X)=0 F Z="DOM","REC","HEM" S $P(DMNHRS(Z),U,X)=0
F X=1:1:5 S $P(NDPC,U,X)=0
S NDPCC=0,NBR=1
Q
PRINT ;
; DETAIL LINE PRINT FOR AMIS WORKLOAD REPORT
;
Q:$G(NURSUMSW)
I ($Y>(IOSL-9)) S:'NURMDSW NBRK=0 D HEADER^NURARWL8 Q:NUROUT
W ! I NBR W !,$E(NPLOC,1,10)
W ?11,$S(NSHFT=1:"NIGHT",NSHFT=2:"DAY",NSHFT=3:"EVE"),?17,$J(NSEC,3) S:NBR NBR=0
I 'COUNTSW W ?23,$S(SECT="ATC":" N/A",1:$J($P(NREQ(NSHFT),U),3,1))
W ?29,$J($P(NDFTEE(NSHFT),U),3,1)
I 'COUNTSW W ?35,$J($P(NVAR(NSHFT),U),4,1) W:NURSZAP'>6 ?41,$J($P(NPROD(NSHFT),U),3,0) W ?49,$S($P(NURS213,U)="ATC":" N/A",1:$J($P(NREQ(NSHFT),U,2),3,1))
W ?55,$J($P(NDFTEE(NSHFT),U,2),3,1)
I 'COUNTSW W ?61,$J($P(NVAR(NSHFT),U,2),4,1) W:NURSZAP'>6 ?67,$J($P(NPROD(NSHFT),U,2),3,0) W ?75,$S($P(NURS213,U)="ATC":" N/A",1:$J($P(NREQ(NSHFT),U,3),3,1))
W ?81,$J($P(NDFTEE(NSHFT),U,3),3,1)
I 'COUNTSW W ?87,$J($P(NVAR(NSHFT),U,3),4,1) W:NURSZAP'>6 ?93,$J($P(NPROD(NSHFT),U,3),3,0)
W ?98,$J($P(NPC(NSHFT),U),3),?104,$J($P(NPC(NSHFT),U,2),3),?110,$J($P(NPC(NSHFT),U,3),3),?116,$J($P(NPC(NSHFT),U,4),3),?122,$J($P(NPC(NSHFT),U,5),3),?126,$J(NPCC(NSHFT),4)
Q
EN1 ; ENTRY POINT TO OPTION NURAPR-RES-CURWKL-QUEUE
S NHOS=1,NURSZAP=6,(NUROUT,NPCT,NURQUIT,NURMDSW,NURPLSW,NSW1,NURQUEUE)=0 D EN9^NURSAGSP S:NURMDSW NURFAC=1 S:NURPLSW NPROG=1
I '$P($G(^DIC(213.9,1,0)),U,7) D S DIE="^DIC(213.9,",DA=1,DR="8" D ^DIE K DIE,DR I "^"[X S NUROUT=1 Q
. W !,$C(7),?5,"The professional percentage default site parameter, for wards without an",!,?5,"entry in the professional percentage field, in the NURS LOCATION File",!,?5,"entry must be entered: ",!
. Q
I '$D(^NURSF(211.4,"ABS")) W !!,$C(7),"To generate this report AMIS Bedsections must be associated with MAS locations",!,"Contact the NURSING ADP Coordinator." S NUROUT=1 Q
S NURY(1)=$P(^DIC(213.9,1,0),"^",4,6) D NOW^%DTC S NURY(0)=$E($P(%,".",2)_"0001",1,4)
S NURY(2)=$S(NURY(0)>+$P(NURY(1),U,2)!(NURY(0)'>+$P(NURY(1),U,3)):"N",NURY(0)>+$P(NURY(1),U,3)&((NURY(0)'>+$P(NURY(1),U))):"D",1:"E")
I NURY(2)="" S NUROUT=1 Q
S NURY=$S(NURY(2)="N":"D",NURY(2)="D":"E",1:"N") ;use next shift
S NURSHFT=NURY
S NRPTDAT("PWLS")="" ;flag to indicate projected output
Q
EN2 ;
S (NURQUIT,NURMDSW,NSW1,NURQUEUE)=0,REQWRD="" D EN9^NURSAGSP S:NURMDSW NURFAC=1
Q
NURARWL7 ;HIRMFO/MD,FT-DAILY TOTAL ROUTINE FOR AMIS WORKLOAD STATISTICS REPORT ;9/20/96
+1 ;;4.0;NURSING SERVICE;;Apr 25, 1997
DAYTL ; DAY SUMMARY FOR AMIS WORKLOAD REPORTS
+1 IF $GET(NWARD)
IF $GET(NURSUMSW)
Begin DoDot:1
+2 IF $Y>(IOSL-4)
DO HEADER^NURARWL8
IF NUROUT
QUIT
+3 DO DATE^NURARWL8
+4 QUIT
End DoDot:1
+5 FOR Y=1,2,3
Begin DoDot:1
+6 SET $PIECE(NDVAR,U,Y)=$JUSTIFY($PIECE(NDFTEE,U,Y),1,1)-$JUSTIFY($PIECE(NDREQ,U,Y),1,1)
IF $JUSTIFY($PIECE(NDFTEE,U,Y),1,1)
IF $JUSTIFY($PIECE(NDREQ,U,Y),1,1)
IF NURSZAP'>6
IF NDPCC
SET $PIECE(NDPROD,U,Y)=($JUSTIFY($PIECE(NDREQ,U,Y),1,1)/$JUSTIFY($PIECE(NDFTEE,U,Y),1,1))*100
+7 SET $PIECE(NCVAR,U,Y)=$JUSTIFY($PIECE(NCFT,U,Y),1,1)-$JUSTIFY($PIECE(NCRQ,U,Y),1,1)
IF $JUSTIFY($PIECE(NCFT,U,Y),1,1)
IF $JUSTIFY($PIECE(NCRQ,U,Y),1,1)
IF NURSZAP'>6
IF NCPCC
SET $PIECE(NCPROD,U,Y)=($JUSTIFY($PIECE(NCRQ,U,Y),1,1)/$JUSTIFY($PIECE(NCFT,U,Y),1,1))*100
+8 QUIT
End DoDot:1
+9 WRITE !,?18,$$REPEAT^XLFSTR("-",114)
SET NDATED(2)=$EXTRACT(NDATE,4,5)_"/"_$EXTRACT(NDATE,6,7)_"/"_$EXTRACT(NDATE,2,3)
+10 Begin DoDot:1
+11 WRITE !,NDATED(2)," SUMMARY",?22,$JUSTIFY($PIECE(NDREQ,U),4,1),?28,$JUSTIFY($PIECE(NDFTEE,U),4,1),?34,$JUSTIFY($PIECE(NDVAR,U),5,1)
IF NURSZAP'>6
WRITE ?41,$JUSTIFY($PIECE(NDPROD,U),3,0)
WRITE ?48,$JUSTIFY($PIECE(NDREQ,U,2),4,1),?54,$JUSTIFY($PIECE(NDFTEE,U,2),4,1)
+12 WRITE ?60,$JUSTIFY($PIECE(NDVAR,U,2),5,1)
IF NURSZAP'>6
WRITE ?67,$JUSTIFY($PIECE(NDPROD,U,2),3,0)
WRITE ?74,$JUSTIFY($PIECE(NDREQ,U,3),4,1),?80,$JUSTIFY($PIECE(NDFTEE,U,3),4,1),?86,$JUSTIFY($PIECE(NDVAR,U,3),5,1)
IF NURSZAP'>6
WRITE ?93,$JUSTIFY($PIECE(NDPROD,U,3),3,0)
+13 WRITE ?97,$JUSTIFY($PIECE(NDPC,U),4,1),?103,$JUSTIFY($PIECE(NDPC,U,2),4,1),?109,$JUSTIFY($PIECE(NDPC,U,3),4,1),?115,$JUSTIFY($PIECE(NDPC,U,4),4,1),?122,$JUSTIFY($PIECE(NDPC,U,5),3,1),?126,$JUSTIFY(NDPCC,5,1)
+14 QUIT
End DoDot:1
+15 FOR Z="DOM","REC","HEM"
IF +DMNHRS(Z)!(+$PIECE(DMNHRS(Z),U,2))!(+$PIECE(DMNHRS(Z),U,3))!(+DCOUNT(Z))
Begin DoDot:1
+16 WRITE !,NDATED(2)," ",Z," COUNT",?28,$JUSTIFY(+DMNHRS(Z),4,1),?54,$JUSTIFY($PIECE(DMNHRS(Z),U,2),4,1),?80,$JUSTIFY($PIECE(DMNHRS(Z),U,3),4,1)
+17 WRITE ?97,$JUSTIFY(+DCOUNT(Z),4,1),?103,$JUSTIFY($PIECE(DCOUNT(Z),U,2),4,1),?109,$JUSTIFY($PIECE(DCOUNT(Z),U,3),4,1),?115,$JUSTIFY($PIECE(DCOUNT(Z),U,4),4,1),?122,$JUSTIFY($PIECE(DCOUNT(Z),U,5),3,1),?126,$JUSTIFY(+DCOUNT(Z),5,1)
+18 SET DCOUNT(Z)=0
+19 QUIT
End DoDot:1
+20 FOR X=1:1:3
SET $PIECE(NDREQ,U,X)=0
SET $PIECE(NDFTEE,U,X)=0
SET $PIECE(NDVAR,U,X)=0
SET $PIECE(NDPROD,U,X)=0
SET $PIECE(NCFT,U,X)=0
SET $PIECE(NCVAR,U,X)=0
SET $PIECE(NCPROD,U,X)=0
FOR Z="DOM","REC","HEM"
SET $PIECE(DMNHRS(Z),U,X)=0
+21 FOR X=1:1:5
SET $PIECE(NDPC,U,X)=0
+22 SET NDPCC=0
SET NBR=1
+23 QUIT
PRINT ;
+1 ; DETAIL LINE PRINT FOR AMIS WORKLOAD REPORT
+2 ;
+3 IF $GET(NURSUMSW)
QUIT
+4 IF ($Y>(IOSL-9))
IF 'NURMDSW
SET NBRK=0
DO HEADER^NURARWL8
IF NUROUT
QUIT
+5 WRITE !
IF NBR
WRITE !,$EXTRACT(NPLOC,1,10)
+6 WRITE ?11,$SELECT(NSHFT=1:"NIGHT",NSHFT=2:"DAY",NSHFT=3:"EVE"),?17,$JUSTIFY(NSEC,3)
IF NBR
SET NBR=0
+7 IF 'COUNTSW
WRITE ?23,$SELECT(SECT="ATC":" N/A",1:$JUSTIFY($PIECE(NREQ(NSHFT),U),3,1))
+8 WRITE ?29,$JUSTIFY($PIECE(NDFTEE(NSHFT),U),3,1)
+9 IF 'COUNTSW
WRITE ?35,$JUSTIFY($PIECE(NVAR(NSHFT),U),4,1)
IF NURSZAP'>6
WRITE ?41,$JUSTIFY($PIECE(NPROD(NSHFT),U),3,0)
WRITE ?49,$SELECT($PIECE(NURS213,U)="ATC":" N/A",1:$JUSTIFY($PIECE(NREQ(NSHFT),U,2),3,1))
+10 WRITE ?55,$JUSTIFY($PIECE(NDFTEE(NSHFT),U,2),3,1)
+11 IF 'COUNTSW
WRITE ?61,$JUSTIFY($PIECE(NVAR(NSHFT),U,2),4,1)
IF NURSZAP'>6
WRITE ?67,$JUSTIFY($PIECE(NPROD(NSHFT),U,2),3,0)
WRITE ?75,$SELECT($PIECE(NURS213,U)="ATC":" N/A",1:$JUSTIFY($PIECE(NREQ(NSHFT),U,3),3,1))
+12 WRITE ?81,$JUSTIFY($PIECE(NDFTEE(NSHFT),U,3),3,1)
+13 IF 'COUNTSW
WRITE ?87,$JUSTIFY($PIECE(NVAR(NSHFT),U,3),4,1)
IF NURSZAP'>6
WRITE ?93,$JUSTIFY($PIECE(NPROD(NSHFT),U,3),3,0)
+14 WRITE ?98,$JUSTIFY($PIECE(NPC(NSHFT),U),3),?104,$JUSTIFY($PIECE(NPC(NSHFT),U,2),3),?110,$JUSTIFY($PIECE(NPC(NSHFT),U,3),3),?116,$JUSTIFY($PIECE(NPC(NSHFT),U,4),3),?122,$JUSTIFY($PIECE(NPC(NSHFT),U,5),3),?126,$JUSTIFY(NPCC(NSHFT),4)
+15 QUIT
EN1 ; ENTRY POINT TO OPTION NURAPR-RES-CURWKL-QUEUE
+1 SET NHOS=1
SET NURSZAP=6
SET (NUROUT,NPCT,NURQUIT,NURMDSW,NURPLSW,NSW1,NURQUEUE)=0
DO EN9^NURSAGSP
IF NURMDSW
SET NURFAC=1
IF NURPLSW
SET NPROG=1
+2 IF '$PIECE($GET(^DIC(213.9,1,0)),U,7)
Begin DoDot:1
+3 WRITE !,$CHAR(7),?5,"The professional percentage default site parameter, for wards without an",!,?5,"entry in the professional percentage field, in the NURS LOCATION File",!,?5,"entry must be entered: ",!
+4 QUIT
End DoDot:1
SET DIE="^DIC(213.9,"
SET DA=1
SET DR="8"
DO ^DIE
KILL DIE,DR
IF "^"[X
SET NUROUT=1
QUIT
+5 IF '$DATA(^NURSF(211.4,"ABS"))
WRITE !!,$CHAR(7),"To generate this report AMIS Bedsections must be associated with MAS locations",!,"Contact the NURSING ADP Coordinator."
SET NUROUT=1
QUIT
+6 SET NURY(1)=$PIECE(^DIC(213.9,1,0),"^",4,6)
DO NOW^%DTC
SET NURY(0)=$EXTRACT($PIECE(%,".",2)_"0001",1,4)
+7 SET NURY(2)=$SELECT(NURY(0)>+$PIECE(NURY(1),U,2)!(NURY(0)'>+$PIECE(NURY(1),U,3)):"N",NURY(0)>+$PIECE(NURY(1),U,3)&((NURY(0)'>+$PIECE(NURY(1),U))):"D",1:"E")
+8 IF NURY(2)=""
SET NUROUT=1
QUIT
+9 ;use next shift
SET NURY=$SELECT(NURY(2)="N":"D",NURY(2)="D":"E",1:"N")
+10 SET NURSHFT=NURY
+11 ;flag to indicate projected output
SET NRPTDAT("PWLS")=""
+12 QUIT
EN2 ;
+1 SET (NURQUIT,NURMDSW,NSW1,NURQUEUE)=0
SET REQWRD=""
DO EN9^NURSAGSP
IF NURMDSW
SET NURFAC=1
+2 QUIT