- 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 Mar 13, 2025@21:02:16 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