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

BDMGTB.m

Go to the documentation of this file.
  1. BDMGTB ; cmi/anch/maw - BDM DMS GUI Table Lookup ;
  1. ;;2.0;BDM DIABETES MANAGEMENT SYSTEM;**1,8,12**;JUN 14, 2007;Build 51
  1. ;
  1. ;
  1. DEBUG(BDMRET,BDMSTR) ;-- debug entry point for Serenji
  1. D DEBUG^%Serenji("ICD^BDMGT(.BDMRET,.BDMSTR)")
  1. Q
  1. ;
  1. DEBUGR(BDMRET) ;-- single entry point debugger
  1. D DEBUG^%Serenji("ICD^BDMGT(.BDMRET)")
  1. Q
  1. ;
  1. CPT(BDMRET) ;-- get all cpts
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMCPT,BDMI,BDMERR,BDMIEN,BDMDA,BDMCPTD
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050CPT"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^ICPT(BDMDA)) Q:BDMDA="" D
  1. . Q:$P($G(^ICPT(BDMDA,0)),U,4) ;inactive
  1. . S BDMCPT=$P($G(^ICPT(BDMDA,0)),U)
  1. . S BDMCPTD=$P($G(^ICPT(BDMDA,0)),U,2)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMCPT_"-"_BDMCPTD_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. ADA(BDMRET) ;-- get all ada
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMADA,BDMI,BDMERR,BDMIEN,BDMDA,BDMADAD
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050ADA"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^AUTTADA(BDMDA)) Q:BDMDA="" D
  1. . Q:$P($G(^AUTTADA(BDMDA,0)),U,8) ;inactive
  1. . S BDMADA=$P($G(^AUTTADA(BDMDA,0)),U)
  1. . S BDMADAD=$P($G(^AUTTADA(BDMDA,0)),U,2)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMADA_"-"_BDMADAD_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. PRV(BDMRET) ;-- get all providers
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMPRV,BDMI,BDMERR,BDMIEN,BDMDA
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00007BMXIEN^T00050PRV"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^VA(200,"B",BDMDA)) Q:BDMDA="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^VA(200,"B",BDMDA,BDMIEN)) Q:'BDMIEN D
  1. .. Q:'$O(^VA(200,"AK.PROVIDER",BDMDA,0)) ;not a provider
  1. .. S BDMPRV=$P($G(^VA(200,BDMIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMIEN_U_BDMPRV_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. PRVC(BDMRET) ;-- get all provider classes
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMPRVC,BDMI,BDMERR,BDMDA
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050PRVC"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^DIC(7,"B",BDMDA)) Q:BDMDA="" D
  1. . ;S BDMPRVC=$P($G(^DIC(7,BDMDA,0)),U)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMDA_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. LABL(BDMRET) ;-- get all lab loinc codes
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMLABL,BDMI,BDMERR,BDMIEN,BDMDA,BDMLABD
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050LABL"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^LAB(95.3,"B",BDMDA)) Q:BDMDA="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^LAB(95.3,"B",BDMDA,BDMIEN)) Q:'BDMIEN D
  1. .. S BDMLABL=$P($G(^LAB(95.3,BDMDA,0)),U)
  1. .. S BDMLABD=$G(^LAB(95.3,BDMIEN,80))
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMLABL_"-"_BDMLABD_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. DENO(BDMRET) ;-- get all dental op site codes
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMDENO,BDMI,BDMERR,BDMIEN,BDMDA
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050DENO^T00007IEN"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^ADEOPS("B",BDMDA)) Q:BDMDA="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^ADEOPS("B",BDMDA,BDMIEN)) Q:'BDMIEN D
  1. .. S BDMDENO=$P($G(^ADEOPS(BDMIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMDENO_U_BDMIEN_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. CLN(BDMRET) ;-- get all clinic stop codes
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMCLN,BDMI,BDMERR,BDMIEN,BDMDA
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050CLN"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^DIC(40.7,"B",BDMDA)) Q:BDMDA="" D
  1. . ;S BDMLABL=$P($G(^LAB(95.3,BDMDA,0)),U)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMDA_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. ICDO(BDMRET) ;-- get all icd operation and procedure codes
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMICDO,BDMICDD,BDMI,BDMERR,BDMIEN,BDMDA
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050ICDO^T00007IEN"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^ICD0(BDMDA)) Q:'BDMDA D
  1. . S BDMICD0=$P($G(^ICD0(BDMDA,0)),U)
  1. . S BDMICDD=$P($G(^ICD0(BDMDA,0)),U,4)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMICD0_"-"_BDMICDD_U_BDMDA_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. COM(BDMRET) ;-- get all communities
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMCOM,BDMCOMS,BDMI,BDMERR,BDMIEN,BDMDA
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050CLN^T00007IEN"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^AUTTCOM("B",BDMDA)) Q:BDMDA="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^AUTTCOM("B",BDMDA,BDMIEN)) Q:'BDMIEN D
  1. .. S BDMCOM=$P($G(^AUTTCOM(BDMIEN,0)),U)
  1. .. S BDMCOMS=$S($P($G(^AUTTCOM(BDMIEN,0)),U,3):$P($G(^DIC(5,$P($G(^AUTTCOM(BDMIEN,0)),U,3),0)),U,2),1:"")
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMCOM_"-"_BDMCOMS_U_BDMIEN_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. FILES(BDMRET) ;-- get all RPMS Files
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMFLS,BDMI,BDMERR,BDMIEN,BDMDA
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050FILENUMBER^T00050FILENAME"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^DIC(BDMDA)) Q:'BDMDA D
  1. . S BDMFLS=$P($G(^DIC(BDMDA,0)),U)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMDA_U_BDMFLS_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. GETTABLE(BDMRET,BDMSTR) ;-- get a table based upon file number and flds passed in
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMFLS,BDMI,BDMERR,BDMIEN,BDMDA,P,R
  1. S P="|",R="~"
  1. S BDMFN=$P(BDMSTR,P)
  1. S BDFLDN=$P(BDMSTR,P,2)
  1. S BDMXRF=$P(BDMSTR,P,3)
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050FILENUMBER^T00050FILENAME"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^DIC(BDMDA)) Q:'BDMDA D
  1. . S BDMFLS=$P($G(^DIC(BDMDA,0)),U)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMDA_U_BDMFLS_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. STMP(BDMRET) ;-- return the search template screen
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMFLS,BDMI,BDMERR,BDMIEN,BDMDA,P,R
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050SEARCHTEMPLATE"_$C(30)
  1. N BDMDA
  1. S BDMDA=0 F S BDMDA=$O(^DIBT("B",BDMDA)) Q:BDMDA="" D
  1. . N BDMIEN
  1. . S BDMIEN=0 F S BDMIEN=$O(^DIBT("B",BDMDA,BDMIEN)) Q:'BDMIEN D
  1. .. Q:'$D(^DIBT(BDMIEN,1))
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMDA_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. REGADO(BDMRET) ;-- return register to work with
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMDA,BDMC,BDMREG
  1. S BDMC=0
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S ^BDMTMP($J,BDMC)="T00030REGISTERNAME"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^ACM(41.1,"B",BDMDA)) Q:BDMDA="" D
  1. . Q:BDMDA'["DIAB"
  1. . S BDMRIEN=$O(^ACM(41.1,"B",BDMDA,0))
  1. . ;Q:'$D(^ACM(41.1,BDMRIEN,"AU","B",DUZ))
  1. . S BDMC=BDMC+1
  1. . S ^BDMTMP($J,BDMC)=BDMDA_$C(30)
  1. S ^BDMTMP($J,BDMC+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. REGADOAU(BDMRET) ;-- return register to work with
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMDA,BDMC,BDMREG
  1. S BDMC=0
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S ^BDMTMP($J,BDMC)="T00007BMXIEN^T00030REGISTER NAME"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^ACM(41.1,"B",BDMDA)) Q:BDMDA="" D
  1. . Q:BDMDA'["DIAB"
  1. . S BDMRIEN=$O(^ACM(41.1,"B",BDMDA,0))
  1. . Q:'$D(^ACM(41.1,BDMRIEN,"AU","B",DUZ))
  1. . S BDMC=BDMC+1
  1. . S ^BDMTMP($J,BDMC)=BDMRIEN_U_BDMDA_$C(30)
  1. S ^BDMTMP($J,BDMC+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. AU(BDMRET,BDMSTR) ;-- returns a list of Authorized Users
  1. N P,BDMDA,BDMREGE,BDMREG,BDMMKEY,BDMMGR,BDMI
  1. S P="|"
  1. S BDMI=0
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S ^BDMTMP($J,BDMI)="T00010BMXIEN^T00050User^T00001Manager Authority"_$C(30)
  1. S BDMREGE=$P(BDMSTR,P)
  1. S BDMREG=$O(^ACM(41.1,"B",BDMREGE,0))
  1. S BDMMKEY=$O(^DIC(19.1,"B","BDMZ REGISTER MAINTENANCE",0))
  1. S BDMDA=0 F S BDMDA=$O(^ACM(41.1,BDMREG,"AU",BDMDA)) Q:'BDMDA D
  1. . S BDMMGR=0
  1. . S BDMI=BDMI+1
  1. . I $D(^VA(200,BDMDA,51,"B",BDMMKEY)) S BDMMGR=1
  1. . S ^BDMTMP($J,BDMI)=BDMDA_U_$P($G(^VA(200,BDMDA,0)),U)_U_$S(BDMMGR:"Y",1:"N")_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. STMPS(BDMRET) ;-- return search template with screen
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMFLS,BDMI,BDMERR,BDMIEN,BDMDA,P,R
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050Search Template"_$C(30)
  1. N BDMDA
  1. S BDMDA=0 F S BDMDA=$O(^DIBT("B",BDMDA)) Q:BDMDA="" D
  1. . N BDMIEN
  1. . S BDMIEN=0 F S BDMIEN=$O(^DIBT("B",BDMDA,BDMIEN)) Q:'BDMIEN D
  1. .. N BDMOK
  1. .. S BDMOK=0
  1. .. I $P($G(^DIBT(BDMIEN,0)),U,4)=2 S BDMOK=1
  1. .. I $P($G(^DIBT(BDMIEN,0)),U,4)=9000001 S BDMOK=1
  1. .. Q:'BDMOK
  1. .. Q:'$D(^DIBT(BDMIEN,1))
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMDA_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. CMPI(BDMRET,BDMSTR) ;-- return complications with IEN
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMCMP,BDMI,BDMERR,BDMREGE,BDMREG,BDMIEN,BDMCMPE
  1. S BDMREGE=$P(BDMSTR,"|")
  1. S BDMREG=$O(^ACM(41.1,"B",BDMREGE,0))
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00010BMXIEN^T00060COMPLICATION"_$C(30)
  1. S BDMCMP=0 F S BDMCMP=$O(^ACM(42.1,"RG",BDMREG,BDMCMP)) Q:BDMCMP="" D
  1. . ;S BDMIEN=$O(^ACM(42.1,"RG",BDMREG,BDMCMP,0))
  1. . S BDMCMPE=$P($G(^ACM(42.1,BDMCMP,0)),U)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMCMP_U_BDMCMPE_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. DX(RETVAL,BDMSTR) ;-- get DX based on Search string
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N P,BDMI,BDMS,BDMTGT,BDMIDX
  1. K ^BDMTMP($J)
  1. S RETVAL="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S @RETVAL@(BDMI)="T00010BMXIEN^T00010DX^T00250Description"_$C(30)
  1. S P="|"
  1. K ^BDMTMPD($J)
  1. S BDMTGT="^BDMTMPD("_$J_")" ;target for find^dic lookup
  1. S BDMIDX=$P(BDMSTR,P,2)
  1. I BDMIDX]"" S BDMIDX=$TR(BDMIDX,"*","^")
  1. S BDMS=$P(BDMSTR,P)
  1. I BDMS="" D
  1. . D LIST^DIC(80,"",.01,"","","",BDMS,BDMIDX,"","",BDMTGT,"BDMERRR(1)")
  1. I BDMS]"" D
  1. . S X=BDMS X ^%ZOSF("UPPERCASE") S BDMS=Y ;cmi/maw 03/05/2014 p4 change all to uppercase
  1. . D FIND^DIC(80,"",.01,"",BDMS,"",BDMIDX,"","",BDMTGT,"BDMERRR(1)")
  1. S BDMDA=0 F S BDMDA=$O(@BDMTGT@("DILIST","ID",BDMDA)) Q:'BDMDA D
  1. . N BDMIEN,BDMBMX,BDMDESC,BDMDX
  1. . S BDMIEN=0 F S BDMIEN=$O(@BDMTGT@("DILIST","ID",BDMDA,BDMIEN)) Q:'BDMIEN D
  1. .. S BDMBMX=$G(@BDMTGT@("DILIST",2,BDMDA))
  1. .. S BDMDX=$G(@BDMTGT@("DILIST","ID",BDMDA,BDMIEN))
  1. .. I $D(^ICDS(0)) S BDMDX=$$ICDDX^ICDEX(BDMDX,DT)
  1. .. I '$D(^ICDS(0)) S BDMDX=$$ICDDX^ICDCODE(BDMDX,DT)
  1. .. S BDMDESC=""
  1. .. Q:'$G(BDMBMX)
  1. .. S BDMI=BDMI+1
  1. .. S @RETVAL@(BDMI)=BDMBMX_U_$P(BDMDX,U,2)_U_$P(BDMDX,U,4)_$C(30)
  1. S @RETVAL@(BDMI+1)=$C(31)
  1. Q
  1. Q
  1. ;