| 1 | NURAAU4 ;HIRMFO/MD-DRIVER FOR ACUITY COUNTS...(count) ;2/27/98  14:21
 | 
|---|
| 2 |  ;;4.0;NURSING SERVICE;**9**;Apr 25, 1997
 | 
|---|
| 3 | HSKEEP2 ; SET VARIABLES AND CHECK FOR DISRUPTED PROCESS
 | 
|---|
| 4 |  S U="^",OUTSW=0 F X=1:1:4 S OUTSW(X)=0
 | 
|---|
| 5 |  ; CHECK STATUS OF DATE NODE -- NUROUTSW='1' (stop job), '0' (run job)
 | 
|---|
| 6 |  S DATENODE=$G(^DIC(213.9,1,"DATE"))
 | 
|---|
| 7 |  I +$G(DATENODE)>DT S NUROUTSW=1 Q
 | 
|---|
| 8 |  I +$G(DATENODE)=DT,$P(DATENODE,U,2)=1 S OUTSW=1 ;day shift completion
 | 
|---|
| 9 |  I +$G(DATENODE)=DT,$P(DATENODE,U,6)=1 S OUTSW(1)=1 ;evening shift completion
 | 
|---|
| 10 |  I +$G(DATENODE)=DT,$P(DATENODE,U,10)=1 S OUTSW(2)=1 ;night shift completion
 | 
|---|
| 11 |  I +$G(DATENODE)=DT,$P(DATENODE,U,9)=1 S OUTSW(3)=1 ;separation/activation job completion
 | 
|---|
| 12 |  I +DATENODE=DT,OUTSW,OUTSW(1),OUTSW(2),OUTSW(3) S OUTSW(4)=1 Q  ; quit if processing is up-to-date
 | 
|---|
| 13 |  I 'OUTSW S DFN(0)=$S($P(DATENODE,U,4)>0:$P(DATENODE,U,4)-1,1:0),NWARD(0)=$S($P(DATENODE,U,3)>0:$P(DATENODE,U,3)-1,1:0) ;get last day shift patient and ward processed
 | 
|---|
| 14 |  E  S (NWARD(0),DFN(0))=0
 | 
|---|
| 15 |  I 'OUTSW(1) S DFN(1)=$S($P(DATENODE,U,8)>0:$P(DATENODE,U,8)-1,1:0),NWARD(1)=$S($P(DATENODE,U,7)>0:$P(DATENODE,U,7)-1,1:0) ; get last evening shift patient and ward processed
 | 
|---|
| 16 |  E  S (NWARD(1),DFN(1))=0
 | 
|---|
| 17 |  I 'OUTSW(2) S DFN(2)=$S($P(DATENODE,U,12)>0:$P(DATENODE,U,12)-1,1:0),NWARD(2)=$S($P(DATENODE,U,11)>0:$P(DATENODE,U,11)-1,1:0) ;get last night shift patient and ward processed
 | 
|---|
| 18 |  E  S (NWARD(2),DFN(2))=0
 | 
|---|
| 19 |  S $P(^DIC(213.9,1,"DATE"),U,2,12)=0_U_NWARD(0)_U_DFN(0)_U_U_0_U_NWARD(1)_U_DFN(1)_U_0_U_0_U_NWARD(2)_U_DFN(2)
 | 
|---|
| 20 |  Q
 | 
|---|