Files > DUPLICATE RECORD

name
DUPLICATE RECORD
number
15
location
^VA(15,
description
This file contains information about duplicate records in any file defined in the two variable pointer fields; RECORD1 and RECORD2 (.01 and .02). The status of an entry in this file may be 'potential duplicate, unverified', 'verified, not a duplicate', or 'verified duplicate'. The envisioned sequence of events is software would identify potential duplicates from a file and add an entry in this file containing the two potential duplicate records and set the status field to 'potential duplicate, unverified'. A user would then make the determination of whether the two entries were truely duplicates and change the status field appropriately. If the user changed the status to 'verified duplicate' he/she would then be asked whether to merge RECORD1 to RECORD2 or RECORD2 to RECORD1. The records would then be merged accordingly. This user interaction is controlled by the merge software and the dictionary supports a merge methodology that will notify the appropriate packages affected by the merging of the two entries and wait for their concurrence prior to actually merging the two entries. If this approach is not desired the software can set the appropriate fields and immediatley do the merge. This methodology requires the two fields defined below. The MERGE STATUS field is a SET where 0=not ready, 1=ready, and 2=merged. This field would be set to 0=not ready and a bulletin would be sent to the appropriate package users. The MERGE PACKAGES field is a multiple which contains a list of packages that are affected by the merging of entries in the subject file. The STATUS field of this multiple will be set to 0=not ready if the package has the 'from' entry and does an interactive merge. It will be set to 1=ready if the package has the 'from' entry but does an automatic merge. It will be set to 2=no from entry if the package does not have the 'from' entry, regardless of whether they do an interactive or automatic merge. If the package has a merge routine in the package file the merge is automatic. If not, the merge is interactive. The ERROR MESSAGE field of this multiple will contain any errors encountered during the execution of that packages merge routine. Once all entries in the MERGE PACKAGES multiple have a STATUS'=0 the MERGE STATUS field is set to 1=ready via a TRIGGER. Once the MERGE STATUS is set to 1=ready the actual merge will occur. When it is complete the MERGE STATUS will be set to 2=merged. Once set to 2 most fields cannot be modified. The following fields are set by TRIGGERs and are never seen by the user: DATE FOUND, DATE VERIFIED, DATE RESOLVED, WHO CREATED, WHO VERIFIED, and WHO CHANGED. Also, the MERGE DIRECTION and MERGE STATUS fields will be deleted by a TRIGGER if the STATUS field is modified from 'verified duplicate' to any other status. The fields LOOKUP1 and LOOKUP2 provide navigational capability from this file to either the RECORD1 or RECORD2 entries in the file specified in the variable pointer fields. The field LOOKUP3 provides navigational capability to any file that points to this file and has a DINUM relationship. A lookup on the "B" xref will get any file entry that is part of a duplicate record pair because the "B" xref is set by a REGULAR xref on the .01 field and by a MNEMONIC xref on the .02 field. The "AFR" xref is used by the INPUT TRANSFORMS on the .01 and .02 field to prevent entering a file entry that has already been merged away. All xrefs that have subscripts consisting of 'RECORD^RECORD' pairs will be 'low DFN^high DFN'. The "ALK" xref is short lived and contains entries that are unresolved potential duplicates or verified duplicates that have not yet been merged. Its form, using file 2 as an example, is ^VA(15,"ALK","DPT(",fe#1,1,fe#2,DA) or ^VA(15,"ALK","DPT(",fe#1,2,fe#2,DA) where the 5th subscript has the following meaning: 1=potential duplicate, 2=verified duplicate. When the 5th subscript is a 1 there will be two "ALK" entries with the two fe#s reversed. When the 5th subscript is a 2 there will be only 1 "ALK" entry and fe#s will be in the order 'from' 'to'. Once merged the "ALK" xref for that entry will be killed. The "AMRG" xref is also short lived and contains one "AMRG" entry for each entry in this file that has a MERGE STATUS of 0=not ready or 1=ready. Once merged the "AMRG" xref for that entry will be killed. The form of the "AMRG xref, using file 2 as an example, is ^VA(15,"AMRG","DPT(",0,DA) or ^VA(15,"AMRG","DPT(",1,DA) where the value of the 4th subscript has the following meaning; 0=not ready, 1=ready. The "AVCHG" xref is set by the WHO CHANGED field which is itself only set when the STATUS field is changed from "V" to any other value. If this xref exists action needs to be taken because other packages have been notified to merge the two entries. All TRIGGERs fire forward except the TRIGGER on the STATUS field of the MERGE PACKAGES multiple which fires backward to set the MERGE STATUS field. However, that TRIGGER has no effect on the kill side. TRIGGER direction can be relevent when deleting entries using ^DIK. The .01 and .02 fields are 'uneditable' so entries can only be deleted from this file using ^DIK. Most TRIGGERs will not fire during a RE-INDEX of this file. Also, many are conditional upon external SET values. Modify this dictionary with extreme caution. Several TRIGGERs have been modified using ^%GEDIT to add MUMPS code to the conditional logic to prevent firing during a RE-INDEX. This was done only for TRIGGERs that already had human readable conditional logic. ***** W A R N I N G ***** When you add a file to a variable pointer field FileMan deletes the input transform so save it off before the change and restore it after the change.
applicationGroups
XU
Fields
#NameLocationTypeDetailsIndexDescription
.01record1(+)0;1VARIABLE-POINTER2, 200BThis field contains one of the potential duplicate pair. This is a variable pointer.
.02record2(+)0;2VARIABLE-POINTER2, 200The second of the potential duplicate pair. This is a variable pointer.
.03status(+)0;3SET OF CODESP:POTENTIAL DUPLICATE, UNVERIFIED
N:VERIFIED, NOT A DUPLICATE
V:VERIFIED DUPLICATE
X:VERIFICATION IN PROCESS
R:REQUIRES RESOLUTION
This field indicates the status of this duplicate record pair. It may be 'potential duplicate, unverified', 'verified, not a duplicate', or 'verified duplicate'. This field cannot be modified once MERGE STATUS is set to 2=MERGED.
.04merge direction(+)0;4SET OF CODES1:RECORD1 to RECORD2
2:RECORD2 to RECORD1
This field indicates in which direction the merge is to occur, RECORD1 to RECORD2 or RECORD2 to RECORD1. This field cannot be modified once set. Note: Q:X="" on kill side of "ALK2" xref is because deleting an entry using ^DIK may set this field to NULL via a TRIGGER.
.05merge status0;5SET OF CODES0:NOT READY
1:READY
2:MERGED
3:IN PROGRESS
This field is set when a duplicate record pair is verified as a duplicate. The actual merge will not occur until this field is set to READY (1). The merge routine will set this field to MERGED (2). Once set to MERGED (2) this field cannot be modified. Note: Kill side of "AFR" and "ATO" xref kill all possible combinations of xref because deleting an entry in this file using ^DIK results in the .04 field being NULL when these xrefs are fired.
.06date found(+)0;6DATE-TIMEThis field indicates the date this duplicate record pair was added to this file.
.07date verified0;7DATE-TIMEThis field contains the date this duplicate record pair was verified. The STATUS field must be set to "N" or "V" before data can be entered in this field.
.08date resolved0;8DATE-TIMEThis field indicates the date this duplicate record pair was resolved. This field will be set by the dictionary when the STATUS field is set to "N" or the MERGE STATUS field is set to MERGED.
.09who created0;9POINTER200This field contains the user who created this entry. If the entry was created by software this field will be NULL.
.1verif started date0;10DATE-TIMEThis is the date on which the status changed from POTENTIAL DUPLICATE to VERIFICATION IN PROGRESS.
.11who verified0;11POINTER200This field indicates the user who verified this duplicate record pair. The STATUS must be set to "N" or "V" before data can be entered in this field.
.12who changed0;12POINTER200AVCHGThis field is set when the STATUS field is changed from "V" to any other value. The reason this is so important is other packages have been notified and may have already done the merge.
.13approved for back up0;13BOOLEAN0:NO
1:YES
This field is used to document that a backup of the records has been generated. This is required prior to merging the records.
.14backup indicated by0;14FREE TEXTThis field is used to document the user who indicates that the backup has been generated and/or the fact that the backup was generated by the duplicate merge system.
.15dc total possible score0;15NUMERIC This is the maximum possible score if this entry matches exactly to its couterpart.
.16dc verified dupe threshold %0;16NUMERIC This is the lowest % possible that will mark this entry as 'verified duplicate'.
.17dc potential dupe threshold %0;17NUMERIC This is the lowest possible % of the total duplicate score that would mark this entry as 'potential duplicate/unverified'.
.18dc dupe match score0;18NUMERIC Actual duplicate score computed.
.19dc dupe match percentile0;19NUMERIC This is the % of the total possible match score.
.2merge process0;20POINTER15.2This field indicates which entry is the XDR MERGE PROCESS file this entry is associated with. The merge process contains information on the status of the merge of the duplicate pair(s) included within the given process and the extent of completion.
1remarks1;1FREE TEXT This field contains special comments about the duplicate record.
2identifying service2;0MULTIPLE15.02
3overwrite in file3;0MULTIPLE15.03
1101merge packages11;0MULTIPLE15.01101This multiple contains an entry for each package from the package file that is affected by the merging of entries in the file specified in this files .01 field. The STATUS field of this multiple will be set to 0=NOT READY if the package has the 'from' entry in the subject file and does not have a merge routine specified in the package file. The STATUS field will be set to 1=READY if the package has the 'from' entry and also has a merge routine specified in the package file. It will be set to 2=NO FROM ENTRY if the package does not have the 'from' entry, regardless of whether the package has a merge routine or not.
1300check pointsCP;0MULTIPLE15.013
2101duplicate tests/scores21;0MULTIPLE15.02101 This field contains the comparison tests and the scores.
99991lookup1COMPUTEDThis field is used to navigate to the file pointed to by RECORD1.
99992lookup2COMPUTEDThis field is used to navigate to the file pointed to by RECORD2.
99993lookup3COMPUTEDThis computed field provides navigational capability to any file that points to this file and has a DINUM relationship.
999999901mfi controlled9999999;1SET OF CODES1:MERGE
2:INSTALL
AMFIC This field is for MultiFacility Integration software use only.
999999902mfi resolved9999999;2SET OF CODES0:UNRESOLVED
1:RESOLVED
AMFIR This field is for MultiFacility Integration software use only.
999999903mfi patient9999999;3POINTER2AMFIP This field is for MultiFacility Integration software use only.
999999904mfi from site9999999;4FREE TEXT This field is for MultiFacility Integration software use only.

Not Referenced