- TIULO ;SLC/JER - Embedded Objects ;Mar 18, 2021@06:56:30
- ;;1.0;TEXT INTEGRATION UTILITIES;**34,70,101,148,204,341,345**;Jun 20, 1997;Build 3
- DEM(DFN,VADM) ; Calls DEM^VADPT
- N VAROOT
- D DEM^VADPT
- Q
- NAME(DFN) ; Patient NAME
- I '$D(VADM(1)) D DEM(DFN,.VADM)
- Q $S(VADM(1)]"":VADM(1),1:"NAME UNKNOWN")
- SSN(DFN) ; Patient SSN
- I '$D(VADM(2)) D DEM(DFN,.VADM)
- Q $S($P(VADM(2),U,2)]"":$P(VADM(2),U,2),1:"SSN UNKNOWN")
- AGE(DFN) ; Patient AGE
- I '$D(VADM(4)) D DEM(DFN,.VADM)
- Q $S(VADM(4)]"":VADM(4),1:"AGE UNKNOWN")
- DOB(DFN) ; Patient DATE OF BIRTH
- I '$D(VADM(3)) D DEM(DFN,.VADM)
- Q $S($P(VADM(3),U,2)]"":$P(VADM(3),U,2),1:"DOB UNKNOWN")
- DOD(DFN) ; Patient DATE OF DEATH
- I '$D(VADM(6)) D DEM(DFN,.VADM)
- Q $S($P(VADM(6),U,2)]"":$P(VADM(6),U,2),1:"DATE OF DEATH UNKNOWN")
- SEX(DFN) ; Patient SEX
- I '$D(VADM(5)) D DEM(DFN,.VADM)
- Q $S($P(VADM(5),U,2)]"":$P(VADM(5),U,2),1:"SEX UNKNOWN")
- RACE(DFN) ; Patient RACE TIU*148
- N TIUI
- I '$D(VADM(12)) D DEM(DFN,.VADM)
- I +$G(VADM(12))=1 S X=$P($G(VADM(12,1)),U,2)
- I +$G(VADM(12))>1 D
- . S X=$P($G(VADM(12,1)),U,2) F TIUI=2:1:VADM(12) D
- . . S X=X_", "_$P($G(VADM(12,TIUI)),U,2)
- I +$G(VADM(12))=0,$P(VADM(8),U,2)="" S X="RACE UNKNOWN"
- I +$G(VADM(12))=0,$P(VADM(8),U,2)]"" S X=$P(VADM(8),U,2)
- Q X
- ETHNIC(DFN) ; Patient ETHNICITY TIU*148
- N TIUI
- I '$D(VADM(11,1)) D DEM(DFN,.VADM)
- I +$G(VADM(11))=0 S X="ETHNICITY UNKNOWN"
- I +$G(VADM(11))=1 S X=$P($G(VADM(11,1)),U,2)
- I +$G(VADM(11))>1 D
- . S X=$P($G(VADM(11,1)),U,2) F TIUI=2:1:VADM(11) D
- . . S X=X_", "_$P($G(VADM(11,TIUI)),U,2)
- I +$G(VADM(11))=0 S X="ETHNICITY UNKNOWN"
- Q X
- HEIGHT(DFN) ; Gets most recent Height from VITALS
- Q $$DOVITALS(DFN,"HT")
- WEIGHT(DFN) ; Gets most recent Weight from VITALS
- Q $$DOVITALS(DFN,"WT")
- TEMP(DFN) ; Gets most recent Temperature from VITALS
- Q $$DOVITALS(DFN,"T")
- PULSE(DFN) ; Gets most recent Pulse from VITALS
- Q $$DOVITALS(DFN,"P")
- PO2(DFN) ; Get most recent Pulse Oximeter from VITALS - ajb *341
- Q $$DOVITALS(DFN,"PO2")
- RESP(DFN) ; Gets most recent Respiration from VITALS
- Q $$DOVITALS(DFN,"R")
- BP(DFN) ; Gets most recent Blood Pressure from VITALS
- Q $$DOVITALS(DFN,"BP")
- PAIN(DFN) ; Gets most recent Pain score from VITALS
- Q $$DOVITALS(DFN,"PN")
- DOVITALS(DFN,TIUVITC) ; INTERNAL ROUTINE TO GET SPECIFIED VITALS (**34**)
- N TIUVIT,TIUVT,TIUVDT,TIUVDA,TIUY,VDT,TIUI,TIUCWRAP,TIUMAXW
- N TIUVCNT,TIUVCNT2,TIUVDONE,TIUVDATE,TIUY1,TIUVTEMP,CONV
- D VITALS(.TIUVIT,DFN,TIUVITC)
- S (TIUVDT,TIUVDONE,TIUVCNT)=0
- F S TIUVDT=$O(TIUVIT(TIUVITC,TIUVDT)) Q:+TIUVDT'>0!TIUVDONE D
- . S TIUVDA=0
- . F S TIUVDA=$O(TIUVIT(TIUVITC,TIUVDT,TIUVDA)) Q:+TIUVDA'>0!TIUVDONE D
- . . I $D(TIUVDATE),TIUVDATE'=TIUVDT S TIUVDONE=1
- . . E D
- . . . S TIUVDATE=TIUVDT,TIUVCNT=TIUVCNT+1
- . . . S TIUVTEMP=$G(TIUVIT(TIUVITC,TIUVDT,TIUVDA))
- . . . S VDT=$$DATE^TIULS($P(TIUVTEMP,U,1),"MM/DD/CCYY HR:MIN")
- . . . S TIUY=$P(TIUVTEMP,U,8)
- . . . I TIUVITC="PO2" Q:+TIUY'>0 S TIUY=TIUY_"%" ; ajb *341
- . . . I TIUVITC="WT" D
- . . . . Q:+TIUY'>0
- . . . . S CONV=$J((+TIUY/2.20462262),0,2) ;P345
- . . . . S TIUY=TIUY_" lb ["_CONV_" kg]"
- . . . I TIUVITC="HT" D
- . . . . Q:+TIUY'>0
- . . . . S CONV=$J((+TIUY*2.54),3,1)
- . . . . S TIUY=TIUY_" in ["_CONV_" cm]"
- . . . I TIUVITC="T" D
- . . . . Q:+TIUY'>0
- . . . . S CONV=+TIUY-32
- . . . . S CONV=$J((CONV*(5/9)),3,1)
- . . . . S TIUY=TIUY_" F ["_CONV_" C]"
- . . . S TIUY=TIUY_" ("_VDT
- . . . S TIUCWRAP=$L(TIUY)+17
- . . . I TIUVCNT=1 S TIUY1=TIUY_")",TIUMAXW=59
- . . . E S TIUY=" "_TIUY,TIUMAXW=74
- . . . S TIUVTEMP=$P(TIUVTEMP,U,17)
- . . . I $L(TIUVTEMP)>0 D
- . . . . S TIUVTEMP=", "_TIUVTEMP
- . . . . F S TIUI=$F(TIUVTEMP,";") Q:TIUI'>0 D
- . . . . . S TIUVTEMP=$E(TIUVTEMP,1,TIUI-2)_", "_$E(TIUVTEMP,TIUI,999)
- . . . S TIUY=TIUY_TIUVTEMP_")"
- . . . I $L(TIUY)<TIUMAXW S TIUVITMP(TIUVCNT,0)=TIUY
- . . . E D ; Wrap the line if it's too long
- . . . . S TIUVCNT2=0,TIUVTEMP="",$P(TIUVTEMP," ",TIUCWRAP)=" "
- . . . . F Q:$L(TIUY)'>0 D
- . . . . . F TIUI=TIUMAXW:-1:1 Q:$E(TIUY,TIUI,TIUI+1)=", "
- . . . . . I TIUI>1 D
- . . . . . . S TIUVITMP(TIUVCNT+TIUVCNT2,0)=$E(TIUY,1,TIUI)
- . . . . . . S TIUVCNT2=TIUVCNT2+.01
- . . . . . . S TIUY=TIUVTEMP_$E(TIUY,TIUI+2,999)
- . . . . . E D
- . . . . . . S TIUVITMP(TIUVCNT+TIUVCNT2,0)=TIUY
- . . . . . . S TIUY=""
- I TIUVCNT<2 D
- . S TIUY=$G(TIUY1)
- . K TIUVITMP
- E S TIUY="~@TIUVITMP"
- Q $G(TIUY)
- VITALS(TIUY,DFN,GMRVSTR,TIUEDT,TIULDT,TIUOCC) ; Vital measurements
- N TIUVT,TIUVDT,TIUVDA K ^UTILITY($J,"GMRVD")
- S GMRVSTR(0)=$G(TIUEDT)_U_$G(TIULDT)_U_$G(TIUOCC,1)_"^0"
- I $L($T(EN1^GMRVUT0)) D EN1^GMRVUT0
- I +$D(^UTILITY($J,"GMRVD")) D
- . S TIUVT=""
- . F S TIUVT=$O(^UTILITY($J,"GMRVD",TIUVT)) Q:TIUVT']"" D
- . . S TIUVDT=0
- . . F S TIUVDT=$O(^UTILITY($J,"GMRVD",TIUVT,TIUVDT)) Q:+TIUVDT'>0 D
- . . . S TIUVDA=0
- . . . F S TIUVDA=$O(^UTILITY($J,"GMRVD",TIUVT,TIUVDT,TIUVDA)) Q:+TIUVDA'>0 D
- . . . . S TIUY(TIUVT,TIUVDT,TIUVDA)=$G(^UTILITY($J,"GMRVD",TIUVT,TIUVDT,TIUVDA))
- K ^UTILITY($J,"GMRVD")
- Q
- LIPIDS(TIUY,DFN,TIUEDT,TIULDT) ; Get LIPID profile
- N TIUTST,TIUI,TIURY,TIUDT,TIULDT
- S TIUTST=$O(^LAB(60,"B","LIPID PROFILE",0))
- I '+$G(TIUTST) Q
- D TEST^LR7OR2(.TIUY,DFN,"",$G(TIUEDT),$G(TIULDT),"",TIUTST)
- I '$D(TIUY)!($G(TIUY(1))="No Lab Data") Q
- S TIUI=0 F S TIUI=$O(@TIUY@(TIUI)) Q:+TIUI'>0 D
- . S TIUTST=$$MAPPER($P(@TIUY@(TIUI),U,17)),TIUDT=+@TIUY@(TIUI)
- . S:TIUDT'=+$G(TIULDT) TIURY("BASELINE LIPID PROFILES",TIUDT)=$$DATE^TIULS(TIUDT,"MM/DD/YY")
- . S TIURY(TIUTST,TIUDT)=$P(@TIUY@(TIUI),U,4)
- F TIUI="CHYLOMI","TURBID","VLDL" K TIURY(TIUI)
- K @TIUY
- I $D(TIURY) M TIUY=TIURY
- Q
- MAPPER(TIUX,TIUI) ; Remap test names
- N TIUNM,Y S TIUNM("CHOL","TOTAL CHOLESTEROL")=""
- S (TIUNM("HDL","HDL CHOLESTEROL"),TIUNM("LDL","LDL CHOLESTEROL"))=""
- S TIUNM("TRIGLYC","TRIGLYCERIDES")=""
- S Y=$O(TIUNM(TIUX,"")) I Y']"" S Y=TIUX
- Q Y
- TSHT4(DFN,TIUEDT,TIULDT) ; Get TSH/T4
- N TIUY,TIUTSH,TIUT4 S TIUTSH=+$O(^LAB(60,"B","TSH",0))
- S TIUT4=+$O(^LAB(60,"B","T-4",0))
- I '+$G(TIUTSH)!'+$G(TIUT4) G TSHX
- D TEST^LR7OR2(.TIUY,DFN,"",$G(TIUEDT),$G(TIULDT),"",TIUTSH)
- S TIUTSH=$S($D(TIUY)#2:$P($G(@TIUY@(1)),U,4),1:"____")
- I $D(TIUY)#2 K @TIUY
- D TEST^LR7OR2(.TIUY,DFN,"",$G(TIUEDT),$G(TIULDT),"",TIUT4)
- S TIUT4=$S($D(TIUY)#2:$P($G(@TIUY@(1)),U,4),1:"____")
- I $D(TIUY)#2 K @TIUY
- S TIUY=TIUTSH_"/"_TIUT4
- TSHX Q $G(TIUY)
- SGOT(DFN,TIUEDT,TIULDT) ; Get SGOT
- N TIUY,TIUSGOT S TIUSGOT=+$O(^LAB(60,"B","SGOT",0))
- I '+$G(TIUSGOT) Q
- D TEST^LR7OR2(.TIUY,DFN,"",$G(TIUEDT),$G(TIULDT),"",TIUSGOT)
- S TIUSGOT=$S($D(TIUY)#2:$P($G(@TIUY@(1)),U,4),1:"____")
- I $D(TIUY)#2 K @TIUY
- SGOTX Q $G(TIUSGOT)
- HGBA1C(DFN,TIUEDT,TIULDT) ; Get Hemoglobin A1C
- N TIUY,TIUHGB S TIUHGB=+$O(^LAB(60,"B","HEMOGLOBIN A1C",0))
- I '+$G(TIUHGB) G HGBX
- D TEST^LR7OR2(.TIUY,DFN,"",$G(TIUEDT),$G(TIULDT),"",TIUHGB)
- S TIUHGB=$S($D(TIUY)#2:$P($G(@TIUY@(1)),U,4),1:"____")
- I $D(TIUY)#2 K @TIUY
- HGBX Q $G(TIUHGB)
- URICACID(DFN,TIUEDT,TIULDT) ; Get Uric Acid
- N TIUY,TIUURIC S TIUURIC=+$O(^LAB(60,"B","URIC ACID",0))
- I '+$G(TIUURIC) G URICX
- D TEST^LR7OR2(.TIUY,DFN,"",$G(TIUEDT),$G(TIULDT),"",TIUURIC)
- S TIUURIC=$S($D(TIUY)#2:$P($G(@TIUY@(1)),U,4),1:"____")
- I $D(TIUY)#2 K @TIUY
- URICX Q $G(TIUURIC)
- FBG(DFN,TIUEDT,TIULDT) ; Get FBG
- N TIUY,TIUFBG S TIUFBG=+$O(^LAB(60,"B","FBS",0))
- I '+$G(TIUFBG) G FBGX
- D TEST^LR7OR2(.TIUY,DFN,"",$G(TIUEDT),$G(TIULDT),"",TIUFBG)
- S TIUFBG=$S($D(TIUY)#2:$P($G(@TIUY@(1)),U,4),1:"____")
- I $D(TIUY)#2 K @TIUY
- FBGX Q $G(TIUFBG)
- ADM(DFN) ;Current Admission Date/Time
- N VAIN,J
- D INP^VADPT
- S J=$P(VAIN(7),U,2),J(1)=$P(J,"@",1),J(2)=$P(J,"@",2),J(3)=$E(J(2),1,5),Y=J(1)_" "_J(3) K J
- ADMX Q Y
- TODAY() ;Today's Date
- N X,Y
- S X=$G(DT) I X'="" S Y=X D DD^%DT
- TODAYX Q Y
- NOW() ;Current Date/Time
- NOWX Q $$DATE^TIULS($$NOW^TIULC,"AMTH DD, CCYY HR:MIN")
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HTIULO 7864 printed Feb 19, 2025@00:08:47 Page 2
- TIULO ;SLC/JER - Embedded Objects ;Mar 18, 2021@06:56:30
- +1 ;;1.0;TEXT INTEGRATION UTILITIES;**34,70,101,148,204,341,345**;Jun 20, 1997;Build 3
- DEM(DFN,VADM) ; Calls DEM^VADPT
- +1 NEW VAROOT
- +2 DO DEM^VADPT
- +3 QUIT
- NAME(DFN) ; Patient NAME
- +1 IF '$DATA(VADM(1))
- DO DEM(DFN,.VADM)
- +2 QUIT $SELECT(VADM(1)]"":VADM(1),1:"NAME UNKNOWN")
- SSN(DFN) ; Patient SSN
- +1 IF '$DATA(VADM(2))
- DO DEM(DFN,.VADM)
- +2 QUIT $SELECT($PIECE(VADM(2),U,2)]"":$PIECE(VADM(2),U,2),1:"SSN UNKNOWN")
- AGE(DFN) ; Patient AGE
- +1 IF '$DATA(VADM(4))
- DO DEM(DFN,.VADM)
- +2 QUIT $SELECT(VADM(4)]"":VADM(4),1:"AGE UNKNOWN")
- DOB(DFN) ; Patient DATE OF BIRTH
- +1 IF '$DATA(VADM(3))
- DO DEM(DFN,.VADM)
- +2 QUIT $SELECT($PIECE(VADM(3),U,2)]"":$PIECE(VADM(3),U,2),1:"DOB UNKNOWN")
- DOD(DFN) ; Patient DATE OF DEATH
- +1 IF '$DATA(VADM(6))
- DO DEM(DFN,.VADM)
- +2 QUIT $SELECT($PIECE(VADM(6),U,2)]"":$PIECE(VADM(6),U,2),1:"DATE OF DEATH UNKNOWN")
- SEX(DFN) ; Patient SEX
- +1 IF '$DATA(VADM(5))
- DO DEM(DFN,.VADM)
- +2 QUIT $SELECT($PIECE(VADM(5),U,2)]"":$PIECE(VADM(5),U,2),1:"SEX UNKNOWN")
- RACE(DFN) ; Patient RACE TIU*148
- +1 NEW TIUI
- +2 IF '$DATA(VADM(12))
- DO DEM(DFN,.VADM)
- +3 IF +$GET(VADM(12))=1
- SET X=$PIECE($GET(VADM(12,1)),U,2)
- +4 IF +$GET(VADM(12))>1
- Begin DoDot:1
- +5 SET X=$PIECE($GET(VADM(12,1)),U,2)
- FOR TIUI=2:1:VADM(12)
- Begin DoDot:2
- +6 SET X=X_", "_$PIECE($GET(VADM(12,TIUI)),U,2)
- End DoDot:2
- End DoDot:1
- +7 IF +$GET(VADM(12))=0
- IF $PIECE(VADM(8),U,2)=""
- SET X="RACE UNKNOWN"
- +8 IF +$GET(VADM(12))=0
- IF $PIECE(VADM(8),U,2)]""
- SET X=$PIECE(VADM(8),U,2)
- +9 QUIT X
- ETHNIC(DFN) ; Patient ETHNICITY TIU*148
- +1 NEW TIUI
- +2 IF '$DATA(VADM(11,1))
- DO DEM(DFN,.VADM)
- +3 IF +$GET(VADM(11))=0
- SET X="ETHNICITY UNKNOWN"
- +4 IF +$GET(VADM(11))=1
- SET X=$PIECE($GET(VADM(11,1)),U,2)
- +5 IF +$GET(VADM(11))>1
- Begin DoDot:1
- +6 SET X=$PIECE($GET(VADM(11,1)),U,2)
- FOR TIUI=2:1:VADM(11)
- Begin DoDot:2
- +7 SET X=X_", "_$PIECE($GET(VADM(11,TIUI)),U,2)
- End DoDot:2
- End DoDot:1
- +8 IF +$GET(VADM(11))=0
- SET X="ETHNICITY UNKNOWN"
- +9 QUIT X
- HEIGHT(DFN) ; Gets most recent Height from VITALS
- +1 QUIT $$DOVITALS(DFN,"HT")
- WEIGHT(DFN) ; Gets most recent Weight from VITALS
- +1 QUIT $$DOVITALS(DFN,"WT")
- TEMP(DFN) ; Gets most recent Temperature from VITALS
- +1 QUIT $$DOVITALS(DFN,"T")
- PULSE(DFN) ; Gets most recent Pulse from VITALS
- +1 QUIT $$DOVITALS(DFN,"P")
- PO2(DFN) ; Get most recent Pulse Oximeter from VITALS - ajb *341
- +1 QUIT $$DOVITALS(DFN,"PO2")
- RESP(DFN) ; Gets most recent Respiration from VITALS
- +1 QUIT $$DOVITALS(DFN,"R")
- BP(DFN) ; Gets most recent Blood Pressure from VITALS
- +1 QUIT $$DOVITALS(DFN,"BP")
- PAIN(DFN) ; Gets most recent Pain score from VITALS
- +1 QUIT $$DOVITALS(DFN,"PN")
- DOVITALS(DFN,TIUVITC) ; INTERNAL ROUTINE TO GET SPECIFIED VITALS (**34**)
- +1 NEW TIUVIT,TIUVT,TIUVDT,TIUVDA,TIUY,VDT,TIUI,TIUCWRAP,TIUMAXW
- +2 NEW TIUVCNT,TIUVCNT2,TIUVDONE,TIUVDATE,TIUY1,TIUVTEMP,CONV
- +3 DO VITALS(.TIUVIT,DFN,TIUVITC)
- +4 SET (TIUVDT,TIUVDONE,TIUVCNT)=0
- +5 FOR
- SET TIUVDT=$ORDER(TIUVIT(TIUVITC,TIUVDT))
- if +TIUVDT'>0!TIUVDONE
- QUIT
- Begin DoDot:1
- +6 SET TIUVDA=0
- +7 FOR
- SET TIUVDA=$ORDER(TIUVIT(TIUVITC,TIUVDT,TIUVDA))
- if +TIUVDA'>0!TIUVDONE
- QUIT
- Begin DoDot:2
- +8 IF $DATA(TIUVDATE)
- IF TIUVDATE'=TIUVDT
- SET TIUVDONE=1
- +9 IF '$TEST
- Begin DoDot:3
- +10 SET TIUVDATE=TIUVDT
- SET TIUVCNT=TIUVCNT+1
- +11 SET TIUVTEMP=$GET(TIUVIT(TIUVITC,TIUVDT,TIUVDA))
- +12 SET VDT=$$DATE^TIULS($PIECE(TIUVTEMP,U,1),"MM/DD/CCYY HR:MIN")
- +13 SET TIUY=$PIECE(TIUVTEMP,U,8)
- +14 ; ajb *341
- IF TIUVITC="PO2"
- if +TIUY'>0
- QUIT
- SET TIUY=TIUY_"%"
- +15 IF TIUVITC="WT"
- Begin DoDot:4
- +16 if +TIUY'>0
- QUIT
- +17 ;P345
- SET CONV=$JUSTIFY((+TIUY/2.20462262),0,2)
- +18 SET TIUY=TIUY_" lb ["_CONV_" kg]"
- End DoDot:4
- +19 IF TIUVITC="HT"
- Begin DoDot:4
- +20 if +TIUY'>0
- QUIT
- +21 SET CONV=$JUSTIFY((+TIUY*2.54),3,1)
- +22 SET TIUY=TIUY_" in ["_CONV_" cm]"
- End DoDot:4
- +23 IF TIUVITC="T"
- Begin DoDot:4
- +24 if +TIUY'>0
- QUIT
- +25 SET CONV=+TIUY-32
- +26 SET CONV=$JUSTIFY((CONV*(5/9)),3,1)
- +27 SET TIUY=TIUY_" F ["_CONV_" C]"
- End DoDot:4
- +28 SET TIUY=TIUY_" ("_VDT
- +29 SET TIUCWRAP=$LENGTH(TIUY)+17
- +30 IF TIUVCNT=1
- SET TIUY1=TIUY_")"
- SET TIUMAXW=59
- +31 IF '$TEST
- SET TIUY=" "_TIUY
- SET TIUMAXW=74
- +32 SET TIUVTEMP=$PIECE(TIUVTEMP,U,17)
- +33 IF $LENGTH(TIUVTEMP)>0
- Begin DoDot:4
- +34 SET TIUVTEMP=", "_TIUVTEMP
- +35 FOR
- SET TIUI=$FIND(TIUVTEMP,";")
- if TIUI'>0
- QUIT
- Begin DoDot:5
- +36 SET TIUVTEMP=$EXTRACT(TIUVTEMP,1,TIUI-2)_", "_$EXTRACT(TIUVTEMP,TIUI,999)
- End DoDot:5
- End DoDot:4
- +37 SET TIUY=TIUY_TIUVTEMP_")"
- +38 IF $LENGTH(TIUY)<TIUMAXW
- SET TIUVITMP(TIUVCNT,0)=TIUY
- +39 ; Wrap the line if it's too long
- IF '$TEST
- Begin DoDot:4
- +40 SET TIUVCNT2=0
- SET TIUVTEMP=""
- SET $PIECE(TIUVTEMP," ",TIUCWRAP)=" "
- +41 FOR
- if $LENGTH(TIUY)'>0
- QUIT
- Begin DoDot:5
- +42 FOR TIUI=TIUMAXW:-1:1
- if $EXTRACT(TIUY,TIUI,TIUI+1)=", "
- QUIT
- +43 IF TIUI>1
- Begin DoDot:6
- +44 SET TIUVITMP(TIUVCNT+TIUVCNT2,0)=$EXTRACT(TIUY,1,TIUI)
- +45 SET TIUVCNT2=TIUVCNT2+.01
- +46 SET TIUY=TIUVTEMP_$EXTRACT(TIUY,TIUI+2,999)
- End DoDot:6
- +47 IF '$TEST
- Begin DoDot:6
- +48 SET TIUVITMP(TIUVCNT+TIUVCNT2,0)=TIUY
- +49 SET TIUY=""
- End DoDot:6
- End DoDot:5
- End DoDot:4
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +50 IF TIUVCNT<2
- Begin DoDot:1
- +51 SET TIUY=$GET(TIUY1)
- +52 KILL TIUVITMP
- End DoDot:1
- +53 IF '$TEST
- SET TIUY="~@TIUVITMP"
- +54 QUIT $GET(TIUY)
- VITALS(TIUY,DFN,GMRVSTR,TIUEDT,TIULDT,TIUOCC) ; Vital measurements
- +1 NEW TIUVT,TIUVDT,TIUVDA
- KILL ^UTILITY($JOB,"GMRVD")
- +2 SET GMRVSTR(0)=$GET(TIUEDT)_U_$GET(TIULDT)_U_$GET(TIUOCC,1)_"^0"
- +3 IF $LENGTH($TEXT(EN1^GMRVUT0))
- DO EN1^GMRVUT0
- +4 IF +$DATA(^UTILITY($JOB,"GMRVD"))
- Begin DoDot:1
- +5 SET TIUVT=""
- +6 FOR
- SET TIUVT=$ORDER(^UTILITY($JOB,"GMRVD",TIUVT))
- if TIUVT']""
- QUIT
- Begin DoDot:2
- +7 SET TIUVDT=0
- +8 FOR
- SET TIUVDT=$ORDER(^UTILITY($JOB,"GMRVD",TIUVT,TIUVDT))
- if +TIUVDT'>0
- QUIT
- Begin DoDot:3
- +9 SET TIUVDA=0
- +10 FOR
- SET TIUVDA=$ORDER(^UTILITY($JOB,"GMRVD",TIUVT,TIUVDT,TIUVDA))
- if +TIUVDA'>0
- QUIT
- Begin DoDot:4
- +11 SET TIUY(TIUVT,TIUVDT,TIUVDA)=$GET(^UTILITY($JOB,"GMRVD",TIUVT,TIUVDT,TIUVDA))
- End DoDot:4
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +12 KILL ^UTILITY($JOB,"GMRVD")
- +13 QUIT
- LIPIDS(TIUY,DFN,TIUEDT,TIULDT) ; Get LIPID profile
- +1 NEW TIUTST,TIUI,TIURY,TIUDT,TIULDT
- +2 SET TIUTST=$ORDER(^LAB(60,"B","LIPID PROFILE",0))
- +3 IF '+$GET(TIUTST)
- QUIT
- +4 DO TEST^LR7OR2(.TIUY,DFN,"",$GET(TIUEDT),$GET(TIULDT),"",TIUTST)
- +5 IF '$DATA(TIUY)!($GET(TIUY(1))="No Lab Data")
- QUIT
- +6 SET TIUI=0
- FOR
- SET TIUI=$ORDER(@TIUY@(TIUI))
- if +TIUI'>0
- QUIT
- Begin DoDot:1
- +7 SET TIUTST=$$MAPPER($PIECE(@TIUY@(TIUI),U,17))
- SET TIUDT=+@TIUY@(TIUI)
- +8 if TIUDT'=+$GET(TIULDT)
- SET TIURY("BASELINE LIPID PROFILES",TIUDT)=$$DATE^TIULS(TIUDT,"MM/DD/YY")
- +9 SET TIURY(TIUTST,TIUDT)=$PIECE(@TIUY@(TIUI),U,4)
- End DoDot:1
- +10 FOR TIUI="CHYLOMI","TURBID","VLDL"
- KILL TIURY(TIUI)
- +11 KILL @TIUY
- +12 IF $DATA(TIURY)
- MERGE TIUY=TIURY
- +13 QUIT
- MAPPER(TIUX,TIUI) ; Remap test names
- +1 NEW TIUNM,Y
- SET TIUNM("CHOL","TOTAL CHOLESTEROL")=""
- +2 SET (TIUNM("HDL","HDL CHOLESTEROL"),TIUNM("LDL","LDL CHOLESTEROL"))=""
- +3 SET TIUNM("TRIGLYC","TRIGLYCERIDES")=""
- +4 SET Y=$ORDER(TIUNM(TIUX,""))
- IF Y']""
- SET Y=TIUX
- +5 QUIT Y
- TSHT4(DFN,TIUEDT,TIULDT) ; Get TSH/T4
- +1 NEW TIUY,TIUTSH,TIUT4
- SET TIUTSH=+$ORDER(^LAB(60,"B","TSH",0))
- +2 SET TIUT4=+$ORDER(^LAB(60,"B","T-4",0))
- +3 IF '+$GET(TIUTSH)!'+$GET(TIUT4)
- GOTO TSHX
- +4 DO TEST^LR7OR2(.TIUY,DFN,"",$GET(TIUEDT),$GET(TIULDT),"",TIUTSH)
- +5 SET TIUTSH=$SELECT($DATA(TIUY)#2:$PIECE($GET(@TIUY@(1)),U,4),1:"____")
- +6 IF $DATA(TIUY)#2
- KILL @TIUY
- +7 DO TEST^LR7OR2(.TIUY,DFN,"",$GET(TIUEDT),$GET(TIULDT),"",TIUT4)
- +8 SET TIUT4=$SELECT($DATA(TIUY)#2:$PIECE($GET(@TIUY@(1)),U,4),1:"____")
- +9 IF $DATA(TIUY)#2
- KILL @TIUY
- +10 SET TIUY=TIUTSH_"/"_TIUT4
- TSHX QUIT $GET(TIUY)
- SGOT(DFN,TIUEDT,TIULDT) ; Get SGOT
- +1 NEW TIUY,TIUSGOT
- SET TIUSGOT=+$ORDER(^LAB(60,"B","SGOT",0))
- +2 IF '+$GET(TIUSGOT)
- QUIT
- +3 DO TEST^LR7OR2(.TIUY,DFN,"",$GET(TIUEDT),$GET(TIULDT),"",TIUSGOT)
- +4 SET TIUSGOT=$SELECT($DATA(TIUY)#2:$PIECE($GET(@TIUY@(1)),U,4),1:"____")
- +5 IF $DATA(TIUY)#2
- KILL @TIUY
- SGOTX QUIT $GET(TIUSGOT)
- HGBA1C(DFN,TIUEDT,TIULDT) ; Get Hemoglobin A1C
- +1 NEW TIUY,TIUHGB
- SET TIUHGB=+$ORDER(^LAB(60,"B","HEMOGLOBIN A1C",0))
- +2 IF '+$GET(TIUHGB)
- GOTO HGBX
- +3 DO TEST^LR7OR2(.TIUY,DFN,"",$GET(TIUEDT),$GET(TIULDT),"",TIUHGB)
- +4 SET TIUHGB=$SELECT($DATA(TIUY)#2:$PIECE($GET(@TIUY@(1)),U,4),1:"____")
- +5 IF $DATA(TIUY)#2
- KILL @TIUY
- HGBX QUIT $GET(TIUHGB)
- URICACID(DFN,TIUEDT,TIULDT) ; Get Uric Acid
- +1 NEW TIUY,TIUURIC
- SET TIUURIC=+$ORDER(^LAB(60,"B","URIC ACID",0))
- +2 IF '+$GET(TIUURIC)
- GOTO URICX
- +3 DO TEST^LR7OR2(.TIUY,DFN,"",$GET(TIUEDT),$GET(TIULDT),"",TIUURIC)
- +4 SET TIUURIC=$SELECT($DATA(TIUY)#2:$PIECE($GET(@TIUY@(1)),U,4),1:"____")
- +5 IF $DATA(TIUY)#2
- KILL @TIUY
- URICX QUIT $GET(TIUURIC)
- FBG(DFN,TIUEDT,TIULDT) ; Get FBG
- +1 NEW TIUY,TIUFBG
- SET TIUFBG=+$ORDER(^LAB(60,"B","FBS",0))
- +2 IF '+$GET(TIUFBG)
- GOTO FBGX
- +3 DO TEST^LR7OR2(.TIUY,DFN,"",$GET(TIUEDT),$GET(TIULDT),"",TIUFBG)
- +4 SET TIUFBG=$SELECT($DATA(TIUY)#2:$PIECE($GET(@TIUY@(1)),U,4),1:"____")
- +5 IF $DATA(TIUY)#2
- KILL @TIUY
- FBGX QUIT $GET(TIUFBG)
- ADM(DFN) ;Current Admission Date/Time
- +1 NEW VAIN,J
- +2 DO INP^VADPT
- +3 SET J=$PIECE(VAIN(7),U,2)
- SET J(1)=$PIECE(J,"@",1)
- SET J(2)=$PIECE(J,"@",2)
- SET J(3)=$EXTRACT(J(2),1,5)
- SET Y=J(1)_" "_J(3)
- KILL J
- ADMX QUIT Y
- TODAY() ;Today's Date
- +1 NEW X,Y
- +2 SET X=$GET(DT)
- IF X'=""
- SET Y=X
- DO DD^%DT
- TODAYX QUIT Y
- NOW() ;Current Date/Time
- NOWX QUIT $$DATE^TIULS($$NOW^TIULC,"AMTH DD, CCYY HR:MIN")