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

BKMQQCR8.m

Go to the documentation of this file.
  1. BKMQQCR8 ;PRXM/HC/BWF - BKMV Quality of Care Report; [ 1/19/2005 7:16 PM ] ; 28 Apr 2005 3:44 PM
  1. ;;2.1;HIV MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ; Quality of Care Audit Report
  1. Q
  1. PNEUMOC ; EP - Pneumo Calculation
  1. N PNTOT,BKMDFN,TOT5YR,TOTB5YR,VSTDT,HVSTDT,CNT,CNT1,CNT2,PTOTAL
  1. N REFVSTDT,PNDT5
  1. S PTOTAL=$G(@GLOB@("HIVTOT1"))
  1. S PNTOT=$G(@GLOB@("HIVCHK","PNEUMOCNT"))
  1. I PNTOT<1 Q
  1. S PNDT5=$$FMADD^XLFDT(EDATE,-1825)
  1. S BKMDFN=0,(TOTB5YR,TOT5YR)=0,(CNT,CNT1,CNT2)=0
  1. F S BKMDFN=$O(@GLOB@("HIVCHK",BKMDFN)) Q:'BKMDFN D
  1. .S VSTDT=0,TOT5YR=0,TOTB5YR=0
  1. .F S VSTDT=$O(@GLOB@("HIVCHK",BKMDFN,"PNEUMO",VSTDT)) Q:VSTDT="" D
  1. ..I VSTDT>PNDT5 S TOT5YR=TOT5YR+1
  1. ..S TOTB5YR=TOTB5YR+1
  1. .;We only want patients who have 1+ result in last 5 years, or 2+ results ever (including last 5 years)
  1. .I TOT5YR>0 S CNT1=CNT1+1,CNT=CNT+1 Q
  1. .I TOTB5YR>1 S CNT2=CNT2+1,CNT=CNT+1 Q
  1. .; Also include any refusals in the past year.
  1. .S REFVSTDT=$O(@GLOB@("HIVCHK",BKMDFN,"PNEUMOREF",""),-1)
  1. .I REFVSTDT]"",$$FMDIFF^XLFDT(REFVSTDT,EDATE,1)'>365 S CNT=CNT+1
  1. I CNT=0 Q
  1. S @GLOB@("PNEUMOT","TOTAL","CNT")=CNT
  1. S @GLOB@("PNEUMOT","TOTAL","PERC")=CNT/PTOTAL*100
  1. S @GLOB@("PNEUMOT","2B45YR","CNT")=CNT2
  1. S @GLOB@("PNEUMOT","2B45YR","PERC")=CNT2/CNT*100
  1. S @GLOB@("PNEUMOT","5YR","CNT")=CNT1
  1. S @GLOB@("PNEUMOT","5YR","PERC")=CNT1/CNT*100
  1. Q
  1. TETCALC ; EP - Tetanus Calculation
  1. N TETTOT,PTOTAL
  1. S PTOTAL=$G(@GLOB@("HIVTOT1"))
  1. S TETTOT=$G(@GLOB@("HIVCHK","TETPTCNT"))
  1. ; NOTE: Refusals were checked earlier and are included in TETPTCNT.
  1. I TETTOT=0 Q
  1. S @GLOB@("TETT","TOTAL","CNT")=TETTOT
  1. S @GLOB@("TETT","TOTAL","PERC")=TETTOT/PTOTAL*100
  1. Q
  1. EYECALC ; EP - Eye exam Calculation
  1. N EYETOT,PTOTAL
  1. S PTOTAL=$G(@GLOB@("HIVTOT1"))
  1. S EYETOT=$G(@GLOB@("HIVCHK","EYEPTCNT"))
  1. ; NOTE: Refusals were checked earlier and are included in EYEPTCNT.
  1. I EYETOT=0 Q
  1. S @GLOB@("EYET","TOTAL","CNT")=EYETOT
  1. S @GLOB@("EYET","TOTAL","PERC")=EYETOT/PTOTAL*100
  1. Q
  1. DENTCALC ;EP - Dental exam calculation
  1. N DENTTOT,PTOTAL
  1. S PTOTAL=$G(@GLOB@("HIVTOT1"))
  1. S DENTTOT=$G(@GLOB@("HIVCHK","DENTPTCNT"))
  1. ; NOTE: Refusals were checked earlier and are included in DENTPTCNT.
  1. I DENTTOT=0 Q
  1. S @GLOB@("DENTT","TOTAL","CNT")=DENTTOT
  1. S @GLOB@("DENTT","TOTAL","PERC")=DENTTOT/PTOTAL*100
  1. Q
  1. PAPCALC ; EP - Pap Smear Calculation
  1. N PAPT,FTOTAL
  1. S FTOTAL=$G(@GLOB@("FEMALE"))
  1. I FTOTAL=0 Q
  1. S PAPT=$G(@GLOB@("HIVCHK","PAPPTCNT"))
  1. ; NOTE: Refusals were checked earlier and are included in PAPPTCNT.
  1. S @GLOB@("PAPT","TOTAL","CNT")=PAPT
  1. S @GLOB@("PAPT","TOTAL","PERC")=PAPT/FTOTAL*100
  1. Q
  1. LIPCALC ; EP - Lipids Calculation
  1. N CNT1,CNT2,LIPTOT,BKMDFN,PTOTAL
  1. N DFNSTAT,REFVSTDT
  1. S PTOTAL=$G(@GLOB@("HIVTOT1"))
  1. S LIPTOT=$G(@GLOB@("HIVCHK","LIPIDCNT")) I 'LIPTOT Q
  1. S (BKMDFN,CNT1,CNT2)=0
  1. F S BKMDFN=$O(@GLOB@("HIVCHK",BKMDFN)) Q:'BKMDFN D
  1. .I '$D(@GLOB@("HIVCHK",BKMDFN,"LIPID")),'$D(@GLOB@("HIVCHK",BKMDFN,"LIPIDREF")) Q
  1. .I $D(@GLOB@("HIVCHK",BKMDFN,"LIPIDARV")) S CNT1=CNT1+1
  1. .I $D(@GLOB@("HIVCHK",BKMDFN,"LIPIDREF")) S CNT2=CNT2+1
  1. S @GLOB@("LIPT","TOTAL","PERC")=LIPTOT/PTOTAL*100
  1. S @GLOB@("LIPT","TOTAL","CNT")=LIPTOT
  1. S @GLOB@("LIPT","LIPIDARV","PERC")=CNT1/LIPTOT*100
  1. S @GLOB@("LIPT","LIPIDARV","CNT")=CNT1
  1. S @GLOB@("LIPT","LIPIDREF","PERC")=CNT2/LIPTOT*100
  1. S @GLOB@("LIPT","LIPIDREF","CNT")=CNT2
  1. Q
  1. HEPCCALC ; EP - Hep C Calculation
  1. N HEPCTOT,PTOTAL
  1. N DFNSTAT,REFVSTDT
  1. S PTOTAL=$G(@GLOB@("HIVTOT1"))
  1. S HEPCTOT=$G(@GLOB@("HIVCHK","HEPCCNT")) I 'HEPCTOT Q
  1. S @GLOB@("HEPCT","TOTAL","PERC")=HEPCTOT/PTOTAL*100
  1. S @GLOB@("HEPCT","TOTAL","CNT")=HEPCTOT
  1. Q
  1. CRCCALC ; EP - Colorectal Cancer Screen Calculation
  1. N CNT1,CNT2,CRCTOT,BKMDFN,PTOTAL
  1. N DFNSTAT,REFVSTDT
  1. S PTOTAL=$G(@GLOB@("HIVTOT1"))
  1. S CRCTOT=$G(@GLOB@("HIVCHK","CRCCNT")) I 'CRCTOT Q
  1. S (BKMDFN,CNT1,CNT2)=0
  1. F S BKMDFN=$O(@GLOB@("HIVCHK",BKMDFN)) Q:'BKMDFN D
  1. .I '$D(@GLOB@("HIVCHK",BKMDFN,"CRC")),'$D(@GLOB@("HIVCHK",BKMDFN,"CRCREF")) Q
  1. .S CNT1=CNT1+1
  1. .I $D(@GLOB@("HIVCHK",BKMDFN,"CRCREF")) S CNT2=CNT2+1
  1. S @GLOB@("CRCT","TOTAL","PERC")=CRCTOT/PTOTAL*100
  1. S @GLOB@("CRCT","TOTAL","CNT")=CRCTOT
  1. S @GLOB@("CRCT","CRC","PERC")=CNT1/CRCTOT*100
  1. S @GLOB@("CRCT","CRC","CNT")=CNT1
  1. S @GLOB@("CRCT","CRCR","PERC")=CNT2/CRCTOT*100
  1. S @GLOB@("CRCT","CRCR","CNT")=CNT2
  1. Q