Beispiel #1
0
        public List <SymptomModel> Process(PatientListParameter parameter)
        {
            List <SymptomModel> symptomList = new List <SymptomModel>();

            List <SymptomModel> symptomList_VS = _restData.AQLQuery <SymptomModel>(AQLCatalog.PatientSymptom_VS(parameter));

            if (symptomList_VS != null)
            {
                symptomList = symptomList_VS;
            }

            List <SymptomModel> symptomList_AS = _restData.AQLQuery <SymptomModel>(AQLCatalog.PatientSymptom_AS(parameter));

            if (symptomList_AS != null)
            {
                symptomList = symptomList.Concat(symptomList_AS).ToList();
            }

            List <SymptomModel> symptomList_US = _restData.AQLQuery <SymptomModel>(AQLCatalog.PatientSymptom_US(parameter));

            if (symptomList_US != null)
            {
                symptomList = symptomList.Concat(symptomList_US).ToList();
            }

            return(symptomList);
        }
Beispiel #2
0
        private void FindContactPatients(List <PatientWardModel> PatientWardList, ContactParameter parameter)
        {
            foreach (PatientWardModel patientWard in PatientWardList)
            {
                ContactPatientsParameter   secondQueryParameter = SecondParameterConstructor(patientWard, parameter);
                List <ContactPatientModel> contactPatientList   = null;
                if (patientWard.StationID == null)
                {
                    _logger.LogInformation("ContactNetworkFactory.FindContactPatients(): No WardID From ContactNetworkFactory.FindWardsQuery(). Set DepartementID to WardID.");
                    secondQueryParameter.WardID = patientWard.Fachabteilung;
                    contactPatientList          = _restData.AQLQuery <ContactPatientModel>(AQLCatalog.ContactPatients_WithoutWardInformation(secondQueryParameter));
                }
                else
                {
                    contactPatientList = _restData.AQLQuery <ContactPatientModel>(AQLCatalog.ContactPatients(secondQueryParameter));
                }
                if (contactPatientList == null)
                {
                    _logger.LogDebug("ContactNetworkFactory.FindContactPatients(): Found No Contact Patients For Ward {wardID} - ResultSet: NULL", secondQueryParameter.WardID);
                    continue;
                }

                ContactModelConstructor(contactPatientList);
            }
        }
Beispiel #3
0
        public List <SymptomModel> ProcessNoParam()
        {
            List <SymptomModel> symptomList = new List <SymptomModel>();

            List <SymptomModel> symptomList_VS = _restData.AQLQuery <SymptomModel>(AQLCatalog.PatientSymptom());

            if (symptomList_VS != null)
            {
                symptomList = symptomList_VS;
            }
            return(symptomList);
        }
Beispiel #4
0
        public List <SymptomModel> PatientBySymptom(string symptom)
        {
            List <SymptomModel> symptomList = new List <SymptomModel>();

            List <SymptomModel> symptomList_VS = _restData.AQLQuery <SymptomModel>(AQLCatalog.PatientBySymptom(symptom));

            if (symptomList_VS != null)
            {
                symptomList = symptomList_VS;
            }
            return(symptomList);
        }
Beispiel #5
0
        public List <SymptomModel> SymptomByPatient(string patientId, DateTime datum)
        {
            List <SymptomModel> symptomList = new List <SymptomModel>();

            List <SymptomModel> symptomList_VS = _restData.AQLQuery <SymptomModel>(AQLCatalog.SymptomsByPatient(patientId, datum));

            if (symptomList_VS != null)
            {
                symptomList = symptomList_VS;
            }
            return(symptomList);
        }
Beispiel #6
0
        private void CreateDailyEntries(DateTime date, EpiCurveParameter parameter)
        {
            _logger.LogDebug("Flag - Query Paramters: Datum: {Date} \r PathogenList: {pathogens}", date.ToString(), parameter.PathogenCodesToAqlMatchString());
            List <FlagTimeModel> flagTimes = _restData.AQLQuery <FlagTimeModel>(AQLCatalog.LaborEpiCurve(date, parameter));

            if (flagTimes == null)
            {
                AddToEpiCurveToSortedDict(date);
                return;
            }

            PopulateDailyEpicCurve(flagTimes, date);

            AddToEpiCurveToSortedDict(date);
        }
Beispiel #7
0
        public NECCombinedDataModel Process(DateTime date)
        {
            List <PatientModel> currentPatients = _restData.AQLQuery <PatientModel>(AQLCatalog.GetAllPatients(date));

            PatientListParameter patientParameter = PatientModelListToPatientListParameter(currentPatients);

            List <LabDataModel>         patLabs      = _labFac.Process(patientParameter);
            List <PatientMovementModel> patMovemenst = _movFac.Process(patientParameter);


            NECCombinedDataModel data = new NECCombinedDataModel()
            {
                labdat       = reduceToNECData(patLabs),
                movementData = reduceToNECData(patMovemenst)
            };

            return(data);
        }
Beispiel #8
0
        public List <StationaryDataModel> Process(string patientId, string fallkennung, DateTime datum)
        {
            List <StationaryDataReceiveModel> stationaryDataReceives = _restData.AQLQuery <StationaryDataReceiveModel>(AQLCatalog.Stationary(patientId, fallkennung, datum));

            if (stationaryDataReceives is null)
            {
                return(new List <StationaryDataModel>());
            }

            return(StationaryConstructor(stationaryDataReceives));
        }
Beispiel #9
0
        private void FindWardsQuery()
        {
            ContactParameter        parameter       = patientStack.Pop();
            List <PatientWardModel> patientWardList = _restData.AQLQuery <PatientWardModel>(AQLCatalog.ContactPatientWards(parameter));

            if (patientWardList is null)
            {
                _logger.LogDebug("ContactNetworkFactory.FindWardsQuery(): Found No Wards - ResultSet: NULL");
                return;
            }

            FindContactPatients(patientWardList, parameter);
        }
Beispiel #10
0
        public List <WeekCaseDataModel> Process(DateTime startDate, DateTime endDate)
        {
            List <WeekCaseReceiveModel> weekCaseReceiveModels = _restData.AQLQuery <WeekCaseReceiveModel>(AQLCatalog.WeekCase(startDate, endDate));

            if (weekCaseReceiveModels is  null)
            {
                return(new List <WeekCaseDataModel>());
            }

            return(WeekCaseConstructor(weekCaseReceiveModels));
        }
Beispiel #11
0
        private string ExistsPatient(RestDataAccess _data, string patientNo)
        {
            List <Patient> patient = _data.AQLQuery <Patient>(AQLCatalog.GetEHRID(patientNo));

            return(patient != null ? patient[0].PatientID : null);
        }
Beispiel #12
0
        public List <MibiLabDataModel> Process(PatientListParameter parameter)
        {
            mibiLabDatas = new List <MibiLabDataModel>();

            List <MetaDataReceiveModel> metaDatas = _restData.AQLQuery <MetaDataReceiveModel>(AQLCatalog.CasesWithResults(parameter));

            if (metaDatas != null)
            {
                getSampleData(metaDatas);
            }
            else
            {
                System.Diagnostics.Debug.WriteLine("metaDatas is null");
            }

            return(mibiLabDatas);
        }
Beispiel #13
0
        /*private void getAllUIDs(List<CaseIDReceiveModel> cases)
         * {
         *  foreach (CaseIDReceiveModel caseID in cases)
         *  {
         *      List<MetaDataReceiveModel> metaDatas = _restData.AQLQuery<MetaDataReceiveModel>(AQLCatalog.ReportMeta(caseID);
         *
         *      getSampleData(metaDatas);
         *  }
         * }*/

        private void getCaseRequirement(List <MetaDataReceiveModel> metaDatas)
        {
            foreach (MetaDataReceiveModel metaData in metaDatas)
            {
                List <RequirementReceiveModel> requirements = _restData.AQLQuery <RequirementReceiveModel>(AQLCatalog.Requirements(metaData));
            }
        }
Beispiel #14
0
        private void getSampleData(List <MetaDataReceiveModel> metaDatas)
        {
            foreach (MetaDataReceiveModel metaData in metaDatas)
            {
                List <SampleReceiveModel> sampleDatas = _restData.AQLQuery <SampleReceiveModel>(AQLCatalog.SamplesFromResult(metaData));

                if (sampleDatas != null)
                {
                    getPathogenData(sampleDatas, metaData);
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine("sampleDatas is null");
                }
            }
        }
Beispiel #15
0
        private void getPathogenData(List <SampleReceiveModel> sampleDatas, MetaDataReceiveModel metaData)
        {
            foreach (SampleReceiveModel sampleData in sampleDatas)
            {
                List <PathogenReceiveModel> pathogenDatas = _restData.AQLQuery <PathogenReceiveModel>(AQLCatalog.PathogensFromResult(metaData, sampleData));

                if (pathogenDatas != null)
                {
                    createMibiLabData(pathogenDatas, sampleData, metaData);
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine("pathogenDatas is null");
                }
            }
        }
Beispiel #16
0
        public List <LabDataModel> Process(PatientListParameter parameter)
        {
            List <LabDataReceiveModel> receiveLabDataList = _restData.AQLQuery <LabDataReceiveModel>(AQLCatalog.PatientLaborData(parameter));

            if (receiveLabDataList is null)
            {
                return(new List <LabDataModel>());
            }

            return(LabDataConstructor(receiveLabDataList));
        }
Beispiel #17
0
        public List <StationaryDataModel> ProcessFromCase(string patientId, string fallId)
        {
            List <StationaryDataReceiveModel> stationaryDataReceives = _restData.AQLQuery <StationaryDataReceiveModel>(AQLCatalog.StayFromCase(patientId, fallId));

            if (stationaryDataReceives is null)
            {
                return(new List <StationaryDataModel>());
            }

            return(StationaryConstructor(stationaryDataReceives));
        }
Beispiel #18
0
        private void PopulateDailyEpicCurve(List <FlagTimeModel> flagTimes, DateTime date)
        {
            foreach (FlagTimeModel flag in flagTimes)
            {
                _logger.LogDebug("PatientLocation - Query Paramters: PatientID: {PatientID} \r Datum: {Date}", flag.PatientID, flag.Datum.ToString());

                List <PatientLocation> patientLocations = _restData.AQLQuery <PatientLocation>(AQLCatalog.PatientLocation(flag.Datum, flag.PatientID));

                PatientLocation patientLocation = null;
                if (patientLocations == null)
                {
                    _logger.LogDebug("PatientLocation - Query Response Count: {LocationCount}", null);
                    patientLocation = new PatientLocation()
                    {
                        Ward = "ohne Stationsangabe", Departement = "0000"
                    };
                }
                else
                {
                    patientLocation = patientLocations[0];
                }
                SetBasicDailyEpiCurveEntries(flag, patientLocation, date);
                AggregateFlagInformation(flag, patientLocation);
            }
            GetMovingAverages();
        }
Beispiel #19
0
        private List <PatientMovementModel> ReturValueConstrutor(List <PatientStayModel> patientStayList)
        {
            List <PatientMovementModel> patientMovementList = new List <PatientMovementModel>();
            List <string>      PatID_CaseId_Combination     = new List <string>();
            EpisodeOfCareModel episodeOfCare = null;

            foreach (PatientStayModel patientStay in patientStayList)
            {
                string patfallID = createPatIDCaseIDCombination(patientStay);

                EpsiodeOfCareParameter episodeOfCareParam = createParameterOfMovement(patientStay);

                if (!PatID_CaseId_Combination.Contains(patfallID))
                {
                    List <EpisodeOfCareModel> episodeOfCareList = _restData.AQLQuery <EpisodeOfCareModel>(AQLCatalog.PatientAdmission(episodeOfCareParam));
                    List <EpisodeOfCareModel> discharges        = _restData.AQLQuery <EpisodeOfCareModel>(AQLCatalog.PatientDischarge(episodeOfCareParam));
                    if (!(episodeOfCareList is null))
                    {
                        //result.First because there can be just one admission/discharge timestamp for each case
                        episodeOfCare = episodeOfCareList[0];
                        if (discharges != null)
                        {
                            episodeOfCare.Ende = discharges[0].Ende;
                        }
                    }
                    PatID_CaseId_Combination.Add(patfallID);
                }

                transformToPatientMovementData(patientStay, episodeOfCare, patientMovementList);
            }

            return(patientMovementList);
        }
Beispiel #20
0
        public List <PatientMovementModel> Process(PatientListParameter parameter)
        {
            List <PatientStayModel> patientStayList = _restData.AQLQuery <PatientStayModel>(AQLCatalog.PatientStay(parameter));

            if (patientStayList is null)
            {
                return(new List <PatientMovementModel>());
            }

            return(ReturValueConstrutor(patientStayList));
        }
Beispiel #21
0
        public List <CountDataModel> Process(string nachweis)
        {
            List <CountDataReceiveModel> countDataReceiveModels = _restData.AQLQuery <CountDataReceiveModel>(AQLCatalog.CovidPat(nachweis));

            if (countDataReceiveModels is null)
            {
                return(new List <CountDataModel>());
            }
            return(CountConstructor(countDataReceiveModels));
        }
Beispiel #22
0
        public List <CaseDataModel> Process(DateTime date)
        {
            List <CaseDataReceiveModel> caseDataReceiveModels = _restData.AQLQuery <CaseDataReceiveModel>(AQLCatalog.Case(date));

            if (caseDataReceiveModels is null)
            {
                return(new List <CaseDataModel>());
            }
            return(CaseConstructor(caseDataReceiveModels));
        }