public static IEnumerable <PatientDetailViewModel> Get_PatientDetailsWhereFieldsHaveValues(List <FieldValueParameter> parameters, string practice_id, string index_name) { var connection = Elastic_Utils.ElsaticConnection(); var serializer = new JsonNetSerializer(); var elasticType = "patient_details"; var searchCommand = Commands.Search(index_name, elasticType).Pretty(); var query = QueryBuilderPatients.BuildGetPatientDetailsWhereFieldsHaveValuesQuery(parameters, practice_id); var result = connection.Post(searchCommand, query); return(serializer.ToSearchResult <PatientDetailViewModel>(result).Documents); }
public static PatientDetailViewModel Get_PatientDetaiForID(string id, SessionSecurityTicket securityTicket) { var TenantID = securityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); var elasticType = "patient_details"; var query = QueryBuilderPatients.BuildGetPatientDetailQuery(id); var searchCommand = Commands.Search(TenantID, elasticType).Pretty(); var result = connection.Post(searchCommand, query); var foundResults = serializer.ToSearchResult <PatientDetailViewModel>(result); return(foundResults.Documents.SingleOrDefault()); }
public static List <PatientDetailViewModel> Get_PatientDetaiForIDandOrderID(string orderID, SessionSecurityTicket securityTicket) { List <PatientDetailViewModel> detailsList = new List <PatientDetailViewModel>(); var TenantID = securityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string elasticType = "patient_details"; string query = QueryBuilderPatients.BuildGetPatientDetailQueryAndOrderID(orderID); string searchCommand = Commands.Search(TenantID, elasticType).Pretty(); string result = connection.Post(searchCommand, query); var foundResults = serializer.ToSearchResult <PatientDetailViewModel>(result); return(foundResults.Documents.ToList()); }
public static IEnumerable <Patient_Model> GetPatientsWhereFieldsPresent(string tenant_id, List <KeyValuePair <string, string> > parameters) { 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 + "/" + elasticType, connection)) { query = QueryBuilderPatients.BuildGetPatientsWhereFieldsPresentQuery(parameters); string searchCommand_Cases = Commands.Search(tenant_id, elasticType).Pretty(); string result = connection.Post(searchCommand_Cases, query); return(serializer.ToSearchResult <Patient_Model>(result).Documents); } return(new List <Patient_Model>()); }
public static IEnumerable <PatientDetailViewModel> GetPatientDetailsForIdAndOrdinal(string id, string ordinal, string tenant_id) { var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string query = string.Empty; var elastic_type = "patient_details"; if (Elastic_Utils.IfIndexOrTypeExists(tenant_id, connection) && Elastic_Utils.IfIndexOrTypeExists(tenant_id + "/" + elastic_type, connection)) { query = QueryBuilderPatients.BuildGetPatientDetailsForIdAndOrdinal(id, ordinal); string searchCommand_Cases = Commands.Search(tenant_id, elastic_type).Pretty(); string result = connection.Post(searchCommand_Cases, query); return(serializer.ToSearchResult <PatientDetailViewModel>(result).Documents); } return(new List <PatientDetailViewModel>()); }
public static Patient_Model Get_Patient_for_PatientID(string patient_id, SessionSecurityTicket securityTicket) { Patient_Model patient = new Patient_Model(); var TenantID = securityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string query = QueryBuilderPatients.BuildGetPatientQuery(patient_id); string searchCommand = Commands.Search(TenantID, elasticType).Pretty(); string result = connection.Post(searchCommand, query); var foundResults = serializer.ToSearchResult <Patient_Model>(result); foreach (var item in foundResults.Documents) { patient = item; } return(patient); }
public static void Get_PatientsList(ElasticParameterObject Parameter, string practice_id, SessionSecurityTicket userSecurityTicket) { List <Patient_Model_xls> patientList = new List <Patient_Model_xls>(); var TenantID = userSecurityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string elasticType = "patient"; if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection)) { string sort_by_second_key = "name"; string sort_by_third_key = "name"; switch (Parameter.sort_by) { case "name": sort_by_second_key = "name"; sort_by_third_key = "birthday"; break; case "participation_consent": sort_by_second_key = "birthday"; sort_by_third_key = "birthday"; break; } Console.WriteLine(sort_by_second_key + " " + sort_by_third_key); string query = String.Empty; if (string.IsNullOrEmpty(Parameter.search_params)) { query = QueryBuilderPatients.BuildGetPatientsQuery(Parameter.start_row_index, 100, Parameter.sort_by, Parameter.isAsc, practice_id, sort_by_second_key, sort_by_third_key); } else { query = QueryBuilderPatients.BuildGetPatientsSearchAsYouTypeQuery(Parameter.start_row_index, 100, Parameter.sort_by, Parameter.isAsc, Parameter.search_params, practice_id, sort_by_second_key, sort_by_third_key); } string searchCommand = Commands.Search(TenantID, elasticType).Pretty(); string result = connection.Post(searchCommand, query); Console.WriteLine(searchCommand + query); var foundResults = serializer.ToSearchResult <Patient_Model_xls>(result); Console.WriteLine(foundResults.hits.total); foreach (var item in foundResults.Documents) { Console.WriteLine(item.name); IFormatProvider culture = new System.Globalization.CultureInfo("de", true); Patient_Model_xls patient = new Patient_Model_xls(); patient.birthday_string = item.birthday_string; patient.birthday = DateTime.Parse(item.birthday_string, culture, System.Globalization.DateTimeStyles.AssumeLocal); patient.health_insurance_provider = item.health_insurance_provider; patient.id = item.id; patient.insurance_id = item.insurance_id; patient.insurance_status = item.insurance_status; patient.name = item.name; patient.participation_consent = item.participation_consent; patient.sex = item.sex; switch (Parameter.sort_by) { case "name": patient.group_name = string.IsNullOrEmpty(item.name) ? "-" : item.name.Substring(0, 1).ToUpper(); break; case "sex": patient.group_name = string.IsNullOrEmpty(item.sex) ? "-" : item.sex; break; case "health_insurance_provider": patient.group_name = string.IsNullOrEmpty(item.health_insurance_provider) ? "-" : item.health_insurance_provider; break; case "participation_consent": patient.group_name = string.IsNullOrEmpty(item.participation_consent) ? "-" : item.participation_consent; break; } patientList.Add(patient); Console.WriteLine("Zavrsio"); } } }
public static List <PatientModelFront> Get_Patients_On_Tenant(ElasticParameterObject Parameter, 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)) { string sort_by_second_key = "name"; string sort_by_third_key = "name"; var sortBY = Parameter.sort_by; switch (Parameter.sort_by) { case "name": sort_by_second_key = "name"; sort_by_third_key = "birthday"; break; case "participation_consent": Parameter.sort_by = "name"; sort_by_second_key = "birthday"; sort_by_third_key = "name"; break; case "last_first_op_doctor_name": sort_by_second_key = "name"; sort_by_third_key = "name"; break; case "last_first_ac_doctor_name": sort_by_second_key = "name"; sort_by_third_key = "name"; break; default: sort_by_second_key = "name"; sort_by_third_key = "birthday"; break; } var query = QueryBuilderPatients.BuildGetPatientsSearchAsYouTypeQueryTenant(Parameter.start_row_index, 100, Parameter.sort_by, Parameter.isAsc, Parameter.search_params, sort_by_second_key, sort_by_third_key); string searchCommand = Commands.Search(TenantID, elasticType).Pretty(); string result = connection.Post(searchCommand, query); var foundResults = serializer.ToSearchResult <Patient_Model>(result); return(foundResults.Documents.Select(item => { IFormatProvider culture = new System.Globalization.CultureInfo("de", true); var patient = new PatientModelFront(); patient.birthday_string = item.birthday_string; patient.birthday = DateTime.Parse(item.birthday_string, culture, System.Globalization.DateTimeStyles.AssumeLocal); patient.health_insurance_provider = item.health_insurance_provider; patient.id = item.id; patient.insurance_id = item.insurance_id; patient.insurance_status = item.insurance_status; patient.name = item.name; patient.sex = item.sex; patient.last_first_ac_doctor_name = item.last_first_ac_doctor_name; patient.last_first_op_doctor_name = item.last_first_op_doctor_name; patient.ac_practice = item.ac_practice; patient.practice = item.practice; if (!item.has_participation_consent) { patient.participation_consent_status = "/"; } else { var todaysDate = DateTime.Now.Date; int startCompare = item.participation_consent_from.Date.CompareTo(todaysDate); int endCompare = item.participation_consent_to == DateTime.MinValue ? 1 : item.participation_consent_to.Date.CompareTo(todaysDate); if (startCompare <= 0 && endCompare >= 0) { patient.participation_consent_status = "aktualisiert"; } else { patient.participation_consent_status = "abgelaufen"; } } switch (sortBY) { case "name": patient.group_name = string.IsNullOrEmpty(item.name) ? "-" : item.name.Substring(0, 1).ToUpper(); break; case "sex": patient.group_name = string.IsNullOrEmpty(item.sex) ? "-" : item.sex; break; case "health_insurance_provider": patient.group_name = string.IsNullOrEmpty(item.health_insurance_provider) ? "-" : item.health_insurance_provider; break; case "last_first_op_doctor_name": patient.group_name = string.IsNullOrEmpty(item.last_first_op_doctor_name) ? "-" : item.last_first_op_doctor_name; break; case "last_first_ac_doctor_name": patient.group_name = string.IsNullOrEmpty(item.last_first_ac_doctor_name) ? "-" : item.last_first_ac_doctor_name; break; case "participation_consent": patient.group_name = string.IsNullOrEmpty(patient.participation_consent_status) ? "-" : patient.participation_consent_status; break; } return patient; }).ToList()); } return(new List <PatientModelFront>()); }
public static List <PatientDetailViewModelExtended> Get_PatientDetailListTenant(ElasticParameterObject Parameter, string patient_id, SessionSecurityTicket securityTicket) { var TenantID = securityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string elasticType = "patient_details"; if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection)) { string sort_by_second_key = "detail_type"; switch (Parameter.sort_by) { case "date": sort_by_second_key = "detail_type"; break; case "detail_type": sort_by_second_key = "date"; break; case "localisation": sort_by_second_key = "date"; break; case "status": sort_by_second_key = "date"; break; } string query = String.Empty; query = QueryBuilderPatients.BuildGetPatientDetailsQueryTenant(Parameter.start_row_index, 100, Parameter.sort_by, Parameter.isAsc, patient_id, sort_by_second_key); string searchCommand = Commands.Search(TenantID, elasticType).Pretty(); string result = connection.Post(searchCommand, query); var foundResults = serializer.ToSearchResult <PatientDetailViewModelExtended>(result); return(foundResults.Documents.Select(item => { var lcid = "de"; switch (Parameter.sort_by) { case "date": item.group_name = string.IsNullOrEmpty(item.date_string) ? "-" : (new CultureInfo(lcid)).DateTimeFormat.GetMonthName(item.date.Month).ToUpper() + " " + item.date.Year; break; case "detail_type": item.group_name = string.IsNullOrEmpty(item.detail_type) ? "-" : item.detail_type; break; case "status": item.group_name = string.IsNullOrEmpty(item.status) ? "-" : item.status; break; case "localisation": item.group_name = string.IsNullOrEmpty(item.localisation) ? "-" : item.localisation; break; } return item; }).ToList()); } return(new List <PatientDetailViewModelExtended>()); }
public static IEnumerable <PatientDetailViewModel> GetPatientDetailsListForContractID(string contract_id, SessionSecurityTicket securityTicket) { List <PatientDetailViewModel> patientDetailList = new List <PatientDetailViewModel>(); var TenantID = securityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string elasticType = "patient_details"; if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection)) { return(serializer.ToSearchResult <PatientDetailViewModel>(connection.Post(Commands.Search(TenantID, elasticType).Pretty(), QueryBuilderPatients.BuildGetPatientDetailsForContractIDQuery(contract_id))).Documents); } return(patientDetailList); }
public static List <PatientDetailViewModelExtended> Get_PatientDetailList(ElasticParameterObject Parameter, string patient_id, IEnumerable <string> case_ids, IEnumerable <string> doctor_ids, IEnumerable <string> other_case_ids, List <DateTime> min_fee_waiver_dates, string practice_id, List <string> consent_ids, List <OctHipParameter> octRangeParameters, List <AftercareHipParameter> acRangeParameters, SessionSecurityTicket securityTicket) { List <PatientDetailViewModelExtended> patientDetailList = new List <PatientDetailViewModelExtended>(); var TenantID = securityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string elasticType = "patient_details"; if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection)) { string sort_by_second_key = "detail_type"; switch (Parameter.sort_by) { case "date": sort_by_second_key = "detail_type"; break; case "detail_type": sort_by_second_key = "date"; break; case "localisation": sort_by_second_key = "date"; break; case "status": sort_by_second_key = "date"; break; } string query = String.Empty; query = QueryBuilderPatients.BuildGetPatientDetailsQuery(Parameter.start_row_index, 100, Parameter.sort_by, Parameter.isAsc, patient_id, sort_by_second_key, case_ids, doctor_ids, other_case_ids, min_fee_waiver_dates, practice_id, consent_ids, octRangeParameters, acRangeParameters); string searchCommand = Commands.Search(TenantID, elasticType).Pretty(); string result = connection.Post(searchCommand, query); var foundResults = serializer.ToSearchResult <PatientDetailViewModelExtended>(result); patientDetailList = foundResults.Documents.Select(item => { var lcid = "de"; switch (Parameter.sort_by) { case "date": item.group_name = string.IsNullOrEmpty(item.date_string) ? "-" : (new CultureInfo(lcid)).DateTimeFormat.GetMonthName(item.date.Month).ToUpper() + " " + item.date.Year; break; case "detail_type": item.group_name = string.IsNullOrEmpty(item.detail_type) ? "-" : item.detail_type; break; case "status": item.group_name = string.IsNullOrEmpty(item.status) ? "-" : item.status; break; case "localisation": item.group_name = string.IsNullOrEmpty(item.localisation) ? "-" : item.localisation; break; } item.date_string = item.date.ToString("dd.MM.yyyy"); return(item); }).ToList(); } return(patientDetailList); }
public static List <PatientModelFront> Get_PatientsList(ElasticParameterObject Parameter, string practice_id, IEnumerable <Guid> patientsIdsWithInvalidConsent, SessionSecurityTicket securityTicket) { List <PatientModelFront> patientList = new List <PatientModelFront>(); 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)) { string sort_by_second_key = "name"; string sort_by_third_key = "name"; switch (Parameter.sort_by) { case "name": sort_by_second_key = "name"; sort_by_third_key = "birthday"; break; case "participation_consent": Parameter.sort_by = "name"; sort_by_second_key = "name"; sort_by_third_key = "birthday"; break; } string query = String.Empty; var hip_name = !String.IsNullOrEmpty(Parameter.hip_name) ? Parameter.hip_name.ToLower() : null; if (Parameter.page_size == 0) { Parameter.page_size = 100; } var patient_ids_with_invalid_consent_array = Parameter.invalid_consent && patientsIdsWithInvalidConsent.Any() ? Array.ConvertAll(patientsIdsWithInvalidConsent.ToArray(), x => x.ToString()) : null; query = QueryBuilderPatients.BuildGetPatientsSearchAsYouTypeQuery(Parameter, Parameter.sort_by, practice_id, sort_by_second_key, sort_by_third_key, hip_name, patient_ids_with_invalid_consent_array); string searchCommand = Commands.Search(TenantID, elasticType).Pretty(); string result = connection.Post(searchCommand, query); var foundResults = serializer.ToSearchResult <Patient_Model>(result); foreach (var item in foundResults.Documents) { IFormatProvider culture = new System.Globalization.CultureInfo("de", true); PatientModelFront patient = new PatientModelFront(); patient.birthday_string = item.birthday_string; patient.birthday = DateTime.Parse(item.birthday_string, culture, System.Globalization.DateTimeStyles.AssumeLocal); patient.health_insurance_provider = item.health_insurance_provider; patient.id = item.id; patient.insurance_id = item.insurance_id; patient.insurance_status = item.insurance_status; patient.name = item.name; patient.sex = item.sex; patient.has_rejected_oct = item.has_rejected_oct; patient.originating_patient_id = item.originating_patient_id; patient.originating_practice_id = item.originating_practice_id; patient.originating_practice_name = item.originating_practice_name; patient.external_id = item.external_id; switch (Parameter.sort_by) { case "name": patient.group_name = string.IsNullOrEmpty(item.name) ? "-" : item.name.Substring(0, 1).ToUpper(); break; case "sex": patient.group_name = string.IsNullOrEmpty(item.sex) ? "-" : item.sex; break; case "health_insurance_provider": patient.group_name = string.IsNullOrEmpty(item.health_insurance_provider) ? "-" : item.health_insurance_provider; break; } patientList.Add(patient); } } return(patientList); }