Record Matching Provider
IRecordMatchingService
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
Represents a service that performs record matching and classification
Operations
Block
IQueryResultSet<T>
T input String configurationId IEnumerable<Guid> ignoreList IRecordMatchingDiagnosticSession collector
Instructs the record matching service to perform a quick block function of records for type with
Classify
IEnumerable<IRecordMatchResult<T>>
T input IEnumerable<T> blocks String configurationId IRecordMatchingDiagnosticSession collector
Instructs the record matcher to run a detailed classification on the matching blocks in
Match
IEnumerable<IRecordMatchResult<T>>
T input String configurationId IEnumerable<Guid> ignoreList IRecordMatchingDiagnosticSession collector
Instructs the record matcher to run a block and match operation against
Match
IEnumerable<IRecordMatchResult>
IdentifiedData input String configurationId IEnumerable<Guid> ignoreList IRecordMatchingDiagnosticSession collector
A non-generic method which uses the type of to call Match
Classify
IEnumerable<IRecordMatchResult>
IdentifiedData input IEnumerable<IdentifiedData> blocks String configurationId IRecordMatchingDiagnosticSession collector
A non-generic method which uses the type of to call Classify
CreateDiagnosticSession
IRecordMatchingDiagnosticSession
none
TODO
Implementations
BaseRecordMatchingService - (SanteDB.Matcher)
Represents base record matching service for SanteDB Matcher
SanteMatch Deterministic Matcher - (SanteDB.Matcher)
Represents a deterministic record matching service
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Matcher.Matchers.SimpleRecordMatchingService, SanteDB.Matcher, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
SanteMatch Probabalistic Match Service - (SanteDB.Matcher)
Represents a probabalistic record matching service
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Matcher.Matchers.WeightedRecordMatchingService, SanteDB.Matcher, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
MdmRecordMatchingService - (SanteDB.Persistence.MDM)
Represents a matching service that wraps the underlying system IRecordMatchingService and provides additional functionality
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Persistence.MDM.Services.MdmRecordMatchingService, SanteDB.Persistence.MDM, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
Example Implementation
/// Example Implementation
using SanteDB.Core.Matching;
/// Other usings here
public class MyRecordMatchingService : SanteDB.Core.Matching.IRecordMatchingService {
public String ServiceName => "My own IRecordMatchingService service";
/// <summary>
/// Instructs the record matching service to perform a quick block function of records for type with
/// </summary>
public IQueryResultSet<T> Block<T>(T input,String configurationId,IEnumerable<Guid> ignoreList,IRecordMatchingDiagnosticSession collector){
throw new System.NotImplementedException();
}
/// <summary>
/// Instructs the record matcher to run a detailed classification on the matching blocks in
/// </summary>
public IEnumerable<IRecordMatchResult<T>> Classify<T>(T input,IEnumerable<T> blocks,String configurationId,IRecordMatchingDiagnosticSession collector){
throw new System.NotImplementedException();
}
/// <summary>
/// Instructs the record matcher to run a block and match operation against
/// </summary>
public IEnumerable<IRecordMatchResult<T>> Match<T>(T input,String configurationId,IEnumerable<Guid> ignoreList,IRecordMatchingDiagnosticSession collector){
throw new System.NotImplementedException();
}
/// <summary>
/// A non-generic method which uses the type of to call Match<T>
/// </summary>
public IEnumerable<IRecordMatchResult> Match(IdentifiedData input,String configurationId,IEnumerable<Guid> ignoreList,IRecordMatchingDiagnosticSession collector){
throw new System.NotImplementedException();
}
/// <summary>
/// A non-generic method which uses the type of to call Classify<T>
/// </summary>
public IEnumerable<IRecordMatchResult> Classify(IdentifiedData input,IEnumerable<IdentifiedData> blocks,String configurationId,IRecordMatchingDiagnosticSession collector){
throw new System.NotImplementedException();
}
public IRecordMatchingDiagnosticSession CreateDiagnosticSession(){
throw new System.NotImplementedException();
}
}
References
Last updated
Was this helpful?