GMRVED6 ;HIRMFO/YH-VM EDIT FOR PATIENT ON PASS OR REFUSE ;2/7/99
;;4.0;Vitals/Measurements;**1,7**;Apr 25, 1997
EN1 ;
S %=2 W !,"Do you want to enter Vitals" D YN^DICN
I %<0 S GMROUT=1 Q
I %=1 Q
F GMRX=2:1:$L(GMRSTR(0),";")-1 D
. S GMRY=$P(GMRSTR,";",GMRX),GMRDAT(GMRY)="pass",(GMRSITE(GMRY),GMRINF(GMRY))=""
. Q
S GMROUT(1)=1 Q
EN2(GRSN) ;
N GG,I,X S GG=3,GG(1)="Unavailable",GG(2)="Pass",GG(3)="Refused"
AGAIN W !!,"*** Reason for Omission ***" F I=1:1:GG W !,I_". "_GG(I)
W !!,"Select a number (the reason for the data omission) or ^ to quit: "
S X=0 R X:DTIME I '$T!(X["^") S GMROUT=1,GRSN="" Q GRSN
I $L(X)>2 G AGAIN
I X["?" W !,"Enter the number of reason * was entered",! G AGAIN
I '$D(GG(+X)) G AGAIN
S GRSN=GG(+X)
Q GRSN
EN3 ; SELECT ROOMS ON A GIVEN WARD
K GMRMSL
I $D(^DG(405.4,0)) S X=0 F Y=1:0 S X=$O(^DG(405.4,"W",GMRWARD,X)) Q:X'>0 I $D(^DG(405.4,X,0)),$P($P(^(0),"^"),"-")'="" S:'$D(GMRMSL("B",$P($P(^(0),"^"),"-"))) GMRMSL(Y)=$P($P(^(0),"^"),"-"),GMRMSL("B",$P($P(^(0),"^"),"-"))="",Y=Y+1
S GMRMSL=Y-1
S3 K I S I(1)=1,I(2)=21,I(3)=41,I(4)=61,I(5)=81 W !!,"UNIT "_GMRWARD(1)_" has the following Rooms:",!! F Y=0:0 S Y=$O(GMRMSL(Y)) Q:Y'>0!(Y'<21) D ROOMSEL^GMRVUT3
W !!,"Select the NUMBER(S) of the Rooms for Vital/Measurement: " R GMRRMST:DTIME W:GMRRMST="" !,"NO ROOM SELECTED",! I "^"[GMRRMST!'$T!(GMRRMST="") S GMROUT=1 Q
I $L(GMRRMST)>20 G S3
I GMRRMST?1"?".E W !,?5,"Type in number(s) associated with the rooms you want,",!,?5,"separated by commas or hyphens if there is more than one room",!,?5,"(e.g., 1-3,5 would be entries 1,2,3 and 5)." G S3
I '(GMRRMST?.N!(GMRRMST?.NP&(GMRRMST["-"!(GMRRMST[",")))) W $C(7)," ??" G S3
F GMRI=1:1 S GMRLEN=$P(GMRRMST,",",GMRI) Q:GMRLEN="" S GMRLEN(1)=$P(GMRLEN,"-",2)_"+"_GMRLEN F GMRX=+GMRLEN:1:+GMRLEN(1) D RMCHK I GMROUT S GMROUT=0 G S3
Q
RMCHK ;
I '$D(GMRMSL(GMRX)) W !?5,$C(7),"Please select a number between 1 and ",GMRMSL S GMROUT=1 Q
S:GMRX=+GMRX GMRROOM(GMRMSL(GMRX))=""
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMRVED6 2013 printed Nov 22, 2024@17:06:26 Page 2
GMRVED6 ;HIRMFO/YH-VM EDIT FOR PATIENT ON PASS OR REFUSE ;2/7/99
+1 ;;4.0;Vitals/Measurements;**1,7**;Apr 25, 1997
EN1 ;
+1 SET %=2
WRITE !,"Do you want to enter Vitals"
DO YN^DICN
+2 IF %<0
SET GMROUT=1
QUIT
+3 IF %=1
QUIT
+4 FOR GMRX=2:1:$LENGTH(GMRSTR(0),";")-1
Begin DoDot:1
+5 SET GMRY=$PIECE(GMRSTR,";",GMRX)
SET GMRDAT(GMRY)="pass"
SET (GMRSITE(GMRY),GMRINF(GMRY))=""
+6 QUIT
End DoDot:1
+7 SET GMROUT(1)=1
QUIT
EN2(GRSN) ;
+1 NEW GG,I,X
SET GG=3
SET GG(1)="Unavailable"
SET GG(2)="Pass"
SET GG(3)="Refused"
AGAIN WRITE !!,"*** Reason for Omission ***"
FOR I=1:1:GG
WRITE !,I_". "_GG(I)
+1 WRITE !!,"Select a number (the reason for the data omission) or ^ to quit: "
+2 SET X=0
READ X:DTIME
IF '$TEST!(X["^")
SET GMROUT=1
SET GRSN=""
QUIT GRSN
+3 IF $LENGTH(X)>2
GOTO AGAIN
+4 IF X["?"
WRITE !,"Enter the number of reason * was entered",!
GOTO AGAIN
+5 IF '$DATA(GG(+X))
GOTO AGAIN
+6 SET GRSN=GG(+X)
+7 QUIT GRSN
EN3 ; SELECT ROOMS ON A GIVEN WARD
+1 KILL GMRMSL
+2 IF $DATA(^DG(405.4,0))
SET X=0
FOR Y=1:0
SET X=$ORDER(^DG(405.4,"W",GMRWARD,X))
if X'>0
QUIT
IF $DATA(^DG(405.4,X,0))
IF $PIECE($PIECE(^(0),"^"),"-")'=""
if '$DATA(GMRMSL("B",$PIECE($PIECE(^(0),"^"),"-")))
SET GMRMSL(Y)=$PIECE($PIECE(^(0),"^"),"-")
SET GMRMSL("B",$PIECE($PIECE(^(0),"^"),"-"))=""
SET Y=Y+1
+3 SET GMRMSL=Y-1
S3 KILL I
SET I(1)=1
SET I(2)=21
SET I(3)=41
SET I(4)=61
SET I(5)=81
WRITE !!,"UNIT "_GMRWARD(1)_" has the following Rooms:",!!
FOR Y=0:0
SET Y=$ORDER(GMRMSL(Y))
if Y'>0!(Y'<21)
QUIT
DO ROOMSEL^GMRVUT3
+1 WRITE !!,"Select the NUMBER(S) of the Rooms for Vital/Measurement: "
READ GMRRMST:DTIME
if GMRRMST=""
WRITE !,"NO ROOM SELECTED",!
IF "^"[GMRRMST!'$TEST!(GMRRMST="")
SET GMROUT=1
QUIT
+2 IF $LENGTH(GMRRMST)>20
GOTO S3
+3 IF GMRRMST?1"?".E
WRITE !,?5,"Type in number(s) associated with the rooms you want,",!,?5,"separated by commas or hyphens if there is more than one room",!,?5,"(e.g., 1-3,5 would be entries 1,2,3 and 5)."
GOTO S3
+4 IF '(GMRRMST?.N!(GMRRMST?.NP&(GMRRMST["-"!(GMRRMST[","))))
WRITE $CHAR(7)," ??"
GOTO S3
+5 FOR GMRI=1:1
SET GMRLEN=$PIECE(GMRRMST,",",GMRI)
if GMRLEN=""
QUIT
SET GMRLEN(1)=$PIECE(GMRLEN,"-",2)_"+"_GMRLEN
FOR GMRX=+GMRLEN:1:+GMRLEN(1)
DO RMCHK
IF GMROUT
SET GMROUT=0
GOTO S3
+6 QUIT
RMCHK ;
+1 IF '$DATA(GMRMSL(GMRX))
WRITE !?5,$CHAR(7),"Please select a number between 1 and ",GMRMSL
SET GMROUT=1
QUIT
+2 if GMRX=+GMRX
SET GMRROOM(GMRMSL(GMRX))=""
+3 QUIT