BDM20P9 ; IHS/CMI/LAB - BDM V2.0 patch 8 environment check ; 29 Sep 2014 12:22 PM
;;2.0;DIABETES MANAGEMENT SYSTEM;**9**;JUN 14, 2007;Build 78
;
;
; The following line prevents the "Disable Options..." and "Move
; Routines..." questions from being asked during the install.
I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
F X="XPO1","XPZ1","XPZ2","XPI1" S XPDDIQ(X)=0
I '$$INSTALLD("BDM*2.0*8") D SORRY(2)
;
Q
;
PRE ;
S BDMX=0 F S BDMX=$O(^BDMRECD(BDMX)) Q:BDMX'=+BDMX S DA=BDMX,DIK="^BDMRECD(" D ^DIK
S BDMX=0 F S BDMX=$O(^BDMDMTX(BDMX)) Q:BDMX'=+BDMX S DA=BDMX,DIK="^BDMDMTX(" D ^DIK
S BDMX=0 F S BDMX=$O(^BDMTAXS(BDMX)) Q:BDMX'=+BDMX S DA=BDMX,DIK="^BDMTAXS(" D ^DIK
S BDMX=0 F S BDMX=$O(^BDMSNME(BDMX)) Q:BDMX'=+BDMX S DA=BDMX,DIK="^BDMSMME(" D ^DIK
Q
POST ;
D ^BDMDDX
D BMXPO
;CREATE DM AUDIT ANTIPLT/ANTICOAG RX taxonomy, copy DM AUDIT ANTIPLATELET THERAPY
D MEDTAX
D TBHLTH
Q
;
INSTALLD(BDMSTAL) ;EP - Determine if patch BDMSTAL was installed, where
; APCLSTAL is the name of the INSTALL. E.g "AG*6.0*11".
;
NEW BDMY,DIC,X,Y
S X=$P(BDMSTAL,"*",1)
S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
D IX^DIC
I Y<1 D IMES Q 0
S DIC=DIC_+Y_",22,",X=$P(BDMSTAL,"*",2)
D ^DIC
I Y<1 D IMES Q 0
I $P(BDMSTAL,"*",3)="" D IMES Q 1
S DIC=DIC_+Y_",""PAH"",",X=$P(BDMSTAL,"*",3)
D ^DIC
S BDMY=Y
D IMES
Q $S(BDMY<1:0,1:1)
IMES ;
D MES^XPDUTL($$CJ^XLFSTR("Patch """_BDMSTAL_""" is"_$S(Y<1:" *NOT*",1:"")_" installed.",IOM))
Q
SORRY(X) ;
KILL DIFQ
I X=3 S XPDQUIT=2 Q
S XPDQUIT=X
W *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
Q
;
MEDTAX ;EP set up drug taxonomies
S ATXFLG=1
S BDMNDCT="",BDMTAX=""
S BDMX="DM AUDIT ANTIPLT/ANTICOAG RX",BDMPG="BDM,APCH,APCL" D DRUG1
NEW BDMN,BDMO
S BDMN=$O(^ATXAX("B","DM AUDIT ANTIPLT/ANTICOAG RX",0))
S BDMO=$O(^ATXAX("B","DM AUDIT ANTI-PLATELET DRUGS",0))
I 'BDMO!('BDMN) Q
M ^ATXAX(BDMN,21)=^ATXAX(BDMO,21)
S DA=BDMN,DIK="^ATXAX(" D IX1^DIK
Q
;
DRUG1 ;
S BDMTX=$O(^ATXAX("B",BDMX,0))
I 'BDMTX D Q:Y=-1
.D MES^XPDUTL("Creating "_BDMX_" taxonomy")
.S X=BDMX,DIC="^ATXAX(",DIC(0)="L",DIADD=1,DLAYGO=9002226 D ^DIC K DIC,DA,DIADD,DLAYGO,I
.I Y=-1 W !!,"ERROR IN CREATING ",BDMX," TAX" Q
.S BDMTX=+Y,$P(^ATXAX(BDMTX,0),U,2)=BDMX,$P(^(0),U,8)=0,$P(^(0),U,9)=DT,$P(^(0),U,12)=173,$P(^(0),U,13)=0,$P(^(0),U,15)=50,$P(^(0),U,22)=0,$P(^(0),U,4)="n",^ATXAX(BDMTX,21,0)="^9002226.02101A^0^0"
S DA=BDMTX,DIK="^ATXAX(" D IX1^DIK
D MES^XPDUTL("Updating "_BDMX_" taxonomy")
I $G(BDMTAX)]"" D
.S A=0,B="" F S A=$O(^ATXAX(BDMTX,21,A)) Q:A'=+A S B=A
.S BDMC=B
.S ^ATXAX(BDMTX,21,0)="^9002226.02101A^"_B_U_B
.S Z=$O(^ATXAX("B",BDMTAX,0))
.S J=0 F S J=$O(^PSDRUG(J)) Q:J'=+J S C=$P($G(^PSDRUG(J,0)),U,2) I C]"",$D(^ATXAX(Z,21,"B",C)) D
..Q:$D(^ATXAX(BDMTX,21,"B",J))
..S BDMC=BDMC+1,^ATXAX(BDMTX,21,BDMC,0)=J_U_J
I $G(BDMNDCT)]"" D
.S A=0,B="" F S A=$O(^ATXAX(BDMTX,21,A)) Q:A'=+A S B=A
.S BDMC=B
.S ^ATXAX(BDMTX,21,0)="^9002226.02101A^"_B_U_B
.S Z=$O(^ATXAX("B",BDMNDCT,0))
.S J=0 F S J=$O(^PSDRUG(J)) Q:J'=+J S C=$P($G(^PSDRUG(J,2)),U,4) I C]"",$D(^ATXAX(Z,21,"B",C)) D
..Q:$D(^ATXAX(BDMTX,21,"B",J))
..S BDMC=BDMC+1,^ATXAX(BDMTX,21,BDMC,0)=J_U_J
S DA=BDMTX,DIK="^ATXAX(" D IX1^DIK
Q
;
LABTAX ;EP
S BDMX="DM AUDIT 2 HR GTT TAX",BDMPG="BDM,APCL,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT 75GM 2HR GLUCOSE",BDMPG="BDM,APCL,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT A/C RATIO TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT AST TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT ALT TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT CHOLESTEROL TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT CREATININE TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT FASTING GLUCOSE TESTS",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT GLUCOSE TESTS TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT HDL TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT HGB A1C TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT LDL CHOLESTEROL TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT MICROALBUMINURIA TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT P/C RATIO TAX",BDMPG="BDM,APCL,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT TRIGLYCERIDE TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT URINALYSIS TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=1 D LAB1
S BDMX="DM AUDIT URINE PROTEIN TAX",BDMPG="BDM,APCL,BGP,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT SEMI QUANT UACR",BDMPG="BDM,APCL,APCH",BDMAP=0 D LAB1
S BDMX="DM AUDIT TB LAB TESTS",BDMPG="BDM",BDMAP=0 D LAB1
S BDMX="DM AUDIT 24HR URINE PROTEIN",BDMPG="BDM",BDMAP=0 D LAB1
S BDMX="DM AUDIT NON-HDL TESTS",BDMPG="BDM",BDMAP=0 D LAB1
S BDMX="DM AUDIT QUANT UACR",BDMPG="BDM",BDMAP=0 D LAB1
Q
;
BMXPO ;-- update the RPC file
N BDMRPC
S BDMRPC=$O(^DIC(19,"B","BDMGRPC",0))
Q:'BDMRPC
D CLEAN(BDMRPC)
D GUIEP^BMXPO(.RETVAL,BDMRPC_"|BDM")
D GUIEP^BMXPO(.RETVAL,BDMRPC_"|ATX")
Q
;
BMXSCH ;--add the search template schema
Q:$O(^BMXADO("B","CMI VIEW SORT TEMPLATE",0))
N FDA,FIENS,FERR
S FDA(90093.99,"+1,",.01)="CMI VIEW SORT TEMPLATE"
S FDA(90093.99,"+1,",.02)=.401
S FDA(90093.991,"+2,+1,",.01)=.01
S FDA(90093.991,"+2,+1,",.02)="T"
S FDA(90093.991,"+2,+1,",.03)=80
S FDA(90093.991,"+2,+1,",.04)="TEMPLATE"
D UPDATE^DIE("","FDA","FIENS","FERR(1)")
Q
;
CLEAN(APP) ;-- clean out the RPC multiple first
S DA(1)=APP
S DIK="^DIC(19,"_DA(1)_","_"""RPC"""_","
N AMHDA
S AMHDA=0 F S AMHDA=$O(^DIC(19,APP,"RPC",AMHDA)) Q:'AMHDA D
. S DA=AMHDA
. D ^DIK
K ^DIC(19,APP,"RPC","B")
Q
;
LAB1 ;
S BDMDC=$O(^ATXLAB("B",BDMX,0))
I BDMDC G UP41 ;taxonomy already exists
W !,"Creating ",BDMX," Taxonomy..."
S X=BDMX,DIC="^ATXLAB(",DIC(0)="L",DIADD=1,DLAYGO=9002228 D ^DIC K DIC,DA,DIADD,DLAYGO,I
I Y=-1 W !!,"ERROR IN CREATING ",BDMX," TAX" Q
S BDMDC=+Y,$P(^ATXLAB(BDMDC,0),U,2)=BDMX,$P(^(0),U,5)=DUZ,$P(^(0),U,6)=DT,$P(^(0),U,8)="B",$P(^(0),U,9)=60,$P(^(0),U,22)=0,$P(^(0),U,4)="n",$P(^(0),U,11)=BDMAP
S ^ATXLAB(BDMDC,21,0)="^9002228.02101PA^0^0"
S DA=BDMDC,DIK="^ATXAX(" D IX1^DIK
UP41 ;
F BDMI=1:1 S BDMPI=$P(BDMPG,",",BDMI) Q:BDMPI="" D
.S BDMPI=$O(^DIC(9.4,"C","BDM",0))
.Q:BDMPI="" ;NO PACKAGE
.Q:$D(^ATXLAB(BDMDC,41,"B",BDMPI))
.S X="`"_BDMPI,DIC="^ATXLAB("_BDMDC_",41,",DIC(0)="L",DIC("P")=$P(^DD(9002228,4101,0),U,2),DA(1)=BDMDC
.D ^DIC
.I Y=-1 W !,"updating package multiple for ",BDMPI," entry ",$P(^ATXAX(BDMDC,0),U)," failed"
.K DIC,DA,Y,X
Q
TBHLTH ;tb health factors taxonomy
S ATXFLG=1
W !,"Creating TB HF Taxonomy... "
S APCLDA=0 F S APCLDA=$O(^ATXAX("B","DM AUDIT TB HEALTH FACTORS",APCLDA)) Q:APCLDA="" I APCLDA S DA=APCLDA S DIK="^ATXAX(" D ^DIK K DA,DIK
S X="DM AUDIT TB HEALTH FACTORS",DIC="^ATXAX(",DIC(0)="L",DIADD=1,DLAYGO=9002226 D ^DIC K DIC,DIADD,DLAYGO,DA,DR,DO,D0
I Y=-1 W !!,"ERROR IN CREATING DM AUDIT TB HLTH FACTORS TAX" Q
S APCLTX=+Y,$P(^ATXAX(APCLTX,0),U,2)="TB TX STATUS HLTH FACTORS",$P(^(0),U,5)=DUZ,$P(^(0),U,8)=0,$P(^(0),U,9)=DT,$P(^(0),U,12)=78,$P(^(0),U,13)=0,$P(^(0),U,15)=9999999.64
S ^ATXAX(APCLTX,21,0)="^9002226.02101A^0^0"
S APCLTEXT="TBHF" F APCLX=1:1:10 S X=$P($T(@APCLTEXT+APCLX),";;",2),DIC="^AUTTHF(",DIC(0)="M" D ^DIC K DIC,DA,DR,DIADD,DLAYGO,DQ,DI,D1,D0 I $P(Y,U)>0 D
.S ^ATXAX(APCLTX,21,APCLX,0)=+Y,$P(^ATXAX(APCLTX,21,0),U,3)=APCLX,$P(^(0),U,4)=APCLX,^ATXAX(APCLTX,21,"AA",+Y,APCLX)=""
.Q
S DA=APCLTX,DIK="^ATXAX(" D IX1^DIK
Q
TBHF ;
;;TB - TX UNTREATED
;;TB - TX INCOMPLETE
;;TB - TX COMPLETE
;;TB - TX UNKNOWN
;;TB - TX IN PROGRESS
;;TX UNTREATED
;;TX INCOMPLETE
;;TX COMPLETE
;;TX UNKNOWN
;;TX IN PROGRESS
BDM20P9 ; IHS/CMI/LAB - BDM V2.0 patch 8 environment check ; 29 Sep 2014 12:22 PM
+1 ;;2.0;DIABETES MANAGEMENT SYSTEM;**9**;JUN 14, 2007;Build 78
+2 ;
+3 ;
+4 ; The following line prevents the "Disable Options..." and "Move
+5 ; Routines..." questions from being asked during the install.
+6 IF $GET(XPDENV)=1
SET (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
+7 FOR X="XPO1","XPZ1","XPZ2","XPI1"
SET XPDDIQ(X)=0
+8 IF '$$INSTALLD("BDM*2.0*8")
DO SORRY(2)
+9 ;
+10 QUIT
+11 ;
PRE ;
+1 SET BDMX=0
FOR
SET BDMX=$ORDER(^BDMRECD(BDMX))
IF BDMX'=+BDMX
QUIT
SET DA=BDMX
SET DIK="^BDMRECD("
DO ^DIK
+2 SET BDMX=0
FOR
SET BDMX=$ORDER(^BDMDMTX(BDMX))
IF BDMX'=+BDMX
QUIT
SET DA=BDMX
SET DIK="^BDMDMTX("
DO ^DIK
+3 SET BDMX=0
FOR
SET BDMX=$ORDER(^BDMTAXS(BDMX))
IF BDMX'=+BDMX
QUIT
SET DA=BDMX
SET DIK="^BDMTAXS("
DO ^DIK
+4 SET BDMX=0
FOR
SET BDMX=$ORDER(^BDMSNME(BDMX))
IF BDMX'=+BDMX
QUIT
SET DA=BDMX
SET DIK="^BDMSMME("
DO ^DIK
+5 QUIT
POST ;
+1 DO ^BDMDDX
+2 DO BMXPO
+3 ;CREATE DM AUDIT ANTIPLT/ANTICOAG RX taxonomy, copy DM AUDIT ANTIPLATELET THERAPY
+4 DO MEDTAX
+5 DO TBHLTH
+6 QUIT
+7 ;
INSTALLD(BDMSTAL) ;EP - Determine if patch BDMSTAL was installed, where
+1 ; APCLSTAL is the name of the INSTALL. E.g "AG*6.0*11".
+2 ;
+3 NEW BDMY,DIC,X,Y
+4 SET X=$PIECE(BDMSTAL,"*",1)
+5 SET DIC="^DIC(9.4,"
SET DIC(0)="FM"
SET D="C"
+6 DO IX^DIC
+7 IF Y<1
DO IMES
QUIT 0
+8 SET DIC=DIC_+Y_",22,"
SET X=$PIECE(BDMSTAL,"*",2)
+9 DO ^DIC
+10 IF Y<1
DO IMES
QUIT 0
+11 IF $PIECE(BDMSTAL,"*",3)=""
DO IMES
QUIT 1
+12 SET DIC=DIC_+Y_",""PAH"","
SET X=$PIECE(BDMSTAL,"*",3)
+13 DO ^DIC
+14 SET BDMY=Y
+15 DO IMES
+16 QUIT $SELECT(BDMY<1:0,1:1)
IMES ;
+1 DO MES^XPDUTL($$CJ^XLFSTR("Patch """_BDMSTAL_""" is"_$SELECT(Y<1:" *NOT*",1:"")_" installed.",IOM))
+2 QUIT
SORRY(X) ;
+1 KILL DIFQ
+2 IF X=3
SET XPDQUIT=2
QUIT
+3 SET XPDQUIT=X
+4 WRITE *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
+5 QUIT
+6 ;
MEDTAX ;EP set up drug taxonomies
+1 SET ATXFLG=1
+2 SET BDMNDCT=""
SET BDMTAX=""
+3 SET BDMX="DM AUDIT ANTIPLT/ANTICOAG RX"
SET BDMPG="BDM,APCH,APCL"
DO DRUG1
+4 NEW BDMN,BDMO
+5 SET BDMN=$ORDER(^ATXAX("B","DM AUDIT ANTIPLT/ANTICOAG RX",0))
+6 SET BDMO=$ORDER(^ATXAX("B","DM AUDIT ANTI-PLATELET DRUGS",0))
+7 IF 'BDMO!('BDMN)
QUIT
+8 MERGE ^ATXAX(BDMN,21)=^ATXAX(BDMO,21)
+9 SET DA=BDMN
SET DIK="^ATXAX("
DO IX1^DIK
+10 QUIT
+11 ;
DRUG1 ;
+1 SET BDMTX=$ORDER(^ATXAX("B",BDMX,0))
+2 IF 'BDMTX
Begin DoDot:1
+3 DO MES^XPDUTL("Creating "_BDMX_" taxonomy")
+4 SET X=BDMX
SET DIC="^ATXAX("
SET DIC(0)="L"
SET DIADD=1
SET DLAYGO=9002226
DO ^DIC
KILL DIC,DA,DIADD,DLAYGO,I
+5 IF Y=-1
WRITE !!,"ERROR IN CREATING ",BDMX," TAX"
QUIT
+6 SET BDMTX=+Y
SET $PIECE(^ATXAX(BDMTX,0),U,2)=BDMX
SET $PIECE(^(0),U,8)=0
SET $PIECE(^(0),U,9)=DT
SET $PIECE(^(0),U,12)=173
SET $PIECE(^(0),U,13)=0
SET $PIECE(^(0),U,15)=50
SET $PIECE(^(0),U,22)=0
SET $PIECE(^(0),U,4)="n"
SET ^ATXAX(BDMTX,21,0)="^9002226.02101A^0^0"
End DoDot:1
IF Y=-1
QUIT
+7 SET DA=BDMTX
SET DIK="^ATXAX("
DO IX1^DIK
+8 DO MES^XPDUTL("Updating "_BDMX_" taxonomy")
+9 IF $GET(BDMTAX)]""
Begin DoDot:1
+10 SET A=0
SET B=""
FOR
SET A=$ORDER(^ATXAX(BDMTX,21,A))
IF A'=+A
QUIT
SET B=A
+11 SET BDMC=B
+12 SET ^ATXAX(BDMTX,21,0)="^9002226.02101A^"_B_U_B
+13 SET Z=$ORDER(^ATXAX("B",BDMTAX,0))
+14 SET J=0
FOR
SET J=$ORDER(^PSDRUG(J))
IF J'=+J
QUIT
SET C=$PIECE($GET(^PSDRUG(J,0)),U,2)
IF C]""
IF $DATA(^ATXAX(Z,21,"B",C))
Begin DoDot:2
+15 IF $DATA(^ATXAX(BDMTX,21,"B",J))
QUIT
+16 SET BDMC=BDMC+1
SET ^ATXAX(BDMTX,21,BDMC,0)=J_U_J
End DoDot:2
End DoDot:1
+17 IF $GET(BDMNDCT)]""
Begin DoDot:1
+18 SET A=0
SET B=""
FOR
SET A=$ORDER(^ATXAX(BDMTX,21,A))
IF A'=+A
QUIT
SET B=A
+19 SET BDMC=B
+20 SET ^ATXAX(BDMTX,21,0)="^9002226.02101A^"_B_U_B
+21 SET Z=$ORDER(^ATXAX("B",BDMNDCT,0))
+22 SET J=0
FOR
SET J=$ORDER(^PSDRUG(J))
IF J'=+J
QUIT
SET C=$PIECE($GET(^PSDRUG(J,2)),U,4)
IF C]""
IF $DATA(^ATXAX(Z,21,"B",C))
Begin DoDot:2
+23 IF $DATA(^ATXAX(BDMTX,21,"B",J))
QUIT
+24 SET BDMC=BDMC+1
SET ^ATXAX(BDMTX,21,BDMC,0)=J_U_J
End DoDot:2
End DoDot:1
+25 SET DA=BDMTX
SET DIK="^ATXAX("
DO IX1^DIK
+26 QUIT
+27 ;
LABTAX ;EP
+1 SET BDMX="DM AUDIT 2 HR GTT TAX"
SET BDMPG="BDM,APCL,APCH"
SET BDMAP=0
DO LAB1
+2 SET BDMX="DM AUDIT 75GM 2HR GLUCOSE"
SET BDMPG="BDM,APCL,APCH"
SET BDMAP=0
DO LAB1
+3 SET BDMX="DM AUDIT A/C RATIO TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+4 SET BDMX="DM AUDIT AST TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+5 SET BDMX="DM AUDIT ALT TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+6 SET BDMX="DM AUDIT CHOLESTEROL TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+7 SET BDMX="DM AUDIT CREATININE TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+8 SET BDMX="DM AUDIT FASTING GLUCOSE TESTS"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+9 SET BDMX="DM AUDIT GLUCOSE TESTS TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+10 SET BDMX="DM AUDIT HDL TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+11 SET BDMX="DM AUDIT HGB A1C TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+12 SET BDMX="DM AUDIT LDL CHOLESTEROL TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+13 SET BDMX="DM AUDIT MICROALBUMINURIA TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+14 SET BDMX="DM AUDIT P/C RATIO TAX"
SET BDMPG="BDM,APCL,APCH"
SET BDMAP=0
DO LAB1
+15 SET BDMX="DM AUDIT TRIGLYCERIDE TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+16 SET BDMX="DM AUDIT URINALYSIS TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=1
DO LAB1
+17 SET BDMX="DM AUDIT URINE PROTEIN TAX"
SET BDMPG="BDM,APCL,BGP,APCH"
SET BDMAP=0
DO LAB1
+18 SET BDMX="DM AUDIT SEMI QUANT UACR"
SET BDMPG="BDM,APCL,APCH"
SET BDMAP=0
DO LAB1
+19 SET BDMX="DM AUDIT TB LAB TESTS"
SET BDMPG="BDM"
SET BDMAP=0
DO LAB1
+20 SET BDMX="DM AUDIT 24HR URINE PROTEIN"
SET BDMPG="BDM"
SET BDMAP=0
DO LAB1
+21 SET BDMX="DM AUDIT NON-HDL TESTS"
SET BDMPG="BDM"
SET BDMAP=0
DO LAB1
+22 SET BDMX="DM AUDIT QUANT UACR"
SET BDMPG="BDM"
SET BDMAP=0
DO LAB1
+23 QUIT
+24 ;
BMXPO ;-- update the RPC file
+1 NEW BDMRPC
+2 SET BDMRPC=$ORDER(^DIC(19,"B","BDMGRPC",0))
+3 IF 'BDMRPC
QUIT
+4 DO CLEAN(BDMRPC)
+5 DO GUIEP^BMXPO(.RETVAL,BDMRPC_"|BDM")
+6 DO GUIEP^BMXPO(.RETVAL,BDMRPC_"|ATX")
+7 QUIT
+8 ;
BMXSCH ;--add the search template schema
+1 IF $ORDER(^BMXADO("B","CMI VIEW SORT TEMPLATE",0))
QUIT
+2 NEW FDA,FIENS,FERR
+3 SET FDA(90093.99,"+1,",.01)="CMI VIEW SORT TEMPLATE"
+4 SET FDA(90093.99,"+1,",.02)=.401
+5 SET FDA(90093.991,"+2,+1,",.01)=.01
+6 SET FDA(90093.991,"+2,+1,",.02)="T"
+7 SET FDA(90093.991,"+2,+1,",.03)=80
+8 SET FDA(90093.991,"+2,+1,",.04)="TEMPLATE"
+9 DO UPDATE^DIE("","FDA","FIENS","FERR(1)")
+10 QUIT
+11 ;
CLEAN(APP) ;-- clean out the RPC multiple first
+1 SET DA(1)=APP
+2 SET DIK="^DIC(19,"_DA(1)_","_"""RPC"""_","
+3 NEW AMHDA
+4 SET AMHDA=0
FOR
SET AMHDA=$ORDER(^DIC(19,APP,"RPC",AMHDA))
IF 'AMHDA
QUIT
Begin DoDot:1
+5 SET DA=AMHDA
+6 DO ^DIK
End DoDot:1
+7 KILL ^DIC(19,APP,"RPC","B")
+8 QUIT
+9 ;
LAB1 ;
+1 SET BDMDC=$ORDER(^ATXLAB("B",BDMX,0))
+2 ;taxonomy already exists
IF BDMDC
GOTO UP41
+3 WRITE !,"Creating ",BDMX," Taxonomy..."
+4 SET X=BDMX
SET DIC="^ATXLAB("
SET DIC(0)="L"
SET DIADD=1
SET DLAYGO=9002228
DO ^DIC
KILL DIC,DA,DIADD,DLAYGO,I
+5 IF Y=-1
WRITE !!,"ERROR IN CREATING ",BDMX," TAX"
QUIT
+6 SET BDMDC=+Y
SET $PIECE(^ATXLAB(BDMDC,0),U,2)=BDMX
SET $PIECE(^(0),U,5)=DUZ
SET $PIECE(^(0),U,6)=DT
SET $PIECE(^(0),U,8)="B"
SET $PIECE(^(0),U,9)=60
SET $PIECE(^(0),U,22)=0
SET $PIECE(^(0),U,4)="n"
SET $PIECE(^(0),U,11)=BDMAP
+7 SET ^ATXLAB(BDMDC,21,0)="^9002228.02101PA^0^0"
+8 SET DA=BDMDC
SET DIK="^ATXAX("
DO IX1^DIK
UP41 ;
+1 FOR BDMI=1:1
SET BDMPI=$PIECE(BDMPG,",",BDMI)
IF BDMPI=""
QUIT
Begin DoDot:1
+2 SET BDMPI=$ORDER(^DIC(9.4,"C","BDM",0))
+3 ;NO PACKAGE
IF BDMPI=""
QUIT
+4 IF $DATA(^ATXLAB(BDMDC,41,"B",BDMPI))
QUIT
+5 SET X="`"_BDMPI
SET DIC="^ATXLAB("_BDMDC_",41,"
SET DIC(0)="L"
SET DIC("P")=$PIECE(^DD(9002228,4101,0),U,2)
SET DA(1)=BDMDC
+6 DO ^DIC
+7 IF Y=-1
WRITE !,"updating package multiple for ",BDMPI," entry ",$PIECE(^ATXAX(BDMDC,0),U)," failed"
+8 KILL DIC,DA,Y,X
End DoDot:1
+9 QUIT
TBHLTH ;tb health factors taxonomy
+1 SET ATXFLG=1
+2 WRITE !,"Creating TB HF Taxonomy... "
+3 SET APCLDA=0
FOR
SET APCLDA=$ORDER(^ATXAX("B","DM AUDIT TB HEALTH FACTORS",APCLDA))
IF APCLDA=""
QUIT
IF APCLDA
SET DA=APCLDA
SET DIK="^ATXAX("
DO ^DIK
KILL DA,DIK
+4 SET X="DM AUDIT TB HEALTH FACTORS"
SET DIC="^ATXAX("
SET DIC(0)="L"
SET DIADD=1
SET DLAYGO=9002226
DO ^DIC
KILL DIC,DIADD,DLAYGO,DA,DR,DO,D0
+5 IF Y=-1
WRITE !!,"ERROR IN CREATING DM AUDIT TB HLTH FACTORS TAX"
QUIT
+6 SET APCLTX=+Y
SET $PIECE(^ATXAX(APCLTX,0),U,2)="TB TX STATUS HLTH FACTORS"
SET $PIECE(^(0),U,5)=DUZ
SET $PIECE(^(0),U,8)=0
SET $PIECE(^(0),U,9)=DT
SET $PIECE(^(0),U,12)=78
SET $PIECE(^(0),U,13)=0
SET $PIECE(^(0),U,15)=9999999.64
+7 SET ^ATXAX(APCLTX,21,0)="^9002226.02101A^0^0"
+8 SET APCLTEXT="TBHF"
FOR APCLX=1:1:10
SET X=$PIECE($TEXT(@APCLTEXT+APCLX),";;",2)
SET DIC="^AUTTHF("
SET DIC(0)="M"
DO ^DIC
KILL DIC,DA,DR,DIADD,DLAYGO,DQ,DI,D1,D0
IF $PIECE(Y,U)>0
Begin DoDot:1
+9 SET ^ATXAX(APCLTX,21,APCLX,0)=+Y
SET $PIECE(^ATXAX(APCLTX,21,0),U,3)=APCLX
SET $PIECE(^(0),U,4)=APCLX
SET ^ATXAX(APCLTX,21,"AA",+Y,APCLX)=""
+10 QUIT
End DoDot:1
+11 SET DA=APCLTX
SET DIK="^ATXAX("
DO IX1^DIK
+12 QUIT
TBHF ;
+1 ;;TB - TX UNTREATED
+2 ;;TB - TX INCOMPLETE
+3 ;;TB - TX COMPLETE
+4 ;;TB - TX UNKNOWN
+5 ;;TB - TX IN PROGRESS
+6 ;;TX UNTREATED
+7 ;;TX INCOMPLETE
+8 ;;TX COMPLETE
+9 ;;TX UNKNOWN
+10 ;;TX IN PROGRESS