Exemplo n.º 1
0
        public static long GetCasesCount(ElasticParameterObject parameter, string practice_id, string authorizing_doctor_id, string treatment_doctor_id, SessionSecurityTicket securityTicket)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();
            var query      = QueryBuilderCase.BuildGetCaseQueryFilter(0, 0, null, false, practice_id, null, null, parameter.search_params, parameter.filter_by, !String.IsNullOrEmpty(parameter.hip_name) ? parameter.hip_name.ToLower() : null, true);

            var command = Commands.Count(securityTicket.TenantID.ToString(), elasticType);
            var result  = serializer.ToCountResult(connection.Post(command, query).Result);

            return(result.count);
        }
Exemplo n.º 2
0
        public static Submitted_Case_Model[] GetSubmittedCasesFilteredIDs(ElasticParameterObject parameter, string status, SessionSecurityTicket securityTicket)
        {
            var size       = GetSubmittedCasesCount(parameter, securityTicket);
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();

            string searchCommand    = Commands.Search(securityTicket.TenantID.ToString(), "submitted_case").Pretty();
            var    operation_result = connection.Post(searchCommand, QueryBuilderCase.BuildGetSubmittedCasesCountQuery(parameter.search_params, parameter.filter_by, parameter.date_from, parameter.date_to, (int)size, status));

            return(serializer.ToSearchResult <Submitted_Case_Model>(operation_result).Documents.ToArray());
        }
Exemplo n.º 3
0
        public static Aftercare_Model[] GetAftercaresFilteredIDs(ElasticParameterObject parameter, string practice_id, string[] deselected_ids, bool is_submit, bool is_practice, string authorizing_doctor_id, string sort_by, bool isAsc, List <AftercareHipParameter> rangeParameters, SessionSecurityTicket securityTicket)
        {
            var connection    = Elastic_Utils.ElsaticConnection();
            var serializer    = new JsonNetSerializer();
            var searchCommand = Commands.Search(securityTicket.TenantID.ToString(), "aftercare").Pretty();
            var query         = QueryBuilderCase.BuildGetAftercaresCountQuery(parameter.search_params, practice_id, parameter.filter_by, parameter.date_from,
                                                                              parameter.date_to, int.MaxValue, is_submit, securityTicket.AccountID.ToString(), is_practice, deselected_ids, authorizing_doctor_id, sort_by, isAsc, rangeParameters, !String.IsNullOrEmpty(parameter.hip_name) ? parameter.hip_name.ToLower() : null);

            var operation_result = connection.Post(searchCommand, query);

            return(serializer.ToSearchResult <Aftercare_Model>(operation_result).Documents.ToArray());
        }
Exemplo n.º 4
0
        public static long GetAftercaresCount(ElasticParameterObject parameter, bool is_practice, string practice_id, string authorizing_doctor_id, List <AftercareHipParameter> rangeParameters, SessionSecurityTicket securityTicket)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();
            var command    = Commands.Count(securityTicket.TenantID.ToString(), "aftercare");
            var query      = QueryBuilderCase.BuildGetAftercaresCountQuery(parameter.search_params, practice_id, parameter.filter_by, parameter.date_from, parameter.date_to, null, false,
                                                                           is_practice ? null : securityTicket.AccountID.ToString(), is_practice, null, authorizing_doctor_id, "", false, rangeParameters, !String.IsNullOrEmpty(parameter.hip_name) ? parameter.hip_name.ToLower() : null);

            var result = serializer.ToCountResult(connection.Post(command, query).Result);

            return(result.count);
        }
Exemplo n.º 5
0
        public static Case_Model[] GetCasesFilteredIDs(ElasticParameterObject parameter, string practice_id, string[] deselected_ids, bool is_submit, string authorizing_doctor_id, string treatment_doctor_id, string sort_by, bool isAsc, SessionSecurityTicket securityTicket)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();

            var searchCommand = Commands.Search(securityTicket.TenantID.ToString(), elasticType).Pretty();
            var query         = QueryBuilderCase.BuildGetCaseQueryFilter(0, int.MaxValue, null, false, practice_id, null, null, parameter.search_params, parameter.filter_by, !String.IsNullOrEmpty(parameter.hip_name) ? parameter.hip_name.ToLower() : null, true, authorizing_doctor_id);

            var operation_result = connection.Post(searchCommand, query);

            var allcases = serializer.ToSearchResult <Case_Model>(operation_result).Documents.ToArray();

            return(allcases.Where(x => !deselected_ids.Any(id => id == x.id)).ToArray());
        }
Exemplo n.º 6
0
        public static Case_Model[] GetCasesforIDArray(Guid practice_id, string[] case_ids, bool is_submit, string authorizing_doctor_id, string treatment_doctor_id, string sort_by, bool isAsc, SessionSecurityTicket securityTicket)
        {
            var TenantID   = securityTicket.TenantID.ToString();
            var serializer = new JsonNetSerializer();
            var connection = Elastic_Utils.ElsaticConnection();

            if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection))
            {
                var    query = QueryBuilderCase.BuildGetCasesinIDArrayQuery(practice_id.ToString(), case_ids, int.MaxValue, is_submit, authorizing_doctor_id, sort_by, isAsc);
                string searchCommand_Cases = Commands.Search(TenantID, elasticType).Pretty();
                string result = connection.Post(searchCommand_Cases, query);
                return(serializer.ToSearchResult <Case_Model>(result).Documents.ToArray());
            }

            return(new Case_Model[] { });
        }
Exemplo n.º 7
0
        public static List <Case_Model> GetAllCases(Guid practice_id, ElasticParameterObject sort_parameter, SessionSecurityTicket securityTicket)
        {
            var    TenantID   = securityTicket.TenantID.ToString();
            var    serializer = new JsonNetSerializer();
            var    connection = Elastic_Utils.ElsaticConnection();
            string queryS     = string.Empty;

            List <Case_Model> case_list = new List <Case_Model>();

            if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection))
            {
                var sort_by_second_key = "";
                var sort_by_third_key  = "";

                switch (sort_parameter.sort_by)
                {
                case "treatment_date":
                    sort_by_second_key = "patient_name";
                    sort_by_third_key  = "patient_birthdate";
                    break;

                case "patient_name":
                    sort_by_second_key = "patient_birthdate";
                    sort_by_third_key  = "treatment_date";
                    break;

                default:
                    sort_by_second_key = "treatment_date";
                    sort_by_third_key  = "patient_name";
                    break;
                }

                sort_parameter.search_params = string.IsNullOrEmpty(sort_parameter.search_params) ? "" : sort_parameter.search_params.ToLower();
                var hip_name = !String.IsNullOrEmpty(sort_parameter.hip_name) ? sort_parameter.hip_name.ToLower() : null;

                queryS = QueryBuilderCase.BuildGetCaseQueryFilter(sort_parameter.start_row_index, 100, sort_parameter.sort_by, sort_parameter.isAsc, practice_id.ToString(), sort_by_second_key, sort_by_third_key, sort_parameter.search_params, sort_parameter.filter_by, hip_name);

                string searchCommand_Cases = Commands.Search(TenantID, elasticType).Pretty();
                string result             = connection.Post(searchCommand_Cases, queryS);
                var    foundResults_Cases = serializer.ToSearchResult <Case_Model>(result);

                case_list = foundResults_Cases.Documents.ToList();
            }

            return(case_list);
        }
Exemplo n.º 8
0
        public static Submitted_Case_Model[] GetSubmittedCaseforIDArray(string[] case_ids, string status, SessionSecurityTicket securityTicket)
        {
            var    TenantID    = securityTicket.TenantID.ToString();
            var    serializer  = new JsonNetSerializer();
            var    connection  = Elastic_Utils.ElsaticConnection();
            string queryS      = string.Empty;
            string elasticType = "submitted_case";

            if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection))
            {
                queryS = QueryBuilderCase.BuildGetSubmittedCasesinIDArrayQuery(case_ids, int.MaxValue, status);
                string searchCommand = Commands.Search(TenantID, elasticType).Pretty();
                string result        = connection.Post(searchCommand, queryS);
                return(serializer.ToSearchResult <Submitted_Case_Model>(result).Documents.ToArray());
            }

            return(new Submitted_Case_Model[] { });
        }
Exemplo n.º 9
0
        public static IEnumerable <T> GetCasesForRollback <T>(List <Query_Object> parameters, string tenant_id, string elastic_type)
        {
            var    serializer = new JsonNetSerializer();
            var    connection = Elastic_Utils.ElsaticConnection();
            string query      = string.Empty;

            if (Elastic_Utils.IfIndexOrTypeExists(tenant_id, connection) && Elastic_Utils.IfIndexOrTypeExists(tenant_id + "/" + elastic_type, connection))
            {
                query = QueryBuilderCase.BuidlGetCasesForRollBack <T>(parameters);

                string searchCommand_Cases = Commands.Search(tenant_id, elastic_type).Pretty();
                string result = connection.Post(searchCommand_Cases, query);

                return(serializer.ToSearchResult <T>(result).Documents);
            }

            return(new List <T>());
        }
Exemplo n.º 10
0
        public static IEnumerable <T> GetCasesWhereIDPresent <T>(string id, string ordinal, string tenant_id, string elastic_type)
        {
            var    serializer = new JsonNetSerializer();
            var    connection = Elastic_Utils.ElsaticConnection();
            string query      = string.Empty;

            if (Elastic_Utils.IfIndexOrTypeExists(tenant_id, connection) && Elastic_Utils.IfIndexOrTypeExists(tenant_id + "/" + elastic_type, connection))
            {
                query = QueryBuilderCase.BuildGetCasesWhereIDPresentQuery <T>(id, ordinal);

                string searchCommand_Cases = Commands.Search(tenant_id, elastic_type).Pretty();
                string result = connection.Post(searchCommand_Cases, query);

                return(serializer.ToSearchResult <T>(result).Documents);
            }

            return(new List <T>());
        }
        public static List <Submitted_Case_Model> Get_All_Submited_Cases_With_Custom_Status(string status, SessionSecurityTicket securityTicket)
        {
            var    TenantID    = securityTicket.TenantID.ToString();
            var    serializer  = new JsonNetSerializer();
            var    connection  = Elastic_Utils.ElsaticConnection();
            string queryS      = string.Empty;
            string elasticType = "submitted_case";

            if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection))
            {
                queryS = QueryBuilderCase.BuildGetAllCaseQuery(status, securityTicket.TenantID.ToString());
                string searchCommand_Cases = Commands.Search(TenantID, elasticType).Pretty();
                string result = connection.Post(searchCommand_Cases, queryS);

                return(serializer.ToSearchResult <Submitted_Case_Model>(result).Documents.ToList());
            }

            return(new List <Submitted_Case_Model>());
        }
Exemplo n.º 12
0
        public static IEnumerable <Submitted_Case_Model> GetSubmittedCasesInErrorCorrectionAndWhereIDPresent(string id, string ordinal, string tenant_id, string case_type = null)
        {
            var    serializer   = new JsonNetSerializer();
            var    connection   = Elastic_Utils.ElsaticConnection();
            string query        = string.Empty;
            var    elastic_type = "submitted_case";

            if (Elastic_Utils.IfIndexOrTypeExists(tenant_id, connection) && Elastic_Utils.IfIndexOrTypeExists(tenant_id + "/" + elastic_type, connection))
            {
                query = QueryBuilderCase.BuildGetSubmittedCasesInErrorCorrectionAndWhereIDPresentQuery(id, ordinal, case_type);

                string searchCommand_Cases = Commands.Search(tenant_id, elastic_type).Pretty();
                string result = connection.Post(searchCommand_Cases, query);

                return(serializer.ToSearchResult <Submitted_Case_Model>(result).Documents);
            }

            return(new List <Submitted_Case_Model>());
        }
Exemplo n.º 13
0
        public static List <Aftercare_Model> GetAftercaresForIDArray(Guid practice_id, bool is_practice, string[] case_ids, bool is_submit,
                                                                     string authorizing_doctor_id, string sort_by, bool isAsc, SessionSecurityTicket securityTicket)
        {
            var    TenantID    = securityTicket.TenantID.ToString();
            var    serializer  = new JsonNetSerializer();
            var    connection  = Elastic_Utils.ElsaticConnection();
            string queryS      = string.Empty;
            string elasticType = "aftercare";

            List <Aftercare_Model> case_list = new List <Aftercare_Model>();

            if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection))
            {
                queryS = QueryBuilderCase.BuildGetAftercaresinIDArrayQuery(practice_id.ToString(), case_ids, int.MaxValue, is_submit, authorizing_doctor_id, sort_by, isAsc);
                string searchCommand_Cases = Commands.Search(TenantID, elasticType).Pretty();
                string result = connection.Post(searchCommand_Cases, queryS);
                Dictionary <string, int> PracticeDoctorsCount = new Dictionary <string, int>();
                case_list = serializer.ToSearchResult <Aftercare_Model>(result).Documents.ToList();
            }

            return(case_list);
        }
Exemplo n.º 14
0
        public static IEnumerable <Aftercare_Model> GetAllAftercaresforPracticeID(String practice_id, bool is_practice, ElasticParameterObject sort_parameter, SessionSecurityTicket securityTicket, List <AftercareHipParameter> rangeParameters)
        {
            var    TenantID    = securityTicket.TenantID.ToString();
            var    serializer  = new JsonNetSerializer();
            var    connection  = Elastic_Utils.ElsaticConnection();
            string queryS      = string.Empty;
            string elasticType = "aftercare";

            if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection))
            {
                var sort_by_second_key = "treatment_date";
                var sort_by_third_key  = "patient_name";

                switch (sort_parameter.sort_by)
                {
                case "treatment_date":
                    sort_by_second_key = "patient_name";
                    sort_by_third_key  = "patient_birthdate";
                    break;

                case "patient_name":
                    sort_by_second_key = "patient_birthdate";
                    sort_by_third_key  = "treatment_date";
                    break;
                }

                if (sort_parameter.page_size == 0)
                {
                    sort_parameter.page_size = 100;
                }

                var hip_name = !String.IsNullOrEmpty(sort_parameter.hip_name) ? sort_parameter.hip_name.ToLower() : null;

                var query = QueryBuilderCase.BuildGetAftercaresQuery(sort_parameter.start_row_index,
                                                                     sort_parameter.page_size,
                                                                     sort_parameter.sort_by,
                                                                     sort_parameter.search_params,
                                                                     sort_parameter.isAsc,
                                                                     practice_id,
                                                                     sort_by_second_key,
                                                                     sort_by_third_key,
                                                                     sort_parameter.filter_by,
                                                                     rangeParameters,
                                                                     hip_name);

                string searchCommand_Cases = Commands.Search(TenantID, elasticType).Pretty();
                string result = connection.Post(searchCommand_Cases, query);

                var foundResults_Aftercares = serializer.ToSearchResult <Aftercare_Model>(result);

                var aftercares = foundResults_Aftercares.Documents.Select(item =>
                {
                    switch (sort_parameter.sort_by)
                    {
                    case "treatment_date": item.group_name = item.treatment_date_month_year.ToUpper(); break;

                    case "patient_name": item.group_name = item.patient_name.Substring(0, 1).ToUpper(); break;

                    case "diagnose": item.group_name = item.diagnose; break;

                    case "localization": item.group_name = item.localization; break;

                    case "treatment_doctor_name": item.group_name = item.treatment_doctor_name; break;

                    case "aftercare_doctor_name": item.group_name = item.aftercare_doctor_name; break;

                    case "status": item.group_name = item.status; break;

                    default: item.group_name = item.treatment_date_month_year; break;
                    }

                    item.treatment_date_day_month = item.treatment_date.ToString("dd.MM.yyyy");

                    return(item);
                });

                return(aftercares);
            }

            return(Enumerable.Empty <Aftercare_Model>());
        }
Exemplo n.º 15
0
        public static List <Submitted_Case_Model> GetAllCases(ElasticParameterObject sort_parameter, SessionSecurityTicket securityTicket)
        {
            var    TenantID    = securityTicket.TenantID.ToString();
            var    serializer  = new JsonNetSerializer();
            var    connection  = Elastic_Utils.ElsaticConnection();
            string queryS      = string.Empty;
            string elasticType = "submitted_case";

            List <Submitted_Case_Model> case_list = new List <Submitted_Case_Model>();

            if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection))
            {
                var sort_by_second_key = "";
                var sort_by_third_key  = "";
                var sort_by_fourth_key = "";
                var sort_by_fifth_key  = "";

                switch (sort_parameter.sort_by)
                {
                case "treatment_date":
                    sort_by_second_key = "patient_name";
                    sort_by_third_key  = "patient_birthdate";
                    break;

                case "patient_name":
                    sort_by_second_key = "patient_birthdate";
                    sort_by_third_key  = "treatment_date";
                    break;

                case "management_status":
                    sort_by_second_key = "practice_name";
                    sort_by_third_key  = "doctor_name";
                    sort_by_fourth_key = "treatment_date";
                    sort_by_fifth_key  = "patient_name";
                    break;

                default:
                    sort_by_second_key = "treatment_date";
                    sort_by_third_key  = "patient_name";
                    break;
                }
                if (string.IsNullOrEmpty(sort_parameter.search_params) && sort_parameter.filter_by.filter_status.Length == 0 && sort_parameter.filter_by.filter_type.Length == 0 && string.IsNullOrEmpty(sort_parameter.date_from) && string.IsNullOrEmpty(sort_parameter.date_to))
                {
                    queryS = QueryBuilderCase.BuildGetSubmittedCaseQuery(sort_parameter.start_row_index, 100, sort_parameter.sort_by, sort_parameter.isAsc, sort_by_second_key, sort_by_third_key, sort_by_fourth_key, sort_by_fifth_key);
                }
                else
                {
                    sort_parameter.search_params = string.IsNullOrEmpty(sort_parameter.search_params) ? "" : sort_parameter.search_params.ToLower();
                    queryS = QueryBuilderCase.BuildGetSubmittedCasesSearchAsYouTypeQuery(sort_parameter.start_row_index, 100, sort_parameter.sort_by, sort_parameter.isAsc, sort_parameter.search_params, sort_parameter.filter_by, sort_by_second_key, sort_by_third_key, sort_by_fourth_key, sort_by_fifth_key, sort_parameter.date_from, sort_parameter.date_to);
                }

                string searchCommand_Cases = Commands.Search(TenantID, elasticType).Pretty();
                string result = connection.Post(searchCommand_Cases, queryS);
                Dictionary <string, int> PracticeDoctorsCount = new Dictionary <string, int>();
                var foundResults_Cases = serializer.ToSearchResult <Submitted_Case_Model>(result);

                foreach (var item in foundResults_Cases.Documents)
                {
                    switch (sort_parameter.sort_by)
                    {
                    case "treatment_date": item.group_name = item.treatment_date_month_year.ToUpper(); break;

                    case "patient_name": item.group_name = item.patient_name.Substring(0, 1).ToUpper(); break;

                    case "hip_name": item.group_name = item.hip_name; break;

                    case "type": item.group_name = item.type.Equals("op") ? "LABEL_TREATMENT" : "LABEL_AFTERCARE"; break;

                    case "diagnose": item.group_name = item.diagnose; break;

                    case "localization": item.group_name = item.localization; break;

                    case "doctor_name": item.group_name = item.doctor_name; break;

                    case "management_pauschale": item.group_name = string.IsNullOrEmpty(item.management_pauschale) ? "-" : item.management_pauschale.Equals("waived") ? "LABEL_MANAGEMENT_FEE_WAIVED" : "LABEL_MANAGEMENT_FEE_DEDUCTED"; break;

                    case "status": item.group_name = item.status; break;

                    default: item.group_name = item.treatment_date_month_year; break;
                    }

                    item.treatment_date_day_month = item.treatment_date.ToString("dd.MM.yyyy");
                    item.management_pauschale     = string.IsNullOrEmpty(item.management_pauschale) ? "-" : item.management_pauschale.Equals("waived") ? "LABEL_MANAGEMENT_FEE_WAIVED" : "LABEL_MANAGEMENT_FEE_DEDUCTED";
                }

                case_list = foundResults_Cases.Documents.ToList();
            }
            return(case_list);
        }
Exemplo n.º 16
0
        public static long GetSubmittedCasesCount(ElasticParameterObject parameter, SessionSecurityTicket securityTicket)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();
            var result     = serializer.ToCountResult(connection.Post(Commands.Count(securityTicket.TenantID.ToString(), "submitted_case"), QueryBuilderCase.BuildGetSubmittedCasesCountQuery(parameter.search_params, parameter.filter_by, parameter.date_from, parameter.date_to, null, "")).Result);

            return(result.count);
        }