1 | DITM2 ;SFISC/JCM(OHPRD)-DOES COMPARE AND MERGE ;11/18/94 15:42
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ; See DITMDOC for documentation
|
---|
6 | ; Subfiles are not currently supported by the call to EN^DITM2
|
---|
7 | ; until DITC can handle them.
|
---|
8 | ;-------------------------------------------------------------------
|
---|
9 | START ;
|
---|
10 | EN ; Entry point
|
---|
11 | L +@(DITM("DIC")_$P(DITM("DIT(1)"),",",1)_")")
|
---|
12 | L +@(DITM("DIC")_$P(DITM("DIT(2)"),",",1)_")")
|
---|
13 | K DMSG,DIRUT
|
---|
14 | D:'$D(DITM("NON-INTERACTIVE")) DITC ; --->Sets up and calls DITC
|
---|
15 | I $D(DMSG)!($D(DIRUT)) S DITM("QFLG")="" G END
|
---|
16 | G:'$D(DITM("DIMERGE")) END
|
---|
17 | D:'$D(DITM("SUB FILE")) DIT0 ; --->Sets up and calls DIT0
|
---|
18 | D:$D(DITM("REPOINT"))&('$D(DITM("SUB FILE"))) REPOINT ;---->Merges
|
---|
19 | ;---------------->other files that affect patient merge
|
---|
20 | G:$D(DITM("QFLG")) END
|
---|
21 | D:$D(DITM("DELETE")) DELETE ;----->Deletes MERGED entry
|
---|
22 | END L -@(DITM("DIC")_$P(DITM("DIT(1)"),",",1)_")")
|
---|
23 | L -@(DITM("DIC")_$P(DITM("DIT(2)"),",",1)_")")
|
---|
24 | D EOJ ;----------->Cleanup
|
---|
25 | Q ;-------------->End of routine
|
---|
26 | ;----------------------------------------------------------------------
|
---|
27 | DITC ;
|
---|
28 | ;***Will need to add set up for subfiles when it works******
|
---|
29 | ;
|
---|
30 | K DFF,DIT,DIMERGE,DDIF,DDEF,DDSP
|
---|
31 | S DFF=DITM("DFF"),DIT(1)=DITM("DIT(1)"),DIT(2)=DITM("DIT(2)"),DIC=DITM("DIC")
|
---|
32 | S:$D(DITM("DIMERGE")) DIMERGE=1
|
---|
33 | S:$D(DITM("DDIF")) DDIF=DITM("DDIF")
|
---|
34 | S:$D(DITM("DDEF")) DDEF=DITM("DDEF")
|
---|
35 | S:$D(DITM("DDSP")) DDSP=1
|
---|
36 | D EN^DITC
|
---|
37 | K DFF,DIT,DIMERGE,DDIF,DDEF,DDSP
|
---|
38 | Q
|
---|
39 | DIT0 ;
|
---|
40 | W:'$D(DITM("NOTALK")) !!,"I will now merge all subfiles in this file ...",!,"This may take some time, please be patient."
|
---|
41 | K DA
|
---|
42 | S (DIT("T"),DIT("F"))=DITM("DIC")
|
---|
43 | S (D0,DA("T"))=DITM("DIT(2)"),DA("F")=DITM("DIT(1)")
|
---|
44 | D EN^DIT0 K D0,DA,DIC,DIK,DIT
|
---|
45 | Q
|
---|
46 | REPOINT ;
|
---|
47 | S DITMGMQF=0
|
---|
48 | S:$D(DITM("NON-INTERACTIVE")) DITMGMRG("NOTALK")=1
|
---|
49 | S:$D(DITM("PACKAGE")) DITMGMRG("PACKAGE")=DITM("PACKAGE")
|
---|
50 | W:'$D(DITM("NOTALK")) !!,"I will now repoint all files that point to this entry ...",!,"This may take some time, please be patient."
|
---|
51 | S DITMGMRG("FILE")=DITM("DFF"),DITMGMRG("FR")=DITM("DIT(1)"),DITMGMRG("TO")=DITM("DIT(2)")
|
---|
52 | S:$D(DITM("NOTALK")) DITMGMRG("NOTALK")=""
|
---|
53 | I $D(DITM("EXCLUDE")) F DITMI=0:0 S DITMI=$O(DITM("EXCLUDE",DITMI)) Q:'DITMI S DITMGMRG("EXCLUDE",DITMI)=""
|
---|
54 | D EN^DITMGMRG
|
---|
55 | K DITMGMRG,DITMGMQF,DITMI
|
---|
56 | Q
|
---|
57 | DELETE ;
|
---|
58 | W:'$D(DITM("NOTALK")) !,"Deleting From entry"
|
---|
59 | I $D(DITM("SUB FILE")) D DELSUB G DELETEX
|
---|
60 | S DIK=DITM("DIC"),DA=DITM("DIT(1)") D ^DIK K DA,DIK
|
---|
61 | DELETEX Q
|
---|
62 | ;
|
---|
63 | DELSUB ;
|
---|
64 | S DA(1)=$P(DITM("DIT(1)"),",",1),DA=$P(DITM("DIT(1)"),",",2)
|
---|
65 | S DIK=DITM("DIC")_DA(1)_","_DITM("DSUB1")_"," D ^DIK K DA,DIK
|
---|
66 | Q
|
---|
67 | EOJ ;
|
---|
68 | K DITM2,APMMD,DIC,X,Y
|
---|
69 | Q
|
---|