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

BGP8P181.m

Go to the documentation of this file.
  1. BGP8P181 ; IHS/CMI/LAB - V18.1 PATCH 1 POST INIT
  1. ;;18.1;IHS CLINICAL REPORTING;**1**;MAY 25, 2018;Build 65
  1. ;
  1. ;
  1. ;SEND OUT BGP TAXONOMIES
  1. ; The following line prevents the "Disable Options..." and "Move
  1. ; Routines..." questions from being asked during the install.
  1. I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
  1. F X="XPO1","XPZ1","XPZ2","XPI1" S XPDDIQ(X)=0
  1. ;I '$$INSTALLD("BGP*18.0*1") D MES^XPDUTL($$CJ^XLFSTR("CRS v18.0 patch 1 is required. Not installed.",80)) D SORRY(2)
  1. I +$$VERSION^XPDUTL("BGP")<18.1 D MES^XPDUTL($$CJ^XLFSTR("Version 18.1 of the IHS CLINICAL REPORTING is required. Not installed.",80)) D SORRY(2) I 1
  1. Q
  1. ;
  1. PRE ;EP
  1. Q
  1. POST ;EP - called from kids build
  1. D DRUGS^BGP8POS1
  1. D LAB^BGP8POS1
  1. D RXNORM
  1. D S17
  1. T ;OOO OPTIONS
  1. D OOO
  1. Q
  1. OOO ;
  1. S BGPN="BGP 02" F S BGPN=$O(^DIC(19,"B",BGPN)) Q:BGPN]"BGP 13Z"!(BGPN="") D
  1. .S DA=$O(^DIC(19,"B",BGPN,0))
  1. .S DIE="^DIC(19,"
  1. .S DR="2///NO LONGER AVAILABLE"
  1. .D ^DIE K DA,DR,DIE
  1. .Q
  1. Q
  1. S17 ;WIPE OUT ALL 18.0 FILES SO START CLEAN WITH 18.1 FILES
  1. S BGPX=0 F S BGPX=$O(^BGPGPDCR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPGPDCR(" D ^DIK
  1. S BGPX=0 F S BGPX=$O(^BGPGPDPR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPGPDPR(" D ^DIK
  1. S BGPX=0 F S BGPX=$O(^BGPGPDBR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPGPDBR(" D ^DIK
  1. S BGPX=0 F S BGPX=$O(^BGPEDLCR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPEDLCR(" D ^DIK
  1. S BGPX=0 F S BGPX=$O(^BGPEDLPR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPEDLPR(" D ^DIK
  1. S BGPX=0 F S BGPX=$O(^BGPEDLBR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPEDLBR(" D ^DIK
  1. S BGPX=0 F S BGPX=$O(^BGPPEDCR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPPEDCR(" D ^DIK
  1. S BGPX=0 F S BGPX=$O(^BGPPEDPR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPPEDPR(" D ^DIK
  1. S BGPX=0 F S BGPX=$O(^BGPPEDBR(BGPX)) Q:BGPX'=+BGPX D
  1. .S DA=BGPX,DIK="^BGPPEDBR(" D ^DIK
  1. Q
  1. BMXPO ;-- update the RPC file
  1. N BGPRPC
  1. S BGPRPC=$O(^DIC(19,"B","BGPGRPC",0))
  1. Q:'BGPRPC
  1. D CLEAN(BGPRPC)
  1. D GUIEP^BMXPO(.RETVAL,BGPRPC_"|BGP")
  1. D GUIEP^BMXPO(.RETVAL,BGPRPC_"|ATX")
  1. Q
  1. CLEAN(APP) ;-- clean out the RPC multiple first
  1. S DA(1)=APP
  1. S DIK="^DIC(19,"_DA(1)_","_"""RPC"""_","
  1. N BGPDA
  1. S BGPDA=0 F S BGPDA=$O(^DIC(19,APP,"RPC",BGPDA)) Q:'BGPDA D
  1. . S DA=BGPDA
  1. . D ^DIK
  1. K ^DIC(19,APP,"RPC","B")
  1. Q
  1. ;
  1. INSTALLD(BGPSTAL) ;EP - Determine if patch BGPSTAL was installed, where
  1. ; BGPSTAL is the name of the INSTALL. E.g "AG*6.0*11".
  1. ;
  1. NEW BGPY,DIC,X,Y
  1. S X=$P(BGPSTAL,"*",1)
  1. S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
  1. D IX^DIC
  1. I Y<1 D IMES Q 0
  1. S DIC=DIC_+Y_",22,",X=$P(BGPSTAL,"*",2)
  1. D ^DIC
  1. I Y<1 D IMES Q 0
  1. S DIC=DIC_+Y_",""PAH"",",X=$P(BGPSTAL,"*",3)
  1. D ^DIC
  1. S BGPY=Y
  1. D IMES
  1. Q $S(BGPY<1:0,1:1)
  1. IMES ;
  1. D MES^XPDUTL($$CJ^XLFSTR("Patch """_BGPSTAL_""" is"_$S(Y<1:" *NOT*",1:"")_" installed.",IOM))
  1. Q
  1. SORRY(X) ;
  1. KILL DIFQ
  1. I X=3 S XPDQUIT=2 Q
  1. S XPDQUIT=X
  1. W *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
  1. Q
  1. ADA ;
  1. S ATXFLG=1
  1. S BGPDA=0 S BGPDA=$O(^ATXAX("B","BGP IPC BMI ADA CODES",BGPDA))
  1. I BGPDA S DIK="^ATXAX(",DA=BGPDA D ^DIK ;get rid of existing one
  1. W !,"Creating/Updating BGP IPC BMI ADA Codes Taxonomy..."
  1. S X="BGP IPC BMI ADA CODES",DIC="^ATXAX(",DIC(0)="L",DIADD=1,DLAYGO=9002226 D ^DIC K DIC,DA,DIADD,DLAYGO,I
  1. I Y=-1 W !!,"ERROR IN CREATING BGP IPC BMI ADA CODES TAX" Q
  1. S BGPTX=+Y,$P(^ATXAX(BGPTX,0),U,2)="BGP IPC BMI ADA CODES",$P(^(0),U,5)=DUZ,$P(^(0),U,8)=0,$P(^(0),U,9)=DT,$P(^(0),U,12)=174,$P(^(0),U,13)=0,$P(^(0),U,15)=9999999.31,^ATXAX(BGPTX,21,0)="^9002226.02101A^0^0"
  1. S BGPX=0
  1. F X="7140","7210" S DIC="^AUTTADA(",DIC(0)="M" D ^DIC K DIC,DA,DR,DIADD,DLAYGO,DQ,DI,D1,D0 I $P(Y,U)>0 D
  1. .S BGPX=BGPX+1
  1. .S ^ATXAX(BGPTX,21,BGPX,0)=+Y,$P(^ATXAX(BGPTX,21,0),U,3)=BGPX,$P(^(0),U,4)=BGPX,^ATXAX(BGPTX,21,"AA",+Y,BGPX)=""
  1. .Q
  1. S DA=BGPTX,DIK="^ATXAX(" D IX1^DIK
  1. Q
  1. RXNORM ;
  1. S ATXFLG=1
  1. S BGPX="BGP IPC DEPRESSION MEDS",BGPRXN="BGP IPC DEPRESSION RXNORM" D RXNORM1
  1. S BGPX="BGP IPC ABOVE NORMAL MEDS",BGPRXN="BGP IPC ABOVE NORMAL RXNORM" D RXNORM1
  1. S BGPX="BGP IPC BELOW NORMAL MEDS",BGPRXN="BGP IPC BELOW NORMAL RXNORM" D RXNORM1
  1. Q
  1. RXNORM1 ;
  1. W !,BGPRXN
  1. W !,"Creating ",BGPX," Taxonomy..."
  1. S BGPTX=$O(^ATXAX("B",BGPX,0))
  1. I 'BGPTX D Q:Y=-1
  1. .S X=BGPX,DIC="^ATXAX(",DIC(0)="L",DIADD=1,DLAYGO=9002226 D ^DIC K DIC,DA,DIADD,DLAYGO,I
  1. .I Y=-1 W !!,"ERROR IN CREATING ",BGPX," TAX" Q
  1. .S BGPTX=+Y,$P(^ATXAX(BGPTX,0),U,2)=BGPX,$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,^ATXAX(BGPTX,21,0)="^9002226.02101A^0^0"
  1. S DA=BGPTX,DIK="^ATXAX(" D IX1^DIK
  1. I $G(BGPRXN)]"" D
  1. .S A=0,B="" F S A=$O(^ATXAX(BGPTX,21,A)) Q:A'=+A S B=A
  1. .S BGPC=B
  1. .S ^ATXAX(BGPTX,21,0)="^9002226.02101A^"_B_U_B
  1. .S Z=$O(^BGPSNOMR("B",BGPRXN,0))
  1. .S J=0 F S J=$O(^PSDRUG(J)) Q:J'=+J S C=$$VAL^XBDIQ1(50,J,9999999.27) I C]"",$D(^BGPSNOMR(Z,11,"B",C)) D
  1. ..Q:$D(^ATXAX(BGPTX,21,"B",J))
  1. ..S BGPC=BGPC+1,^ATXAX(BGPTX,21,BGPC,0)=J_U_J
  1. S DA=BGPTX,DIK="^ATXAX(" D IX1^DIK
  1. Q