GMRVUT1 ;HIRMFO/YH-VITAL SIGNS INFORMATION ;2/5/99
;;4.0;Vitals/Measurements;**6,7,11**;Apr 25, 1997
T ;HELP INFORMATION FOR TEMPERATURE
S GMRVITY="T",GMRVIT=$O(^GMRD(120.51,"C",GMRVITY,0)) Q:GMRVIT'>0 S GMRVIT(1)=$P($G(^GMRD(120.51,GMRVIT,0)),"^")
W !,"** Temperature: a number + a location qualifier(optional), e.g., 99.6A",!,?3,"or 99.6AX (F AXILLARY) or 37R (C RECTAL)." S GLVL="" D LISTQ^GMRVQUAL S GLINE=$G(GLINE)+4 D CHECK Q
P ;HELP INFORMATION FOR PULSE
S GMRVITY="P",GMRVIT=$O(^GMRD(120.51,"C",GMRVITY,0)) Q:GMRVIT'>0 S GMRVIT(1)=$P($G(^GMRD(120.51,GMRVIT,0)),"^")
W !,"** Pulse: a number + a location qualifier(optional), e.g., 70A or 70AP",!,?3,"(70 APICAL). " S GLVL="" D LISTQ^GMRVQUAL S GLINE=$G(GLINE)+5 D CHECK Q
R ;HELP INFORMATION FOR RESPIRATORY
S GMRVITY="R",GMRVIT=$O(^GMRD(120.51,"C",GMRVITY,0)) Q:GMRVIT'>0 S GMRVIT(1)=$P($G(^GMRD(120.51,GMRVIT,0)),"^")
W !,"** Respiration: a number(0-99 with no decimal places) + method qualifier" S GLINE=$G(GLINE)+1 D CHECK W !,?3,"(optional) e.g., 40C or 40c." S GLVL="" D LISTQ^GMRVQUAL S GLINE=$G(GLINE)+1 D CHECK Q
BP ;HELP INFORMATION FOR BLOOD PRESSURE
W !,"** B/P: systolic/intermediate/diastolic" S GLINE=$G(GLINE)+1 D CHECK W !,?3,"intermediate pressure is optional, e.g., 98/64 or 120/100/80"
S GLINE=$G(GLINE)+1 D CHECK W !,?3,"Null diastolic only be allowed for taken either by Doppler or Palpated." S GLINE=$G(GLINE)+1 D CHECK
W !,?3,"The Default method is Palpated if no diastolic is entered."
S GLINE=$G(GLINE)+1 D CHECK
W !,?3,"Otherwise, enter D for Doppler, (e.g., 120/ or 120/D or 120/P)."
S GLINE=$G(GLINE)+1 D CHECK Q
HT ;HELP INFORMATION FOR HEIGHT
W !,"** Height: a number + ',' (optional) + qualifier (2 decimals allowed)" S GLINE=$G(GLINE)+1 D CHECK
S GMRVITY="HT",GMRVIT=$O(^GMRD(120.51,"C",GMRVITY,0)) Q:GMRVIT'>0 S GMRVIT(1)=$P($G(^GMRD(120.51,GMRVIT,0)),"^")
W !,?3,"72I (inches) 147C (centimeters)" S GLINE=$G(GLINE)+1 D CHECK W !,?3,"5F10IE or 5'10""E (for 5 feet 10 inches ESTIMATED)" S GLINE=$G(GLINE)+1 D CHECK
S GLVL="" D LISTQ^GMRVQUAL S GLINE=$G(GLINE)+2 D CHECK Q
CG ;HELP INFORMATION FOR CIRCUMFERENCE/GIRTH
D CG^GMRVUTL1 S GLINE=$G(GLINE)+3 D CHECK Q
CVP ;
D CVP^GMRVUTL1 Q
PO2 ;
D PO2^GMRVUTL1 S GLINE=$G(GLINE)+2 D CHECK Q
PN ;HELP INFORMATION
D PAIN^GMRVUTL1 S GLINE=$G(GLINE)+4 D CHECK Q
WT ;HELP INFORMATION FOR WEIGHT
S GMRVITY="WT",GMRVIT=$O(^GMRD(120.51,"C",GMRVITY,0)) Q:GMRVIT'>0 S GMRVIT(1)=$P($G(^GMRD(120.51,GMRVIT,0)),"^")
W !,"** Weight: a number+L(l) or a number+K(k) + 2nd quality (optional) 2 decimals" S GLINE=$G(GLINE)+1 D CHECK W !,?3,"allowed, e.g., 120.25L or 120l (pounds), 45.25K or 45k (kilograms)." S GLINE=$G(GLINE)+1
D CHECK W !,?3,"120L, 120LA, or 120K for actual weight." S GLVL="" D LISTQ^GMRVQUAL S GLINE=$G(GLINE)+2 D CHECK Q
WTYPE ;ENTRY POIT FOR TYPE OF WEIGHT - ACTUAL/ESTIMATED/DRY
K GMRW S (GMRVDFLT,GMRW)="",GLVL=9 D LISTQ^GMRVQUAL Q:'$D(GMRW)
S GMRSITE=$P(X,+X,2) I $L(GMRSITE)=1,"LlKk"[GMRSITE S GMRSITE(GMRVITY)=$G(GMRVDFLT(1)) W ! G OTHERQ
I $L(GMRSITE)=1,"LlKk"'[GMRSITE Q
S:$L(GMRSITE)>1 GMRSITE=$$UP^XLFSTR($E(GMRSITE,2,30))
ASK3 K GMRV S GMRV=0 D SETSITE^GMRVUT3 I GMRV>0!GMROUT G OTHERQ
G ASK
;
TPSITE ;SITE FOR TEMP., PULSE, B/P, RESPIRATION AND HEIGHT
K GMRW S (GMRVDFLT,GMRW)="",GLVL=9 D LISTQ^GMRVQUAL Q:'$D(GMRW)
ASK2 ;
I GMRVITY="T"!(GMRVITY="R")!(GMRVITY="P"),GMRSITE="" S GMRSITE(GMRVITY)=$G(GMRVDFLT(1)) G OTHERQ
I GMRVITY="HT",GMRSITE="" S GMRSITE(GMRVITY)="" G OTHERQ
ASK1 K GMRV S GMRV=0 D SETSITE^GMRVUT3 I GMROUT!(GMRV>0) G OTHERQ
;
ASK W !!,"Select one of the following qualifiers for "_GMRVIT(1)_" or <RET> for default" D LIST W !!,"Please enter "_$S(GMRVITY="T"!(GMRVITY="BP")!(GMRVITY="P"):"location: ",GMRVITY="R":"method: ",GMRVITY="WT":"quality: ",1:"")
W $P($G(GMRVDFLT(1)),"^")_"// "
S GMRSITE="" R GMRSITE:DTIME S:'$T!(GMRSITE["^") GMROUT=1 I GMROUT W ! G OTHERQ
S GMRSITE=$$UP^XLFSTR(GMRSITE) I GMRSITE="" S (GMRSITE,GMRSITE(GMRVITY))=$G(GMRVDFLT(1)) G OTHERQ
G ASK3:GMRVITY="WT",ASK1
OTHERQ ;
Q:GMROUT!(GMRENTY<5) D OTHERQ^GMRVQUAL
Q
CHECK ;
I GLINE>14 D
. W !,"<Ret> to continue " S J="" R J:DTIME S GLINE=0
Q
LIST ;LIST SITES FOR THE SELECTED VM TYPE
Q:'$D(GMRW) S GMRZ="" F S GMRZ=$O(GMRW(GMRZ)) Q:GMRZ="" W !,?4,GMRZ
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMRVUT1 4328 printed Dec 13, 2024@01:57:38 Page 2
GMRVUT1 ;HIRMFO/YH-VITAL SIGNS INFORMATION ;2/5/99
+1 ;;4.0;Vitals/Measurements;**6,7,11**;Apr 25, 1997
T ;HELP INFORMATION FOR TEMPERATURE
+1 SET GMRVITY="T"
SET GMRVIT=$ORDER(^GMRD(120.51,"C",GMRVITY,0))
if GMRVIT'>0
QUIT
SET GMRVIT(1)=$PIECE($GET(^GMRD(120.51,GMRVIT,0)),"^")
+2 WRITE !,"** Temperature: a number + a location qualifier(optional), e.g., 99.6A",!,?3,"or 99.6AX (F AXILLARY) or 37R (C RECTAL)."
SET GLVL=""
DO LISTQ^GMRVQUAL
SET GLINE=$GET(GLINE)+4
DO CHECK
QUIT
P ;HELP INFORMATION FOR PULSE
+1 SET GMRVITY="P"
SET GMRVIT=$ORDER(^GMRD(120.51,"C",GMRVITY,0))
if GMRVIT'>0
QUIT
SET GMRVIT(1)=$PIECE($GET(^GMRD(120.51,GMRVIT,0)),"^")
+2 WRITE !,"** Pulse: a number + a location qualifier(optional), e.g., 70A or 70AP",!,?3,"(70 APICAL). "
SET GLVL=""
DO LISTQ^GMRVQUAL
SET GLINE=$GET(GLINE)+5
DO CHECK
QUIT
R ;HELP INFORMATION FOR RESPIRATORY
+1 SET GMRVITY="R"
SET GMRVIT=$ORDER(^GMRD(120.51,"C",GMRVITY,0))
if GMRVIT'>0
QUIT
SET GMRVIT(1)=$PIECE($GET(^GMRD(120.51,GMRVIT,0)),"^")
+2 WRITE !,"** Respiration: a number(0-99 with no decimal places) + method qualifier"
SET GLINE=$GET(GLINE)+1
DO CHECK
WRITE !,?3,"(optional) e.g., 40C or 40c."
SET GLVL=""
DO LISTQ^GMRVQUAL
SET GLINE=$GET(GLINE)+1
DO CHECK
QUIT
BP ;HELP INFORMATION FOR BLOOD PRESSURE
+1 WRITE !,"** B/P: systolic/intermediate/diastolic"
SET GLINE=$GET(GLINE)+1
DO CHECK
WRITE !,?3,"intermediate pressure is optional, e.g., 98/64 or 120/100/80"
+2 SET GLINE=$GET(GLINE)+1
DO CHECK
WRITE !,?3,"Null diastolic only be allowed for taken either by Doppler or Palpated."
SET GLINE=$GET(GLINE)+1
DO CHECK
+3 WRITE !,?3,"The Default method is Palpated if no diastolic is entered."
+4 SET GLINE=$GET(GLINE)+1
DO CHECK
+5 WRITE !,?3,"Otherwise, enter D for Doppler, (e.g., 120/ or 120/D or 120/P)."
+6 SET GLINE=$GET(GLINE)+1
DO CHECK
QUIT
HT ;HELP INFORMATION FOR HEIGHT
+1 WRITE !,"** Height: a number + ',' (optional) + qualifier (2 decimals allowed)"
SET GLINE=$GET(GLINE)+1
DO CHECK
+2 SET GMRVITY="HT"
SET GMRVIT=$ORDER(^GMRD(120.51,"C",GMRVITY,0))
if GMRVIT'>0
QUIT
SET GMRVIT(1)=$PIECE($GET(^GMRD(120.51,GMRVIT,0)),"^")
+3 WRITE !,?3,"72I (inches) 147C (centimeters)"
SET GLINE=$GET(GLINE)+1
DO CHECK
WRITE !,?3,"5F10IE or 5'10""E (for 5 feet 10 inches ESTIMATED)"
SET GLINE=$GET(GLINE)+1
DO CHECK
+4 SET GLVL=""
DO LISTQ^GMRVQUAL
SET GLINE=$GET(GLINE)+2
DO CHECK
QUIT
CG ;HELP INFORMATION FOR CIRCUMFERENCE/GIRTH
+1 DO CG^GMRVUTL1
SET GLINE=$GET(GLINE)+3
DO CHECK
QUIT
CVP ;
+1 DO CVP^GMRVUTL1
QUIT
PO2 ;
+1 DO PO2^GMRVUTL1
SET GLINE=$GET(GLINE)+2
DO CHECK
QUIT
PN ;HELP INFORMATION
+1 DO PAIN^GMRVUTL1
SET GLINE=$GET(GLINE)+4
DO CHECK
QUIT
WT ;HELP INFORMATION FOR WEIGHT
+1 SET GMRVITY="WT"
SET GMRVIT=$ORDER(^GMRD(120.51,"C",GMRVITY,0))
if GMRVIT'>0
QUIT
SET GMRVIT(1)=$PIECE($GET(^GMRD(120.51,GMRVIT,0)),"^")
+2 WRITE !,"** Weight: a number+L(l) or a number+K(k) + 2nd quality (optional) 2 decimals"
SET GLINE=$GET(GLINE)+1
DO CHECK
WRITE !,?3,"allowed, e.g., 120.25L or 120l (pounds), 45.25K or 45k (kilograms)."
SET GLINE=$GET(GLINE)+1
+3 DO CHECK
WRITE !,?3,"120L, 120LA, or 120K for actual weight."
SET GLVL=""
DO LISTQ^GMRVQUAL
SET GLINE=$GET(GLINE)+2
DO CHECK
QUIT
WTYPE ;ENTRY POIT FOR TYPE OF WEIGHT - ACTUAL/ESTIMATED/DRY
+1 KILL GMRW
SET (GMRVDFLT,GMRW)=""
SET GLVL=9
DO LISTQ^GMRVQUAL
if '$DATA(GMRW)
QUIT
+2 SET GMRSITE=$PIECE(X,+X,2)
IF $LENGTH(GMRSITE)=1
IF "LlKk"[GMRSITE
SET GMRSITE(GMRVITY)=$GET(GMRVDFLT(1))
WRITE !
GOTO OTHERQ
+3 IF $LENGTH(GMRSITE)=1
IF "LlKk"'[GMRSITE
QUIT
+4 if $LENGTH(GMRSITE)>1
SET GMRSITE=$$UP^XLFSTR($EXTRACT(GMRSITE,2,30))
ASK3 KILL GMRV
SET GMRV=0
DO SETSITE^GMRVUT3
IF GMRV>0!GMROUT
GOTO OTHERQ
+1 GOTO ASK
+2 ;
TPSITE ;SITE FOR TEMP., PULSE, B/P, RESPIRATION AND HEIGHT
+1 KILL GMRW
SET (GMRVDFLT,GMRW)=""
SET GLVL=9
DO LISTQ^GMRVQUAL
if '$DATA(GMRW)
QUIT
ASK2 ;
+1 IF GMRVITY="T"!(GMRVITY="R")!(GMRVITY="P")
IF GMRSITE=""
SET GMRSITE(GMRVITY)=$GET(GMRVDFLT(1))
GOTO OTHERQ
+2 IF GMRVITY="HT"
IF GMRSITE=""
SET GMRSITE(GMRVITY)=""
GOTO OTHERQ
ASK1 KILL GMRV
SET GMRV=0
DO SETSITE^GMRVUT3
IF GMROUT!(GMRV>0)
GOTO OTHERQ
+1 ;
ASK WRITE !!,"Select one of the following qualifiers for "_GMRVIT(1)_" or <RET> for default"
DO LIST
WRITE !!,"Please enter "_$SELECT(GMRVITY="T"!(GMRVITY="BP")!(GMRVITY="P"):"location: ",GMRVITY="R":"method: ",GMRVITY="WT":"quality: ",1:"")
+1 WRITE $PIECE($GET(GMRVDFLT(1)),"^")_"// "
+2 SET GMRSITE=""
READ GMRSITE:DTIME
if '$TEST!(GMRSITE["^")
SET GMROUT=1
IF GMROUT
WRITE !
GOTO OTHERQ
+3 SET GMRSITE=$$UP^XLFSTR(GMRSITE)
IF GMRSITE=""
SET (GMRSITE,GMRSITE(GMRVITY))=$GET(GMRVDFLT(1))
GOTO OTHERQ
+4 if GMRVITY="WT"
GOTO ASK3
GOTO ASK1
OTHERQ ;
+1 if GMROUT!(GMRENTY<5)
QUIT
DO OTHERQ^GMRVQUAL
+2 QUIT
CHECK ;
+1 IF GLINE>14
Begin DoDot:1
+2 WRITE !,"<Ret> to continue "
SET J=""
READ J:DTIME
SET GLINE=0
End DoDot:1
+3 QUIT
LIST ;LIST SITES FOR THE SELECTED VM TYPE
+1 if '$DATA(GMRW)
QUIT
SET GMRZ=""
FOR
SET GMRZ=$ORDER(GMRW(GMRZ))
if GMRZ=""
QUIT
WRITE !,?4,GMRZ
+2 QUIT