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

AMH30P6.m

Go to the documentation of this file.
  1. AMH30P6 ; IHS/CMI/LAB - POST INIT BH ; [ 01/02/05 3:20 PM ]
  1. ;;3.0;IHS BEHAVIORAL HEALTH;**5,6**;JAN 27, 2003
  1. ;
  1. ;LORI -SEND OUT LISTER ITEMS
  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*5") D SORRY(2)
  1. Q
  1. ;
  1. PRE ;
  1. F DA=1:1:200 S DIK="^AMHSORT(" D ^DIK
  1. F DA=1:1:50 S DIK="^AMHDTER(" D ^DIK
  1. F DA=1:1:10 S DIK="^AMHRECD(" D ^DIK
  1. S AMHX=0 F S AMHX=$O(^AMHTSET("C",14,AMHX)) Q:AMHX'=+AMHX I $P(^AMHTSET(AMHX,0),U)="TELE-MENTAL HEALTH" S DA=AMHX,DIK="^AMHTSET(" D ^DIK
  1. D ^XBFMK
  1. Q
  1. POST ;EP
  1. S DA=$O(^AMHPROB("B","305.10",0))
  1. I DA S DIE="^AMHPROB(",DR=".01///305.1;.05///305.1" D ^DIE,^XBFMK
  1. S AMHX=0 F S AMHX=$O(^AMHPROB("B",291.89,AMHX)) Q:AMHX'=+AMHX D
  1. .I $P(^AMHPROB(AMHX,0),U,2)["SLEEP DISORDER" S DA=AMHX,DIE="^AMHPROB(",DR=".05///291.82" D ^DIE,^XBFMK
  1. S AMHX=0 F S AMHX=$O(^AMHPROB("B",292.89,AMHX)) Q:AMHX'=+AMHX D
  1. .I $P(^AMHPROB(AMHX,0),U,2)["SLEEP DISORDER" S DA=AMHX,DIE="^AMHPROB(",DR=".05///292.85" D ^DIE,^XBFMK
  1. S DA=$O(^AMHPROB("B",39,0)) I DA S DIE="^AMHPROB(",DR=".05///V62.84" D ^DIE,^XBFMK
  1. S DA=$O(^AMHPROB("B",40,0)) I DA S DIE="^AMHPROB(",DR=".05///V62.84" D ^DIE,^XBFMK
  1. ;W !!,"adding new codes:"
  1. F AMHJ=1:1 S AMHX=$T(ADD+AMHJ) Q:$P(AMHX,";;",2)="" D
  1. .S AMHC=$P(AMHX,";;",2) ;CODE
  1. .S AMHD=$P(AMHX,";;",3) ;DESCRIPTION .02
  1. .S AMHM=$P(AMHX,";;",4) ;MAP TO ICD .05
  1. .S AMHP=$P(AMHX,";;",5) ;MHSS PROBLEM CODE
  1. .S AMHCAT=$P(AMHX,";;",6) ;CATEGORY
  1. .;add to mhss problem codes if appropriate
  1. .W !?5,"adding ",AMHC
  1. .I $L($P(AMHC,"."))<3 D
  1. ..D ^XBFMK
  1. ..S DA=$O(^AMHPROBC("B",AMHC,0))
  1. ..I 'DA D ADDPC
  1. ..I 'DA Q
  1. ..;now edit the code
  1. ..S DIE="^AMHPROBC(",DR=".02///"_AMHD_";.03///"_AMHCAT
  1. ..D ^DIE
  1. ..I $D(Y) W " editing problem code failed"
  1. .D ^XBFMK
  1. .S DA=$O(^AMHPROB("B",AMHC,0))
  1. .I DA W " Already have code ",AMHC," will edit." G PADDSE
  1. .S X=AMHC,DIC="^AMHPROB(",DIC(0)="L" K DD,D0,DO S DIADD=1,DLAYGO=9002012.2 D FILE^DICN K DIADD,DLAYGO,DD,DO,D0
  1. .I Y=-1 W " adding failed in dsm file" D ^XBFMK Q
  1. .S DA=+Y
  1. PADDSE .;
  1. .S DIE="^AMHPROB(",DR=".02///"_AMHD_";.05///"_AMHM_";.03///"_AMHP
  1. .D ^DIE
  1. .I $D(Y) W " editing ",AMHC," failed dsm file."
  1. .K DA,DR,DIE,DIU,DIV,DIW
  1. .Q
  1. D ^AMHPAR
  1. D ^AMH30P6B
  1. Q
  1. ADDPC ;
  1. S X=AMHC,DIC="^AMHPROBC(",DIC(0)="L" K DD,D0,DO S DIADD=1,DLAYGO=9002012.4 D FILE^DICN K DIADD,DLAYGO,DD,DO,D0
  1. I Y=-1 W " adding failed." Q
  1. S DA=+Y
  1. Q
  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
  1. ADD ;
  1. ;;22.2;;INSOMNIA DUE TO MENTAL DISORDER;;327.02;;22;;PSYCHOSOCIAL PROBLEMS
  1. ;;22.3;;HYPERSOMNIA DUE TO MENTAL DISORDER;;327.15;;22;;PSYCHOSOCIAL PROBLEMS
  1. ;;22.4;;BEHAVIORAL INSOMNIA CHILDHOOD;;V69.50;;22;;PSYCHOSOCIAL PROBLEMS
  1. ;;