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

BDMGRG.m

Go to the documentation of this file.
  1. BDMGRG ; IHS/CMI/LAB - BDM DMS GUI Reports ; 09 Feb 2010 7:38 AM
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**7,8,9**;JUN 14, 2007;Build 78
  1. ;
  1. DEBUG(BDMRET,BDMSTR) ;-- debugger
  1. D DEBUG^%Serenji("DMA12P^BDMGRE(.BDMRET,.BDMSTR)")
  1. Q
  1. ;
  1. DAL(RETVAL,BDMSTR) ;-- get audit logic values
  1. N P,BDMI,BDMYR,BDMYRI,BDMAL
  1. S P="|"
  1. S BDMI=0
  1. K ^BDMTMP($J)
  1. S RETVAL="^BDMTMP("_$J_")"
  1. S @RETVAL@(BDMI)="T00010BMXIEN^T00080Logic"_$C(30)
  1. I $G(BDMSTR)="" S BDMSTR=$$CATSTR^BDMGU(.BDMSTR,.BDMSTR)
  1. S BDMYR=$P(BDMSTR,P)
  1. S BDMYRI=$O(^BDMDMTX("B",BDMYR,0))
  1. I '$G(BDMYRI) S BDMYRI=$O(^BDMDMTX("B",BDMYR_" DIABETES",0))
  1. S BDMDA=0 F S BDMDA=$O(^BDMDMTX(BDMYRI,11,BDMDA)) Q:'BDMDA D
  1. . Q:'$D(^BDMDMTX(BDMYRI,11,BDMDA,11))
  1. . S BDMAL=$P($G(^BDMDMTX(BDMYRI,11,BDMDA,0)),U)
  1. . S BDMI=BDMI+1
  1. . S @RETVAL@(BDMI)=BDMDA_U_BDMAL_$C(30)
  1. S @RETVAL@(BDMI+1)=$C(31)
  1. Q
  1. ;
  1. DALD(RETVAL,BDMSTR) ;-- return the actual audit logic text
  1. N P,R,BDMA,BDME,BDMYR,BDMYRI,BDMDESC
  1. S P="|",R="~"
  1. S BDMI=0
  1. K ^BDMTMP($J)
  1. S RETVAL="^BDMTMP("_$J_")"
  1. S @RETVAL@(BDMI)="T00080Logic^T00250Description"_$C(30)
  1. I $G(BDMSTR)="" S BDMSTR=$$CATSTR^BDMGU(.BDMSTR,.BDMSTR)
  1. S BDMYR=$P(BDMSTR,P)
  1. S BDMYRI=$O(^BDMDMTX("B",BDMYR,0))
  1. I '$G(BDMYRI) S BDMYRI=$O(^BDMDMTX("B",BDMYR_" DIABETES",0))
  1. S BDMLOG=$P(BDMSTR,P,2)
  1. N I
  1. F I=1:1 D Q:$P(BDMLOG,R,I)=""
  1. . S BDMA=$P(BDMLOG,R,I)
  1. . Q:BDMA=""
  1. . S BDME=$E(BDMA,1,30)
  1. . S BDMI=BDMI+1
  1. . S @RETVAL@(BDMI)=$P($G(^BDMDMTX(BDMYRI,11,BDMA,0)),U)_$C(30)
  1. . Q:$P(BDMLOG,R,I)=""
  1. . S BDMDA=0 F S BDMDA=$O(^BDMDMTX(BDMYRI,11,BDMA,11,BDMDA)) Q:'BDMDA D
  1. .. S BDMI=BDMI+1
  1. .. S BDMDESC=$G(^BDMDMTX(BDMYRI,11,BDMA,11,BDMDA,0))
  1. .. S @RETVAL@(BDMI)=BDMDESC_$C(30)
  1. . S BDMI=BDMI+1
  1. . S @RETVAL@(BDMI)=$C(30)
  1. S @RETVAL@(BDMI+1)=$C(31)
  1. Q
  1. ;
  1. LM(RETVAL,BDMSTR) ;-- do the Lab/Med Report
  1. N P,R,BDMJ,BDMH,BDMB,BDME,BDMT
  1. S BDMJ=$J,BDMH=$H
  1. S P="|",R="~"
  1. S BDMI=0
  1. K ^BDMTMP($J)
  1. S RETVAL="^BDMTMP("_$J_")"
  1. S @RETVAL@(BDMI)="T00010Result"_$C(30)
  1. I $G(BDMSTR)="" S BDMSTR=$$CATSTR^BDMGU(.BDMSTR,.BDMSTR)
  1. S BDMT=$P(BDMSTR,P)
  1. S BDMB=$P(BDMSTR,P,2)
  1. S BDME=$P(BDMSTR,P,3)
  1. D BDMG^BDMLLMR(BDMJ,BDMH,BDMT,BDMB,BDME)
  1. S BDMI=BDMI+1
  1. S @RETVAL@(BDMI)=$C(30)
  1. S @RETVAL@(BDMI+1)=$C(31)
  1. Q
  1. ;
  1. DMA15(RETVAL,BDMSTR) ;-- dm audit 2015
  1. N P,R
  1. N BDMRG,BDMDAT,BDMTYP,BDMSTMP,BDMPCP,BDMLCOM,BDMRAND,BDMRCNT,BDMDSP,BDMPNA
  1. N BDMCMS,BDMRGI,BDMSTAT,BDMPREP,BDMFILE,BDMPATS,BDMSTMPE,BDMCMSE,BDMH,BDMJ
  1. N BDMDZ2,BDMDEMO,BDMBEN
  1. S BDMH=$H,BDMJ=$J
  1. S P="|",R="~"
  1. S RETVAL="^BDMTMP("_$J_")"
  1. I $G(BDMSTR)="" D CATSTR^BDMGU(.BDMSTR,.BDMSTR)
  1. S BDMRGI=$P(BDMSTR,P)
  1. S BDMRG=$O(^ACM(41.1,"B",BDMRGI,0))
  1. S BDMDAT=$P(BDMSTR,P,2)
  1. S BDMTYP=$P(BDMSTR,P,3)
  1. S BDMPCP=$P(BDMSTR,P,5)
  1. S BDMCOM=$P(BDMSTR,P,6)
  1. S BDMRAND=$P(BDMSTR,P,7)
  1. S BDMRCNT=$P(BDMSTR,P,8)
  1. S BDMSTAT=$P(BDMSTR,P,9)
  1. S BDMPREP=$P(BDMSTR,P,10)
  1. S BDMFILE=$P(BDMSTR,P,11)
  1. S BDMPNA=$P(BDMSTR,P,15)
  1. S BDMDSP=$P(BDMSTR,P,16)
  1. S BDMSDPI=$P(BDMSTR,P,12)
  1. S BDMSDPIN=$P(BDMSTR,P,13)
  1. S BDMCALL=$P(BDMSTR,P,14)
  1. S BDMDZ2=$P(BDMSTR,P,17)
  1. S BDMDEMO=$P(BDMSTR,P,18)
  1. S BDMBEN=$P(BDMSTR,P,19)
  1. I BDMCALL="DM Audit E 15" D
  1. . S BDMTYP=""
  1. I BDMTYP="P" D
  1. . S BDMPATS=$P(BDMSTR,P,4)
  1. . N I
  1. . F I=1:1 D Q:$P(BDMPATS,R,I)=""
  1. .. Q:$P(BDMPATS,R,I)=""
  1. .. S ^XTMP("BDMDM15",BDMJ,BDMH,"PATS",$P(BDMPATS,R,I))=""
  1. .. I BDMCALL="DM Audit P 15" D
  1. ... S ^XTMP("BDMPC1",BDMJ,BDMH,"PATS",$P(BDMPATS,R,I))=""
  1. I BDMTYP="S" D
  1. . S BDMSTMPE=$P(BDMSTR,P,4)
  1. . S BDMSTMP=$O(^DIBT("B",BDMSTMPE,0))
  1. . Q:'BDMSTMP
  1. . N BDMDA,BDMCNT
  1. . S BDMCNT=0
  1. . S BDMDA=0 F S BDMDA=$O(^DIBT(BDMSTMP,1,BDMDA)) Q:'BDMDA D
  1. .. I $G(BDMCOM) Q:$P($G(^AUPNPAT(BDMDA,11)),U,17)'=BDMCOM
  1. .. I $G(BDMPCP) Q:$P($G(^AUPNPAT(BDMDA,0)),U,14)'=BDMPCP
  1. .. S BDMCNT=BDMCNT+1
  1. .. I BDMBEN=1,$$BEN^AUPNPAT(BDMDA,"C")'="01" Q
  1. .. I BDMBEN=2,$$BEN^AUPNPAT(BDMDA,"C")="01" Q
  1. .. S ^XTMP("BDMDM15",BDMJ,BDMH,"PATS",BDMDA)=""
  1. .. S ^TMP($J,"PATS",BDMCNT,BDMDA)=""
  1. .. I BDMCALL="DM Audit P 15" D
  1. ... S ^XTMP("BDMPC1",BDMJ,BDMH,"PATS",BDMDA)=""
  1. I BDMTYP="C" D
  1. . S BDMCMSE=$P(BDMSTR,P,4)
  1. . Q:$G(BDMCMSE)=""
  1. . S BDMCMS=$O(^ACM(41.1,"B",BDMCMSE,0))
  1. . Q:'BDMCMS
  1. . N BDMDA,BDMCNT
  1. . S BDMCNT=0
  1. . S BDMDA=0 F S BDMDA=$O(^ACM(41,"B",BDMCMS,BDMDA)) Q:'BDMDA D
  1. .. S BDMRPAT=$P($G(^ACM(41,BDMDA,0)),U,2)
  1. .. I $G(BDMCOM) Q:$P($G(^AUPNPAT(BDMRPAT,11)),U,17)'=BDMCOM
  1. .. I $G(BDMPCP) Q:$P($G(^AUPNPAT(BDMRPAT,0)),U,14)'=BDMPCP
  1. .. I $G(BDMSTAT)]"" Q:$P($G(^ACM(41,BDMDA,"DT")),U)'=BDMSTAT
  1. .. I BDMBEN=1,$$BEN^AUPNPAT(BDMRPAT,"C")'="01" Q
  1. .. I BDMBEN=2,$$BEN^AUPNPAT(BDMRPAT,"C")="01" Q
  1. .. S ^XTMP("BDMDM15",BDMJ,BDMH,"PATS",BDMRPAT)=""
  1. .. I BDMSTAT]"",$P($G(^ACM(41,BDMDA,"DT")),U,1)=BDMSTAT S BDMCNT=BDMCNT+1,^TMP($J,"PATS",BDMCNT,BDMRPAT)=""
  1. .. I BDMSTAT="" S BDMCNT=BDMCNT+1,^TMP($J,"PATS",BDMCNT,BDMRPAT)=""
  1. .. I BDMCALL="DM Audit P 15" D
  1. ... S ^XTMP("BDMPC1",BDMJ,BDMH,"PATS",BDMRPAT)=""
  1. I BDMRAND="Y" D
  1. . N X
  1. . K ^TMP($J,"PATS") S BDMCNT=0,X=0 F S X=$O(^ACM(41,"B",BDMRG,X)) Q:X'=+X D
  1. .. I BDMSTAT]"",$P($G(^ACM(41,X,"DT")),U,1)=BDMSTAT S BDMCNT=BDMCNT+1,^TMP($J,"PATS",BDMCNT,$P(^ACM(41,X,0),U,2))=""
  1. .. I BDMSTAT="" S BDMCNT=BDMCNT+1,^TMP($J,"PATS",BDMCNT,$P(^ACM(41,X,0),U,2))=""
  1. . K ^XTMP("BDMDM15",BDMJ,BDMH,"PATS")
  1. . S (X,BDMCNT)=0 F S X=$O(^TMP($J,"PATS",X)) Q:X'=+X S BDMCNT=BDMCNT+1
  1. . S C=0 F N=1:1:BDMCNT Q:C=BDMRCNT S I=$R(BDMCNT) I I,$D(^TMP($J,"PATS",I)) S X=$O(^TMP($J,"PATS",I,0)),^XTMP("BDMDM15",BDMJ,BDMH,"PATS",X)="",C=C+1 K ^TMP($J,"PATS",I,X)
  1. . K ^TMP($J,"PATS")
  1. I '$G(BDMDSP) S ^BDMTMP($J,1)="T00010REPORTIEN"_$C(30)
  1. I BDMCALL="DM Audit 2015" D
  1. . D BDMG^BDMDC1(BDMJ,BDMH,BDMRG,BDMDAT,BDMTYP,$G(BDMSTMP),BDMPCP,BDMCOM,$G(BDMRAND),$G(BDMRCNT),$G(BDMCMS),$G(BDMSTAT),BDMPREP,$G(BDMFILE),$G(BDMDSP),.BDMIEN,BDMSDPI,BDMSDPIN,BDMPNA,BDMDZ2,BDMDEMO,BDMBEN)
  1. I BDMCALL="DM Audit P 15" D
  1. . D BDMG^BDMPC1(BDMJ,BDMH,BDMRG,BDMDAT,BDMTYP,$G(BDMSTMP),BDMPCP,BDMCOM,$G(BDMRAND),$G(BDMRCNT),$G(BDMCMS),$G(BDMSTAT),BDMPREP,$G(BDMFILE),$G(BDMDSP),.BDMIEN,BDMSDPI,BDMSDPIN,BDMPNA,BDMDZ2,BDMDEMO,BDMBEN)
  1. I BDMCALL="DM Audit E 15" D
  1. . D BDMG^BDMDC1E(BDMJ,BDMH,BDMRG,BDMDAT,BDMTYP,$G(BDMSTMP),BDMPCP,BDMCOM,$G(BDMRAND),$G(BDMRCNT),$G(BDMCMS),$G(BDMSTAT),BDMPREP,$G(BDMFILE),$G(BDMDSP),.BDMIEN,BDMSDPI,BDMSDPIN,BDMDZ2,BDMDEMO)
  1. I $G(BDMDSP) S BDMIEN=1 D NOWDMO15 Q
  1. I '$G(BDMIEN) S BDMERR="Error Queueing DM Audit"
  1. I '$G(BDMDSP) S ^BDMTMP($J,2)=$C(31)_$G(BDMERR)
  1. D EN^XBVK("BDM")
  1. Q
  1. ;
  1. DMA15P(BDMRET,BDMSTR) ;-- dm audit 2015
  1. N P,R
  1. N BDMRG,BDMDAT,BDMTYP,BDMSTMP,BDMPCP,BDMLCOM,BDMRAND,BDMRCNT,BDMDSP,BDMPNA
  1. N BDMCMS,BDMRGI,BDMSTAT,BDMPREP,BDMFILE,BDMPATS,BDMSTMPE,BDMCMSE,BDMH,BDMJ
  1. N BDMDZ2,BDMDEMO,BDMBEN
  1. S BDMH=$H,BDMJ=$J
  1. S P="|",R="~"
  1. S BDMRET="^BDMTMP("_$J_")"
  1. I $G(BDMSTR)="" D CATSTR^BDMGU(.BDMSTR,.BDMSTR)
  1. S BDMRGI=$P(BDMSTR,P)
  1. S BDMRG=$O(^ACM(41.1,"B",BDMRGI,0))
  1. S BDMRGI=$P(BDMSTR,P)
  1. S BDMRG=$O(^ACM(41.1,"B",BDMRGI,0))
  1. S BDMDAT=$P(BDMSTR,P,2)
  1. S BDMTYP=$P(BDMSTR,P,3)
  1. S BDMPCP=$P(BDMSTR,P,5)
  1. S BDMCOM=$P(BDMSTR,P,6)
  1. S BDMRAND=$P(BDMSTR,P,7)
  1. S BDMRCNT=$P(BDMSTR,P,8)
  1. S BDMSTAT=$P(BDMSTR,P,9)
  1. S BDMPREP=$P(BDMSTR,P,10)
  1. S BDMFILE=$P(BDMSTR,P,11)
  1. S BDMPNA=$P(BDMSTR,P,15)
  1. S BDMDSP=$P(BDMSTR,P,16)
  1. S BDMSDPI=$P(BDMSTR,P,12)
  1. S BDMSDPIN=$P(BDMSTR,P,13)
  1. S BDMCALL=$P(BDMSTR,P,14)
  1. S BDMDZ2=$P(BDMSTR,P,17)
  1. S BDMDEMO=$P(BDMSTR,P,18)
  1. S BDMBEN=$P(BDMSTR,P,19)
  1. I BDMTYP="P" D
  1. . S BDMPATS=$P(BDMSTR,P,4)
  1. . N I
  1. . F I=1:1 D Q:$P(BDMPATS,R,I)=""
  1. .. Q:$P(BDMPATS,R,I)=""
  1. .. S ^XTMP("BDMDM15",BDMJ,BDMH,"PATS",$P(BDMPATS,R,I))=""
  1. I BDMTYP="S" D
  1. . S BDMSTMPE=$P(BDMSTR,P,4)
  1. . S BDMSTMP=$O(^DIBT("B",BDMSTMPE,0))
  1. . Q:'BDMSTMP
  1. . N BDMDA
  1. . S BDMDA=0 F S BDMDA=$O(^DIBT(BDMSTMP,1,BDMDA)) Q:'BDMDA D
  1. .. I $G(BDMCOM) Q:$P($G(^AUPNPAT(BDMDA,11)),U,17)'=BDMCOM
  1. .. I $G(BDMPCP) Q:$P($G(^AUPNPAT(BDMDA,0)),U,14)'=BDMPCP
  1. .. S ^XTMP("BDMDM15",BDMJ,BDMH,"PATS",BDMDA)=""
  1. I BDMTYP="C" D
  1. . S BDMCMSE=$P(BDMSTR,P,4)
  1. . S BDMCMS=$O(^ACM(41.1,"B",BDMCMSE,0))
  1. . Q:'BDMCMS
  1. . N BDMDA
  1. . S BDMDA=0 F S BDMDA=$O(^ACM(41,"B",BDMCMS,BDMDA)) Q:'BDMDA D
  1. .. S BDMRPAT=$P($G(^ACM(41,BDMDA,0)),U,2)
  1. .. I $G(BDMCOM) Q:$P($G(^AUPNPAT(BDMRPAT,11)),U,17)'=BDMCOM
  1. .. I $G(BDMPCP) Q:$P($G(^AUPNPAT(BDMRPAT,0)),U,14)'=BDMPCP
  1. .. I $G(BDMSTAT)]"" Q:$P($G(^ACM(41,BDMDA,"DT")),U)'=BDMSTAT
  1. .. S ^XTMP("BDMDM15",BDMJ,BDMH,"PATS",BDMRPAT)=""
  1. I '$G(BDMDSP) S ^BDMTMP($J,1)="T00010REPORTIEN"_$C(30)
  1. D BDMG^BDMDC1(BDMJ,BDMH,BDMRG,BDMDAT,BDMTYP,$G(BDMSTMP),BDMPCP,BDMCOM,$G(BDMRAND),$G(BDMRCNT),$G(BDMCMS),$G(BDMSTAT),BDMPREP,$G(BDMFILE),$G(BDMDSP),.BDMIEN,BDMSDPI,BDMSDPIN,BDMPNA,BDMDZ2,BDMDEMO,BDMBEN)
  1. I $G(BDMDSP) S BDMIEN=1 D NOWDMO15 Q
  1. I '$G(BDMIEN) S BDMERR="Error Queueing DM Audit"
  1. I '$G(BDMDSP) S ^BDMTMP($J,2)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. NOWDMO15 ;EP - return the output to the screen
  1. N BDMI,BDMDA
  1. S BDMI=0
  1. S ^BDMTMP($J,BDMI)="T00250DATA"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^TMP($J,"BDMDM15",BDMDA)) Q:'BDMDA D
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=$G(^TMP($J,"BDMDM15",BDMDA))_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)+$G(BDMERR)
  1. Q
  1. ;
  1. MASTER(RETVAL,BDMSTR) ;EP - master list
  1. N P,R,I,J,K,L,BCM,BWF,BCOMM
  1. N REG,REGI,AGET,AGER,ST,STAT,CT,COMM,CMT,CM,WFT,WF,PSV,SSV,GENDER,TOR,ST,STI,DEMO,BDMI
  1. S P="|",R="~"
  1. S BDMI=0
  1. K ^BDMTMP($J)
  1. S RETVAL="^BDMTMP("_$J_")"
  1. I $G(BDMSTR)="" D CATSTR^BDMGU(.BDMSTR,.BDMSTR)
  1. S REG=$P(BDMSTR,P)
  1. S REGI=$O(^ACM(41.1,"B",REG,0))
  1. S AGET=$P(BDMSTR,P,2)
  1. S ST=$P(BDMSTR,P,3)
  1. S STAT=$P(BDMSTR,P,4)
  1. F I=1:1 D Q:$P(STAT,"*",I)=""
  1. . Q:$P(STAT,"*",I)=""
  1. . S BSTAT($P(STAT,"*",I))=""
  1. S CT=$P(BDMSTR,P,5)
  1. S COMM=$P(BDMSTR,P,6)
  1. F L=1:1 D Q:$P(COMM,"*",L)=""
  1. . Q:$P(COMM,"*",L)=""
  1. . S BCOMM($P($P(COMM,"*",L),R))=""
  1. S CMT=$P(BDMSTR,P,7)
  1. S CM=$P(BDMSTR,P,8)
  1. F J=1:1 D Q:$P(CM,"*",J)=""
  1. . Q:$P(CM,"*",J)=""
  1. . S BCM($P($P(CM,"*",J),R))=""
  1. S WFT=$P(BDMSTR,P,9)
  1. S WF=$P(BDMSTR,P,10)
  1. F K=1:1 D Q:$P(WF,"*",K)=""
  1. . Q:$P(WF,"*",K)=""
  1. . S BWF($P($P(WF,"*",K),R))=""
  1. S PSV=$P(BDMSTR,P,11)
  1. S SSV=$P(BDMSTR,P,12)
  1. S GENDER=$P(BDMSTR,P,13)
  1. S TOR=$P(BDMSTR,P,14)
  1. S (ST,STI)=$P($P(BDMSTR,P,15),R)
  1. I $G(STI)'?.N S STI=$O(^DIBT("B",ST,0))
  1. I '$G(STI),ST]"" D
  1. . N FDA,FIENS,FERR
  1. . S FDA(.401,"+1,",.01)=ST
  1. . S FDA(.401,"+1,",2)=DT
  1. . S FDA(.401,"+1,",5)=DUZ
  1. . D UPDATE^DIE("","FDA","FIENS","FERR(1)")
  1. . S STI=$G(FIENS(1))
  1. S DEMO=$P(BDMSTR,P,16)
  1. S AGER=$P(BDMSTR,P,17)
  1. D BDMG^BDMRML(.BDMERR,REGI,AGER,.BSTAT,CT,.BCOMM,GENDER,.BCM,.BWF,PSV,SSV,TOR,DEMO,$G(STI))
  1. S ^BDMTMP($J,BDMI)="T00080Result"_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)
  1. Q
  1. ;