in converter/dicom-cast/src/Microsoft.Health.DicomCast.Core/Modules/WorkerModule.cs [72:134]
private static void RegisterPipeline(IServiceCollection services)
{
services.Add<FhirTransactionPipeline>()
.Transient()
.AsSelf()
.AsImplementedInterfaces();
services.Decorate<IFhirTransactionPipeline, RetryableFhirTransactionPipeline>();
services.Decorate<IFhirTransactionPipeline, LoggingFhirTransactionPipeline>();
services.Add<Func<IFhirTransactionPipeline>>(sp => () => sp.GetRequiredService<IFhirTransactionPipeline>())
.Transient()
.AsSelf();
RegisterPipelineSteps(services);
services.Decorate<IFhirTransactionPipelineStep, LoggingFhirTransactionPipelineStep>();
services.Add<PatientSynchronizer>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
services.Add<PatientNameSynchronizer>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
services.Add<PatientGenderSynchronizer>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
services.Add<PatientBirthDateSynchronizer>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
services.Add<ImagingStudySynchronizer>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
services.Add<ImagingStudyPropertySynchronizer>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
services.Add<ImagingStudySeriesPropertySynchronizer>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
services.Add<ImagingStudyInstancePropertySynchronizer>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
services.Add<FhirTransactionRequestResponsePropertyAccessors>()
.Singleton()
.AsSelf()
.AsImplementedInterfaces();
}