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

BQIRGDBA.m

Go to the documentation of this file.
  1. BQIRGDBA ;VNGT/HS/ALA-Diabetes Audit ; 11 Oct 2010 1:07 PM
  1. ;;2.5;ICARE MANAGEMENT SYSTEM;**2**;May 24, 2016;Build 14
  1. ;
  1. EN ; Entry Point for all diabetes tagged patients
  1. S BDMJOB=$J,BDMBTH=$H
  1. S CYR=$P($G(^BQI(90508,1,"DM")),U,1)
  1. S CIEN=$O(^BQI(90508,1,21,"B",CYR,"")) I CIEN="" Q
  1. S PGTHR=$P(^BQI(90508,1,21,CIEN,0),U,2),PGPRT=$P(^(0),U,3),PGRF=$P(^(0),U,4)
  1. K ^XTMP("BDMDM01",BDMJOB,BDMBTH)
  1. S BQITGN=$O(^BQI(90506.2,"B","Diabetes",""))
  1. S RIEN=""
  1. F S RIEN=$O(^BQIREG("B",BQITGN,RIEN)) Q:RIEN="" D
  1. . S DFN=$P(^BQIREG(RIEN,0),U,2)
  1. . I '$$ATAG^BQITDUTL(DFN,BQITGN) Q
  1. . ;S ^XTMP("BDMDM01",BDMJOB,BDMBTH,"PATS",DFN)=""
  1. . S ^XTMP("BDMDM12",BDMJOB,BDMBTH,"PATS",DFN)=""
  1. Q
  1. ;
  1. AUD(DATA,BDMPD) ;EP -- BQI PAT DIABETES AUDIT REPORT
  1. ;Description
  1. ; Generates a Patient's Diabetes Audit Report for a given DFN
  1. ;
  1. ;Input
  1. ; BDMPD - Patient Internal Entry number (aka DFN)
  1. ;
  1. ;Output
  1. ; DATA - Name of global in which data is stored(^TMP("BQIRGDBA"))
  1. ;
  1. NEW UID,X,BQII,BDMJOB,BDMBTH,BMDRBD,BDMRED,BDMDMRG,BDMADAT,%
  1. NEW BDMTYPE,BDMBDAT,BDMPREP,IOSL,BDMGUIC,BDMIOSL,BDMLT,BDMOT,%DT
  1. NEW DTIME,DFN,AMQQTAXN,B,BDM6MBD,BDMARRAY,BDMC,BDMDEP,BDMER,%X,%Y
  1. NEW BDMPG,BDMQUIT,BDMR,BDMRBD,BDMTYDM,BDMUTT,BDMV,C,D,E,ED,G,M
  1. NEW HDATE,HSTEXT,I,ICD,J,L,N,T,V,Y,Z,T1,T2,CYR,CIEN,PGTHR,PGPRT,PGRF
  1. NEW BD,BDMX
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIRGDBA",UID))
  1. K @DATA
  1. ;
  1. S BQII=0
  1. ;
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIRGDBA D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S DFN=BDMPD
  1. S CYR=$P($G(^BQI(90508,1,"DM")),U,1),BDMDMRG=$P($G(^BQI(90508,1,"DM")),U,2)
  1. S CIEN=$O(^BQI(90508,1,21,"B",CYR,"")) I CIEN="" Q
  1. S PGTHR=$P(^BQI(90508,1,21,CIEN,0),U,2),PGPRT=$P(^(0),U,3),PGRF=$P(^(0),U,4)
  1. ;
  1. D HDR
  1. ;
  1. I $$TMPFL^BQIUL1("W",UID,DFN) G DONE
  1. ;
  1. S BDMJOB=UID,BDMBTH=$H
  1. K ^XTMP(PGRF,BDMJOB) S ^XTMP(PGRF,0)=$$FMADD^XLFDT(DT,1)_"^"_DT_"^iCare DM AUDIT"
  1. S BDMRBD=DT,BDMADAT=DT,BDMTYPE="P",BDMRED=$$FMADD^XLFDT(BDMADAT,-365)
  1. S BDMBDAT=$$FMADD^XLFDT(BDMADAT,-365)
  1. D @("GATHER^"_PGTHR)
  1. S BDMPREP=1,IOSL=999,DTIME=1
  1. U IO D @("^"_PGPRT)
  1. U IO W $C(9)
  1. ;
  1. I $$TMPFL^BQIUL1("C") G DONE
  1. I $$TMPFL^BQIUL1("R",UID,DFN) G DONE
  1. ;
  1. F U IO R HSTEXT:.1 Q:HSTEXT[$C(9) D
  1. . S HSTEXT=$$STRIP^XLFSTR(HSTEXT,"^"),HSTEXT=$$CTRL^BQIUL1(HSTEXT)
  1. . I HSTEXT="" S HSTEXT=" "
  1. . S BQII=BQII+1,@DATA@(BQII)=HSTEXT_$C(13)_$C(10)
  1. S BQII=BQII+1,@DATA@(BQII)=$C(30)
  1. ;
  1. I $$TMPFL^BQIUL1("C") G DONE
  1. I $$TMPFL^BQIUL1("D",UID,DFN) G DONE
  1. ;
  1. DONE ;
  1. ;
  1. S BQII=BQII+1,@DATA@(BQII)=$C(31)
  1. Q
  1. ;
  1. HDR ;
  1. S @DATA@(BQII)="T02048REPORT_TEXT"_$C(30)
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. NEW Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S BMXSEC="Recording that an error occurred at "_ERRDTM
  1. I $D(BQII),$D(DATA) S BQII=BQII+1,@DATA@(BQII)=$C(31)
  1. I $$TMPFL^BQIUL1("C")
  1. Q