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

BHSEYEKG.m

Go to the documentation of this file.
  1. BHSEYEKG ;IHS/CIA/MGH - Health Summary eye and EKG components ;05-Oct-2012 09:30;DU
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**7**;March 17, 2006;Build 12
  1. ;===================================================================
  1. ;VA version of IHS health summary components for eye glasses and EKGs
  1. EYERX ; *************** EYE GLASS PRESCRIPTIONS * 9000010.04 *******
  1. ; <SETUP>
  1. N BHSPAT,BHSP,BHSNSH,X
  1. S BHSPAT=DFN
  1. D EYEMEAS
  1. Q:'$D(^AUPNVEYE("AA",BHSPAT))
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. S BHSDT=$O(^AUPNVEYE("AA",BHSPAT,0)) Q:BHSDT="" D
  1. .W !!?29,"Current Eyeglass Prescription"
  1. .S BHSN="" F S BHSN=$O(^AUPNVEYE("AA",BHSPAT,BHSDT,BHSN)) Q:BHSN="" D
  1. ..S BHSP=^AUPNVEYE(BHSN,0),BHSVDF=$P(BHSP,U,3) D GETSITEV^BHSUTL
  1. ..S X=-BHSDT\1+9999999 D REGDT4^GMTSU S BHSDAT=X
  1. ..D BLD
  1. D EYERXX
  1. Q
  1. BLD ; <BUILD>
  1. S BHSEN=$G(^AUPNVEYE(BHSN,19))
  1. S BHST="Reading only^^^^^^^^^^^^Pupil near^Pupil far^^^^^Pupil L^Pupil R"
  1. S BHSJ="1^^^^^^^^^2^2^4^2^2^^^^2^2"
  1. S BHSL="" F BHSI=1,13 D ADDTOL
  1. S BHSL1=$E(BHSL,3,255)
  1. S BHSL="" F BHSI=14,19,20 D ADDTOL
  1. S BHSL2=$E(BHSL,3,255)
  1. S BHST=""
  1. S BHSL="R" F BHSI=2,3,4,15,17,8 D BLDL
  1. DSPLY ;<DISPLAY>
  1. D CKP^GMTSUP Q:$D(GMTSQIT) W !,BHSDAT,?12,BHSNSH,!
  1. D CKP^GMTSUP Q:$D(GMTSQIT) W:GMTSNPG !,BHSDAT,?10,BHSNSH,!
  1. W " Sphere Cyl Axis Prism H Prism V Add",!
  1. D CKP^GMTSUP Q:$D(GMTSQIT) D:GMTSNPG NPG W !,BHSL,!
  1. S BHSL="L" F BHSI=5,6,7,16,18,9 D BLDL
  1. D CKP^GMTSUP Q:$D(GMTSQIT) D:GMTSNPG NPG W BHSL,!
  1. S BHSL1=BHSL1_" "_BHSL2
  1. D CKP^GMTSUP Q:$D(GMTSQIT) D:GMTSNPG NPG W !,BHSL1,!!
  1. Q
  1. EYEMEAS ;display eye care measurements
  1. K BHSMT
  1. S BHSM=$O(^AUTTMSR("C","07",0)),BHSP=1 I BHSM D GATHER
  1. S BHSM=$O(^AUTTMSR("C","08",0)),BHSP=2 I BHSM D GATHER
  1. S BHSM=$O(^AUTTMSR("C","11",0)),BHSP=3 I BHSM D GATHER
  1. D DISPEM
  1. Q
  1. ; <CLEANUP>
  1. EYERXX K BHSDAT,BHSDT,BHSEN,BHSF,BHSI,BHSJ,BHSL,BHSL1,BHSL2,BHSN,BHST,BHSVDF,Y,BHSM,BHSVNM,BHSMT,BHSM,BHSJ,BHSX
  1. Q
  1. GATHER ;gather up last 5 of measurement in array by inverse date
  1. N C,D,N
  1. S (C,D,N)=0 F S D=$O(^AUPNVMSR("AA",BHSPAT,BHSM,D)) Q:D'=+D S N=0 F S N=$O(^AUPNVMSR("AA",BHSPAT,BHSM,D,N)) Q:N'=+N!(C>3) S C=C+1,$P(BHSMT(D),U,BHSP)=$$VAL^XBDIQ1(9000010.01,N,.04)
  1. Q
  1. DISPEM ;display eye measurements
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. W !?29,"Eye Care Measurements"
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. W !?15,"VU",?34,"VC",?48,"TONOMETRY"
  1. S BHSX=0 F S BHSX=$O(BHSMT(BHSX)) Q:BHSX=""!($D(GMTSQIT)) D CKP^GMTSUP Q:$D(GMTSQIT) W !,$$FMTE^XLFDT((9999999-BHSX),"2D") S BHSJ="10;29;48" F BHST=1:1:3 W ?$P(BHSJ,";",BHST),$P(BHSMT(BHSX),U,BHST)
  1. Q
  1. ADDTOL S BHSF=$P(BHSEN,U,BHSI) S:BHSF="" BHSF="-" S BHSF=$J(BHSF,$P(BHSJ,U,BHSI))
  1. S:BHSF]"" BHSL=BHSL_" "_$P(BHST,U,BHSI)_": "_BHSF
  1. Q
  1. BLDL S BHSF=$J($P(BHSEN,U,BHSI),8)
  1. S BHSL=BHSL_BHSF
  1. Q
  1. NPG W BHSDAT,?10,BHSNSH,!
  1. W " Sphere Cyl Axis Prism H Prism V Add",!
  1. Q
  1. ;
  1. ;
  1. EKG ; ***** EKG SUMMARY * 9000010.21 (V DIAGNOSTIC PROCEDURE RESULT) *****
  1. ;<setup>
  1. N BHSPAT,APCHQ,BHSQ
  1. S BHSPAT=DFN
  1. Q:'$D(^AUPNVDXP("AC",BHSPAT))
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. S BHSCNT=0
  1. S BHSDAT=0 F BHSQ=0:0 S BHSDAT=$O(^AUPNVDXP("AA",BHSPAT,BHSDAT)) Q:'BHSDAT D Q:$D(GMTSQIT)
  1. . S BHSIVD=0 F APCHQ=0:0 S BHSIVD=$O(^AUPNVDXP("AA",BHSPAT,BHSDAT,BHSIVD)) Q:BHSIVD=""!(BHSIVD>GMTSDLM) D Q:$D(GMTSQIT)
  1. .. S BHSDFN=0 F APCHQ=0:0 S BHSDFN=$O(^AUPNVDXP("AA",BHSPAT,BHSDAT,BHSIVD,BHSDFN)) Q:'BHSDFN D EKGDSP Q:$D(GMTSQIT)
  1. .. Q
  1. . Q
  1. ;
  1. EKGX ; exit EKG
  1. ;<CLEANUP>
  1. K BHSDP,BHSDFN,BHSNRQ,BHSDAT,BHSDS,BHSN,BHSIVD,BHSVL,BHSCNT,Y
  1. Q
  1. ;
  1. EKGDSP ;display EKG(S)
  1. ; <DISPLAY>
  1. S BHSN=^AUPNVDXP(BHSDFN,0)
  1. S BHSDP=$P(BHSN,U,1)
  1. D GETEKG Q:BHSDP=""
  1. S BHSCNT=BHSCNT+1
  1. S BHSDS="DATE?"
  1. S Y=$P(BHSN,U,3),X=+^AUPNVSIT(Y,0)\1 D REGDT4^GMTSU S BHSDS=X
  1. S BHSVL=$P($P(BHSN,U,4),":")
  1. S BHSVL=$S(BHSVL="N":"NORMAL",BHSVL="A":"ABNORMAL",BHSVL="B":"BORDERLINE",1:"<none recorded>") ;IHS/CMI/LAB added borderline
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. W BHSDS W ?12,BHSDP,?30,"RESULT: ",BHSVL,!
  1. Q
  1. GETEKG ;get EKG
  1. S BHSDP=$P(^AUTTDXPR(BHSDP,0),U)
  1. Q