Record Merging Provider
IRecordMergingService
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
Record merging service
Operations
Operation | Response/Return | Input/Parameter | Description |
---|---|---|---|
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 |
Implementations
SimResourceInterceptor<TModel> - (SanteDB.Core.Api)
Single Instance Mode Handler
Description
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
MdmEntityMerger<TEntity> - (SanteDB.Persistence.MDM)
An MDM merger that operates on Entities
Description
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
MdmResourceMerger<TModel> - (SanteDB.Persistence.MDM)
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(); } } ```
References
Last updated