Exemplo n.º 1
0
        public void Build(ICapabilityStatementBuilder builder)
        {
            if (_operationConfiguration.Export.Enabled)
            {
                AddExportDetailsHelper(builder);
            }

            if (_operationConfiguration.Reindex.Enabled)
            {
                builder.Apply(AddReindexDetails);
            }

            if (_operationConfiguration.ConvertData.Enabled)
            {
                builder.Apply(AddConvertDataDetails);
            }

            if (_featureConfiguration.SupportsAnonymizedExport)
            {
                builder.Apply(AddAnonymizedExportDetails);
            }

            builder.Apply(AddMemberMatchDetails);
            builder.Apply(AddPatientEverythingDetails);
        }
 public void Build(ICapabilityStatementBuilder builder)
 {
     if (_featureConfiguration.SupportsXml)
     {
         builder.Apply(x => x.Format.Add(KnownContentTypes.XmlContentType));
     }
 }
Exemplo n.º 3
0
        public void Build(ICapabilityStatementBuilder builder)
        {
            if (_operationConfiguration.Export.Enabled)
            {
                AddExportDetailsHelper(builder);
            }

            if (_operationConfiguration.Reindex.Enabled)
            {
                builder.Apply(AddReindexDetails);
            }

            if (_featureConfiguration.SupportsAnonymizedExport)
            {
                builder.Apply(AddAnonymizedExportDetails);
            }
        }
        public void GivenAConformanceBuilder_WhenExecutingScalar_ThenCorrectInformationIsReturned()
        {
            string httpMicrosoftCom = "http://microsoft.com";

            _builder.Apply(x => x.Url = new Uri(httpMicrosoftCom));

            ITypedElement statement = _builder.Build();

            object url = statement.Scalar("Resource.url");

            Assert.Equal(httpMicrosoftCom, url);
        }
        public override async Task <ResourceElement> GetCapabilityStatementOnStartup(CancellationToken cancellationToken = default(CancellationToken))
        {
            if (_listedCapabilityStatement == null)
            {
                await _defaultCapabilitySemaphore.WaitAsync(cancellationToken);

                try
                {
                    if (_listedCapabilityStatement == null)
                    {
                        _builder = CapabilityStatementBuilder.Create(_modelInfoProvider, _searchParameterDefinitionManager, _supportedProfiles)
                                   .Apply(x =>
                        {
                            x.FhirVersion = _modelInfoProvider.SupportedVersion.ToString();
                            x.Software    = new SoftwareComponent
                            {
                                Name    = Resources.ServerName,
                                Version = Assembly.GetExecutingAssembly().GetName().Version.ToString(),
                            };
                        });

                        using (IScoped <IEnumerable <IProvideCapability> > providerFactory = _capabilityProviders())
                        {
                            foreach (IProvideCapability provider in providerFactory.Value)
                            {
                                provider.Build(_builder);
                            }
                        }

                        foreach (Action <ListedCapabilityStatement> postConfiguration in _configurationUpdates)
                        {
                            _builder.Apply(statement => postConfiguration(statement));
                        }

                        _listedCapabilityStatement = _builder.Build().ToResourceElement();
                    }
                }
                finally
                {
                    _configurationUpdates.Clear();
                    _defaultCapabilitySemaphore.Release();
                }
            }

            return(_listedCapabilityStatement);
        }
        public void Build(ICapabilityStatementBuilder builder)
        {
            EnsureArg.IsNotNull(builder, nameof(builder));

            builder.Apply(capabilityStatement =>
            {
                Uri operationDefinitionUri = _resolver.ResolveOperationDefinitionUrl(OperationsConstants.PurgeHistory);
                capabilityStatement.Rest.Server().Operation.Add(new OperationComponent()
                {
                    Name       = OperationsConstants.PurgeHistory,
                    Definition = new ReferenceComponent
                    {
                        Reference = operationDefinitionUri.ToString(),
                    },
                });
            });
        }
Exemplo n.º 7
0
 public void Build(ICapabilityStatementBuilder builder)
 {
     if (_securityConfiguration.Enabled)
     {
         builder.Apply(statement =>
         {
             if (_securityConfiguration.EnableAadSmartOnFhirProxy)
             {
                 AddProxyOAuthSecurityService(statement, RouteNames.AadSmartOnFhirProxyAuthorize, RouteNames.AadSmartOnFhirProxyToken);
             }
             else
             {
                 AddOAuthSecurityService(statement);
             }
         });
     }
 }
 public void Build(ICapabilityStatementBuilder builder)
 {
     if (_securityConfiguration.Enabled)
     {
         builder.Apply(statement =>
         {
             if (_securityConfiguration.EnableAadSmartOnFhirProxy)
             {
                 AddProxyOAuthSecurityService(statement, _urlResolver, RouteNames.AadSmartOnFhirProxyAuthorize, RouteNames.AadSmartOnFhirProxyToken);
             }
             else
             {
                 AddOAuthSecurityService(statement, _securityConfiguration.Authentication.Authority, _httpClientFactory, _logger);
             }
         });
     }
 }
Exemplo n.º 9
0
 public void Build(ICapabilityStatementBuilder builder)
 {
     if (_schemaInformation.Current >= SchemaVersionConstants.PurgeHistoryVersion)
     {
         builder.Apply(capabilityStatement =>
         {
             Uri operationDefinitionUri = _resolver.ResolveOperationDefinitionUrl(OperationsConstants.PurgeHistory);
             capabilityStatement.Rest.Server().Operation.Add(new OperationComponent
             {
                 Name       = OperationsConstants.PurgeHistory,
                 Definition = new ReferenceComponent
                 {
                     Reference = operationDefinitionUri.ToString(),
                 },
             });
         });
     }
 }
        public override async Task <ResourceElement> GetCapabilityStatementOnStartup(CancellationToken cancellationToken = default(CancellationToken))
        {
            if (_listedCapabilityStatement == null)
            {
                await _defaultCapabilitySemaphore.WaitAsync(cancellationToken);

                try
                {
                    if (_listedCapabilityStatement == null)
                    {
                        _builder = CapabilityStatementBuilder.Create(_modelInfoProvider, _searchParameterDefinitionManager, _configuration, _supportedProfiles);

                        using (IScoped <IEnumerable <IProvideCapability> > providerFactory = _capabilityProviders())
                        {
                            foreach (IProvideCapability provider in providerFactory.Value)
                            {
                                provider.Build(_builder);
                            }
                        }

                        foreach (Action <ListedCapabilityStatement> postConfiguration in _configurationUpdates)
                        {
                            _builder.Apply(statement => postConfiguration(statement));
                        }

                        _listedCapabilityStatement = _builder.Build().ToResourceElement();
                    }
                }
                finally
                {
                    _configurationUpdates.Clear();
                    _defaultCapabilitySemaphore.Release();
                }
            }

            return(_listedCapabilityStatement);
        }
 private void AddExportDetailsHelper(ICapabilityStatementBuilder builder)
 {
     builder.Apply(AddExportDetails);
 }
 private void AddExportDetailsHelper(ICapabilityStatementBuilder builder)
 {
     AddResourceSpecificExportDetails(builder, OperationsConstants.PatientExport, KnownResourceTypes.Patient);
     AddResourceSpecificExportDetails(builder, OperationsConstants.GroupExport, KnownResourceTypes.Group);
     builder.Apply(AddExportDetails);
 }