[613] | 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
|
---|