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

AMHGVDEL.m

Go to the documentation of this file.
  1. AMHGVDEL ; IHS/CMI/MAW - GUI V FILE VISIT CREATION ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**1**;JUN 18, 2010;Build 8
  1. ;;
  1. TEST ;
  1. D EN(.RETVAL,24609)
  1. Q
  1. EN(BPCARRAY,AMHR) ;EP CALL
  1. S BPCERR="" ;,ZTQUEUED=""
  1. ;AMHR must be ien of MHSS RECORD that is to be deleted
  1. D
  1. .NEW AMHACTN
  1. .S AMHACTN=4
  1. .D CHECKREC Q:BPCERR'=""
  1. .D DELETE
  1. I BPCERR="" D MSG("1"),KILL Q
  1. I BPCERR'="" D ERROR(BPCERR)
  1. D KILL
  1. Q
  1. ;
  1. CHECKREC ;
  1. I '$G(AMHR) S BPCERR="IEN MISSING" Q
  1. I '$D(^AMHREC(AMHR)) S BPCERR="INVALID RECORD IEN PASSED" Q
  1. Q
  1. DELETE ;
  1. S AMHVDLT=$P(^AMHREC(AMHR,0),U,16)
  1. S AMHGRP=$P(^AMHREC(AMHR,0),U,34)
  1. S AMHPAT=$P(^AMHREC(AMHR,0),U,8)
  1. S AMHRDEL=AMHR
  1. S AMHVFLE=9002011 F AMHVL=0:0 S AMHVFLE=$O(^DIC(AMHVFLE)) Q:AMHVFLE>9002011.49!(AMHVFLE'=+AMHVFLE) D DELETE2
  1. S DA=$O(^AMHRCDST("B",AMHRDEL,0)) I DA S DIK="^AMHRCDST(" D ^DIK ;delete staging tool
  1. S DIK="^AMHREC(",DA=AMHRDEL,X=2 D ^DIK K DA,DI
  1. I $G(AMHGRP) D GRPDEL(AMHR,AMHPAT)
  1. D EOJ
  1. ;D PCCCHECK cmi/maw 2/2/2011 not needed v4.0p1
  1. D PCCLINK
  1. Q
  1. ;
  1. DELETE2 ;
  1. I AMHVFLE=9002011.13 D INTAKE Q
  1. S AMHVNM=$P(^DIC(AMHVFLE,0),U)
  1. S AMHVDG=^DIC(AMHVFLE,0,"GL"),AMHVIGR=AMHVDG_"""AD"",AMHRDEL,AMHVDFN)"
  1. S AMHVDFN="" F AMHVI=1:1 S AMHVDFN=$O(@AMHVIGR) Q:AMHVDFN="" W:'$D(ZTQUEUED) "." S DIK=AMHVDG,DA=AMHVDFN D ^DIK
  1. Q
  1. ;
  1. GRPDEL(REC,PAT) ;-- delete the group record and patient entry from group
  1. N GDA
  1. S GDA=0 F S GDA=$O(^AMHGROUP("AREC",REC,GDA)) Q:'GDA D
  1. . S GIEN=0 F S GIEN=$O(^AMHGROUP("AREC",REC,GDA,GIEN)) Q:'GIEN D
  1. .. D GRECDIK(GDA,GIEN)
  1. .. D GPATDIK(PAT,GDA)
  1. Q
  1. ;
  1. GRECDIK(D,I) ;-- delete the record from the group 6101 multiple
  1. S DA(1)=GDA
  1. S DA=I
  1. S DIK="^AMHGROUP("_DA(1)_",61,"
  1. D ^DIK
  1. Q
  1. ;
  1. GPATDIK(PT,D) ;-- remove the patient from the group 5101 multiple
  1. K DA
  1. S DA=$O(^AMHGROUP(D,51,"B",PT,0))
  1. Q:'DA
  1. S DA(1)=D
  1. S DIK="^AMHGROUP("_DA(1)_",51,"
  1. D ^DIK
  1. Q
  1. ;
  1. EOJ ; EOJ CLEANUP
  1. K AMHVDFN,AMHVDG,AMHRDEL,AMHVFLE,AMHVI,AMHVIGR,AMHVL,AMHVNM,AMHGRP,AMHPAT
  1. K %,X
  1. K D,D0,DA,DIC,DICR,DIE,DIG,DIH,DIU,DIV,DIW,DQ,DR,DIK,DITC
  1. Q
  1. INTAKE ;
  1. Q ;;
  1. S (C,AMHX)=0 F S AMHX=$O(^AMHRINTK("AD",AMHRDEL,AMHX)) Q:AMHX'=+AMHX D
  1. .I $P(^AMHRINTK(AMHX,0),U,3)=AMHRDEL D
  1. ..S DITC=1,DIE="^AMHRINTK(",DA=AMHX,DR=".03///@" D ^DIE K DIE,DA,DR,DITC
  1. ..S Z=$O(^AMHRINTK(AMHX,11,"B",AMHRDEL,0)) I 'Z Q
  1. ..S DIE="^AMHRINTK("_AMHX_",11,",DA(1)=AMHX,DA=Z,DR=".01///@" D ^DIE K DIE,DA,DR,DITC
  1. .S AMHY=0 F S AMHY=$O(^AMHRINTK("AD",AMHRDEL,AMHX,AMHY)) Q:AMHY'=+AMHY D
  1. ..I $P(^AMHRINTK(AMHX,11,AMHY,0),U)=AMHRDEL S DIE="^AMHRINTK("_AMHX_",11,",DA(1)=AMHX,DA=AMHY,DR=".01///@" D ^DIE K DIE,DA,DR
  1. .I $P(^AMHRINTK(AMHX,0),U,3)="",'$O(^AMHRINTK(AMHX,11,0)) S DIK="^AMHRINTK(",DA=AMHX D ^DIK Q
  1. .Q:$P(^AMHRINTK(AMHX,0),U,3)
  1. .S X=$O(^AMHRINTK(AMHX,11,0)),X=$P(^AMHRINTK(AMHX,11,X,0),U,1)
  1. .S DA=AMHX,DIE="^AMHRINTK(",DITC=1,DR=".03////"_X D ^DIE K DIE,DA,DR,DITC
  1. .Q
  1. Q
  1. ;
  1. PCCCHECK ;check to see if link to pcc active, set AMHLPCC IF SO
  1. K AMHLPCC
  1. S (AMHLPCC,AMHLPCCT)=$P(^AMHSITE(DUZ(2),0),U,12) I AMHLPCC S AMHLPCC=AMHLPCC-1
  1. I AMHLPCC="" S AMHLPCC=0 Q
  1. Q:'AMHLPCC
  1. I $D(^AUTTSITE(1,0)),$P(^(0),U,8)="Y",'$D(^APCCCTRL(DUZ(2),0))#2 S AMHLPCC=0 Q
  1. S AMHPKG=$O(^DIC(9.4,"C","AMH",""))
  1. I '$D(^APCCCTRL(DUZ(2),11,AMHPKG,0))#2 S AMHLPCC=0 Q
  1. I $D(^AUTTSITE(1,0)),$P(^(0),U,8)="Y",$D(^APCCCTRL(DUZ(2),0))#2,$D(^APCCCTRL(DUZ(2),11,AMHPKG,0))#2,$P(^(0),U,2) S AMHLPCC=AMHLPCC
  1. E S AMHLPCC=0
  1. K AMHPKG
  1. Q
  1. ;Q:'AMHLPCC ;quit if no pcc link v4.0p1 cmi/maw not needed 2/2/2011
  1. I $G(AMHVDLT)="",AMHACTN=4 Q
  1. S AMHBL=1
  1. S APCDVDLT=$G(AMHVDLT) I APCDVDLT="" Q
  1. D ^APCDVDLT K APCDVDLT,AMHBL
  1. Q
  1. ;
  1. ERROR(BPCX) ;
  1. D MSG("-1"_$C(30)_BPCX)
  1. Q
  1. ;
  1. MSG(BPCX) ;
  1. S BPCARRAY=BPCX
  1. Q
  1. ;
  1. ;
  1. KILL ;
  1. K APCDALVR,BPCPARM,BPCERR,BPCVAL,AMHR,AMHACTN,AMHBL,AMHLPCC,AMHVDLT,AMHLPCCT,AMHVISIT
  1. Q