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

DBAFOIA.m

Go to the documentation of this file.
  1. DBAFOIA ; ;10/23/96
  1. ;;2.0;
  1. D ZAPFOIA ; Zap non-foia stuff
  1. Q
  1. ;
  1. ;In Platinum account:
  1. ;
  1. ;Preparation sequence:
  1. ;From Platinum account -
  1. ; use %RO
  1. ; select *, %Z*.INT, %DT*.INT, %RCR.INT, %XUCI.INT, 'CJS*.*.*, '%ZC*, '%ZD*, '%ZHALT.*.*, '%ZL*.*.*,'%ZE*.*.*,'%ZF*.*.*,'%ZG*.*.*,'%ZS*.*.*,'%ZW*.*.*
  1. ; w Exporer: *;%Z*.INT;%DT*.INT;%RCR.INT;%XUCI.INT;'CJS*.*.*;'%ZHALT.*.*;'%ZL*.*.*
  1. ; use %GOF
  1. ; select *, 'ERRORS, 'ROUTINE, 'mtemp, 'mtemp1, 'rOBJ, '%Z*, 'Cache*, 'UTILITY, 'TMP, 'XTMP
  1. ;
  1. ; Check/Fix DD links
  1. ; D ^%ZZGCTRL on ^XPD(0) to identify control characters to eliminate
  1. ;Save all routines (-ZZAPFOIA) & EXCLUDE:
  1. ;*
  1. ;'%*
  1. ;'XUCI*
  1. ;'ZI*
  1. ;'ZO*
  1. ; 'ZT* <-- HAND REMOVE THESE BUT KEEP THESE: ZTMB, ZTMCHK, ZTMCHK1, ZTMKU, ZTMON, ZTMON1
  1. ;'ZU
  1. ;'ZZ*
  1. ; cut & paste:
  1. ; *;'%*;'XUCI*;'ZI*;'ZO*;'ZU;'ZZ*;'CJS* ... then 'ZT's by hand
  1. ; save to VAH.rtn in MSM format.
  1. ;
  1. ;and globals (-ICD0, -ICD9, -LEX*, -PSNDF, -PSPPI, -RGED, -TMP, -XTMP, -XUTL, -UTILITY) to non-FOIA files
  1. ;(can use ^%GOMSM with paramers: "WNV")
  1. ;'%Z*
  1. ;'mtemp*
  1. ;'ERRORS
  1. ;'ROUTINE
  1. ;'rOBJ
  1. ; cut & paste:
  1. ; *;'%Z*;'mtemp*;'ERRORS;'ROUTINE;'rOBJ;'ICD0;'ICD9;'LEX*;'PSNDF;'PSPPI;'RGED;'TMP;'XTMP;'XUTL;'UTILITY
  1. ; save to VAH.gbl in MSM format.
  1. ; for non-FOIA Platinum set
  1. ;
  1. ;
  1. ; For Krn8.mgr
  1. ; save %DT*.INT, %RCR.INT, %XUCI.INT, %Z*.INT
  1. ; (-%ZC* if MSM, '%ZHALT, '%ZD* and '%ZL* if Cache), Z*.INT, 'ZU*.INT, XUCI*.INT
  1. ; cut & paste:
  1. ; %DT*.INT;%RCR.INT;%XUCI.INT;%Z*.INT;XUCI*.INT;Z*.INT;'%ZHALT.INT;'ZU*.INT;'ZZAPFOIA.INT
  1. ; to Krn8.mgr \VistA\Software\Kernel
  1. ;
  1. ;For KIDS8.RTN save the following to VistA\Software\Kernel\:
  1. ; XLFDT
  1. ; XLFDT1
  1. ; XLFDT2
  1. ; XLFDT3
  1. ; XLFDT4
  1. ; XPD*
  1. ; ...
  1. ; XQDATE
  1. ; XQH
  1. ; XQOO
  1. ; XQOO1
  1. ; XQOO2
  1. ; XQOO3
  1. ;
  1. ; Test import into D:\MSMPC\Platinum.msm
  1. ; Copy Platinum.msm to desk PC E:\MSMPC\
  1. ; In E:\MSMPC\
  1. ; load FOIA XUSHSH* & D ^ZZAPFOIA
  1. ; Check/Fix DD links
  1. ; Save all routines (-ZZAPFOIA) & EXCLUDE:
  1. ;'XUCI*
  1. ;'ZI*
  1. ;'ZO*
  1. ; 'ZT* <-- HAND REMOVE THESE BUT KEEP THESE: ZTMB, ZTMCHK, ZTMCHK1, ZTMKU, ZTMON, ZTMON1
  1. ;'ZU
  1. ;'ZZ*
  1. ; cut & paste:
  1. ; *;'%*;'XUCI*;'ZI*;'ZO*;'ZU;'ZZ* ... then 'ZT's by hand
  1. ; save to FOIAVAH.rtn in MSM format to VistA\Software\
  1. ; and all globals (-ICD0, -ICD9, -LEX*, -PSNDF, -PSPPI, -TMP, -XTMP, -XUTL, -UTILITY) to FOIA files
  1. ;'%Z*
  1. ;'mtemp*
  1. ;'ERRORS
  1. ;'ROUTINE
  1. ;'rOBJ
  1. ; to FOIAVAH.GBL in MSM format to VistA\Software\
  1. ;
  1. ; Test import of FOIA into D:\MSM\
  1. ; recopy D:\MSMPC\Platinum.msm to E:\MSMPC\
  1. ;
  1. ; make builds, & test each:
  1. ; Save DI*, DD*, DM* to FM22.rtn
  1. ; save builds for Kernel_8_FOIA.kid, Ktk7_3.kid, Mail_7_1.kid,
  1. ; also HL_1_6.kid, VALM_1.kid, XWB_1_1.kid
  1. ; use COMPARE builds for KERNEL, TOOLKIT, & MAILMAN respectively, rollup patches first
  1. ; check for straglers at ^XPD(9.6,D0,4,D1,2,0)
  1. ; D0=1013,1030,4380,1049,1796, D1="" and load FOIA XUSHSH* first
  1. ; to VistA\Software\Kernel\
  1. ;
  1. ;
  1. ; Do import test and review of Kernel builds into E:\Cachesys\mgr\vah\cache.dat 288M "VAH"
  1. ;
  1. ; Recopy 440M MSM file from notebook to desk PC
  1. ; Recopy 400M Cache file from notebook to desk PC
  1. ; edit Readme files
  1. ; ZIP and exchange new copies
  1. ;
  1. ;Protection RWD for %ZUA, %ZIS, %ZTER, %ZISL, %ZTSK, %ZUT, %ZTSCH
  1. ;edit Taskman Site Parameters
  1. ; Example for MSM with two volume sets
  1. ; Select UCI ASSOCIATION FROM UCI:
  1. ; NUMBER: 1 FROM UCI: VAH
  1. ; FROM VOLUME SET (FREE TEXT): TIS FROM VOLUME SET: TIS
  1. ; NUMBER: 2 FROM UCI: MGR
  1. ; FROM VOLUME SET (FREE TEXT): CJS FROM VOLUME SET: CJS
  1. ;
  1. ; Select VOLUME SET:
  1. ; VOLUME SET: CJS INHIBIT LOGONS?: NO
  1. ; LINK ACCESS?: YES OUT OF SERVICE?: NO
  1. ; REQUIRED VOLUME SET?: YES TASKMAN FILES UCI: MGR
  1. ; DAYS TO KEEP OLD TASKS: 4 TYPE: GENERAL PURPOSE VOLUME SET
  1. ; SIGNON/PRODUCTION VOLUME SET: No
  1. ; VOLUME SET: TIS INHIBIT LOGONS?: NO
  1. ; LINK ACCESS?: YES OUT OF SERVICE?: NO
  1. ; REQUIRED VOLUME SET?: YES TASKMAN FILES UCI: MGR
  1. ; TASKMAN FILES VOLUME SET: CJS DAYS TO KEEP OLD TASKS: 4
  1. ; TYPE: GENERAL PURPOSE VOLUME SET SIGNON/PRODUCTION VOLUME SET: Yes
  1. ;
  1. ; Select TASKMAN SITE PARAMETERS BOX-VOLUME PAIR:
  1. ; BOX-VOLUME PAIR: CJS LOG TASKS?: NO
  1. ; DEFAULT TASK PRIORITY: 4 SUBMANAGER RETENTION TIME: 10
  1. ; TASKMAN JOB LIMIT: 8 TASKMAN HANG BETWEEN NEW JOBS: 1
  1. ; MODE OF TASKMAN: GENERAL PROCESSOR OUT OF SERVICE: NO
  1. ; BOX-VOLUME PAIR: TIS LOG TASKS?: NO
  1. ; DEFAULT TASK PRIORITY: 4 SUBMANAGER RETENTION TIME: 10
  1. ; TASKMAN JOB LIMIT: 8 TASKMAN HANG BETWEEN NEW JOBS: 1
  1. ; MODE OF TASKMAN: GENERAL PROCESSOR OUT OF SERVICE: NO
  1. ;
  1. ; Check ^%ZOSF("MGR") to match $ZU(0) from MGR account.
  1. ;
  1. ZAPFOIA S U="^" I $D(DTIME)=0 D ^XUP
  1. INTRO W !,?10,"This program allows you to remove the following elements for non-FOIA"
  1. w !,?5,"packages: DDs, options, templates, list manager templates, help frames,"
  1. w !,?5,"bulletins, protocols, security keys, functions, routines, entries in the"
  1. w !,?5,"package file, and clean up dangling pointers in the option and help frame"
  1. w !,?5,"files."
  1. ZAPMGR ;SCRUB % GLOBALS
  1. ERRLOG ;
  1. K ^%ZTER(1)
  1. S ^%ZTER(1,0)="ERROR LOG^3.075"
  1. TASKMAN ;
  1. K ^%ZTSK
  1. S ^%ZTSK(0)="TASKS^14.4"
  1. K ^%ZTSCH("ER")
  1. S ^%ZTSCH("ER")=""
  1. GETNMSP ;
  1. S I=0 F S I=I+1,T=$T(NONFOIA+I),ZZNMSP=$P(T,";",3),STARTNO=$P(T,";",4),ENDNO=$P(T,";",5),DIU(0)="DT" Q:ZZNMSP="" D NMSPLOOP
  1. ; REMOVE IVM RELATED IB ENTRY
  1. ; S DIK="^DIC(19,",DA=$O(^DIC(19,"B","IB OUTPUT IVM BILLING ACTIVITY","")) I DA D ^DIK
  1. ; REMOVE DIETETICS VENDOR ENTRY(S)
  1. ; S DIK="^FH(113.2,",DA=0 F S DA=$O(^FH(113.2,DA)) Q:DA'>0 D ^DIK
  1. ; REMOVE DANGLING OPTION SCHEDULING ENTRIES
  1. S DIK="^DIC(19.2,",DA=0 F S DA=$O(^DIC(19.2,DA)) Q:DA'>0 I '$D(^DIC(19,+$P($G(^DIC(19.2,DA,0)),U),0)) D ^DIK
  1. DGLPTRS ;
  1. S %=1,XQFL="OPTION" D REMOVE^XQ3
  1. ; REMOVE COPYRIGHTED CPT FILES' DATA
  1. K ^ICPT S ^ICPT(0)="CPT^81I"
  1. K ^DIC(81.1) S ^DIC(81.1,0)="CPT CATEGORY^81.1",^(0,"GL")="^DIC(81.1,"
  1. K ^DIC(81.3) S ^DIC(81.3,0)="CPT MODIFIER^81.3I",^(0,"GL")="^DIC(81.3,"
  1. S %=$P(^DD(757.02,1,0),U,2) I %'="RF" W !,"757.02,1 has changed" Q
  1. S $P(^DD(757.02,1,0),U,2)="F"
  1. S %=$P(^DD(757.02,2,0),U,2) I %'="RP757.03'" W !,"757.02,2 has changed" Q
  1. S $P(^DD(757.02,2,0),U,2)="P757.03'"
  1. S DA=0,DIE=757.02,DR="1///@;2///@"
  1. F S DA=$O(^LEX(757.02,DA)) Q:DA'>0 D
  1. . S %=$P($G(^LEX(757.02,DA,0)),U,3)
  1. . I %=3!(%=4) D ^DIE
  1. . Q
  1. S $P(^DD(757.02,1,0),U,2)="RF"
  1. S $P(^DD(757.02,2,0),U,2)="RP757.03'"
  1. ; REMOVE COPYRIGHTED MED INSTRUCTIONS
  1. K ^PS(50.621) S ^PS(50.621,0)="PMI-ENGLISH^50.621"
  1. K ^PS(50.622) S ^PS(50.622,0)="PMI-SPANISH^50.622"
  1. K ^PS(50.623) S ^PS(50.623,0)="PMI MAP-ENGLISH^50.623"
  1. K ^PS(50.624) S ^PS(50.624,0)="PMI MAP-SPANISH^50.624"
  1. K ^PS(50.625) S ^PS(50.625,0)="WARNING LABEL-ENGLISH^50.625"
  1. K ^PS(50.626) S ^PS(50.626,0)="WARNING LABEL-SPANISH^50.626"
  1. K ^PS(50.627) S ^PS(50.627,0)="WARNING LABEL MAP^50.627"
  1. S %I=0 F S %I=$O(^PSNDF(50.68,%I)) Q:%I'>0 S $P(^PSNDF(50.68,%I,1),"^",5,7)="^^"
  1. DELRTN ;
  1. K ^UTILITY($J)
  1. F %RS="DENTV*","DSI*","VEJD*" D ADDSEL
  1. W ! S %N=""
  1. F %I=1:1 S %N=$O(^UTILITY($J,%N)) Q:%N="" W ?%I-1#8*10,%N W:(%I#8)=0 ! X "ZR ZS @%N"
  1. D DELRTN^XPDR ;REBUILD ROUTINE FILE
  1. ANDGBLS ;DOMAIN, MESSAGE STATS, MH non-FOIA
  1. S DIK="^YTT(601,",YS=0 F S YS=$O(^YTT(601,YS)) Q:YS'>0 I $L($P($G(^YTT(601,YS,0)),"^",6)) S DA=YS D ^DIK
  1. ; S DIK="^HL(771,",DA=$O(^HL(771,"B","IVM","")) I DA D ^DIK
  1. ; S DIK="^HL(770,",DA=$O(^HL(770,"B","IVM CENTER","")) I DA D ^DIK
  1. ;
  1. USER ;
  1. W !,"Cleaning up User info",!
  1. S U="^",IOF="#"
  1. F I=1,2,3 D
  1. . S $P(^VA(200,I,0),U,3)="",$P(^(.1),U,1,2)="^"
  1. . K ^VA(200,I,"VOLD")
  1. K ^VA(200,"AOLD"),^VA(200,"A")
  1. K ^DISV
  1. MAIL ;
  1. S DIK="^%ZTER(1,",YS=0 F S YS=$O(^%ZTER(1,YS)) Q:YS'>0 S DA=YS D ^DIK
  1. S DIK="^XUSEC(0,",YS=0 F S YS=$O(^XUSEC(0,YS)) Q:YS'>0 S DA=YS D ^DIK
  1. S DIK="^XMB(3.7,.5,2,",YS=1,DA(1)=.5 F S YS=$O(^XMB(3.7,.5,2,YS)) Q:YS'>0 S DA=YS D ^DIK
  1. S DIKYB="^XMB(3.7,.5,2,",DA(2)=.5 F YB=.5,.95,1 S DIK=DIKYB_YB_",1,",YS=0,DA(1)=YB F S YS=$O(^XMB(3.7,.5,2,YB,1,YS)) Q:YS'>0 S DA=YS D ^DIK
  1. S DIK="^XMBS(4.2999,",YS=0 F S YS=$O(^XMBS(4.2999,YS)) Q:YS'>0 S DA=YS D ^DIK
  1. K ^XMB(3.9)
  1. S ^XMB(3.9,0)="MESSAGE^3.9s"
  1. D CHKFILES^XMUT4
  1. W !,"Don't forget to copy in HASH.RTN"
  1. W !,"And edit GO+1^XMRONT, replace 10001 with 25 which restores the value as exported."
  1. W !,"DONE"
  1. K ZI,ZNODE,ZZNMSP,DIU,DIU(0),STARTNO,ENDNO,ZZDATA,DIK,ZX
  1. Q
  1. NONFOIA ;
  1. ;;VEJD;19600;19699.9999
  1. ;;DSI;;-1
  1. ;;DENTV;228;228.9999
  1. ;;
  1. NMSPLOOP N I W !,"Deleting: ",ZZNMSP F ZI=STARTNO-.000000001:0 S ZI=$O(^DIC(ZI)) Q:ZI>ENDNO S DIU=^DIC(ZI,0,"GL") W !,DIU D EN^DIU2
  1. DELBULL ;
  1. W !!,"Deleting bulletins...",!
  1. S DIK="^XMB(3.6," F ZI=0:0 S ZI=$O(^XMB(3.6,ZI)) Q:ZI'?.N S ZNODE=^XMB(3.6,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Bulletins deleted."
  1. W !!,"Deleting mail groups...",!
  1. S DIK="^XMB(3.8," F ZI=0:0 S ZI=$O(^XMB(3.8,ZI)) Q:ZI'?.N S ZNODE=^XMB(3.8,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Mail Groups deleted."
  1. DELOPTS ;
  1. W !!,"Deleting options...",!
  1. S DIK="^DIC(19," F ZI=0:0 S ZI=$O(^DIC(19,ZI)) Q:ZI'?.N!(ZI="") I $D(^DIC(19,ZI,0)) S ZNODE=^DIC(19,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Options deleted."
  1. DELHELP ;
  1. W !!,"Deleting HELP FRAMES...",!
  1. S DIK="^DIC(9.2," F ZI=0:0 S ZI=$O(^DIC(9.2,ZI)) Q:ZI'?.N!(ZI="") I $D(^DIC(9.2,ZI,0)) S ZNODE=^DIC(9.2,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"HELP FRAMES deleted."
  1. DGLHPTR ;
  1. S %=0,XQFL="HELP FRAME" D REMOVE^XQ3
  1. DELTEMP ;
  1. W !!,"Deleting LIST MANAGER TEMPLATES...",!
  1. S DIK="^SD(409.61," F ZI=0:0 S ZI=$O(^SD(409.61,ZI)) Q:ZI'?.N!(ZI="") I $D(^SD(409.61,ZI,0)) S ZNODE=^SD(409.61,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"LIST MANAGER TEMPLATES deleted."
  1. DELPROT ;
  1. W !!,"Deleting protocols...",!
  1. S DIK="^ORD(101," F ZI=0:0 S ZI=$O(^ORD(101,ZI)) Q:ZI'?.N!(ZI="") I $D(^ORD(101,ZI,0)) S ZNODE=^ORD(101,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Protocols deleted."
  1. DELFUNC ;
  1. W !!,"Deleting functions...",!
  1. S DIK="^DD(""FUNC""," F ZI=0:0 S ZI=$O(^DD("FUNC",ZI)) Q:ZI<0!(ZI'?.N) S ZNODE=^DD("FUNC",ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Functions deleted."
  1. DELKEYS ;
  1. W !!,"Deleting security keys...",!
  1. S DIK="^DIC(19.1," F ZI=0:0 S ZI=$O(^DIC(19.1,ZI)) Q:ZI'?.N S ZNODE=^DIC(19.1,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Security keys deleted."
  1. DELBUILD ;
  1. W !!,"Deleting Builds...",!
  1. S DIK="^XPD(9.6," F ZI=0:0 S ZI=$O(^XPD(9.6,ZI)) Q:ZI'?.N S ZNODE=^XPD(9.6,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP!($P($G(^DIC(9.4,+$P(ZNODE,U,2),0)),U,2)=ZZNMSP) S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Builds deleted."
  1. DELINSTL ;
  1. W !!,"Deleting Installs...",!
  1. S DIK="^XPD(9.7," F ZI=0:0 S ZI=$O(^XPD(9.7,ZI)) Q:ZI'?.N S ZNODE=^XPD(9.7,ZI,0) I $E(($P(ZNODE,U,1)),1,$L(ZZNMSP))[ZZNMSP!($P($G(^DIC(9.4,+$P(ZNODE,U,2),0)),U,2)=ZZNMSP) S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Installs deleted."
  1. DELPKG ;
  1. W !!,"Deleting Packages...",!
  1. S DIK="^DIC(9.4," F ZI=0:0 S ZI=$O(^DIC(9.4,ZI)) Q:ZI'?.N S ZNODE=^DIC(9.4,ZI,0) I $E(($P(ZNODE,U,2)),1,$L(ZZNMSP))[ZZNMSP S DA=ZI W !,$P(ZNODE,U,1) D ^DIK
  1. W !!,"Packages deleted."
  1. Q
  1. ;
  1. ADDSEL ;
  1. S A=%RS,%OS=$S($E(^%ZOSF("OS"),1,5)="OpenM":1,1:0)
  1. S A=$E(A,1,$L(A)-1),B=A D SING,MULT ;wild pattern
  1. Q
  1. SING I A]"",$$TESTROU(A) S B=A G S ;routine exists
  1. Q ;routine does not exist
  1. TESTROU(A) ;
  1. I %OS=1 Q $D(^ROUTINE(A))
  1. Q $D(^ (A))
  1. S Q:$D(^UTILITY($J,B)) S ^(B)="" Q ;adding & not there
  1. Q ;shouldn't get to this point
  1. MULT I B="" S B=0 ;A and B are the root pattern for the matches
  1. MULT1 S B=$$ROU(B) Q:B="" Q:$E(B,1,$L(A))'=A
  1. D S G MULT1 ;add one routine and continue
  1. ROU(B) ;
  1. I %OS=1 Q $O(^ROUTINE(B))
  1. Q $O(^ (B))