Record Merging Provider

IRecordMergingService in assembly SanteDB.Core.Api version 2.1.151.0

Summary

Record merging service

Operations

OperationResponse/ReturnInput/ParameterDescription

GetMergeCandidateKeys

IEnumerable<Guid>

Guid masterKey

Gets the duplicates for the specified master record

GetMergeCandidates

IEnumerable<IdentifiedData>

Guid masterKey

Get merge candidate keys

GetGlobalMergeCandidates

IEnumerable<ITargetedAssociation>

Int32 count Int32 offset Int32& totalResults

Get all merge candidates

GetIgnoredKeys

IEnumerable<Guid>

Guid masterKey

Gets the ignore list for the specified master record

GetIgnored

IEnumerable<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

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

SimResourceMerger<TModel> - (SanteDB.Core.Api)

TODO: Document this

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 IEnumerable GetMergeCandidates(Guid masterKey){ throw new System.NotImplementedException(); } ////// Get all merge candidates ///public IEnumerable GetGlobalMergeCandidates(Int32 count,Int32 offset,Int32& totalResults){ 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 IEnumerable 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(); } ////// 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