Exemple #1
0
        public FhirResponse History(IKey key, HistoryParameters parameters)
        {
            IResourceStorageService storageService = GetFeature <IResourceStorageService>();

            if (storageService.Get(key) == null)
            {
                return(Respond.NotFound(key));
            }
            IHistoryService historyExtension = this.GetFeature <IHistoryService>();

            return(CreateSnapshotResponse(historyExtension.History(key, parameters)));
        }
Exemple #2
0
        private FhirResponse CreateSnapshotResponse(Snapshot snapshot, int pageIndex = 0)
        {
            IPagingService          pagingExtension = this.FindExtension <IPagingService>();
            IResourceStorageService resourceStorage = this.FindExtension <IResourceStorageService>();

            if (pagingExtension == null)
            {
                Bundle bundle = new Bundle()
                {
                    Type  = snapshot.Type,
                    Total = snapshot.Count
                };
                bundle.Append(resourceStorage.Get(snapshot.Keys));
                return(responseFactory.GetFhirResponse(bundle));
            }
            else
            {
                Bundle bundle = pagingExtension.StartPagination(snapshot).GetPage(pageIndex);
                return(responseFactory.GetFhirResponse(bundle));
            }
        }
Exemple #3
0
 public AsyncFhirService(
     IResourceStorageService storageService,
     IPagingService pagingService,
     ISearchService searchService,
     ITransactionService transactionService,
     ICapabilityStatementService capabilityStatementService,
     IHistoryStore historyService,
     IFhirResponseFactory responseFactory,
     ICompositeServiceListener serviceListener,
     IPatchService patchService)
 {
     _storageService             = storageService;
     _pagingService              = pagingService;
     _searchService              = searchService;
     _transactionService         = transactionService;
     _capabilityStatementService = capabilityStatementService;
     _historyService             = historyService;
     _responseFactory            = responseFactory;
     _serviceListener            = serviceListener;
     _patchService = patchService;
 }