1 | RGDRM02 ;BAY/ALS-MPI/PD AWARE DUPLICATE RECORD MERGE ;03/10/00
|
---|
2 | ;;1.0;CLINICAL INFO RESOURCE NETWORK;**6,42**;30 Apr 99
|
---|
3 | MRGTF(DFNFRM,DFNTO) ; Merge Treating Facility entries
|
---|
4 | I '$D(DFNFRM)!'$D(DFNTO) Q
|
---|
5 | Q:'$D(^DGCN(391.91,"APAT",DFNFRM))
|
---|
6 | ; Add Treating Facilities in FROM record to Treating
|
---|
7 | ; Facility List for TO record
|
---|
8 | S INST=0
|
---|
9 | F S INST=$O(^DGCN(391.91,"APAT",DFNFRM,INST)) Q:'INST D
|
---|
10 | . I '$D(^DGCN(391.91,"APAT",DFNTO,INST)) DO
|
---|
11 | .. ;S STANUM=0
|
---|
12 | .. ;S STANUM=$P($$NS^XUAF4(INST),"^",2)
|
---|
13 | .. D FILE^VAFCTFU(DFNTO,INST,1) ;**42
|
---|
14 | .. I '$D(^DGCN(391.91,"APAT",DFNTO,INST)) D
|
---|
15 | ... D START^RGHLLOG($G(HLMTIEN)),EXC^RGHLLOG(212,"Treating Facility Add failed for DFN: "_DFNTO_", Treating Facility: "_INST,DFNTO),STOP^RGHLLOG(0) Q
|
---|
16 | . ;Delete FROM record Treating Facility data
|
---|
17 | . S IEN=0
|
---|
18 | . F S IEN=$O(^DGCN(391.91,"APAT",DFNFRM,INST,IEN)) Q:'IEN D
|
---|
19 | .. S DA=IEN,DIK="^DGCN(391.91,"
|
---|
20 | .. D ^DIK K DIK,DA
|
---|
21 | K INST,STANUM,IEN
|
---|
22 | Q
|
---|
23 | MRGSUB(DFNFRM,DFNTO) ; Merge Subscription entries.
|
---|
24 | I '$D(DFNFRM)!'$D(DFNTO) Q
|
---|
25 | N SUBFRM,SUBTO
|
---|
26 | S SUBFRM=$$SUBNUM^MPIFAPI(DFNFRM)
|
---|
27 | Q:SUBFRM<0 ;No subscriptions in FRM record, quit
|
---|
28 | S SUBTO=$$SUBNUM^MPIFAPI(DFNTO)
|
---|
29 | I SUBTO<0 S SUBTO=$$GETSCN^RGJCREC(DFNTO)
|
---|
30 | S ENTRYF=0,ENTRYT=0
|
---|
31 | D GET^HLSUB(SUBFRM,0,"",.FROM)
|
---|
32 | D GET^HLSUB(SUBTO,0,"",.TO)
|
---|
33 | F S ENTRYF=$O(FROM("LINKS",ENTRYF)) Q:'ENTRYF D
|
---|
34 | . S LINKF=$P(FROM("LINKS",ENTRYF),"^",2)
|
---|
35 | . S MATCH=0
|
---|
36 | . F S ENTRYT=$O(TO("LINKS",ENTRYT)) Q:'ENTRYT D
|
---|
37 | .. S LINKT=$P(TO("LINKS",ENTRYT),"^",2)
|
---|
38 | .. I LINKF=LINKT S MATCH=1 Q
|
---|
39 | . I MATCH=0 D
|
---|
40 | .. S TYPE=0
|
---|
41 | .. D UPD^HLSUB(SUBTO,LINKF,TYPE,"","","",.ER)
|
---|
42 | .. K TO
|
---|
43 | .. D GET^HLSUB(SUBTO,0,"",.TO) ; get new list
|
---|
44 | .. S L=0,LINK="",ADD=0
|
---|
45 | .. F S L=$O(TO("LINKS",L)) Q:'L D
|
---|
46 | ... S LINK=$P(TO("LINKS",L),"^",2) I LINK=LINKF S ADD=1
|
---|
47 | .. I ADD=0 D
|
---|
48 | ... D START^RGHLLOG($G(HLMTIEN)),EXC^RGHLLOG(224,"Subscription Add Failed for DFN: "_DFNTO_", Subscriber: "_LINKF,DFNTO),STOP^RGHLLOG(0) Q
|
---|
49 | ; Delete FROM record subscription data and pointer to subscription file
|
---|
50 | N RGARR,RGERR
|
---|
51 | S RGARR(991.05)="@"
|
---|
52 | S RGERR=$$UPDATE^MPIFAPI(DFNFRM,"RGARR")
|
---|
53 | K ENTRYF,ENTRYT,LINKF,LINKT,TO,MATCH,FROM,LNAME,LIEN,TYPE,ER,ADD,L,LINK
|
---|
54 | Q
|
---|