Beispiel #1
0
        public ListDiagnosticServicesResponse ListDiagnosticServices(ListDiagnosticServicesRequest request)
        {
            Platform.CheckForNullReference(request, "request");

            DiagnosticServiceSearchCriteria where = new DiagnosticServiceSearchCriteria();
            where.Id.SortAsc(0);
            if (!string.IsNullOrEmpty(request.Id))
            {
                where.Id.StartsWith(request.Id);
            }
            if (!string.IsNullOrEmpty(request.Name))
            {
                where.Name.Like(string.Format("%{0}%", request.Name));
            }
            if (!request.IncludeDeactivated)
            {
                where.Deactivated.EqualTo(false);
            }

            IDiagnosticServiceBroker  broker = PersistenceContext.GetBroker <IDiagnosticServiceBroker>();
            IList <DiagnosticService> items  = broker.Find(where, request.Page);

            DiagnosticServiceAssembler assembler = new DiagnosticServiceAssembler();

            return(new ListDiagnosticServicesResponse(
                       CollectionUtils.Map <DiagnosticService, DiagnosticServiceSummary>(items,
                                                                                         delegate(DiagnosticService item)
            {
                return assembler.CreateSummary(item);
            })
                       ));
        }
Beispiel #2
0
        private static void InitReferenceDataCacheOnce()
        {
            if (_refDataCachedInitialized)
            {
                return;
            }

            lock (_syncLock)
            {
                if (_refDataCachedInitialized)
                {
                    return;
                }

                Platform.GetService(
                    delegate(IPatientAdminService service)
                {
                    _patientEditorFormData = service.LoadPatientProfileEditorFormData(new LoadPatientProfileEditorFormDataRequest());
                });

                Platform.GetService(
                    delegate(IVisitAdminService service)
                {
                    _visitEditorFormData = service.LoadVisitEditorFormData(new LoadVisitEditorFormDataRequest());
                });

                Platform.GetService(
                    delegate(IOrderEntryService service)
                {
                    _orderEntryFormData = service.GetOrderEntryFormData(new GetOrderEntryFormDataRequest());
                });

                // cache up to 1000 diagnostic services
                Platform.GetService(
                    delegate(IDiagnosticServiceAdminService service)
                {
                    var request = new ListDiagnosticServicesRequest {
                        Page = { FirstRow = 0, MaxRows = 1000 }
                    };
                    _diagnosticServices = service.ListDiagnosticServices(request).DiagnosticServices;
                });

                // cache up to 500 practitioners
                Platform.GetService(
                    delegate(IExternalPractitionerAdminService service)
                {
                    var request = new ListExternalPractitionersRequest {
                        Page = { FirstRow = 0, MaxRows = 500 }, QueryItems = true
                    };
                    _practitioners = service.ListExternalPractitioners(request).Practitioners;
                });

                _refDataCachedInitialized = true;
            }
        }