Record Merging Provider
Last updated
Last updated
IRecordMergingService
in assembly SanteDB.Core.Api version 3.0.1980.0
Record merging service
Operation | Response/Return | Input/Parameter | Description |
---|---|---|---|
Single Instance Mode Handler
This class binds to startup and enables the listening and merging of records based on the record matcher
This service implementation is abstract or is a generic definition. It is intended to be implemented or constructed at runtime from other services and cannot be used directly
An MDM merger that operates on Entities
This class exists to allow callers to interact with the operations in the underlying infrastructure.
This service implementation is abstract or is a generic definition. It is intended to be implemented or constructed at runtime from other services and cannot be used directly
An implementation of a IRecordMergeService for an MDM controlled resource
This service implementation is abstract or is a generic definition. It is intended to be implemented or constructed at runtime from other services and cannot be used directly
# Example Implementation ```csharp /// Example Implementation using SanteDB.Core.Services; /// Other usings here public class MyRecordMergingService : SanteDB.Core.Services.IRecordMergingService { public String ServiceName => "My own IRecordMergingService service"; ////// Gets the duplicates for the specified master record ///public IEnumerable GetMergeCandidateKeys(Guid masterKey){ throw new System.NotImplementedException(); } ////// Get merge candidate keys ///public IQueryResultSet GetMergeCandidates(Guid masterKey){ throw new System.NotImplementedException(); } public IQueryResultSet GetGlobalMergeCandidates(){ throw new System.NotImplementedException(); } ////// Gets the ignore list for the specified master record ///public IEnumerable GetIgnoredKeys(Guid masterKey){ throw new System.NotImplementedException(); } ////// Gets the ignore list for the specified master record ///public IQueryResultSet GetIgnored(Guid masterKey){ throw new System.NotImplementedException(); } ////// Indicates that the engine should ignore the specified false positives ///public IdentifiedData Ignore(Guid masterKey,IEnumerable falsePositives){ throw new System.NotImplementedException(); } ////// Indicates that an ignored record should be removed from the ignore list ///public IdentifiedData UnIgnore(Guid masterKey,IEnumerable ignoredKeys){ throw new System.NotImplementedException(); } ////// Merges the specified into ///public RecordMergeResult Merge(Guid masterKey,IEnumerable linkedDuplicates){ throw new System.NotImplementedException(); } ////// Un-merges the specified from ///public RecordMergeResult Unmerge(Guid masterKey,Guid unmergeDuplicateKey){ throw new System.NotImplementedException(); } public void DetectGlobalMergeCandidates(){ throw new System.NotImplementedException(); } public void ClearGlobalMergeCanadidates(){ throw new System.NotImplementedException(); } public void ClearGlobalIgnoreFlags(){ throw new System.NotImplementedException(); } ////// Clear all merge candidates ///public void ClearMergeCandidates(Guid masterKey){ throw new System.NotImplementedException(); } ////// Clear ignored flags ///public void ClearIgnoreFlags(Guid masterKey){ throw new System.NotImplementedException(); } ////// Perform the necessary operations to detect merge candidates for ///public void DetectMergeCandidates(Guid masterKey){ throw new System.NotImplementedException(); } ////// Reset the specified merge service data on the specified record ///public void Reset(Guid masterKey,Boolean includeVerified,Boolean linksOnly){ throw new System.NotImplementedException(); } ////// Reset the specified merge service data on the specified record ///public void Reset(Boolean includeVerified,Boolean linksOnly){ throw new System.NotImplementedException(); } } ```
GetMergeCandidateKeys
IEnumerable<Guid>
Guid masterKey
Gets the duplicates for the specified master record
GetMergeCandidates
IQueryResultSet<IdentifiedData>
Guid masterKey
Get merge candidate keys
GetGlobalMergeCandidates
IQueryResultSet<ITargetedAssociation>
none
TODO
GetIgnoredKeys
IEnumerable<Guid>
Guid masterKey
Gets the ignore list for the specified master record
GetIgnored
IQueryResultSet<IdentifiedData>
Guid masterKey
Gets the ignore list for the specified master record
Ignore
IdentifiedData
Guid masterKey IEnumerable<Guid> falsePositives
Indicates that the engine should ignore the specified false positives
UnIgnore
IdentifiedData
Guid masterKey IEnumerable<Guid> ignoredKeys
Indicates that an ignored record should be removed from the ignore list
Merge
RecordMergeResult
Guid masterKey IEnumerable<Guid> linkedDuplicates
Merges the specified into
Unmerge
RecordMergeResult
Guid masterKey Guid unmergeDuplicateKey
Un-merges the specified from
DetectGlobalMergeCandidates
void
none
TODO
ClearGlobalMergeCanadidates
void
none
TODO
ClearGlobalIgnoreFlags
void
none
TODO
ClearMergeCandidates
void
Guid masterKey
Clear all merge candidates
ClearIgnoreFlags
void
Guid masterKey
Clear ignored flags
DetectMergeCandidates
void
Guid masterKey
Perform the necessary operations to detect merge candidates for
Reset
void
Guid masterKey Boolean includeVerified Boolean linksOnly
Reset the specified merge service data on the specified record
Reset
void
Boolean includeVerified Boolean linksOnly
Reset the specified merge service data on the specified record