Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AUPNVMSR

AUPNVMSR.m

Go to the documentation of this file.
  1. AUPNVMSR ; IHS/CMI/LAB - EDITS FOR AUPNVMSR (MEASUREMENTS:9000010.04) 24-MAY-1993 ; 30 Sep 2010 2:16 PM
  1. ;;2.0;IHS PCC SUITE;**2,5,7,8,10,15,16,17,20**;MAY 14, 2009;Build 25
  1. ;;
  1. ;;BJPC patch 1
  1. ;; - PF changed to 50-1000
  1. ;; - added ASFD
  1. ;; - added BPF - Best Peak Flow
  1. ;;
  1. ;S AUPNMTYP=$P(^AUPNVMSR(DA,0),U,1),AUPNMTYP=$P(^AUTTMSR(AUPNMTYP,0),U,1)
  1. ;I $T(@AUPNMTYP)="" Q
  1. ;D @AUPNMTYP
  1. NEW AUPNMTYP
  1. S AUPNMTYP=$P(^AUPNVMSR(DA,0),U,1)
  1. X ^AUTTMSR(AUPNMTYP,12)
  1. K AUPNMTYP
  1. Q
  1. ;
  1. BHM ;PEP - called from BH measurements dd
  1. NEW AUPNMTYP
  1. S AUPNMTYP=$P(^AMHRMSR(DA,0),U,1)
  1. X ^AUTTMSR(AUPNMTYP,12)
  1. K AUPNMTYP
  1. Q
  1. ;S AUPNMTYP=$P(^AMHRMSR(DA,0),U,1),AUPNMTYP=$P(^AUTTMSR(AUPNMTYP,0),U,1)
  1. ;I $T(@AUPNMTYP)="" Q
  1. ;D @AUPNMTYP
  1. ;K AUPNMTYP
  1. Q
  1. ;
  1. AUD ; (AUDIOMETRY)
  1. NEW %AUI,%AUX
  1. I $L(X,"/")'=17 K X Q
  1. F %AUI=1:1:16 S %AUX=$P(X,"/",%AUI) I %AUX'="" I %AUX'?1.3N!(+%AUX>110) K X Q
  1. Q
  1. AKBP ;EP - ANKLE BLOOD PRESSURE
  1. BP ;EP (BLOOD PRESSURE)
  1. NEW AUPNBPS,AUPNBPD
  1. I $L(X)>7!($L(X)<5)!'(X?2.3N1"/"2.3N) K X Q
  1. S AUPNBPS=+$P(X,"/",1),AUPNBPD=+$P(X,"/",2)
  1. I AUPNBPS<20!(AUPNBPS>275) K X G BPX
  1. I AUPNBPD<20!(AUPNBPD>200) K X G BPX
  1. I AUPNBPS'>AUPNBPD K X G BPX
  1. S X=AUPNBPS_"/"_AUPNBPD
  1. BPX ;
  1. Q
  1. CXD ;;CERVIX DILATATION
  1. K:X<0!(X>10) X
  1. Q
  1. ED ; (EDEMA)
  1. I $L(X)>2!($L(X)<1) K X Q
  1. I +X>4 K X Q
  1. Q:X=0
  1. I X'?1N1"+" K X Q
  1. Q
  1. EF ;EFFACEMENT
  1. K:X<0!(X>100) X
  1. Q
  1. HC ; (HEAD CIRCUMFERENCE)
  1. D:X?.E.A.E MHT
  1. Q:'$D(X)
  1. D HTHCC
  1. S:$P(X,".",2)?4N.N X=X+.0005,X=$P(X,".",1)_"."_$E($P(X,".",2),1,3)
  1. S X=+X
  1. Q:'$D(X)
  1. K:+X'=X!(X>30)!(X<10)!(X?.E1"."4N.N) X
  1. Q:'$D(X)
  1. ;K:X-(X\1)#.125 X
  1. Q
  1. HE ; (HEARING)
  1. K:X'="A"&(X'="N") X
  1. Q
  1. WC ; (WAIST CIRCUMFERENCE)
  1. I X'=+X K X Q
  1. K:+X'=X!(X>99)!(X<20)!(X?.E1"."3N.N) X
  1. Q
  1. PA ;EP (PAIN)
  1. I X'=+X K X Q
  1. K:(X<0)!(X>10) X
  1. Q
  1. NSST ;EP (NSST)
  1. I X'=+X K X Q
  1. K:(X<0)!(X>42) X
  1. Q
  1. FI24 ;EP (PAIN)
  1. I X'=+X K X Q
  1. K:(X<0)!(X>10000) X
  1. Q
  1. FO24 ;EP (PAIN)
  1. I X'=+X K X Q
  1. K:(X<0)!(X>10000) X
  1. Q
  1. FBPN ;EP (PAIN)
  1. I X'=+X K X Q
  1. K:(X<-10000)!(X>10000) X
  1. Q
  1. HT ; (HEIGHT)
  1. D:X?.E.A.E MHT
  1. Q:'$D(X)
  1. D HTHCC
  1. S:$P(X,".",2)?4N.N X=X+.0005,X=$P(X,".",1)_"."_$E($P(X,".",2),1,3)
  1. S X=+X
  1. Q:'$D(X)
  1. K:+X'=X!(X>90)!(X<10)!(X?.E1"."4N.N) X
  1. Q:'$D(X)
  1. ;K:X-(X\1)#.125 X
  1. Q
  1. HTHCC Q:X'["/"
  1. Q:X'?2N1" "1N1"/"1N
  1. S X=$P(X," ",1)_+("."_($P($P(X," ",2),"/",1)*1000\$P($P(X," ",2),"/",2)))
  1. Q
  1. ;
  1. MHT ;
  1. NEW AUPNC,AUPNI,AUPNJ
  1. S AUPNJ=$L(X) F AUPNI=1:1:AUPNJ S AUPNC=$E(X,AUPNI) I AUPNC?1A S AUPNC=$S(AUPNC?1L:$C($A(AUPNC)-32),1:AUPNC)
  1. S (AUPNI,AUPNC)="" F AUPNI=1:1:AUPNJ S AUPNC=$E(X,AUPNI) Q:"C"[AUPNC
  1. I AUPNC="C" D @AUPNC
  1. K AUPNC,AUPNI,AUPNJ
  1. Q
  1. PR ; (PRESENTATION)
  1. NEW AUTFN,AUTVAL
  1. I X="U" S X="UNKNOWN"
  1. S AUTVAL=X,AUTFN=9999999.87
  1. S %=$$PRLK(AUTFN,AUTVAL)
  1. I %="" K X Q
  1. S X=%
  1. Q:$D(ZTQUEUED)
  1. Q:$D(APCDATMP) ;don't talk if in APCDALVR mode
  1. W " ",X
  1. Q
  1. PRLK(AUTFN,AUTVAL) ;
  1. NEW AUTVALI
  1. S AUTVALI=""
  1. D EN^XBNEW("DIC^AUPNVMSR","AUTFN,AUTVAL,AUTVALI")
  1. Q AUTVALI
  1. PU ;EP (PULSE)
  1. K:+X'=X!(X>250)!(X<30)!(X?.E1"."1N.N) X
  1. Q
  1. SN ;STATION
  1. K:X<-6!(X>4) X
  1. Q
  1. TMP ; (TEMPERATURE)
  1. K:+X'=X!(X>120)!(X<70)!(X?.E1"."2N.N) X
  1. Q
  1. TON ; (TONOMETRY)
  1. NEW %AURR,%AURP,%AURI,%AULR,%AULP,%AULI
  1. I $L(X)>5!($L(X)<3)!'((X?1.3N1"/")!(X?1"/"1.3N)!(X?1.3N1"/"1.3N)) K X Q
  1. I $P(X,"/",1)'="" I $P(X,"/",1)<0!($P(X,"/",1)>80) K X Q
  1. I $P(X,"/",2)'="" I $P(X,"/",2)<0!($P(X,"/",2)>80) K X Q
  1. I $P(X,"/",1)]"" S X="R"_X
  1. I $P(X,"/",2)]"" S X=$P(X,"/",1)_"/L"_$P(X,"/",2)
  1. TONX ;
  1. K %AURR,%AURP,%AURI,%AULR,%AULP,%AULI
  1. Q
  1. VC ; (VISION CORRECTED)
  1. VU ; (VISION UNCORRECTED)
  1. I $D(DIFGLINE) Q ;IHS/ASDST/GTH AUPN*99.1*7 02/15/2002 - do not do edit if in filegrams (mfi)
  1. I $L(X)>11!($L(X)<2) K X Q
  1. I '((X?2.3AN)!(X?1"/"2.3AN)!(X?2.3AN1"/"2.3AN)!(X?2"/"2.3AN)!(X?1"/"2.3AN1"/"2.3N)!(X?2.3AN1"/"2.3AN1"/"2.3AN)) K X Q
  1. I $P(X,"/",1)'="",+($P(X,"/",1)) I $P(X,"/",1)<10!($P(X,"/",1)>999) K X Q
  1. I $P(X,"/",1)'="",'($P(X,"/",1)) I $P(X,"/")'="HM"&($P(X,"/")'="LP")&($P(X,"/")'="NLP") K X Q
  1. I $P(X,"/",2)'="",+($P(X,"/",2)) I $P(X,"/",2)<10!($P(X,"/",2)>999) K X Q
  1. I $P(X,"/",2)'="",'($P(X,"/",2)) I $P(X,"/",2)'="HM"&($P(X,"/",2)'="LP")&($P(X,"/",2)'="NLP") K X Q ;IHS/CMI/LAB -
  1. I $P(X,"/",3)'="",+($P(X,"/",3)) I $P(X,"/",3)<10!($P(X,"/",3)>999) K X Q
  1. I $P(X,"/",3)'="",'($P(X,"/",3)) I $P(X,"/",3)'="HM"&($P(X,"/",3)'="LP")&($P(X,"/",3)'="NLP") K X Q ;IHS/CMI/LAB - patch 17
  1. Q
  1. WT ;EP (WEIGHT)
  1. D:X?.E.A.E MWT
  1. Q:'$D(X)
  1. D WTC
  1. S:$P(X,".",2)?5N.N X=X+.00005,X=$P(X,".",1)_"."_$E($P(X,".",2),1,4)
  1. S X=+X
  1. Q:'$D(X)
  1. K:+X'=X!(X>1000)!(X<2)!(X?.E1"."5N.N) X
  1. Q:'$D(X)
  1. ;K:X-(X\1)#.0625 X
  1. Q
  1. WTC Q:+X=X!(X'[" ")
  1. Q:'(X?1.3N1" "1.2N!(X?1.3N1" "1.2N1"/"1.2N))
  1. I X'["/" Q:+$P(X," ",2)>16 S X=+X+(+$P(X," ",2)/16) Q
  1. Q:+$P($P(X," ",2),"/",1)'<+$P($P(X," ",2),"/",2)
  1. S X=+X+((+$P(X," ",2)/$P($P(X," ",2),"/",2)))
  1. Q
  1. ;
  1. MWT ;
  1. NEW AUPNC,AUPNI,AUPNJ
  1. S AUPNJ=$L(X) F AUPNI=1:1:AUPNJ S AUPNC=$E(X,AUPNI) I AUPNC?1A S AUPNC=$S(AUPNC?1L:$C($A(AUPNC)-32),1:AUPNC)
  1. S (AUPNI,AUPNC)="" F AUPNI=1:1:AUPNJ S AUPNC=$E(X,AUPNI) Q:"GK"[AUPNC
  1. I "GK"[AUPNC D @AUPNC
  1. K AUPNC,AUPNI,AUPNJ
  1. Q
  1. MWTC ;
  1. Q:+X=X!(X'[" ")!(X'["/")
  1. K:'(X?1.6N1" "1.2N1"/"1.2N) X
  1. Q:'$D(X)
  1. S X=+X+((+$P(X," ",2)/$P($P(X," ",2),"/",2)))
  1. Q
  1. K ;
  1. I X["/" S X=$P(X,AUPNC,1) D MWTC
  1. Q:'$D(X)
  1. S X=+X
  1. S X=(X*2.2046226)
  1. Q
  1. G ;
  1. I X["/" S X=$P(X,AUPNC,1) D MWTC
  1. Q:'$D(X)
  1. S X=+X
  1. S X=(X*.0022046226)
  1. Q
  1. C ;
  1. I X["/" S X=$P(X,AUPNC,1) D MWTC
  1. Q:'$D(X)
  1. S X=+X
  1. S X=(X*.393701)
  1. Q
  1. AG ; (ABDOMINAL GIRTH)
  1. K:+X'=X!(X>250)!(X<10)!(X?.E1"."3N.N) X
  1. Q
  1. FH ; Fundal Height
  1. K:+X'=X!(X>100)!(X<0)!(X?.E1"."3N.N) X
  1. Q
  1. FT ; Fetal Heart Tones
  1. K:+X'=X!(X>400)!(X<0)!(X?.E1"."1N.N) X
  1. Q
  1. RS ;EP
  1. ;IHS/CMI/LAB - up'ed value to 100 pre Madonna Long aberdeen
  1. I X'?1.3N!(X<0)!(X>140) K X Q
  1. Q
  1. ;
  1. O2 ;EP called from input template
  1. I X'?1.3N!(X<50)!(X>100) K X
  1. Q
  1. PF ;EP called from input template
  1. I X'?1.4N!(X<50)!(X>1000) K X ;IHS/CMI/LAB 1-25-08; values 5-1000 CR #85
  1. Q
  1. BS ;EP -per dina in billings
  1. Q
  1. CEF ;EP called from input tx, per Terry Cullen 3-17-04
  1. Q:'$D(X)
  1. K:(X<5)!(X>99) X
  1. Q
  1. ASQM ; EP - ASQ questionnaire (Mos)
  1. I '$D(^VEN(7.14,"B",X)) K X
  1. Q
  1. ;
  1. PHQ2 ; EP - PHQ2
  1. I X'?1N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>6) X
  1. Q
  1. ;
  1. PHQ9 ; EP - PHQ9
  1. I X'?1.2N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>27) X
  1. Q
  1. PHQT ; EP - PHQT
  1. I X'?1.2N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>27) X
  1. Q
  1. ;
  1. AUDT ; EP - AUDT
  1. I X'?1.2N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>40) X
  1. Q
  1. ;
  1. AUDC ; EP - AUDT
  1. I X'?1.2N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>12) X
  1. Q
  1. ;
  1. CRFT ; EP - CRFT
  1. I X'?1N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>6) X
  1. Q
  1. ;
  1. ASFD ; EP - ASFD
  1. I X'?1.2N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>14) X
  1. Q
  1. ;
  1. ADM ; EP - ADM
  1. I X'?1.2N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>14) X
  1. Q
  1. ;
  1. BPF ;EP called from input template
  1. I X'?1.4N!(X<50)!(X>1000) K X ;IHS/CMI/LAB 1-25-08; values 5-1000 CR #85
  1. Q
  1. ;
  1. FEF ;EP - FEF 25-75
  1. S X=$$STRIP^XLFSTR(X," ")
  1. I X'=+X K X Q
  1. K:(X<0)!(X>150) X
  1. Q
  1. ;
  1. FEV1 ;EP - FEV1
  1. I X'?1.2N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>10) X
  1. Q
  1. ;
  1. FV1P ;EP - FEV1 %
  1. S X=$$STRIP^XLFSTR(X," ")
  1. ;I X'?1.3N!(X'?1.3N1"%") K X
  1. I X'=+X K X Q
  1. K:(X<0)!(X>150) X
  1. Q
  1. ;
  1. FVC ;EP - forced vital capacity
  1. I X'?1.2N K X Q
  1. I X'=+X K X Q
  1. K:(X<0)!(X>10) X
  1. Q
  1. ;
  1. FVCP ;EP - FEV1 %
  1. S X=$$STRIP^XLFSTR(X," ")
  1. I X'=+X K X Q
  1. K:(X<0)!(X>150) X
  1. Q
  1. ;
  1. FVFC ;EP - FEV1/FVC
  1. I $L(X)>11!($L(X)<2)!'(X?0.2N0.1"."0.2N1"/"0.2N0.1"."0.2N) K X Q
  1. NEW F,S
  1. S F=$P(X,"/",1),S=$P(X,"/",2)
  1. I F="" K X Q
  1. I S="" K X Q
  1. S F=+F
  1. S S=+S
  1. I F<0!(F>10) K X Q
  1. I S<0!(S>10) K X Q
  1. Q
  1. LKW ;EP - LKW
  1. I X'="WELL" K X Q
  1. Q
  1. EGA ;EP - EGA
  1. I X?1.2N D Q
  1. .I +X<4 K X Q
  1. .I +X>44 K X Q
  1. I X'?1.2N1" "1N1"/"1"7" K X Q
  1. NEW %
  1. S %=$P(X," ")
  1. I %<4 K X Q
  1. I %>44 K X Q
  1. S %=$E($P(X," ",2))
  1. I %<1 K X Q
  1. I %>6 K X Q
  1. Q
  1. ;
  1. ASQF ; EP - ASQ development score: FINE MOTOR
  1. ASQG ; EP - ASQ development score: GROSS MOTOR
  1. ASQL ; EP - ASQ development score: LANGUAGE
  1. ASQS ; EP - ASQ development score: SOCIAL
  1. ASQP ; EP - ASQ development score: PROBLEM SOLVING
  1. I $P(X," ")'?1.2N K X Q
  1. I +X#5 K X
  1. Q
  1. BL ;EP - called from birth length of Birth measurement file
  1. Q:X=""
  1. I $E(X)="C" S X=$E(X,2,9999),X=X*.3937008
  1. I X'=+X K X Q
  1. I X<6 K X Q
  1. I X>30 K X Q
  1. Q
  1. F10R ;EP (F10R)
  1. ;For women: <1, 1, 2, 3, 4, 5, 6, 8, 11, 14, 17, 22, 27, >30
  1. ;For men: <1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 25, >30
  1. I X="<1" Q
  1. I X=1 Q
  1. I X=2 Q
  1. I X=3 Q
  1. I X=4 Q
  1. I X=5 Q
  1. I X=6 Q
  1. I X=8 Q
  1. I X=">30" Q
  1. I $G(AUPNSEX)="F"!($G(SEX)="F") D Q
  1. .I X=11 Q
  1. .I X=14 Q
  1. .I X=17 Q
  1. .I X=22 Q
  1. .I X=27 Q
  1. .K X
  1. I $G(AUPNSEX)="M"!($G(SEX)="M") D Q
  1. .I X=10 Q
  1. .I X=12 Q
  1. .I X=16 Q
  1. .I X=20 Q
  1. .I X=25 Q
  1. .K X
  1. Q
  1. ;
  1. OUT(IEN,VAL) ;EP called from output transform
  1. I 'IEN Q VAL
  1. I '$D(^AUPNVMSR(IEN,0)) Q VAL
  1. NEW % S %=$P(^AUPNVMSR(IEN,0),U)
  1. I $P(^AUTTMSR(%,0),U)="FEF" Q $S(VAL["%":VAL,1:VAL_"%")
  1. I $P(^AUTTMSR(%,0),U)="FV1P" Q $S(VAL["%":VAL,1:VAL_"%")
  1. I $P(^AUTTMSR(%,0),U)="FVCP" Q $S(VAL["%":VAL,1:VAL_"%")
  1. I $P(^AUTTMSR(%,0),U)="F10R" Q $S(VAL["%":VAL,1:VAL_"%")
  1. I $P(^AUTTMSR(%,0),U)="CDR" D Q VAL
  1. .I $P(VAL,".",1)="" S VAL="0"_VAL
  1. I $P(^AUTTMSR(%,0),U)'="VC"&($P(^AUTTMSR(%,0),U)'="VU") Q VAL
  1. NEW X
  1. S X=VAL
  1. S VAL=$S($P(^AUPNVMSR(IEN,0),U,6):$P(^AUPNVMSR(IEN,0),U,6),1:"20")_"/"_$P(X,"/")_"-"_$S($P(^AUPNVMSR(IEN,0),U,6):$P(^AUPNVMSR(IEN,0),U,6),1:"20")_"/"_$P(X,"/",2) D
  1. .S:$P(X,"/",3)]"" VAL=VAL_"-"_$S($P(^AUPNVMSR(IEN,0),U,6):$P(^AUPNVMSR(IEN,0),U,6),1:"20")_"/"_$P(X,"/",3)
  1. Q VAL
  1. VCVU(VAL,DEN) ;EP - CALLED FROM MEASUREMENT PANEL
  1. NEW A
  1. S A=$S(DEN:DEN,1:"20")_"/"_$P(VAL,"/")_"-"_$S(DEN:DEN,1:"20")_"/"_$P(VAL,"/",2) D
  1. .S:$P(VAL,"/",3)]"" A=A_"-"_$S(DEN:DEN,1:"20")_"/"_$P(VAL,"/",3)
  1. Q A
  1. HELP ;EP - HELP FOR VARIOUS TYPES
  1. D ^AUPNVMS2
  1. Q
  1. DIC ;EP
  1. N X S X=AUTVAL
  1. S DIC=$$DIC^XBDIQ1(AUTFN)
  1. Q:'$L(DIC)
  1. S DIC(0)="M"
  1. D ^DIC
  1. S:+Y>0 AUTVALI=$P(Y,U,2)
  1. Q
  1. ;
  1. OUTBH(IEN,VAL) ;EP called from output transform
  1. I 'IEN Q VAL
  1. I '$D(^AMHRMSR(IEN,0)) Q VAL
  1. NEW % S %=$P(^AMHRMSR(IEN,0),U)
  1. I $P(^AUTTMSR(%,0),U)'="VC"&($P(^AUTTMSR(%,0),U)'="VU") Q VAL
  1. S VAL=$S($P(^AMHRMSR(IEN,0),U,6):$P(^AMHRMSR(IEN,0),U,6),1:"20")_"/"_$P(VAL,"/")_"-"_$S($P(^AMHRMSR(IEN,0),U,6):$P(^AMHRMSR(IEN,0),U,6),1:"20")_"/"_$P(VAL,"/",2)
  1. Q VAL
  1. EN1(Y,DA) ;EP - INPUT TRANSFORM FOR NAME (.01) FIELD OF QUALIFIER
  1. ; SUB-FILE OF V MEASUREMENT FILE.
  1. ; Input variables: Y is entry in 120.52 being looked up
  1. ; DA is entry in V MEASUREMENT where Qualifier data
  1. ; is being selected.
  1. ; Function value: 1 if can select this Qualifier, else 0.
  1. ;
  1. N GMRVFXN,GMRVTYP S GMRVFXN=0
  1. S GMRVTYP=$P($G(^AUPNVMSR(DA,0)),"^",1)
  1. I GMRVTYP>0,$D(^GMRD(120.52,"C",GMRVTYP,+Y)) S GMRVFXN=1
  1. Q GMRVFXN
  1. ;