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

BDMGRI.m

Go to the documentation of this file.
BDMGRI ; IHS/CMI/LAB - BDM DMS GUI Reports ; 11 Dec 2018  10:26 AM
 ;;2.0;DIABETES MANAGEMENT SYSTEM;**11,12**;JUN 14, 2007;Build 51
 ;
DEBUG(BDMRET,BDMSTR) ;-- debugger
 D DEBUG^%Serenji("DMA12P^BDMGRE(.BDMRET,.BDMSTR)")
 Q
 ;
DMA18(RETVAL,BDMSTR) ;-- dm audit 2018
 N P,R
 N BDMRG,BDMDAT,BDMTYP,BDMSTMP,BDMPCP,BDMLCOM,BDMRAND,BDMRCNT,BDMDSP,BDMPNA
 N BDMCMS,BDMRGI,BDMSTAT,BDMPREP,BDMFILE,BDMPATS,BDMSTMPE,BDMCMSE,BDMH,BDMJ
 N BDMDZ2,BDMDEMO,BDMBEN,BDMPREG,BDMBD,BDMDQ
 S BDMH=$H,BDMJ=$J
 S P="|",R="~"
 S RETVAL="^BDMTMP("_$J_")"
 I $G(BDMSTR)="" D CATSTR^BDMGU(.BDMSTR,.BDMSTR)
 S BDMRGI=$P(BDMSTR,P)
 S BDMRG=$O(^ACM(41.1,"B",BDMRGI,0))
 S BDMDAT=$P(BDMSTR,P,2)
 S BDMBD=($E(BDMDAT,1,3)-1)_$E(BDMDAT,4,7),BDMBD=$$FMADD^XLFDT(BDMBD,1)
 S BDMTYP=$P(BDMSTR,P,3)
 S BDMPCP=$P(BDMSTR,P,5)
 S BDMCOM=$P(BDMSTR,P,6)
 S BDMRAND=$P(BDMSTR,P,7)
 S BDMRCNT=$P(BDMSTR,P,8)
 S BDMSTAT=$P(BDMSTR,P,9)
 S BDMPREP=$P(BDMSTR,P,10)
 S BDMFILE=$P(BDMSTR,P,11)
 S BDMPNA=$P(BDMSTR,P,15)
 S BDMDSP=$P(BDMSTR,P,16)
 S BDMSDPI=$P(BDMSTR,P,12)
 S BDMSDPIN=$P(BDMSTR,P,13)
 S BDMCALL=$P(BDMSTR,P,14)
 S BDMDZ2=$P(BDMSTR,P,17)
 S BDMDEMO=$P(BDMSTR,P,18)
 S BDMBEN=$P(BDMSTR,P,19)
 S BDMPREG=$P(BDMSTR,P,20)
 S BDMDQ=$P(BDMSTR,P,21)
 I BDMCALL="DM Audit E 18" D
 . S BDMTYP=""
 I BDMTYP="P" D
 . S BDMPATS=$P(BDMSTR,P,4)
 . N I
 . F I=1:1 D  Q:$P(BDMPATS,R,I)=""
 .. Q:$P(BDMPATS,R,I)=""
 .. S ^XTMP("BDMDM18",BDMJ,BDMH,"PATS",$P(BDMPATS,R,I))=""
 .. I BDMCALL="DM Audit P 18" D
 ... S ^XTMP("BDMPF1",BDMJ,BDMH,"PATS",$P(BDMPATS,R,I))=""
 I BDMTYP="S" D
 . S BDMSTMPE=$P(BDMSTR,P,4)
 . S BDMSTMP=$O(^DIBT("B",BDMSTMPE,0))
 . Q:'BDMSTMP
 . N BDMDA,BDMCNT
 . S BDMCNT=0
 . S BDMDA=0 F  S BDMDA=$O(^DIBT(BDMSTMP,1,BDMDA)) Q:'BDMDA  D
 .. I $G(BDMCOM) Q:$P($G(^AUPNPAT(BDMDA,11)),U,17)'=BDMCOM
 .. I $G(BDMPCP) Q:$P($G(^AUPNPAT(BDMDA,0)),U,14)'=BDMPCP
 .. S BDMCNT=BDMCNT+1
 .. I BDMBEN=1,$$BEN^AUPNPAT(BDMDA,"C")'="01" Q
 .. I BDMBEN=2,$$BEN^AUPNPAT(BDMDA,"C")="01" Q
 .. I BDMPREG="E" Q:$$PREG^BDMDF1B(BDMDA,BDMBD,BDMDAT,1,1)
 .. S ^XTMP("BDMDM18",BDMJ,BDMH,"PATS",BDMDA)=""
 .. S ^TMP($J,"PATS",BDMCNT,BDMDA)=""
 .. I BDMCALL="DM Audit P 18" D
 ... S ^XTMP("BDMPF1",BDMJ,BDMH,"PATS",BDMDA)=""
 I BDMTYP="C" D
 . S BDMCMSE=$P(BDMSTR,P,4)
 . Q:$G(BDMCMSE)=""
 . S BDMCMS=$O(^ACM(41.1,"B",BDMCMSE,0))
 . Q:'BDMCMS
 . N BDMDA,BDMCNT
 . S BDMCNT=0
 . S BDMDA=0 F  S BDMDA=$O(^ACM(41,"B",BDMCMS,BDMDA)) Q:'BDMDA  D
 .. S BDMRPAT=$P($G(^ACM(41,BDMDA,0)),U,2)
 .. I $G(BDMCOM) Q:$P($G(^AUPNPAT(BDMRPAT,11)),U,17)'=BDMCOM
 .. I $G(BDMPCP) Q:$P($G(^AUPNPAT(BDMRPAT,0)),U,14)'=BDMPCP
 .. I $G(BDMSTAT)]"" Q:$P($G(^ACM(41,BDMDA,"DT")),U)'=BDMSTAT
 .. I BDMBEN=1,$$BEN^AUPNPAT(BDMRPAT,"C")'="01" Q
 .. I BDMBEN=2,$$BEN^AUPNPAT(BDMRPAT,"C")="01" Q
 .. I BDMPREG="E" Q:$$PREG^BDMDF1B(BDMRPAT,BDMBD,BDMDAT,1,1)
 .. S ^XTMP("BDMDM18",BDMJ,BDMH,"PATS",BDMRPAT)=""
 .. I BDMSTAT]"",$P($G(^ACM(41,BDMDA,"DT")),U,1)=BDMSTAT S BDMCNT=BDMCNT+1,^TMP($J,"PATS",BDMCNT,BDMRPAT)=""
 .. I BDMSTAT="" S BDMCNT=BDMCNT+1,^TMP($J,"PATS",BDMCNT,BDMRPAT)=""
 .. I BDMCALL="DM Audit P 18" D
 ... S ^XTMP("BDMPF1",BDMJ,BDMH,"PATS",BDMRPAT)=""
 I BDMRAND="Y" D
 . N X
 . K ^TMP($J,"PATS") S BDMCNT=0,X=0 F  S X=$O(^ACM(41,"B",BDMRG,X)) Q:X'=+X  D
 .. 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))=""
 .. I BDMSTAT="" S BDMCNT=BDMCNT+1,^TMP($J,"PATS",BDMCNT,$P(^ACM(41,X,0),U,2))=""
 . K ^XTMP("BDMDM18",BDMJ,BDMH,"PATS")
 . S (X,BDMCNT)=0 F  S X=$O(^TMP($J,"PATS",X)) Q:X'=+X  S BDMCNT=BDMCNT+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("BDMDM18",BDMJ,BDMH,"PATS",X)="",C=C+1 K ^TMP($J,"PATS",I,X)
 . K ^TMP($J,"PATS")
 I '$G(BDMDSP) S ^BDMTMP($J,1)="T00010REPORTIEN"_$C(30)
 I BDMCALL="DM Audit 2018" D
 . D BDMG^BDMDF1(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,$G(BDMDQ))
 I BDMCALL="DM Audit P 18" D
 . D BDMG^BDMPF1(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,$G(BDMDQ))
 I BDMCALL="DM Audit E 18" D
 . D BDMG^BDMDF1E(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,$G(BDMDQ))
 I $G(BDMDSP) S BDMIEN=1 D NOWDMO18 Q
 I '$G(BDMIEN) S BDMERR="Error Queueing DM Audit"
 I '$G(BDMDSP) S ^BDMTMP($J,2)=$C(31)_$G(BDMERR)
 D EN^XBVK("BDM")
 Q
 ;
DMA18P(BDMRET,BDMSTR) ;-- dm audit 2018
 N P,R
 N BDMRG,BDMDAT,BDMTYP,BDMSTMP,BDMPCP,BDMLCOM,BDMRAND,BDMRCNT,BDMDSP,BDMPNA
 N BDMCMS,BDMRGI,BDMSTAT,BDMPREP,BDMFILE,BDMPATS,BDMSTMPE,BDMCMSE,BDMH,BDMJ
 N BDMDZ2,BDMDEMO,BDMBEN,BDMPREG,BDMBD,BDMDQ
 S BDMH=$H,BDMJ=$J
 S P="|",R="~"
 S BDMRET="^BDMTMP("_$J_")"
 I $G(BDMSTR)="" D CATSTR^BDMGU(.BDMSTR,.BDMSTR)
 S BDMRGI=$P(BDMSTR,P)
 S BDMRG=$O(^ACM(41.1,"B",BDMRGI,0))
 S BDMDAT=$P(BDMSTR,P,2)
 S BDMBD=($E(BDMDAT,1,3)-1)_$E(BDMDAT,4,7),BDMBD=$$FMADD^XLFDT(BDMBD,1)
 S BDMTYP=$P(BDMSTR,P,3)
 S BDMPCP=$P(BDMSTR,P,5)
 S BDMCOM=$P(BDMSTR,P,6)
 S BDMRAND=$P(BDMSTR,P,7)
 S BDMRCNT=$P(BDMSTR,P,8)
 S BDMSTAT=$P(BDMSTR,P,9)
 S BDMPREP=$P(BDMSTR,P,10)
 S BDMFILE=$P(BDMSTR,P,11)
 S BDMPNA=$P(BDMSTR,P,15)
 S BDMDSP=$P(BDMSTR,P,16)
 S BDMSDPI=$P(BDMSTR,P,12)
 S BDMSDPIN=$P(BDMSTR,P,13)
 S BDMCALL=$P(BDMSTR,P,14)
 S BDMDZ2=$P(BDMSTR,P,17)
 S BDMDEMO=$P(BDMSTR,P,18)
 S BDMBEN=$P(BDMSTR,P,19)
 S BDMPREG=$P(BDMSTR,P,20)
 S BDMDQ=$P(BDMSTR,P,21)
 I BDMTYP="P" D
 . S BDMPATS=$P(BDMSTR,P,4)
 . N I
 . F I=1:1 D  Q:$P(BDMPATS,R,I)=""
 .. Q:$P(BDMPATS,R,I)=""
 .. S ^XTMP("BDMDM18",BDMJ,BDMH,"PATS",$P(BDMPATS,R,I))=""
 I BDMTYP="S" D
 . S BDMSTMPE=$P(BDMSTR,P,4)
 . S BDMSTMP=$O(^DIBT("B",BDMSTMPE,0))
 . Q:'BDMSTMP
 . N BDMDA
 . S BDMDA=0 F  S BDMDA=$O(^DIBT(BDMSTMP,1,BDMDA)) Q:'BDMDA  D
 .. I $G(BDMCOM) Q:$P($G(^AUPNPAT(BDMDA,11)),U,17)'=BDMCOM
 .. I $G(BDMPCP) Q:$P($G(^AUPNPAT(BDMDA,0)),U,14)'=BDMPCP
 .. I BDMPREG="E" Q:$$PREG^BDMDF1B(BDMDA,BDMBD,BDMDAT,1,1)
 .. S ^XTMP("BDMDM18",BDMJ,BDMH,"PATS",BDMDA)=""
 I BDMTYP="C" D
 . S BDMCMSE=$P(BDMSTR,P,4)
 . S BDMCMS=$O(^ACM(41.1,"B",BDMCMSE,0))
 . Q:'BDMCMS
 . N BDMDA
 . S BDMDA=0 F  S BDMDA=$O(^ACM(41,"B",BDMCMS,BDMDA)) Q:'BDMDA  D
 .. S BDMRPAT=$P($G(^ACM(41,BDMDA,0)),U,2)
 .. I $G(BDMCOM) Q:$P($G(^AUPNPAT(BDMRPAT,11)),U,17)'=BDMCOM
 .. I $G(BDMPCP) Q:$P($G(^AUPNPAT(BDMRPAT,0)),U,14)'=BDMPCP
 .. I $G(BDMSTAT)]"" Q:$P($G(^ACM(41,BDMDA,"DT")),U)'=BDMSTAT
 .. I BDMPREG="E" Q:$$PREG^BDMDF1B(BDMRPAT,BDMBD,BDMDAT,1,1)
 .. S ^XTMP("BDMDM18",BDMJ,BDMH,"PATS",BDMRPAT)=""
 I '$G(BDMDSP) S ^BDMTMP($J,1)="T00010REPORTIEN"_$C(30)
 D BDMG^BDMDF1(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,$G(BDMDQ))
 I $G(BDMDSP) S BDMIEN=1 D NOWDMO18 Q
 I '$G(BDMIEN) S BDMERR="Error Queueing DM Audit"
 I '$G(BDMDSP) S ^BDMTMP($J,2)=$C(31)_$G(BDMERR)
 Q
 ;
NOWDMO18 ;EP - return the output to the screen
 N BDMI,BDMDA
 S BDMI=0
 S ^BDMTMP($J,BDMI)="T00250DATA"_$C(30)
 S BDMDA=0 F  S BDMDA=$O(^TMP($J,"BDMDM18",BDMDA)) Q:'BDMDA  D
 . S BDMI=BDMI+1
 . S ^BDMTMP($J,BDMI)=$G(^TMP($J,"BDMDM18",BDMDA))_$C(30)
 S ^BDMTMP($J,BDMI+1)=$C(31)+$G(BDMERR)
 Q
 ;