public FhirController(ICollection <IFhirService> services, ICollection <IFhirMockupService> mockupServices, ProfileValidator profileValidator, AbstractStructureDefinitionService abstractStructureDefinitionService) { _fhirServices = services; _fhirMockupServices = mockupServices; _profileValidator = profileValidator; _abstractStructureDefinitionService = abstractStructureDefinitionService; }
private static List <ResourceReference> SetProfiles(AbstractStructureDefinitionService abstractStructureDefinitionService) { var structureDefinitions = abstractStructureDefinitionService.GetStructureDefinitions(); var profiles = structureDefinitions.Select(structureDefinition => new ResourceReference { Url = new Uri(structureDefinition.Url) }).ToList(); return(profiles); }
public FhirController(ICollection <IFhirService> services, AbstractStructureDefinitionService abstractStructureDefinitionService) { _fhirServices = services; _abstractStructureDefinitionService = abstractStructureDefinitionService; }
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); }