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

BQITD03.m

Go to the documentation of this file.
  1. BQITD03 ;PRXM/HC/ALA-CVD Known Definition ; 19 Jun 2006 5:01 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. Q
  1. ;
  1. POP(BQARY,TGLOB) ; EP
  1. ;
  1. ;Description
  1. ; Finds all patients who meet the criteria for CVD known
  1. ;Input
  1. ; BQARY - Array of taxonomies and other information
  1. ; TGLOB - Global where data is to be stored
  1. ; Structure:
  1. ; TGLOB(DFN,"CRITERIA",criteria or taxonomy,visit or problem ien)=date/time
  1. ;Variables
  1. ; TAX - Taxonomy name
  1. ; NIT - Number of iterations
  1. ; TMFRAME - Timeframe
  1. ; PLFLG - Problem check flag (if 1 check problem file)
  1. ; VTYP - The type of event; 'V'isit or 'P'roblem
  1. ; DXOK - Diag category okay flag (if 1 then it meet the criteria)
  1. ; FREF - File number to search
  1. ; GREF - Global reference of FREF
  1. ; TREF - Taxonomy temporary global
  1. ; TMREF - Temporary global reference; global stores the individual
  1. ; record from the visit or problem file.
  1. ;
  1. NEW DTDIF,ENDT,EXDT,PLFLG,PROB,TMFRAME,VTYP,DXOK,DXNN,TDFN,RGIEN
  1. NEW PRIM,SERV,VSERV,OPRM
  1. ;
  1. S DXOK=0
  1. ; BQARY contains a list of taxonomies that can be checked by the generic
  1. ; program, BQITDGN
  1. I $D(@BQARY) D
  1. . D POP^BQITDGN(.BQARY,.TGLOB)
  1. ;
  1. ; AMI Diagnosis check
  1. S TREF=$NA(^TMP("BQITAX",UID)),TMREF=$NA(^TMP("BQITMPD",UID))
  1. S TAX="BGP AMI DXS (HEDIS)",FREF=9000010.07,GREF=$$ROOT^DILFD(FREF,"",1)
  1. S PRIM=1,SERV="A;H"
  1. S TMFRAME="",EXDT="",DTDIF="",ENDT=""
  1. K @TREF,@TMREF
  1. ; Build the taxonomy global
  1. D BLD^BQITUTL(TAX,TREF)
  1. S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. . ; Check for active problems
  1. . D PRB(TIEN,TMREF)
  1. ; For each entry in the taxonomy, find patients that match
  1. S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. . S IEN=""
  1. . F S IEN=$O(@GREF@("B",TIEN,IEN),-1) Q:IEN="" D
  1. .. S TDFN=$$GET1^DIQ(FREF,IEN,.02,"I") I TDFN="" Q
  1. .. ;
  1. .. ; if the patient has already matched one of the general taxonomies, don't
  1. .. ; continue
  1. .. I $D(@TGLOB@(TDFN)) Q
  1. .. ;
  1. .. ; Get the visit pointer and check if it has been deleted
  1. .. S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. .. I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. .. I FREF=9000010.07,PRIM,$P(@GREF@(IEN,0),U,12)'="P" S OPRM=0 D Q:'OPRM
  1. ... I $O(@GREF@("AD",VISIT,""))=IEN S OPRM=1
  1. .. ;
  1. .. ; Get the visit date/time and if a timeframe, check for validity
  1. .. S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 I VSDTM=0 Q
  1. .. I $G(TMFRAME)'="",VSDTM<ENDT Q
  1. .. ; if service categories, check the visit for the service category
  1. .. S VSERV=$$GET1^DIQ(9000010,VISIT,.07,"I")
  1. .. I $G(SERV)'="",SERV'[VSERV Q
  1. .. ; Check if there is one value on the same day
  1. .. D ONE(TDFN,VSDTM)
  1. .. I $D(@TMREF@(TDFN,VSDTM)) Q
  1. .. ;
  1. .. ; If passed all checks, save for further checking
  1. .. S @TMREF@(TDFN)=$G(@TMREF@(TDFN))+1
  1. .. ;S @TMREF@(TDFN,VSDTM)=VISIT
  1. .. S @TMREF@(TDFN,VSDTM,TIEN)="V"_U_VISIT_U_EXDT_U_IEN_U_FREF_U_TAX
  1. ;
  1. ; if at least 90 days apart but no more than 2 years between
  1. ; first and last diagnosis
  1. S TDFN=""
  1. F S TDFN=$O(@TMREF@(TDFN)) Q:TDFN="" D AMI^BQITD031(TDFN,TGLOB,TMREF)
  1. ;
  1. ; Ischemic Heart Disease
  1. S TREF=$NA(^TMP("BQITAX",UID)),TMREF=$NA(^TMP("BQITMPD",UID))
  1. S TAX="BQI IHD DXS",FREF=9000010.07,GREF=$$ROOT^DILFD(FREF,"",1)
  1. S SERV="A;H",OPRM=0
  1. S TMFRAME="",EXDT="",DTDIF="",ENDT=""
  1. K @TREF,@TMREF
  1. ; Build the taxonomy global
  1. D BLD^BQITUTL(TAX,TREF)
  1. S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. . ; Check for active problems
  1. . D PRB(TIEN,TMREF)
  1. ;
  1. ; For each entry in the taxonomy, find patients that match
  1. S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. . S IEN=""
  1. . F S IEN=$O(@GREF@("B",TIEN,IEN),-1) Q:IEN="" D
  1. .. S TDFN=$$GET1^DIQ(FREF,IEN,.02,"I") I TDFN="" Q
  1. .. ;
  1. .. ; if the patient has already matched one of the general taxonomies, don't
  1. .. ; continue
  1. .. I $D(@TGLOB@(TDFN)) Q
  1. .. ;
  1. .. ; Get the visit pointer and check if it has been deleted
  1. .. S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. .. I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. .. ; Identify clinical ranking (primary or 1st for visit)
  1. .. S OPRM=0
  1. .. I FREF=9000010.07 D
  1. ... I $P(@GREF@(IEN,0),U,12)="P" S OPRM=1 Q
  1. ... I $O(@GREF@("AD",VISIT,""))=IEN S OPRM=1
  1. .. ; Get the visit date/time and if a timeframe, check for validity
  1. .. S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 I VSDTM=0 Q
  1. .. I $G(TMFRAME)'="",VSDTM<ENDT Q
  1. .. ; if service categories, check the visit for the service category
  1. .. S VSERV=$$GET1^DIQ(9000010,VISIT,.07,"I")
  1. .. I $G(SERV)'="",SERV'[VSERV Q
  1. .. ; If passed all checks, save for further checking
  1. .. S @TMREF@(TDFN)=$G(@TMREF@(TDFN))+1
  1. .. S @TMREF@(TDFN,VSDTM,TIEN)="V"_U_VISIT_U_EXDT_U_IEN_U_FREF_U_TAX_U_OPRM
  1. ;
  1. ; Check from temporary global if 3 different diagnoses on same day
  1. S TDFN=""
  1. F S TDFN=$O(@TMREF@(TDFN)) Q:TDFN="" D IHDSM^BQITD031(TDFN,TGLOB,TMREF)
  1. ;
  1. ; 3 instances of any Ischemic Heart Disease
  1. S TREF=$NA(^TMP("BQITAX",UID)),TMREF=$NA(^TMP("BQITMPD",UID))
  1. S TAX="BQI IHD DXS",FREF=9000010.07,GREF=$$ROOT^DILFD(FREF,"",1)
  1. S SERV="A;H",OPRM=0
  1. S TMFRAME="",EXDT="",DTDIF="",ENDT=""
  1. K @TREF,@TMREF
  1. D BLD^BQITUTL(TAX,TREF)
  1. S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. . D PRB(TIEN,TMREF)
  1. S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. . S IEN=""
  1. . F S IEN=$O(@GREF@("B",TIEN,IEN),-1) Q:IEN="" D
  1. .. S TDFN=$$GET1^DIQ(FREF,IEN,.02,"I") I TDFN="" Q
  1. .. ;
  1. .. I $D(@TGLOB@(TDFN)) Q
  1. .. ;
  1. .. S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. .. I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. .. S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 I VSDTM=0 Q
  1. .. I $G(TMFRAME)'="",VSDTM<ENDT Q
  1. .. ; if service categories, check the visit for the service category
  1. .. S VSERV=$$GET1^DIQ(9000010,VISIT,.07,"I")
  1. .. I $G(SERV)'="",SERV'[VSERV Q
  1. .. I $P(@GREF@(IEN,0),U,12)'="P" S OPRM=0 D Q:'OPRM
  1. ... I $O(@GREF@("AD",VISIT,""))=IEN S OPRM=1
  1. .. ;
  1. .. D ONE(TDFN,VSDTM)
  1. .. I $D(@TMREF@(TDFN,VSDTM)) Q
  1. .. ; If passed all checks, save for further checking
  1. .. S @TMREF@(TDFN)=$G(@TMREF@(TDFN))+1
  1. .. S @TMREF@(TDFN,VSDTM,TIEN)="V"_U_VISIT_U_EXDT_U_IEN_U_FREF_U_TAX
  1. ;
  1. S TDFN=""
  1. F S TDFN=$O(@TMREF@(TDFN)) Q:TDFN="" D IHD^BQITD031(TDFN,TGLOB,TMREF)
  1. ;
  1. ; Multiple Instances of Known CVD
  1. S TREF=$NA(^TMP("BQITAX",UID)),TMREF=$NA(^TMP("BQITMPD",UID))
  1. K BQITRY,@TMREF
  1. S BQITRY(1)="BQI KNOWN CVD-MULT CPTS^9000010.18"
  1. S BQITRY(2)="BQI KNOWN CVD-MULT DXS^9000010.07^^^^1"
  1. S BQITRY(3)="BQI KNOWN CVD-MULT PROCEDURES^9000010.08"
  1. S SERV="A;H",OPRM=0
  1. S N=0 F S N=$O(BQITRY(N)) Q:'N D
  1. . K @TREF
  1. . S TAX=$P(BQITRY(N),U,1),FREF=$P(BQITRY(N),U,2),GREF=$$ROOT^DILFD(FREF,"",1)
  1. . S PLFLG=+$P(BQITRY(N),U,6),TMFRAME=$P(BQITRY(N),U,4),ENDT=""
  1. . D BLD^BQITUTL(TAX,TREF)
  1. . S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. .. I PLFLG D PRB(TIEN,TMREF)
  1. . S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. .. S IEN=""
  1. .. F S IEN=$O(@GREF@("B",TIEN,IEN),-1) Q:IEN="" D
  1. ... S TDFN=$$GET1^DIQ(FREF,IEN,.02,"I") I TDFN="" Q
  1. ... I $D(@TGLOB@(TDFN)) Q
  1. ... S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. ... I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. ... S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 I VSDTM=0 Q
  1. ... I $G(TMFRAME)'="",VSDTM<ENDT Q
  1. ... I $P(@GREF@(IEN,0),U,12)'="P" S OPRM=0 D Q:'OPRM
  1. .... I $O(@GREF@("AD",VISIT,""))=IEN S OPRM=1
  1. ... ; if service categories, check the visit for the service category
  1. ... S VSERV=$$GET1^DIQ(9000010,VISIT,.07,"I")
  1. ... I $G(SERV)'="",SERV'[VSERV Q
  1. ... ;
  1. ... D ONE(TDFN,VSDTM)
  1. ... I $D(@TMREF@(TDFN,VSDTM)) Q
  1. ... S @TMREF@(TDFN)=$G(@TMREF@(TDFN))+1
  1. ... S @TMREF@(TDFN,VSDTM,TIEN)="V"_U_VISIT_U_EXDT_U_IEN_U_FREF_U_TAX
  1. ;
  1. ; at least 90 days apart but no more than 5 years
  1. ; between first and last
  1. S TDFN=""
  1. F S TDFN=$O(@TMREF@(TDFN)) Q:TDFN="" D IHD^BQITD031(TDFN,TGLOB,TMREF)
  1. ;
  1. K @TMREF,@TREF,BQITRY,TAX,NIT,FREF,FDX,LDX,VISIT,VSDTM,IEN,DFN
  1. K BQITRY,TIEN,TDFN,TREF,TMREF,VSDT,GREF,CT,N
  1. Q
  1. ;
  1. PAT(DEF,BTGLOB,BDFN) ; EP -- By patient
  1. ;Description
  1. ; Checks if a patient meets the criteria for CVD known
  1. ;Input
  1. ; BDFN - patient internal entry number
  1. ; BTGLOB - Global to store results
  1. ; DEF - Diagnosis category definition
  1. ;Output
  1. ; DXOK - Diag category okay flag (if 1 then patient met the criteria)
  1. NEW DXOK,BQDXN,BQREF,DTDIF,ENDT,EXDT,PLFLG,PROB,TMFRAME,VTYP
  1. NEW PRIM,SERV,VSERV,OPRM
  1. S DXOK=0
  1. S BQDXN=$$GDXN^BQITUTL(DEF)
  1. S BQREF="BQIRY"
  1. D GDF^BQITUTL(BQDXN,BQREF)
  1. I $$PAT^BQITDGN(BQREF,BTGLOB,BDFN) Q 1
  1. ;
  1. ; AMI Diagnosis check
  1. S TREF=$NA(^TMP("BQITAX",UID)),TMREF=$NA(^TMP("BQITMPD",UID))
  1. S TAX="BGP AMI DXS (HEDIS)",FREF=9000010.07,GREF=$$ROOT^DILFD(FREF,"",1)
  1. S PRIM=1,SERV="A;H"
  1. S TMFRAME="",ENDT=""
  1. K @TREF,@TMREF
  1. D BLD^BQITUTL(TAX,TREF)
  1. D PPRB(BDFN,TMREF)
  1. S IEN=""
  1. F S IEN=$O(@GREF@("AC",BDFN,IEN),-1) Q:IEN="" D
  1. . S TIEN=$$GET1^DIQ(FREF,IEN,.01,"I") I TIEN="" Q
  1. . Q:'$D(@TREF@(TIEN))
  1. . S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. . I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. . I FREF=9000010.07,PRIM,$P(@GREF@(IEN,0),U,12)'="P" S OPRM=0 D Q:'OPRM
  1. .. I $O(@GREF@("AD",VISIT,""))=IEN S OPRM=1
  1. . S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 I VSDTM=0 Q
  1. . I $G(TMFRAME)'="",VSDTM<ENDT Q
  1. . ; if service categories, check the visit for the service category
  1. . S VSERV=$$GET1^DIQ(9000010,VISIT,.07,"I")
  1. . I $G(SERV)'="",SERV'[VSERV Q
  1. . D ONE(BDFN,VSDTM)
  1. . I $D(@TMREF@(BDFN,VSDTM)) Q
  1. . ;
  1. . S @TMREF@(BDFN)=$G(@TMREF@(BDFN))+1
  1. . S @TMREF@(BDFN,VSDTM,TIEN)="V"_U_VISIT_U_EXDT_U_IEN_U_FREF_U_TAX
  1. ;
  1. I $D(@TMREF@(BDFN)) D AMI^BQITD031(BDFN,BTGLOB,TMREF,.DXOK)
  1. K @TMREF,@TREF
  1. I DXOK Q DXOK
  1. ;
  1. ; Ischemic Heart Disease
  1. S TREF=$NA(^TMP("BQITAX",UID)),TMREF=$NA(^TMP("BQITMPD",UID))
  1. S TAX="BQI IHD DXS",FREF=9000010.07,GREF=$$ROOT^DILFD(FREF,"",1)
  1. S TMFRAME="",ENDT="",SERV="A;H"
  1. K @TREF,@TMREF
  1. D BLD^BQITUTL(TAX,TREF)
  1. D PPRB(BDFN,TMREF)
  1. S IEN=""
  1. F S IEN=$O(@GREF@("AC",BDFN,IEN),-1) Q:IEN="" D
  1. . S TIEN=$$GET1^DIQ(FREF,IEN,.01,"I") I TIEN="" Q
  1. . ;
  1. . Q:'$D(@TREF@(TIEN))
  1. . ;
  1. . S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. . I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. . S OPRM=0
  1. . I FREF=9000010.07 D
  1. .. I $P(@GREF@(IEN,0),U,12)="P" S OPRM=1 Q
  1. .. I $O(@GREF@("AD",VISIT,""))=IEN S OPRM=1
  1. . S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 I VSDTM=0 Q
  1. . I $G(TMFRAME)'="",VSDTM<ENDT Q
  1. . ; if service categories, check visit for the service category
  1. . S VSERV=$$GET1^DIQ(9000010,VISIT,.07,"I")
  1. . I $G(SERV)'="",SERV'[VSERV Q
  1. . ;
  1. . S @TMREF@(BDFN,VSDTM,TIEN)="V"_U_VISIT_U_EXDT_U_IEN_U_FREF_U_TAX_U_OPRM
  1. . S @TMREF@(BDFN)=$G(@TMREF@(BDFN))+1
  1. ;
  1. ; If 3 different diagnoses on the same date with at least one a primary
  1. I $D(@TMREF@(BDFN)) D IHDSM^BQITD031(BDFN,BTGLOB,TMREF,.DXOK)
  1. K @TMREF,@TREF
  1. I DXOK Q DXOK
  1. ;
  1. ; 3 instances of any Ischemic Heart Disease
  1. S TREF=$NA(^TMP("BQITAX",UID)),TMREF=$NA(^TMP("BQITMPD",UID))
  1. S TAX="BQI IHD DXS",FREF=9000010.07,GREF=$$ROOT^DILFD(FREF,"",1)
  1. S TMFRAME="",EXDT="",DTDIF="",ENDT=""
  1. K @TREF,@TMREF
  1. D BLD^BQITUTL(TAX,TREF)
  1. D PPRB(BDFN,TMREF)
  1. S IEN=""
  1. F S IEN=$O(@GREF@("AC",BDFN,IEN),-1) Q:IEN="" D
  1. . S TIEN=$$GET1^DIQ(FREF,IEN,.01,"I") I TIEN="" Q
  1. . Q:'$D(@TREF@(TIEN))
  1. . ;
  1. . S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. . I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. . I FREF=9000010.07 S OPRM=0 D Q:'OPRM
  1. .. I $P(@GREF@(IEN,0),U,12)="P" S OPRM=1 Q
  1. .. I $O(@GREF@("AD",VISIT,""))=IEN S OPRM=1
  1. . S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 I VSDTM=0 Q
  1. . I $G(TMFRAME)'="",VSDTM<ENDT Q
  1. . ; if service categories, check visit for service category
  1. . S VSERV=$$GET1^DIQ(9000010,VISIT,.07,"I")
  1. . I $G(SERV)'="",SERV'[VSERV Q
  1. . D ONE(BDFN,VSDTM)
  1. . I $D(@TMREF@(BDFN,VSDTM)) Q
  1. . S @TMREF@(BDFN)=$G(@TMREF@(BDFN))+1
  1. . S @TMREF@(BDFN,VSDTM,TIEN)="V"_U_VISIT_U_EXDT_U_IEN_U_FREF_U_TAX
  1. ;
  1. I $D(@TMREF@(BDFN)) D IHD^BQITD031(BDFN,BTGLOB,TMREF,.DXOK)
  1. K @TMREF,@TREF
  1. I DXOK Q DXOK
  1. ;
  1. ; Multiple Instances of Known CVD
  1. S TREF=$NA(^TMP("BQITAX",UID)),TMREF=$NA(^TMP("BQITMPD",UID))
  1. K @TMREF,BQITRY
  1. S BQITRY(1)="BQI KNOWN CVD-MULT CPTS^9000010.18"
  1. S BQITRY(2)="BQI KNOWN CVD-MULT DXS^9000010.07^^^^1"
  1. S BQITRY(3)="BQI KNOWN CVD-MULT PROCEDURES^9000010.08"
  1. S N=0 F S N=$O(BQITRY(N)) Q:'N D
  1. . K @TREF
  1. . S TAX=$P(BQITRY(N),U,1),FREF=$P(BQITRY(N),U,2)
  1. . S GREF=$$ROOT^DILFD(FREF,"",1),PLFLG=+$P(BQITRY(N),U,6)
  1. . S TMFRAME=$P(BQITRY(N),U,4),ENDT=""
  1. . D BLD^BQITUTL(TAX,TREF)
  1. . I PLFLG D PPRB(BDFN,TMREF)
  1. . S IEN=""
  1. . F S IEN=$O(@GREF@("AC",BDFN,IEN),-1) Q:IEN="" D
  1. .. S TIEN=$$GET1^DIQ(FREF,IEN,.01,"I") I TIEN="" Q
  1. .. I '$D(@TREF@(TIEN)) Q
  1. .. S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. .. I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. .. I FREF=9000010.07 S OPRM=0 D Q:'OPRM
  1. ... I $P(@GREF@(IEN,0),U,12)="P" S OPRM=1 Q
  1. ... I $O(@GREF@("AD",VISIT,""))=IEN S OPRM=1
  1. .. S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 I VSDTM=0 Q
  1. .. I $G(TMFRAME)'="",VSDTM<ENDT Q
  1. .. ; if service categories, check the visit for the service category
  1. .. S VSERV=$$GET1^DIQ(9000010,VISIT,.07,"I")
  1. .. I $G(SERV)'="",SERV'[VSERV Q
  1. .. D ONE(BDFN,VSDTM)
  1. .. I $D(@TMREF@(BDFN,VSDTM)) Q
  1. .. ;
  1. .. S @TMREF@(BDFN)=$G(@TMREF@(BDFN))+1
  1. .. S @TMREF@(BDFN,VSDTM,TIEN)="V"_U_VISIT_U_EXDT_U_IEN_U_FREF_U_TAX
  1. ;
  1. ; at least 90 days apart but no more than 5 years
  1. ; between first and last
  1. I $D(@TMREF@(BDFN)) D IHD^BQITD031(BDFN,BTGLOB,TMREF,.DXOK)
  1. K @TREF,@TMREF
  1. Q DXOK
  1. ;
  1. PRB(PVIEN,TPGLOB) ; EP - Check Problem File for instance of taxonomy
  1. ; Input
  1. ; PVIEN - Taxonomy entry
  1. ; TPGLOB - Problem file temporary global reference
  1. ; Call BQITD031 due to routine size considerations
  1. D PRB^BQITD031
  1. Q
  1. ;
  1. PPRB(DFN,TPGLOB) ;EP - Check Problem File for instance of a patient
  1. ; Input Parameters
  1. ; DFN - Patient record
  1. ; TPGLOB - Temporary global
  1. ; Call BQITD031 due to routine size considerations
  1. D PPRB^BQITD031
  1. Q
  1. ;
  1. ONE(DFN,VSDTM) ; If there was a visit and a problem on the same day, count the visit
  1. I $D(@TMREF@(DFN,VSDTM)),$$TYP^BQITD031(DFN,VSDTM,TMREF)="P" D Q
  1. . K @TMREF@(DFN,VSDTM)
  1. . S @TMREF@(DFN)=$G(@TMREF@(DFN))-1
  1. Q