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

AMH30P10.m

Go to the documentation of this file.
  1. AMH30P10 ; IHS/CMI/LAB - POST INIT BH ; [ 01/20/2009 3:15 PM ]
  1. ;;3.0;IHS BEHAVIORAL HEALTH;**10**;JAN 27, 2003
  1. ;
  1. ENV ;EP
  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("AMH*3.0*9") D SORRY(2)
  1. Q
  1. ;
  1. ;
  1. PRE ;EP
  1. S DA=0 F S DA=$O(^AMHSORT(DA)) Q:DA'=+DA S DIK="^AMHSORT(" D ^DIK
  1. S DA=0 F S DA=$O(^AMHRECD(DA)) Q:DA'=+DA S DIK="^AMHRECD(" D ^DIK
  1. S DA=0 F S DA=$O(^AMHTPCAD(DA)) Q:DA'=+DA S DIK="^AMHTPCAD(" D ^DIK
  1. Q
  1. ;
  1. POST ;EP
  1. D DELETE^XPDMENU("AMH M DATA ENTRY MENU","AMH DE DUPLICATE VISIT")
  1. D DELETE^XPDMENU("AMH DE MENU MORE","AMH R UNSIGNED")
  1. ;delete keys and remove them from any options
  1. F AMHKEY="AMHBHA","AMHBHDEL","AMHBHG","AMHBHR","AMHBHT","AMHBHV","AMHFSP","AMHHSD" D D DELKEY
  1. .S AMHX=0 F S AMHX=$O(^DIC(19,AMHX)) Q:AMHX'=+AMHX D
  1. .Q:$E($P(^DIC(19,AMHX,0),U),1,3)'="AMH"
  1. .Q:$P(^DIC(19,AMHX,0),U,6)'=AMHKEY
  1. .S DA=AMHX,DIE="^DIC(19,",DR="3///@" D ^DIE K DA,DR,DIE
  1. ;send message
  1. ;
  1. ;UPDATE NEW CODES
  1. S AMHX=0 F S AMHX=$O(^AMHTPCAD(AMHX)) Q:AMHX'=+AMHX D
  1. .S AMHC=$P(^AMHTPCAD(AMHX,0),U)
  1. .S AMHN=$P(^AMHTPCAD(AMHX,0),U,2)
  1. .S AMHPC=$P(^AMHTPCAD(AMHX,0),U,3)
  1. .S AMHPCI=$O(^AMHPROBC("B",AMHPC,0))
  1. .I 'AMHPCI S AMHPCI=$O(^AMHPROBC("B","99.9",0))
  1. .I $D(^AMHPROB("B",AMHC)) D EDIT Q
  1. .;ADD NEW PROBLEM
  1. .S X=AMHC,DIC="^AMHPROB(",DIADD=1,DLAYGO=9002012.2,DIC("DR")=".03////"_AMHPCI_";.05///"_AMHC,DIC(0)="L"
  1. .K DD,D0,DO
  1. .D FILE^DICN
  1. .I Y=-1 D EN^DDIOL("failure adding code "_AMHC) K DIC,DIADD,DR,DA,X,DLAYGO Q
  1. .S $P(^AMHPROB(+Y,0),U,2)=AMHN
  1. .S DA=+Y,DIK="^AMHPROB(" D IX^DIK K DA,DIK
  1. .K DIC,DIADD,DLAYGO
  1. .Q
  1. ;deactivate codes
  1. F AMHX=58,82,84 S DA=$O(^AMHPROBC("B",AMHX,0)) I DA S DIE="^AMHPROBC(",DR=".04///1" D ^DIE K DIE,DA,DR
  1. F AMHX=58,82,84 S DA=$O(^AMHPROB("B",AMHX,0)) I DA S DIE="^AMHPROB(",DR=".13///1;.14////"_DT D ^DIE K DIE,DA,DR
  1. ;REINDEX ALM xref
  1. NEW DIK
  1. S DIK="^AMHREC(",DIK(1)=".21^ALM" D ENALL^DIK
  1. Q
  1. ;
  1. EDIT ;
  1. S DA=$O(^AMHPROB("B",AMHC,0))
  1. I 'DA Q
  1. S DIE="^AMHPROB(",DR=".03////"_AMHPCI_";.05///"_AMHC D ^DIE
  1. S $P(^AMHPROB(DA,0),U,2)=AMHN
  1. S DIK="^AMHPROB(" D EN1^DIK K DA,DIK
  1. K DIE,DA,DR
  1. Q
  1. DELKEY ;
  1. S DA=$O(^DIC(19.1,"B",AMHKEY,0))
  1. I DA S DIK="^DIC(19.1," D ^DIK
  1. K DIK,DA
  1. Q
  1. ;
  1. INSTALLD(AMHSTAL) ;EP - Determine if patch AMHSTAL was installed, where
  1. ; AMHSTAL is the name of the INSTALL. E.g "AG*6.0*11".
  1. ;
  1. NEW AMHY,DIC,X,Y
  1. S X=$P(AMHSTAL,"*",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(AMHSTAL,"*",2)
  1. D ^DIC
  1. I Y<1 D IMES Q 0
  1. S DIC=DIC_+Y_",""PAH"",",X=$P(AMHSTAL,"*",3)
  1. D ^DIC
  1. S AMHY=Y
  1. D IMES
  1. Q $S(AMHY<1:0,1:1)
  1. IMES ;
  1. D MES^XPDUTL($$CJ^XLFSTR("Patch """_AMHSTAL_""" 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