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

BQITRCSG.m

Go to the documentation of this file.
  1. BQITRCSG ;VNGT/HS/ALA-CVD Significant Risk Treatment Prompts ; 02 Sep 2008 11:52 AM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. HBP(BQDFN) ;EP CVD.TP-27 High BP
  1. ; If 2 of last 3 non-ER blood pressures in past 2 years are
  1. ; Systolic =>140 or Diastolic =>90
  1. NEW X,MEET,DESC,TEXT,BQI,QFL
  1. S MEET=0,DESC="",TEXT=""
  1. S X=$$BP^BQITRUTL("T-24M",BQDFN,140,90,"'<")
  1. I $P(X,U,2)'="" D
  1. . NEW NDATE
  1. . S QFL=0
  1. . F BQI=1:1:3 D Q:QFL
  1. .. I $P($P(X,U,2),";",BQI)="No BPs in timeframe" S TEXT=$P($P(X,U,2),";",BQI),QFL=1 Q
  1. .. S NDATE=$$FMTE^BQIUL1($P($P(X,U,2),";",BQI))_"("_$P($P(X,U,5),";",BQI)_")",TEXT=TEXT_NDATE_";"
  1. I $P(X,U,1)=0 S MEET=0,DESC="2 of last 3 non-ER BP are not valid values ["_TEXT_"]" Q MEET_U_DESC
  1. I $P(X,U,1)=1 D
  1. . S MEET=1,DESC=DESC_$$PBP^BQITRCKN(DESC,X)
  1. Q MEET_U_DESC
  1. ;
  1. TGR(BQDFN) ;EP CVD.TP-37 TG Recommendation
  1. ; If patient's most recent TG (within last 5 years) is >500
  1. NEW MEET,DESC,X,TREF,TAX
  1. S MEET=0,DESC=""
  1. S TREF=$NA(^TMP("BQITAX",UID)) K @TREF
  1. F TAX="DM AUDIT TRIGLYCERIDE TAX","BGP TRIGLYCERIDE LOINC CODES" D BLD^BQITUTL(TAX,TREF)
  1. S X=$$LAB^BQITRUTL("T-60M",1,BQDFN,"",500,">","","",.TREF)
  1. I $P(X,U,1)=1 S MEET=1,DESC="Most recent Triglyceride is greater than 500 ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$P(X,U,3)_")"_U_$P(X,U,2,5)
  1. I $P(X,U,1)=0 S MEET=0,DESC="Most recent Triglyceride is not greater than 500 ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$P(X,U,3)_")"
  1. K @TREF
  1. Q MEET_U_DESC
  1. ;
  1. TGRNG(BQDFN) ;EP CVD.TP-36 TG not at Goal
  1. ; If patient's most recent TG (within last 5 years) is 150-499
  1. NEW MEET,DESC,X,TREF,TAX
  1. S MEET=0,DESC=""
  1. S TREF=$NA(^TMP("BQITAX",UID)) K @TREF
  1. F TAX="DM AUDIT TRIGLYCERIDE TAX","BGP TRIGLYCERIDE LOINC CODES" D BLD^BQITUTL(TAX,TREF)
  1. S X=$$LAB^BQITRUTL("T-60M",1,BQDFN,"",149,">",500,"<",.TREF)
  1. I $P(X,U,1)=1 S MEET=1,DESC="Most recent Triglyceride is 150-499 ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$P(X,U,3)_")"_U_$P(X,U,2,5)
  1. I $P(X,U,1)=0 S MEET=0,DESC="Most recent Triglyceride is not between 150-499 ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$P(X,U,3)_")"
  1. K @TREF
  1. Q MEET_U_DESC
  1. ;
  1. HLDL(BQDFN) ;EP CVD-TP.38 High LDL
  1. ; If most recent LDL >160
  1. NEW MEET,DESC,X,TREF,TAX
  1. S MEET=0,DESC=""
  1. S TREF=$NA(^TMP("BQITAX",UID)) K @TREF
  1. F TAX="DM AUDIT LDL CHOLESTEROL TAX","BGP LDL LOINC CODES" D BLD^BQITUTL(TAX,TREF)
  1. S X=$$LAB^BQITRUTL("",1,BQDFN,"",160,">","","",.TREF)
  1. I $P(X,U,1)=1 S MEET=1,DESC="LDL greater than 160 ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$P(X,U,3)_")"_U_$P(X,U,2,5)
  1. I $P(X,U,1)=0 S MEET=0,DESC="LDL not greater than 160 ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$P(X,U,3)_")"
  1. K @TREF
  1. Q MEET_U_DESC
  1. ;
  1. LHDL(BQDFN) ;EP CVD-TP.39 Low HDL
  1. ; If LDL <=160 and if ON Statin or contraindicated AND HDL <40
  1. NEW X,MEET,DESC,RETURN,TREF,TAX,DDESC
  1. S MEET=0,DESC=""
  1. S TREF=$NA(^TMP("BQITAX",UID)) K @TREF
  1. F TAX="DM AUDIT LDL CHOLESTEROL TAX","BGP LDL LOINC CODES" D BLD^BQITUTL(TAX,TREF)
  1. S X=$$LAB^BQITRUTL("",1,BQDFN,"",160,"'>","","",.TREF)
  1. I $P(X,U,1)=1 S MEET=1,DESC=DESC_"LDL less than or equal to 160 ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$P(X,U,3)_")"
  1. I $P(X,U,1)=0 S MEET=0,DESC=DESC_"LDL greater than 160 ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$P(X,U,3)_")"
  1. I 'MEET Q MEET_U_DESC
  1. S DDESC=DESC
  1. S RETURN=$$STAT(BQDFN)
  1. I $P(RETURN,U,1)=0 Q 0_U_DDESC_" and "_$P(RETURN,U,2)
  1. I $P(RETURN,U,1)=1 S $P(DESC,U,1)=$P(DESC,U,1)_"; "_$P(RETURN,U,2)
  1. S RETURN=$$HDL^BQITRCHR(BQDFN)
  1. I $P(RETURN,U,1)=0 Q 0_U_$P(RETURN,U,2)
  1. I $P(RETURN,U,1)=1 S $P(DESC,U,1)=$P(DESC,U,1)_"; "_$P(RETURN,U,2,6)
  1. Q 1_U_DESC
  1. ;
  1. STAT(BQDFN) ; EP CVD.TP-39 Not on Statin
  1. NEW CT,X,VISIT,VSDTM,MEET,DESC,TIEN,T2,PRGM,QFL,RESULT,TREF,GREF,IEN,ENDT
  1. NEW C,BQGPRG,BGPDXBD,BGPDXED,TAX,TREF
  1. S MEET=0,DESC=""
  1. S TREF=$NA(^TMP("BQITAX",UID)) K @TREF
  1. F TAX="BGP HEDIS STATIN MEDS","BGP HEDIS STATIN NDC" D BLD^BQITUTL(TAX,TREF)
  1. S X=$$TAX^BQITRUTL("","",1,BQDFN,9000010.14,"","",.TREF)
  1. ; if returns a found medication, check if it is an active medication
  1. I $P(X,U,1)=1 D
  1. . I $$ACTMED^BKMQQCR4($P(X,U,5)) Q
  1. . S $P(X,U,1)=0
  1. I $P(X,U,1)=1 S MEET=1,DESC=DESC_"On Statin Meds ("_$$FMTE^BQIUL1($P(X,U,2))_" "_$$GET1^DIQ(9000010.14,$P(X,U,5)_",",.01,"E")_")"
  1. I $P(X,U,1)=0 S MEET=0,DESC=DESC_"Not on Statin Meds "
  1. D
  1. . S X=$$STAT^BQITRCON(BQDFN,$G(BDATE,""),$G(EDATE,""))
  1. . I $P(X,U,1)=1 S MEET=0,DESC="Has a contraindication: "_$P(X,U,2) Q
  1. . S MEET=$S(MEET:0,1:1)
  1. . S X=$$STAT^BQITRALG(BQDFN,$G(BDATE,""),$G(EDATE,""))
  1. . I $P(X,U,1)=1 S MEET=0,DESC="Has an allergy: "_$P(X,U,2) Q
  1. . S MEET=$S(MEET:0,1:1)
  1. Q MEET_U_DESC