Пример #1
0
        public CapabilityStatement CreateMetadata(ICollection <IFhirService> services, AbstractStructureDefinitionService abstractStructureDefinitionService, string baseUrl)
        {
            if (!services.Any())
            {
                return(new CapabilityStatement());
            }
            var serviceName = MetaDataName(services);

            var fhirVersion = ModelInfo.Version;

            var fhirPublisher   = GetFhirPublisher();
            var fhirDescription = GetFhirDescription();

            var conformance = CapabilityStatementBuilder.CreateServer(serviceName, fhirPublisher, fhirVersion);

            //conformance.AddUsedResources(services, false, false,
            //  CapabilityStatement.ResourceVersionPolicy.VersionedUpdate);

            //conformance.AddSearchSetInteraction().AddSearchTypeInteractionForResources();
            conformance.AddSearchTypeInteractionForResources();
            conformance = conformance.AddCoreSearchParamsAllResources(services);
            conformance = conformance.AddOperationDefintion(services);

            conformance.AcceptUnknown = CapabilityStatement.UnknownContentCode.Both;
            conformance.Experimental  = true;
            conformance.Format        = new[] { "xml", "json" };
            conformance.Description   = new Markdown(fhirDescription);

            conformance.Profile = SetProfiles(abstractStructureDefinitionService);

            return(conformance);
        }
Пример #2
0
        public static CapabilityStatement CreateMetaData(IEnumerable <IFhirService> services, IConfigurationRoot appSettings, HttpRequest request)
        {
            var enumerableFhirServices = services as IFhirService[] ?? services.ToArray();
            var fhirServices           = services as IFhirService[] ?? enumerableFhirServices.ToArray();

            if (!fhirServices.Any())
            {
                return(new CapabilityStatement());
            }

            var serviceName = MetaDataName(fhirServices);
            var fhirVersion = GetFhirVersion(ModelInfo.Version);

            var publisher           = GetFhirStarterSettingString(appSettings, "FhirPublisher");
            var capabilityStatement =
                CapabilityStatementBuilder.CreateServer(serviceName, publisher, fhirVersion);

            capabilityStatement.AddSearchTypeInteractionForResources();
            capabilityStatement = capabilityStatement.AddCoreSearchParamsAllResources(enumerableFhirServices);
            //  capabilityStatement = capabilityStatement.AddOperationDefinition(enumerableFhirServices, request);

            capabilityStatement.Experimental = false;
            capabilityStatement.Format       = new List <string> {
                "xml+fhir", "json+fhir"
            };

            var fhirDescription = GetFhirStarterSettingString(appSettings, "FhirDescription");

            if (!string.IsNullOrEmpty(fhirDescription))
            {
                capabilityStatement.Description = new Markdown(fhirDescription);
            }

            capabilityStatement.Rest =
                AddProfile(capabilityStatement.Rest, enumerableFhirServices);

            return(capabilityStatement);
        }