/// <summary>
        /// Initializes a new instance of the <see cref="ResourceWrapperFactory"/> class.
        /// </summary>
        /// <param name="rawResourceFactory">The raw resource factory.</param>
        /// <param name="fhirRequestContextAccessor">The FHIR request context accessor.</param>
        /// <param name="searchIndexer">The search indexer used to generate search indices.</param>
        /// <param name="claimsExtractor">The claims extractor used to extract claims.</param>
        /// <param name="compartmentIndexer">The compartment indexer.</param>
        /// <param name="searchParameterDefinitionManager"> The search parameter definition manager.</param>
        /// <param name="resourceDeserializer">Resource deserializer</param>
        public ResourceWrapperFactory(
            IRawResourceFactory rawResourceFactory,
            IFhirRequestContextAccessor fhirRequestContextAccessor,
            ISearchIndexer searchIndexer,
            IClaimsExtractor claimsExtractor,
            ICompartmentIndexer compartmentIndexer,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IResourceDeserializer resourceDeserializer)
        {
            EnsureArg.IsNotNull(rawResourceFactory, nameof(rawResourceFactory));
            EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer));
            EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor));
            EnsureArg.IsNotNull(claimsExtractor, nameof(claimsExtractor));
            EnsureArg.IsNotNull(compartmentIndexer, nameof(compartmentIndexer));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(resourceDeserializer, nameof(resourceDeserializer));

            _rawResourceFactory               = rawResourceFactory;
            _searchIndexer                    = searchIndexer;
            _fhirRequestContextAccessor       = fhirRequestContextAccessor;
            _claimsExtractor                  = claimsExtractor;
            _compartmentIndexer               = compartmentIndexer;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _resourceDeserializer             = resourceDeserializer;
        }
Example #2
0
        public SearchParameterOperations(
            SearchParameterStatusManager searchParameterStatusManager,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IModelInfoProvider modelInfoProvider,
            ISearchParameterSupportResolver searchParameterSupportResolver,
            IDataStoreSearchParameterValidator dataStoreSearchParameterValidator,
            Func <IScoped <ISearchService> > searchServiceFactory,
            ILogger <SearchParameterOperations> logger)
        {
            EnsureArg.IsNotNull(searchParameterStatusManager, nameof(searchParameterStatusManager));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));
            EnsureArg.IsNotNull(searchParameterSupportResolver, nameof(searchParameterSupportResolver));
            EnsureArg.IsNotNull(dataStoreSearchParameterValidator, nameof(dataStoreSearchParameterValidator));
            EnsureArg.IsNotNull(searchServiceFactory, nameof(searchServiceFactory));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _searchParameterStatusManager     = searchParameterStatusManager;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _modelInfoProvider = modelInfoProvider;
            _searchParameterSupportResolver    = searchParameterSupportResolver;
            _dataStoreSearchParameterValidator = dataStoreSearchParameterValidator;
            _searchServiceFactory = searchServiceFactory;
            _logger = logger;
        }
Example #3
0
        public SqlServerSearchParameterStatusDataStore(
            Func <IScoped <SqlConnectionWrapperFactory> > scopedSqlConnectionWrapperFactory,
            VLatest.UpsertSearchParamsTvpGenerator <List <ResourceSearchParameterStatus> > updateSearchParamsTvpGenerator,
            FilebasedSearchParameterStatusDataStore.Resolver filebasedRegistry,
            SchemaInformation schemaInformation,
            SqlServerSortingValidator sortingValidator,
            ISqlServerFhirModel fhirModel,
            ISearchParameterDefinitionManager searchParameterDefinitionManager)
        {
            EnsureArg.IsNotNull(scopedSqlConnectionWrapperFactory, nameof(scopedSqlConnectionWrapperFactory));
            EnsureArg.IsNotNull(updateSearchParamsTvpGenerator, nameof(updateSearchParamsTvpGenerator));
            EnsureArg.IsNotNull(filebasedRegistry, nameof(filebasedRegistry));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));
            EnsureArg.IsNotNull(sortingValidator, nameof(sortingValidator));
            EnsureArg.IsNotNull(fhirModel, nameof(fhirModel));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));

            _scopedSqlConnectionWrapperFactory       = scopedSqlConnectionWrapperFactory;
            _updateSearchParamsTvpGenerator          = updateSearchParamsTvpGenerator;
            _filebasedSearchParameterStatusDataStore = filebasedRegistry.Invoke();
            _schemaInformation = schemaInformation;
            _sortingValidator  = sortingValidator;
            _fhirModel         = fhirModel;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
        }
        public SqlServerFhirModel(
            SqlServerDataStoreConfiguration configuration,
            SchemaInformation schemaInformation,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IOptions <SecurityConfiguration> securityConfiguration,
            ILogger <SqlServerFhirModel> logger)
        {
            EnsureArg.IsNotNull(configuration, nameof(configuration));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(securityConfiguration?.Value, nameof(securityConfiguration));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _configuration     = configuration;
            _schemaInformation = schemaInformation;
            _logger            = logger;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _securityConfiguration            = securityConfiguration.Value;

            _initializationOperation = new RetryableInitializationOperation(Initialize);
            if (schemaInformation.Current != null)
            {
                // kick off initialization so that it can be ready for requests. Errors will be observed by requests when they call the method.
                EnsureInitialized();
            }
        }
 public ConformanceBuilderTests()
 {
     _searchParameterDefinitionManager = Substitute.For <ISearchParameterDefinitionManager>();
     _builder = CapabilityStatementBuilder.Create(
         ModelInfoProvider.Instance,
         _searchParameterDefinitionManager);
 }
        public FilebasedSearchParameterStatusDataStore(
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IModelInfoProvider modelInfoProvider)
        {
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));

            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _modelInfoProvider = modelInfoProvider;
        }
Example #7
0
        public SearchParameterExpressionParser(
            ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            IReferenceSearchValueParser referenceSearchValueParser)
        {
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(referenceSearchValueParser, nameof(referenceSearchValueParser));

            _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver();

            _parserDictionary = new (SearchParamType type, Func <string, ISearchValue> parser)[]
Example #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ExpressionParser"/> class.
        /// </summary>
        /// <param name="searchParameterDefinitionManagerResolver">The search parameter definition manager.</param>
        /// <param name="searchParameterExpressionParser">The parser used to parse the search value into a search expression.</param>
        public ExpressionParser(
            ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            ISearchParameterExpressionParser searchParameterExpressionParser)
        {
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(searchParameterExpressionParser, nameof(searchParameterExpressionParser));

            _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver();
            _searchParameterExpressionParser  = searchParameterExpressionParser;
        }
Example #9
0
        public SearchParameterUtilities(
            SearchParameterStatusManager searchParameterStatusManager,
            ISearchParameterDefinitionManager searchParameterDefinitionManager)
        {
            EnsureArg.IsNotNull(searchParameterStatusManager, nameof(searchParameterStatusManager));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));

            _searchParameterStatusManager     = searchParameterStatusManager;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
        }
        private CapabilityStatementBuilder(ListedCapabilityStatement statement, IModelInfoProvider modelInfoProvider, ISearchParameterDefinitionManager searchParameterDefinitionManager)
        {
            EnsureArg.IsNotNull(statement, nameof(statement));
            EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));

            _statement         = statement;
            _modelInfoProvider = modelInfoProvider;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
        }
Example #11
0
        public SearchParameterSupportResolver(
            ISearchParameterDefinitionManager definitionManager,
            IFhirNodeToSearchValueTypeConverterManager searchValueTypeConverterManager)
        {
            EnsureArg.IsNotNull(definitionManager, nameof(definitionManager));
            EnsureArg.IsNotNull(searchValueTypeConverterManager, nameof(searchValueTypeConverterManager));

            _definitionManager = definitionManager;
            _searchValueTypeConverterManager = searchValueTypeConverterManager;
        }
        public SearchParameterUtilities(
            SearchParameterStatusManager searchParameterStatusManager,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IModelInfoProvider modelInfoProvider)
        {
            EnsureArg.IsNotNull(searchParameterStatusManager, nameof(searchParameterStatusManager));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));

            _searchParameterStatusManager     = searchParameterStatusManager;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _modelInfoProvider = modelInfoProvider;
        }
        public SearchParameterValidator(
            Func <IScoped <IFhirOperationDataStore> > fhirOperationDataStoreFactory,
            IFhirAuthorizationService authorizationService,
            ISearchParameterDefinitionManager searchParameterDefinitionManager)
        {
            EnsureArg.IsNotNull(fhirOperationDataStoreFactory, nameof(fhirOperationDataStoreFactory));
            EnsureArg.IsNotNull(authorizationService, nameof(authorizationService));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));

            _fhirOperationDataStoreFactory    = fhirOperationDataStoreFactory;
            _authorizationService             = authorizationService;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
        }
        public FilebasedSearchParameterRegistry(
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            Assembly resourceAssembly,
            string unsupportedParamsEmbeddedResourceName)
        {
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(resourceAssembly, nameof(resourceAssembly));
            EnsureArg.IsNotNullOrWhiteSpace(unsupportedParamsEmbeddedResourceName, nameof(unsupportedParamsEmbeddedResourceName));

            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _resourceAssembly = resourceAssembly;
            _unsupportedParamsEmbeddedResourceName = unsupportedParamsEmbeddedResourceName;
        }
        public SystemConformanceProvider(
            IModelInfoProvider modelInfoProvider,
            SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            Func <IScoped <IEnumerable <IProvideCapability> > > capabilityProviders)
        {
            EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(capabilityProviders, nameof(capabilityProviders));

            _modelInfoProvider = modelInfoProvider;
            _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver();
            _capabilityProviders = capabilityProviders;
        }
Example #16
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SearchIndexer"/> class.
        /// </summary>
        /// <param name="searchParameterDefinitionManager">The search parameter definition manager.</param>
        /// <param name="fhirElementTypeConverterManager">The FHIR element type converter manager.</param>
        /// <param name="logger">The logger.</param>
        public SearchIndexer(
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IFhirElementToSearchValueTypeConverterManager fhirElementTypeConverterManager,
            ILogger <SearchIndexer> logger)
        {
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(fhirElementTypeConverterManager, nameof(fhirElementTypeConverterManager));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _fhirElementTypeConverterManager  = fhirElementTypeConverterManager;
            _logger = logger;
        }
Example #17
0
        public SearchOptionsFactory(
            IExpressionParser expressionParser,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            ILogger <SearchOptionsFactory> logger)
        {
            EnsureArg.IsNotNull(expressionParser, nameof(expressionParser));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _expressionParser = expressionParser;
            _logger           = logger;

            _resourceTypeSearchParameter = searchParameterDefinitionManager.GetSearchParameter(ResourceType.Resource.ToString(), SearchParameterNames.ResourceType);
        }
        public ConformanceBuilderTests()
        {
            IOptions <CoreFeatureConfiguration> configuration = Substitute.For <IOptions <CoreFeatureConfiguration> >();

            configuration.Value.Returns(new CoreFeatureConfiguration());

            _searchParameterDefinitionManager = Substitute.For <ISearchParameterDefinitionManager>();
            _supportedProfiles = Substitute.For <IKnowSupportedProfiles>();
            _builder           = CapabilityStatementBuilder.Create(
                ModelInfoProvider.Instance,
                _searchParameterDefinitionManager,
                configuration,
                _supportedProfiles);
        }
        public SearchParameterOperations(
            SearchParameterStatusManager searchParameterStatusManager,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IModelInfoProvider modelInfoProvider,
            ISearchParameterSupportResolver searchParameterSupportResolver)
        {
            EnsureArg.IsNotNull(searchParameterStatusManager, nameof(searchParameterStatusManager));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));
            EnsureArg.IsNotNull(searchParameterSupportResolver, nameof(searchParameterSupportResolver));

            _searchParameterStatusManager     = searchParameterStatusManager;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _modelInfoProvider = modelInfoProvider;
            _searchParameterSupportResolver = searchParameterSupportResolver;
        }
Example #20
0
        public SearchParameterStatusManager(
            ISearchParameterStatusDataStore searchParameterStatusDataStore,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            ISearchParameterSupportResolver searchParameterSupportResolver,
            IMediator mediator)
        {
            EnsureArg.IsNotNull(searchParameterStatusDataStore, nameof(searchParameterStatusDataStore));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(searchParameterSupportResolver, nameof(searchParameterSupportResolver));
            EnsureArg.IsNotNull(mediator, nameof(mediator));

            _searchParameterStatusDataStore   = searchParameterStatusDataStore;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _searchParameterSupportResolver   = searchParameterSupportResolver;
            _mediator = mediator;
        }
        public SearchParameterStatusManager(
            ISearchParameterRegistry searchParameterRegistry,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            ISearchParameterSupportResolver searchParameterSupportResolver,
            IMediator mediator)
        {
            EnsureArg.IsNotNull(searchParameterRegistry, nameof(searchParameterRegistry));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(searchParameterSupportResolver, nameof(searchParameterSupportResolver));
            EnsureArg.IsNotNull(mediator, nameof(mediator));

            _searchParameterRegistry          = searchParameterRegistry;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _searchParameterSupportResolver   = searchParameterSupportResolver;
            _mediator = mediator;
        }
        public CreateReindexRequestHandler(
            IFhirOperationDataStore fhirOperationDataStore,
            IAuthorizationService <DataActions> authorizationService,
            IOptions <ReindexJobConfiguration> reindexJobConfiguration,
            ISearchParameterDefinitionManager searchParameterDefinitionManager)
        {
            EnsureArg.IsNotNull(fhirOperationDataStore, nameof(fhirOperationDataStore));
            EnsureArg.IsNotNull(authorizationService, nameof(authorizationService));
            EnsureArg.IsNotNull(reindexJobConfiguration, nameof(reindexJobConfiguration));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));

            _fhirOperationDataStore           = fhirOperationDataStore;
            _authorizationService             = authorizationService;
            _reindexJobConfiguration          = reindexJobConfiguration.Value;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
        }
Example #23
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SearchIndexer"/> class.
        /// </summary>
        /// <param name="searchParameterDefinitionManagerResolver">The search parameter definition manager.</param>
        /// <param name="fhirElementTypeConverterManager">The FHIR element type converter manager.</param>
        /// <param name="referenceToElementResolver">Used for parsing reference strings</param>
        /// <param name="logger">The logger.</param>
        public SearchIndexer(
            ISearchParameterDefinitionManager.SupportedSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            IFhirElementToSearchValueTypeConverterManager fhirElementTypeConverterManager,
            IReferenceToElementResolver referenceToElementResolver,
            ILogger <SearchIndexer> logger)
        {
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(fhirElementTypeConverterManager, nameof(fhirElementTypeConverterManager));
            EnsureArg.IsNotNull(referenceToElementResolver, nameof(referenceToElementResolver));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver();
            _fhirElementTypeConverterManager  = fhirElementTypeConverterManager;
            _referenceToElementResolver       = referenceToElementResolver;
            _logger = logger;
        }
        public SqlServerFhirModel(
            SqlServerDataStoreConfiguration configuration,
            SchemaInformation schemaInformation,
            SupportedSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            IOptions <SecurityConfiguration> securityConfiguration,
            ILogger <SqlServerFhirModel> logger)
            : base(configuration, schemaInformation, logger)
        {
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(securityConfiguration?.Value, nameof(securityConfiguration));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver();
            _securityConfiguration            = securityConfiguration.Value;
            _logger = logger;
        }
        public ResourceWrapperFactoryTests()
        {
            var serializer = new FhirJsonSerializer();

            _rawResourceFactory = new RawResourceFactory(serializer);

            var dummyRequestContext = new FhirRequestContext(
                "POST",
                "https://localhost/Patient",
                "https://localhost/",
                Guid.NewGuid().ToString(),
                new Dictionary <string, StringValues>(),
                new Dictionary <string, StringValues>());

            _fhirRequestContextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >();
            _fhirRequestContextAccessor.RequestContext.Returns(dummyRequestContext);

            _claimsExtractor    = Substitute.For <IClaimsExtractor>();
            _compartmentIndexer = Substitute.For <ICompartmentIndexer>();
            _searchIndexer      = Substitute.For <ISearchIndexer>();

            _searchParameterDefinitionManager = Substitute.For <ISearchParameterDefinitionManager>();
            _searchParameterDefinitionManager.GetSearchParameterHashForResourceType(Arg.Any <string>()).Returns("hash");

            _resourceWrapperFactory = new ResourceWrapperFactory(
                _rawResourceFactory,
                _fhirRequestContextAccessor,
                _searchIndexer,
                _claimsExtractor,
                _compartmentIndexer,
                _searchParameterDefinitionManager,
                Deserializers.ResourceDeserializer);

            _nameSearchParameterInfo = new SearchParameterInfo("name", "name", ValueSets.SearchParamType.String, new Uri("https://localhost/searchParameter/name"))
            {
                SortStatus = SortParameterStatus.Enabled
            };
            _addressSearchParameterInfo = new SearchParameterInfo("address-city", "address-city", ValueSets.SearchParamType.String, new Uri("https://localhost/searchParameter/address-city"))
            {
                SortStatus = SortParameterStatus.Enabled
            };
            _ageSearchParameterInfo = new SearchParameterInfo("age", "age", ValueSets.SearchParamType.Number, new Uri("https://localhost/searchParameter/age"))
            {
                SortStatus = SortParameterStatus.Supported
            };
        }
        public SearchOptionsFactory(
            IExpressionParser expressionParser,
            ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            IOptions <CoreFeatureConfiguration> featureConfiguration,
            ILogger <SearchOptionsFactory> logger)
        {
            EnsureArg.IsNotNull(expressionParser, nameof(expressionParser));
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(featureConfiguration?.Value, nameof(featureConfiguration));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _expressionParser = expressionParser;
            _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver();
            _logger = logger;
            _featureConfiguration = featureConfiguration.Value;

            _resourceTypeSearchParameter = _searchParameterDefinitionManager.GetSearchParameter(ResourceType.Resource.ToString(), SearchParameterNames.ResourceType);
        }
Example #27
0
        public FhirCosmosSearchService(
            ISearchOptionsFactory searchOptionsFactory,
            CosmosFhirDataStore fhirDataStore,
            IQueryBuilder queryBuilder,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IFhirRequestContextAccessor requestContextAccessor)
            : base(searchOptionsFactory, fhirDataStore)
        {
            EnsureArg.IsNotNull(fhirDataStore, nameof(fhirDataStore));
            EnsureArg.IsNotNull(queryBuilder, nameof(queryBuilder));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(requestContextAccessor, nameof(requestContextAccessor));

            _fhirDataStore               = fhirDataStore;
            _queryBuilder                = queryBuilder;
            _requestContextAccessor      = requestContextAccessor;
            _resourceTypeSearchParameter = searchParameterDefinitionManager.GetSearchParameter(KnownResourceTypes.Resource, SearchParameterNames.ResourceType);
        }
        public SystemConformanceProvider(
            IModelInfoProvider modelInfoProvider,
            ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            Func <IScoped <IEnumerable <IProvideCapability> > > capabilityProviders,
            IOptions <CoreFeatureConfiguration> configuration,
            IKnowSupportedProfiles supportedProfiles)
        {
            EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(capabilityProviders, nameof(capabilityProviders));
            EnsureArg.IsNotNull(configuration, nameof(configuration));
            EnsureArg.IsNotNull(supportedProfiles, nameof(supportedProfiles));

            _modelInfoProvider = modelInfoProvider;
            _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver();
            _capabilityProviders = capabilityProviders;
            _configuration       = configuration;
            _supportedProfiles   = supportedProfiles;
        }
        public SqlServerFhirModel(
            SqlServerDataStoreConfiguration configuration,
            SchemaInitializer schemaInitializer,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IOptions <SecurityConfiguration> securityConfiguration,
            ILogger <SqlServerFhirModel> logger)
        {
            EnsureArg.IsNotNull(configuration, nameof(configuration));
            EnsureArg.IsNotNull(schemaInitializer, nameof(schemaInitializer));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(securityConfiguration?.Value, nameof(securityConfiguration));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _configuration     = configuration;
            _schemaInitializer = schemaInitializer;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _securityConfiguration            = securityConfiguration.Value;
            _logger = logger;
        }
Example #30
0
        private CapabilityStatementBuilder(
            ListedCapabilityStatement statement,
            IModelInfoProvider modelInfoProvider,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IOptions <CoreFeatureConfiguration> configuration,
            IKnowSupportedProfiles supportedProfiles)
        {
            EnsureArg.IsNotNull(statement, nameof(statement));
            EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(configuration, nameof(configuration));
            EnsureArg.IsNotNull(supportedProfiles, nameof(supportedProfiles));

            _statement         = statement;
            _modelInfoProvider = modelInfoProvider;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _configuration     = configuration.Value;
            _supportedProfiles = supportedProfiles;
        }