123 lines
2.9 KiB
Mathematica
123 lines
2.9 KiB
Mathematica
GMVDCCHK ;HOIFO/DAD,FT-VITALS COMPONENT: CHECK DATA VALUE ;9/29/00 09:15
|
|
;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
|
|
;
|
|
; This routine uses the following IAs:
|
|
; #10104 - ^XLFSTR calls (supported)
|
|
;
|
|
VALID(GMVALUE,GMVMSYS,GMVTYPE) ;
|
|
; *** Validate a vital measurement ***
|
|
; Input:
|
|
; GMVALUE = The vital measurement to be validated
|
|
; GMVMSYS = The measurement system the measurement is expressed in
|
|
; (C - US Customary, M - Metric)
|
|
; GMVTYPE = A vital type abbreviation
|
|
; Output:
|
|
; 0 - Invalid, 1 - Valid
|
|
S GMVTYPE=$$UP^XLFSTR(GMVTYPE)
|
|
I $T(@GMVTYPE)]"" D
|
|
. N GMVCODE,GMVOK
|
|
. S GMVCODE="S GMVOK=$$"_GMVTYPE_"(GMVALUE)"
|
|
. X GMVCODE I 'GMVOK K GMVALUE
|
|
. Q
|
|
E D
|
|
. K GMVALUE
|
|
. Q
|
|
Q ''$D(GMVALUE)
|
|
;
|
|
AG(X) ; ABDOMINAL GIRTH
|
|
S X=$$CNV^GMVDCCNV(X,GMVMSYS,"S",GMVTYPE)
|
|
K:X'=+X!(X>150)!(X<0)!(X?.E1".".N) X
|
|
Q ''$D(X)
|
|
;
|
|
AUD(X) ; AUDIOMETRY
|
|
N I,Y
|
|
K:X'?.N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/".N1"/" X
|
|
I $D(X) F I=1:1:16 S Y=$P(Y,"/",I) I Y]"" I Y'=+Y!(Y>110)!(Y<0) K X Q
|
|
Q ''$D(X)
|
|
;
|
|
BP(X) ; BLOOD PRESSURE
|
|
N I,Y
|
|
K:(X'?1.3N1"/"1.3N1"/"1.3N)&(X'?1.3N1"/"1.3N)&(X'?1.3N) X
|
|
I $D(X) F I=1:1:$L(X,"/") S Y=$P(X,"/",I) I Y]"" I Y<0!(Y>300) K X Q
|
|
I $D(X),(X'?1.3N),$P(X,"/")'>$P(X,"/",$L(X,"/")) K X
|
|
Q ''$D(X)
|
|
;
|
|
CG(X) ; CIRCUMFERENCE/GIRTH
|
|
S X=$$CNV^GMVDCCNV(X,GMVMSYS,"S",GMVTYPE)
|
|
K:X'=+X!(X>200)!(X<0)!(X?.E1"."3.N) X
|
|
Q ''$D(X)
|
|
;
|
|
CVP(X) ; CENTRAL VENOUS PRESSURE
|
|
S X=$$CNV^GMVDCCNV(X,GMVMSYS,"S",GMVTYPE)
|
|
K:X<-13.6!(X>136)!(X?.E1"."2.N) X
|
|
Q ''$D(X)
|
|
;
|
|
FH(X) ; FUNDAL HEIGHT
|
|
S X=$$CNV^GMVDCCNV(X,GMVMSYS,"S",GMVTYPE)
|
|
K:X'=+X!(X>50)!(X<10)!(X?.E1".".N) X
|
|
Q ''$D(X)
|
|
;
|
|
FT(X) ; FETAL HEART TONES
|
|
K:X'=+X!(X>250)!(X<50)!(X?.E1".".N) X
|
|
Q ''$D(X)
|
|
;
|
|
HC(X) ; HEAD CIRCUMFERENCE
|
|
I GMVMSYS="M" D
|
|
. K:+X>76!(+X<26)!(X?.E1"."3.N) X
|
|
. Q
|
|
I GMVMSYS="C" D
|
|
. K:+X>30!(+X<10)!(X?.E1"."4.N) X
|
|
. I $D(X),X#1>0 K:"^.125^.25^.375^.5^.625^.75^.875^"'[(U_(X#1)_U) X
|
|
. Q
|
|
Q ''$D(X)
|
|
;
|
|
HE(X) ; HEARING
|
|
K:"^A^N^"'[(U_X_U) X
|
|
Q ''$D(X)
|
|
;
|
|
HT(X) ; HEIGHT
|
|
S X=$$CNV^GMVDCCNV(X,GMVMSYS,"S",GMVTYPE)
|
|
K:X'=+X!(X>100)!(X<1)!(X?.E1"."3.N) X
|
|
Q ''$D(X)
|
|
;
|
|
P(X) ; PULSE
|
|
K:+X'=X!(X>300)!(X<0)!(X?.E1".".N) X
|
|
Q ''$D(X)
|
|
;
|
|
PN(X) ; PAIN
|
|
K:"^0^1^2^3^4^5^6^7^8^9^10^99^"'[(U_X_U) X
|
|
Q ''$D(X)
|
|
;
|
|
PO2(X) ; PULSE OXIMETRY
|
|
K:X<0!(X>100)!(X?.E1".".N) X
|
|
Q ''$D(X)
|
|
;
|
|
R(X) ; RESPIRATION
|
|
K:X'=+X!(X>100)!(X<0)!(X?.E1".".N) X
|
|
Q ''$D(X)
|
|
;
|
|
T(X) ; TEMPERATURE
|
|
S X=$$CNV^GMVDCCNV(X,GMVMSYS,"S",GMVTYPE)
|
|
K:X'=+X!(X>120)!(X<45)!(X?.E1"."3.N) X
|
|
Q ''$D(X)
|
|
;
|
|
TON(X) ; TONOMETRY
|
|
N I,Y
|
|
K:(X'?1.2N1"/"1.2N)&(X'?1.2N1"/")&(X'?1"/"1.2N) X
|
|
I $D(X) F I=1,2 S Y=$P(X,"/",I) I Y]"" I Y'=+Y!(Y>80)!(Y<0) K X Q
|
|
Q ''$D(X)
|
|
;
|
|
VC(X) ; VISION CORRECTED
|
|
N I,Y
|
|
K:(X'?1.3N1"/"1.3N)&(X'?1.3N1"/")&(X'?1"/"1.3N) X
|
|
I $D(X) F I=1,2 S Y=$P(X,"/",I) I Y]"" I Y'=+Y!(Y>999)!(Y<10) K X Q
|
|
Q ''$D(X)
|
|
;
|
|
VU(X) ; VISION UNCORRECTED
|
|
Q $$VC(X)
|
|
;
|
|
WT(X) ; WEIGHT
|
|
S X=$$CNV^GMVDCCNV(X,GMVMSYS,"S",GMVTYPE)
|
|
K:X'=+X!(X>1500)!(X'>0)!(X?.E1"."3.N) X
|
|
Q ''$D(X)
|