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

BKMQQCRV.m

Go to the documentation of this file.
  1. BKMQQCRV ;VNGT/HS/ALA-HIVQUAL ; 09 Aug 2010 2:16 PM
  1. ;;2.1;HIV MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. APP(BKMDFN,RPTDT) ;EP
  1. NEW QFL,STDT,IEN,RESULT,BKMIEN,BKMREG,REVPER,CT,STAT,REG,COM,DATE,HDATE,ARV,CT,I,BKLAB
  1. NEW UNP,UNPDT,HN,QFL
  1. D DTR^BKMQQCRU(RPTDT)
  1. S BKMIEN=$$BKMIEN^BKMIXX3(BKMDFN) I BKMIEN="" Q 0
  1. S BKMREG=$$BKMREG^BKMIXX3(BKMIEN)
  1. S QFL=0,STDT=RPTDT_.24
  1. F S STDT=$O(^BKM(90451,BKMIEN,1,BKMREG,45,"B",STDT),-1) Q:STDT=""!(STDT\1<REVPER) D Q:QFL
  1. . S IEN=""
  1. . F S IEN=$O(^BKM(90451,BKMIEN,1,BKMREG,45,"B",STDT,IEN),-1) Q:IEN="" D Q:QFL
  1. .. S STAT=$P(^BKM(90451,BKMIEN,1,BKMREG,45,IEN,0),U,2)
  1. .. S REG=$P(^BKM(90451,BKMIEN,1,BKMREG,45,IEN,0),U,3)
  1. .. S COM=$O(^BKM(90451,BKMIEN,1,BKMREG,45,IEN,20,0))
  1. .. S DATE=STDT\1
  1. .. S HDATE=$$FMTH^XLFDT(DATE,1)
  1. .. I HDATE'>HP1B,HDATE'<HP1E S ARV(STAT,"P1",STDT,IEN)=REG_U_COM
  1. .. I HDATE'>HP2B,HDATE'<HP2E S ARV(STAT,"P2",STDT,IEN)=REG_U_COM
  1. .. I HDATE'>HP3B,HDATE'<HP3E S ARV(STAT,"P3",STDT,IEN)=REG_U_COM
  1. ;
  1. ; If patient stable all 3 periods, appropriate
  1. S CT=0
  1. F I="P1","P2","P3" I $D(ARV("S",I))>0 S CT=CT+1
  1. ; "HIVCHK","ARVAPPCNT"
  1. I CT=3 S @TOTAPP=@TOTAPP+1 Q
  1. ;
  1. ; if unstable in any of the 3 periods and viral load is present w/i 8 weeks of change date
  1. K BKLAB
  1. S UNP=$O(ARV("U",""),-1)
  1. I UNP'="" D
  1. . S UNPDT=$O(ARV("U",UNP,""),-1)
  1. . I UNPDT'="" D
  1. .. S HN=""
  1. .. F S HN=$O(ARV("U",UNP,UNPDT,HN)) Q:HN="" D
  1. ... I $P(ARV("U",UNP,UNPDT,HN),U,1)'="C" Q
  1. ... D LAB^BKMQQCRU(BKMDFN,UNPDT,.BKLAB)
  1. I $D(BKLAB("ZLAB","VIRAL"))>0 S @TOTAPP=@TOTAPP+1 Q
  1. ;
  1. ; Unstable patient, discontinued
  1. S UNP=$O(ARV("U",""),-1)
  1. I UNP'="" D
  1. . S UNPDT=$O(ARV("U",UNP,""),-1)
  1. . I UNPDT'="" D Q:QFL
  1. .. S HN=""
  1. .. F S HN=$O(ARV("U",UNP,UNPDT,HN)) Q:HN="" D Q:QFL
  1. ... I $P(ARV("U",UNP,UNPDT,HN),U,1)'="D" Q
  1. ... S @TOTAPP=@TOTAPP+1,QFL=1
  1. ;
  1. ; Unstable patient, no change with comment
  1. S UNP=$O(ARV("U",""),-1)
  1. I UNP'="" D
  1. . S UNPDT=$O(ARV("U",UNP,""),-1)
  1. . I UNPDT'="" D Q:QFL
  1. .. S HN=""
  1. .. F S HN=$O(ARV("U",UNP,UNPDT,HN)) Q:HN="" D Q:QFL
  1. ... I $P(ARV("U",UNP,UNPDT,HN),U,1)'="N" Q
  1. ... I $P(ARV("U",UNP,UNPDT,HN),U,2)="" Q
  1. ... S @TOTAPP=@TOTAPP+1,QFL=1
  1. Q