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

BKMRMWH.m

Go to the documentation of this file.
  1. BKMRMWH ;PRXM/HC/ALA-HMS Women's Health Reminders ; 13 Nov 2007 4:13 PM
  1. ;;2.2;HIV MANAGEMENT SYSTEM;;Apr 01, 2015;Build 40
  1. MAM(GUI) ;EP - REM.P.03
  1. ; Mammogram Due
  1. ; Numerator: All female patients ages 50-69 without documented bilateral mastectomy (P.01)
  1. ; Due date = Today, if no Mammogram (P.05) ever documented.
  1. ; Due date = Date of most mammogram + 365 days (or 12 months).
  1. ; If "Now," then text = "Mammogram may be due now; last documented [date]."
  1. NEW LAST,DUE,LAST1,LIST
  1. S GUI=$G(GUI,0)
  1. S (LAST,DUE,LAST1)=""
  1. S APCHSDOB=$P(^DPT(APCHSPAT,0),U,3)
  1. S APCHSAGE=$$AGE^BQIAGE(APCHSPAT)
  1. S APCHSEX=$P(^DPT(APCHSPAT,0),U,2)
  1. I APCHSEX="F",APCHSAGE'<50,APCHSAGE'>69 D
  1. . D PRCTAX^BKMIXX1(APCHSPAT,"BGP MASTECTOMY PROCEDURES","","","",.LAST)
  1. . ; If patient had this procedure then no need for a mammogram.
  1. . Q:LAST'=""
  1. . D ICDTAX^BKMIXX1(APCHSPAT,"BGP MAMMOGRAM ICDS","","","",.LAST)
  1. . D CPTTAX^BKMIXX(APCHSPAT,"BGP CPT MAMMOGRAM","","","",.LAST1)
  1. . S LAST=$S(LAST>LAST1:LAST,1:LAST1)
  1. . D RADTAX^BKMIXX1(APCHSPAT,"BGP CPT MAMMOGRAM","","","",.LAST1)
  1. . S LAST=$S(LAST>LAST1:LAST,1:LAST1)
  1. . D PRCTAX^BKMIXX1(APCHSPAT,"BGP MAMMOGRAM PROCEDURES","","","",.LAST1)
  1. . S LAST=$S(LAST>LAST1:LAST,1:LAST1)
  1. . D WHTAX^BKMIXX2(APCHSPAT,"MAMMOGRAM DX BILAT","","","",.LAST1)
  1. . S LAST=$S(LAST>LAST1:LAST,1:LAST1)
  1. . D WHTAX^BKMIXX2(APCHSPAT,"MAMMOGRAM DX UNILAT","","","",.LAST1)
  1. . S LAST=$S(LAST>LAST1:LAST,1:LAST1)
  1. . D WHTAX^BKMIXX2(APCHSPAT,"MAMMOGRAM SCREENING","","","",.LAST1)
  1. . S LAST=$S(LAST>LAST1:LAST,1:LAST1)
  1. . I LAST'="" S DUE=+$$SCH^XLFDT("12M",LAST)
  1. . I LAST="" S DUE=DT
  1. D ADDLINE^BKMVF32("28 REM.P.03",.LIST,"Mammogram",LAST,DUE)
  1. D WRITE("28 REM.P.03",GUI)
  1. Q
  1. ;
  1. PAP(GUI) ;EP - REM.T.06
  1. ; Pap Smear Due
  1. ; Numerator: All female patients ages 18 through 64 (on Report end date) without documented hysterectomy (P.04)
  1. ; Due date = Today, if Pap smear (T.20) not ever documented. OR
  1. ; ** EN/KH - Next two lines conflict (<= and >=) and Eric P. agreed, go with 6/4/2004 logic (+183 days if <200, else +365)
  1. ; Due date = Most recent Pap smear + 183 days (or 6 months) if most recent CD4 Absolute laboratory (T.30) value is <= 200. OR
  1. ; Due date = Most recent Pap smear + 365 days (or 12 months) if most recent CD4 Absolute laboratory (T.30) value is >= 200.
  1. ; Above two lines were changed from CD4 (T.2) to CD4 Absolute (T.30)
  1. ; If "Now," then text = "A Pap smear may be due now; last documented [date]."
  1. NEW LAST,DUE,LAST1,LRESULT
  1. S (LAST,DUE,LAST1,LRESULT)=""
  1. I $G(BDATE)="" S BDATE=DT
  1. S APCHSDOB=$P(^DPT(APCHSPAT,0),U,3)
  1. S APCHSAGE=$$AGE^BQIAGE(APCHSPAT)
  1. S APCHSEX=$P(^DPT(APCHSPAT,0),U,2)
  1. I APCHSEX="F",APCHSAGE'<18,APCHSAGE'>64 D
  1. . D CPTTAX^BKMIXX(APCHSPAT,"BGP HYSTERECTOMY CPTS","","","",.LAST1)
  1. . I LAST1'="" Q
  1. . D PRCTAX^BKMIXX1(APCHSPAT,"BGP HYSTERECTOMY PROCEDURES","","","",.LAST1)
  1. . I LAST1'="" Q
  1. . D LABCODES^BKMVF32(APCHSPAT,"BGP PAP SMEAR TAX","BGP PAP LOINC CODES","BGP CPT PAP","BGP PAP ICDS","",.LAST)
  1. . D PRCTAX^BKMIXX1(APCHSPAT,"BQI PAP PROCEDURES","","","",.LAST1)
  1. . S LAST=$S(LAST>LAST1:LAST,1:LAST1)
  1. . D WHTAX^BKMIXX2(APCHSPAT,"PAP SMEAR","","","",.LAST1)
  1. . S LAST=$S(LAST>LAST1:LAST,1:LAST1)
  1. . I LAST="" S DUE=BDATE Q
  1. . ; Check result of CD4 T.2
  1. . D LABCODES^BKMVF32(APCHSPAT,"BKMV CD4 ABS TESTS TAX","BKMV CD4 ABS LOINC CODES","BKMV CD4 ABS CPTS","","","","",.LRESULT)
  1. . I LRESULT]"",LRESULT<200 S DUE=+$$SCH^XLFDT("6M",LAST) Q
  1. . S DUE=+$$SCH^XLFDT("12M",LAST)
  1. D ADDLINE^BKMVF32("19 REM.T.06",.LIST,"Pap Smear",LAST,DUE)
  1. D WRITE("19 REM.T.06",GUI)
  1. Q
  1. ;
  1. WRITE(REM,GUI) ; Write out the reminder
  1. S APCHLAST=$G(LIST(REM,1,"LAST"))
  1. ;I APCHLAST="" S APCHSTEX(1)="MAY BE DUE NOW"
  1. S APCHNEXT=$G(LIST(REM,1,"DUE"))
  1. I APCHNEXT'="",APCHNEXT>DT S APCHSTEX(1)=$$DATE^APCHSMU(APCHNEXT)
  1. I APCHNEXT'="",APCHNEXT'>DT S APCHSTEX(1)="MAY BE DUE NOW (WAS DUE "_$$DATE^APCHSMU(APCHNEXT)_")"
  1. I 'GUI D WRITE^APCHSMU
  1. I GUI S REMLAST=APCHLAST,REMNEXT=$G(APCHSTEX(1)),REMDUE=APCHNEXT
  1. I $G(BKMSUP) M REMLIST=LIST
  1. K APCHLAST,APCHNEXT,APCHSTEX,LIST
  1. Q