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

BDMGT.m

Go to the documentation of this file.
  1. BDMGT ; IHS/CMI/LAB - BDM DMS GUI Table Lookup ; 16 Apr 2010 8:30 AM
  1. ;;2.0;BDM DIABETES MANAGEMENT SYSTEM;**1,2,3,4,8**;JUN 14, 2007;Build 53
  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. LOCA(BDMRET) ;-- get all locations
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMLOC,BDMI,BDMERR,BDMLOCE,BDMASU,BDMIEN
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00060LOCATIONS"_$C(30)
  1. S BDMLOC=0 F S BDMLOC=$O(^AUTTLOC("C",BDMLOC)) Q:BDMLOC="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^AUTTLOC("C",BDMLOC,BDMIEN)) Q:'BDMIEN D
  1. .. S BDMI=BDMI+1
  1. .. S BDMASU=BDMLOC
  1. .. S BDMLOCE=$P($G(^DIC(4,BDMIEN,0)),U)
  1. .. S ^BDMTMP($J,BDMI)=BDMASU_"-"_BDMLOCE_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. USRA(BDMRET) ;-- get all Users
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMUSR,BDMI,BDMERR
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00060USER"_$C(30)
  1. S BDMUSR=0 F S BDMUSR=$O(^VA(200,"B",BDMUSR)) Q:BDMUSR="" D
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMUSR_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. GETKEYS(BDMRET,BDMSTR) ;-- return keys by DUZ
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMDA,BDMNS,P,BDMDATA,BDMKEYI,BDMKEY,BDMI
  1. S BDMI=0
  1. S P="|"
  1. S BDMNS=$P(BDMSTR,P)
  1. S BDMDA=0 F S BDMDA=$O(^VA(200,DUZ,51,BDMDA)) Q:'BDMDA D
  1. . S BDMDATA=$G(^VA(200,DUZ,51,BDMDA,0))
  1. . S BDMKEYI=$P(BDMDATA,U)
  1. . S BDMKEY=$P($G(^DIC(19.1,BDMKEYI,0)),U)
  1. . I BDMNS'="*" Q:$E(BDMKEY,1,4)'[BDMNS
  1. . S BDMI=BDMI+1
  1. . S $P(BDMRET,"|",BDMI)=BDMKEY
  1. S BDMRET=BDMI_"|"_BDMRET
  1. Q
  1. ;
  1. CMP(BDMRET,BDMSTR) ;-- return complications
  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)="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)=BDMCMPE_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. CMPDX(BDMRET,BDMSTR) ;-- return complications diagnosis
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMCMP,BDMI,BDMERR,BDMREGE,BDMREG,BDMIEN,BDMCMPE,P,BDMCMP
  1. S P="|"
  1. S BDMREG=$P(BDMSTR,P)
  1. S BDMCMPE=$P(BDMSTR,P,2)
  1. S BDMCMP=$O(^ACM(42.1,"B",BDMCMPE,0))
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00007BMXIEN^T00060DIAGNOSIS"_$C(30)
  1. N BDMDX
  1. S BDMDX=0 F S BDMDX=$O(^ACM(42.1,BDMCMP,11,BDMDX)) Q:'BDMDX D
  1. . N BDMDXI,BDMDXE
  1. . S BDMDXI=$P($G(^ACM(42.1,BDMCMP,11,BDMDX,0)),U)
  1. . S BDMDXE=$P($G(^ICD9(BDMDXI,0)),U)
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMDXI_U_BDMDXE_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. ST(BDMRET,BDMSTR) ;-- return complications status
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMST,BDMI,BDMERR
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00060STATUS"_$C(30)
  1. S BDMST=0 F S BDMST=$O(^ACM(42.3,"B",BDMST)) Q:BDMST="" D
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMST_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. HS(BDMRET) ;-- get all health summary types
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHS,BDMI,BDMERR,BDMHSE
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00060HEALTHSUMMARY"_$C(30)
  1. S BDMHS=0 F S BDMHS=$O(^APCHSCTL("B",BDMHS)) Q:BDMHS="" D
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMHS_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. FLOW(BDMRET) ;-- get all flow sheet types
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHS,BDMI,BDMERR,BDMHSE
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00060FLOWSHEET"_$C(30)
  1. S BDMHS=0 F S BDMHS=$O(^APCHSFLC("B",BDMHS)) Q:BDMHS="" D
  1. . S BDMI=BDMI+1
  1. . S ^BDMTMP($J,BDMI)=BDMHS_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. LET(BDMRET) ;-- get all letter types
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHS,BDMI,BDMERR,BDMHSE
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00007BMXIEN^T00060Letters^T00050Letter Directory^T00030Letter File"_$C(30)
  1. S BDMHS=0 F S BDMHS=$O(^BDMLET("B",BDMHS)) Q:BDMHS="" D
  1. . N BDMIEN
  1. . S BDMIEN=0 F S BDMIEN=$O(^BDMLET("B",BDMHS,BDMIEN)) Q:'BDMIEN D
  1. .. N BDMDIR,BDMFN,BDMDATA
  1. .. S BDMI=BDMI+1
  1. .. S BDMDATA=$G(^BDMLET(BDMIEN,0))
  1. .. S BDMDIR=$P(BDMDATA,U,4)
  1. .. S BDMFN=$P(BDMDATA,U,5)
  1. .. Q:BDMFN="" ;don't display letters without a word document
  1. .. S ^BDMTMP($J,BDMI)=BDMIEN_U_BDMHS_U_BDMDIR_U_BDMFN_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. EDU(BDMRET) ;-- get all education topics
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMEDU,BDMI,BDMERR,BDMIEN
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050EDUCATIONTOPICS"_$C(30)
  1. S BDMEDU=0 F S BDMEDU=$O(^AUTTEDT("B",BDMEDU)) Q:BDMEDU="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^AUTTEDT("B",BDMEDU,BDMIEN)) Q:'BDMIEN D
  1. .. Q:$P($G(^AUTTEDT(BDMIEN,0)),U,3) ;inactive
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMEDU_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. DEDU(BDMRET) ;-- get all diabetes education topics
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMEDU,BDMI,BDMERR,BDMIEN
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00050EDUCATIONTOPICS"_$C(30)
  1. S BDMEDU=0 F S BDMEDU=$O(^AUTTEDT("B",BDMEDU)) Q:BDMEDU="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^AUTTEDT("B",BDMEDU,BDMIEN)) Q:'BDMIEN D
  1. .. Q:$P($G(^AUTTEDT(BDMIEN,0)),U,3) ;inactive
  1. .. ;Q:$E($P($G(^AUTTEDT(BDMIEN,0)),U),1,2)'="DM"
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMEDU_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. ICD(BDMRET) ;-- get all POV's
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMPOV,BDMI,BDMERR,BDMPOVE,BDMPOVD,BDMPIEN
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00100POVS"_$C(30)
  1. S BDMPOV="" F S BDMPOV=$O(^ICD9("AB",BDMPOV)) Q:BDMPOV="" D
  1. . S BDMPIEN=0 F S BDMPIEN=$O(^ICD9("AB",BDMPOV,BDMPIEN)) Q:'BDMPIEN D
  1. .. Q:$E(BDMPOV,1,1)="["
  1. .. Q:BDMPOV="delete"
  1. .. S BDMPOVE=$P($G(^ICD9(BDMPIEN,0)),U)
  1. .. Q:$P($G(^ICD9(BDMPIEN,0)),U,9) ;inactive
  1. .. S BDMI=BDMI+1
  1. .. S BDMPOVD=$P($G(^ICD9(BDMPIEN,0)),U,3)
  1. .. S ^BDMTMP($J,BDMI)=BDMPOVE_"-"_BDMPOVD_$C(30)
  1. .. ;S ^BDMTMP($J,BDMI)=BDMPOVE_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. LAB(BDMRET) ;-- get all lab tests
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMLAB,BDMI,BDMERR
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080LAB"_$C(30) ;^T00001Panel"_$C(30)
  1. S BDMLAB=0 F S BDMLAB=$O(^LAB(60,"B",BDMLAB)) Q:BDMLAB="" D
  1. . N BDMIEN,BDMPAN
  1. . S BDMPAN=""
  1. . S BDMIEN=0 F S BDMIEN=$O(^LAB(60,"B",BDMLAB,BDMIEN)) Q:'BDMIEN D
  1. .. Q:$G(^LAB(60,"B",BDMLAB,BDMIEN))
  1. .. I $O(^LAB(60,BDMIEN,2,0)) S BDMPAN=1
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMLAB_$C(30) ;_U_BDMPAN_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. HF(BDMRET) ;-- health factors table
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHF,BDMI,BDMERR,BDMDA,BDMTB,BDMIEN
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080HF"_$C(30)
  1. S BDMDA=0 F S BDMDA=$O(^AUTTHF("B",BDMDA)) Q:BDMDA="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^AUTTHF("B",BDMDA,BDMIEN)) Q:'BDMIEN D
  1. .. Q:$P($G(^AUTTHF(BDMIEN,0)),U,13)
  1. .. Q:$P($G(^AUTTHF(BDMIEN,0)),U,10)'="F"
  1. .. S BDMHF=$P($G(^AUTTHF(BDMIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMHF_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. TB(BDMRET) ;-- tb health factors table
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHF,BDMI,BDMERR,BDMPIEN,BDMDA,BDMTB
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080HF"_$C(30)
  1. S BDMTB=$O(^AUTTHF("B","TB STATUS",0))
  1. S BDMDA=0 F S BDMDA=$O(^AUTTHF("AC",BDMDA)) Q:BDMDA="" D
  1. . S BDMPIEN=0 F S BDMPIEN=$O(^AUTTHF("AC",BDMDA,BDMPIEN)) Q:'BDMPIEN D
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,13)
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,3)'=BDMTB
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,10)'="F"
  1. .. S BDMHF=$P($G(^AUTTHF(BDMPIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMHF_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. TU(BDMRET) ;-- tobacco use health factors table
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHF,BDMI,BDMERR,BDMPIEN,BDMDA,BDMTU,BDMTOB
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080HF"_$C(30)
  1. N TDA,TIEN
  1. S TDA=0 F S TDA=$O(^AUTTHF("B",TDA)) Q:TDA="" D
  1. . Q:$E(TDA,1,7)'="TOBACCO"
  1. . S TIEN=0 F S TIEN=$O(^AUTTHF("B",TDA,TIEN)) Q:'TIEN D
  1. .. S BDMTOB(TIEN)=""
  1. S BDMDA=0 F S BDMDA=$O(^AUTTHF("AC",BDMDA)) Q:BDMDA="" D
  1. . S BDMPIEN=0 F S BDMPIEN=$O(^AUTTHF("AC",BDMDA,BDMPIEN)) Q:'BDMPIEN D
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,13)
  1. .. S BDMTU=$P($G(^AUTTHF(BDMPIEN,0)),U,3)
  1. .. Q:'$D(BDMTOB(BDMTU))
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,10)'="F"
  1. .. S BDMHF=$P($G(^AUTTHF(BDMPIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMHF_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. GLU(BDMRET) ;-- glucose health factors table
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHF,BDMI,BDMERR,BDMPIEN,BDMDA,BDMGLU
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080HF"_$C(30)
  1. S BDMGLU=$O(^AUTTHF("B","DIABETES SELF MONITORING",0))
  1. S BDMDA=0 F S BDMDA=$O(^AUTTHF("AC",BDMDA)) Q:BDMDA="" D
  1. . S BDMPIEN=0 F S BDMPIEN=$O(^AUTTHF("AC",BDMDA,BDMPIEN)) Q:'BDMPIEN D
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,13)
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,3)'=BDMGLU
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,10)'="F"
  1. .. S BDMHF=$P($G(^AUTTHF(BDMPIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMHF_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. BAR(BDMRET) ;-- barriers health factors table
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHF,BDMI,BDMERR,BDMPIEN,BDMDA,BDMBAR
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080HF"_$C(30)
  1. S BDMBAR=$O(^AUTTHF("B","BARRIERS TO LEARNING",0))
  1. S BDMDA=0 F S BDMDA=$O(^AUTTHF("AC",BDMDA)) Q:BDMDA="" D
  1. . S BDMPIEN=0 F S BDMPIEN=$O(^AUTTHF("AC",BDMDA,BDMPIEN)) Q:'BDMPIEN D
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,13)
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,3)'=BDMBAR
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,10)'="F"
  1. .. S BDMHF=$P($G(^AUTTHF(BDMPIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMHF_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. READ(BDMRET) ;-- readiness use health factors table
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHF,BDMI,BDMERR,BDMPIEN,BDMDA,BDMR
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080HF"_$C(30)
  1. S BDMR=$O(^AUTTHF("B","READINESS TO LEARN",0))
  1. S BDMDA=0 F S BDMDA=$O(^AUTTHF("AC",BDMDA)) Q:BDMDA="" D
  1. . S BDMPIEN=0 F S BDMPIEN=$O(^AUTTHF("AC",BDMDA,BDMPIEN)) Q:'BDMPIEN D
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,13)
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,3)'=BDMR
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,10)'="F"
  1. .. S BDMHF=$P($G(^AUTTHF(BDMPIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMHF_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. LRN(BDMRET) ;-- learning health factors table
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMHF,BDMI,BDMERR,BDMPIEN,BDMDA,BDML
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080HF"_$C(30)
  1. S BDML=$O(^AUTTHF("B","LEARNING PREFERENCE",0))
  1. S BDMDA=0 F S BDMDA=$O(^AUTTHF("AC",BDMDA)) Q:BDMDA="" D
  1. . S BDMPIEN=0 F S BDMPIEN=$O(^AUTTHF("AC",BDMDA,BDMPIEN)) Q:'BDMPIEN D
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,13)
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,3)'=BDML
  1. .. Q:$P($G(^AUTTHF(BDMPIEN,0)),U,10)'="F"
  1. .. S BDMHF=$P($G(^AUTTHF(BDMPIEN,0)),U)
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMHF_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;
  1. MED(BDMRET) ;-- get all drugs
  1. S X="MERR^BDMGU",@^%ZOSF("TRAP") ; m error trap
  1. N BDMMED,BDMI,BDMERR,BDMIEN
  1. K ^BDMTMP($J)
  1. S BDMRET="^BDMTMP("_$J_")"
  1. S BDMI=0
  1. S BDMERR=""
  1. S ^BDMTMP($J,BDMI)="T00080MED"_$C(30)
  1. S BDMMED=0 F S BDMMED=$O(^PSDRUG("B",BDMMED)) Q:BDMMED="" D
  1. . S BDMIEN=0 F S BDMIEN=$O(^PSDRUG("B",BDMMED,BDMIEN)) Q:'BDMIEN D
  1. .. ;Q:$G(^PSDRUG(BDMIEN,"I"))
  1. .. S BDMI=BDMI+1
  1. .. S ^BDMTMP($J,BDMI)=BDMMED_$C(30)
  1. S ^BDMTMP($J,BDMI+1)=$C(31)_$G(BDMERR)
  1. Q
  1. ;