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); }
public static void FixGPOS(string connectionString, SessionSecurityTicket securityTicket) { var Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(connectionString); Connection.Open(); var Transaction = Connection.BeginTransaction(); try { #region ALL LANGUAGES ORM_CMN_Language.Query all_languagesQ = new ORM_CMN_Language.Query(); all_languagesQ.Tenant_RefID = securityTicket.TenantID; all_languagesQ.IsDeleted = false; var all_languagesL = ORM_CMN_Language.Query.Search(Connection, Transaction, all_languagesQ).ToArray(); #endregion var case_ids = ORM_HEC_CAS_Case.Query.Search(Connection, Transaction, new ORM_HEC_CAS_Case.Query() { Tenant_RefID = securityTicket.TenantID }).Where(cas => int.Parse(cas.CaseNumber) >= 10000).Select(cas => cas.HEC_CAS_CaseID).ToArray(); int i = 1; foreach (var case_id in case_ids) { var case_details = cls_Get_Case_Details_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GCDfCID_1435() { CaseID = case_id }, securityTicket).Result; if (case_details != null) { cls_Update_Case_GPOS.Invoke(Connection, Transaction, new P_CAS_UCGPOS_1516() { all_languagesL = all_languagesL, case_id = case_id, diagnose_id = case_details.diagnose_id, drug_id = case_details.drug_id, localization = case_details.localization, patient_id = case_details.patient_id }, securityTicket); } Console.Write("\rCase {0} of {1} GPOS updated. ", i++, case_ids.Length); } Transaction.Commit(); Connection.Close(); Console.WriteLine(); } catch (Exception ex) { Transaction.Rollback(); Connection.Close(); throw new Exception("Something went wrong during GPOS fixing", ex); } }
protected static void Ticket_SetParameter(MySqlCommand command, string name, SessionSecurityTicket value) { if (value == null) { return; } Guid_SetParameter(command, "TenantID", value.TenantID); Guid_SetParameter(command, "AccountID", value.AccountID); }
/// <summary> /// Delete patient details entry on elastic /// </summary> /// <param name="id"></param> /// <param name="securityTicket"></param> public static void Delete_PatientDetail(string id, SessionSecurityTicket securityTicket) { var TenantID = securityTicket.TenantID.ToString(); var connection = Elastic_Utils.ElsaticConnection(); string elasticType = "patient_details"; if (!string.IsNullOrEmpty(id)) { var command = Commands.Delete(TenantID, elasticType, id); connection.Delete(command); } }
public static long GetNonViewedRecepiptsCount(string doctor_id, SessionSecurityTicket securityTicket) { var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); if (Elastic_Utils.IfIndexOrTypeExists(securityTicket.TenantID.ToString(), connection) && Elastic_Utils.IfIndexOrTypeExists(securityTicket.TenantID.ToString() + "/" + elasticType, connection)) { string result = connection.Post(Commands.Count(securityTicket.TenantID.ToString(), elasticType), QueryBuilderReceipts.BuildGetNonViewedReceiptsQuery(doctor_id)); return(serializer.ToCountResult(result).count); } return(0); }
public UserObject(string agent, string ip, string connectionString = null, SessionSecurityTicket securityTicket = null) { this.IP = ip; this.Browser = agent; if (connectionString != null && securityTicket != null) { this.Username = ORM_USR_Account.Query.Search(connectionString, new ORM_USR_Account.Query() { Tenant_RefID = securityTicket.TenantID, USR_AccountID = securityTicket.AccountID, IsDeleted = false }).Single().AccountSignInEmailAddress; } }
public static List <Receipt_Model> Get_Receipt_Items(SessionSecurityTicket userSecurityTicket) { var TenantID = userSecurityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); List <Receipt_Model> receipts = new List <Receipt_Model>(); string searchCommand_Receipts = Commands.Search(TenantID, elasticType).Pretty(); var queryS = QueryBuilderReceipts.BuildGetReceiptsQuery(); string result = connection.Post(searchCommand_Receipts, queryS); var foundResults_Receipts = serializer.ToSearchResult <Receipt_Model>(result); return(foundResults_Receipts.Documents.ToList()); }
public static SessionSecurityTicket getSessionSecurityTicket(Session session) { if (session == null) { throw new SessionTokenInfoException("SessionTokenInfo doesn't exist on Session!"); } SessionSecurityTicket ticket = new SessionSecurityTicket(); ticket.AccountID = session.AccountID; ticket.TenantID = session.TenantID; ticket.SessionTicket = session.SessionToken; return(ticket); }
public static long Get_Doctors_Count(string practice_id, SessionSecurityTicket userSecurityTicket) { var query = new QueryBuilder <Practice_Doctors_Model>() .Query(q => q .Bool(b => b .Must(must => must.Terms(t => t.Field(f1 => f1.type).Values("doctor").MinimumMatch(1)) .Terms(t1 => t1.Field(f => f.practice_for_doctor_id).Values(practice_id).MinimumMatch(1)) ))); var connection = Elastic_Utils.ElsaticConnection(); var serializer = new JsonNetSerializer(); var result = serializer.ToCountResult(connection.Post(Commands.Count(userSecurityTicket.TenantID.ToString(), "user"), query.BuildBeautified()).Result); return(result.count); }
public static Settlement_Model GetSettlementForID(string settlement_id, SessionSecurityTicket securityTicket) { try { var connection = Elastic_Utils.ElsaticConnection(); var serializer = new JsonNetSerializer(); string searchCommand = Commands.Index(index: securityTicket.TenantID.ToString(), type: elasticType, id: settlement_id); return(serializer.ToGetResult <Settlement_Model>(connection.Get(searchCommand).Result).Document); } catch { return(null); } }
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 <Bic_Iban_Codes> CheckBicBank(Bic_Parameter BicParametar, SessionSecurityTicket securityTicket) { // var TenantID = securityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string queryS = string.Empty; string elasticType = "iban_bic"; var index = "validation"; List <Bic_Iban_Codes> modelBicIBanL = new List <Bic_Iban_Codes>(); if (Elastic_Utils.IfIndexOrTypeExists(index, connection) && Elastic_Utils.IfIndexOrTypeExists(index + "/" + elasticType, connection)) { var query = new QueryBuilder <Bic_Iban_Codes>() .From(0) .Size(100) .Query(q => q .Bool(b => b .Should(sh => sh .Match(m => m .Field("bic") .Query(BicParametar.Bic).Operator(PlainElastic.Net.Operator.AND) ) ) )); queryS = query.BuildBeautified(); string searchCommand_Doctors_PracticeID = Commands.Search(index, elasticType).Pretty(); string result = connection.Post(searchCommand_Doctors_PracticeID, queryS); var foundResults_Doctors = serializer.ToSearchResult <Bic_Iban_Codes>(result); foreach (var item in foundResults_Doctors.Documents) { Bic_Iban_Codes modelBicIBan = new Bic_Iban_Codes(); modelBicIBan.BankName = item.BankName; modelBicIBan.bic = item.bic; modelBicIBan.IbanPar = item.IbanPar; modelBicIBanL.Add(modelBicIBan); } } return(modelBicIBanL); }
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 List <Practice_Doctors_Model> GetTemporaryDoctors(SessionSecurityTicket userSecurityTicket) { //opdoc tenant var TenantID = userSecurityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string queryS = string.Empty; var query = new QueryBuilder <Practice_Doctors_Model>() .From(0) .Size(int.MaxValue).Query(q => q.Filtered(f => f.Filter(flt => flt.Bool(b => b.Must(m => m.Term(t => t.Field(type => type.type) .Value("doctor")) .Term(term2 => term2.Field(id => id.account_status) .Value("temp"))))))); queryS = query.BuildBeautified(); string searchCommand_Doctors_PracticeID = Commands.Search(TenantID, "user").Pretty(); string result = connection.Post(searchCommand_Doctors_PracticeID, queryS); var foundResults_Doctors = serializer.ToSearchResult <Practice_Doctors_Model>(result); return(foundResults_Doctors.Documents.ToList()); }
public static long GetNumberOfFSCasesInDoctorsPractice(string practice_id, string status, SessionSecurityTicket securityTicket) { var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); if (Elastic_Utils.IfIndexOrTypeExists(securityTicket.TenantID.ToString(), connection) && Elastic_Utils.IfIndexOrTypeExists(securityTicket.TenantID.ToString() + "/" + elasticType, connection)) { string result = connection.Post(Commands.Count(securityTicket.TenantID.ToString(), elasticType), QueryBuilderSettlement.BuildGetNumberOfFSCasesInDoctorsPractice(practice_id, status)); return(serializer.ToCountResult(result).count); } return(0); }
///<summary> /// Save Product Code Type for current Tenant (from SessionSecurityTicket) ///<summary> private static Guid Save_ProductCodeTypeForTenant(DbConnection Connection, DbTransaction Transaction, String contactType, SessionSecurityTicket securityTicket) { var allProductCodeTypes = EnumUtils.GetAllEnumTypeDescriptionPairs <EProductCodeType>(); var enumType = allProductCodeTypes[contactType]; string globalPropertyMatchingID = GetEnumDescription(enumType); #region Dict_Label #region Get Languages P_L2LN_GALFTID_1530 param = new P_L2LN_GALFTID_1530(); param.Tenant_RefID = securityTicket.TenantID; var DBLanguages = cls_Get_All_Languages_ForTenantID.Invoke(Connection, Transaction, param, securityTicket).Result; var languages = DBLanguages.Select(i => new ISOLanguage() { ISO = i.ISO_639_1, LanguageID = i.CMN_LanguageID }).ToList(); #endregion Assembly asm = Assembly.GetExecutingAssembly(); XmlDocument resource = new XmlDocument(); XmlTextReader reader = new XmlTextReader(asm.GetManifestResourceStream(DMProductCodeTypes.ResourceFilePath)); resource.Load(reader); var PCTEnums = DMProductCodeTypes.Get_PredefinedProductCodeTypes(Connection, Transaction, securityTicket); var dict = DBCommonsReader.Instance.GetDictObjectsFromResourceFile(PCTEnums, resource, ORM_CMN_PRO_ProductCode_Type.TableName, languages); #endregion ORM_CMN_PRO_ProductCode_Type ORMContactType = new ORM_CMN_PRO_ProductCode_Type(); ORMContactType.CMN_PRO_ProductCode_TypeID = Guid.NewGuid(); ORMContactType.GlobalPropertyMatchingID = globalPropertyMatchingID; ORMContactType.ProductCode_TypeName = dict[globalPropertyMatchingID].Contents.FirstOrDefault().Content; ORMContactType.Creation_Timestamp = DateTime.Now; ORMContactType.Tenant_RefID = securityTicket.TenantID; ORMContactType.Save(Connection, Transaction); return(ORMContactType.CMN_PRO_ProductCode_TypeID); }
///<summary> /// Get Product Code Type for current Tenant from DB or create it if there is no entry ///<summary> public static Guid Get_ProductCodeType_ByGlobalMatchingID(DbConnection Connection, DbTransaction Transaction, EProductCodeType type, SessionSecurityTicket securityTicket) { string globalPropertyMatchingID = GetEnumDescription(type); var query = new ORM_CMN_PRO_ProductCode_Type.Query(); query.GlobalPropertyMatchingID = globalPropertyMatchingID; query.IsDeleted = false; query.Tenant_RefID = securityTicket.TenantID; var result = ORM_CMN_PRO_ProductCode_Type.Query.Search(Connection, Transaction, query); if (result == null || result.Count() == 0) { return(Save_ProductCodeTypeForTenant(Connection, Transaction, globalPropertyMatchingID, securityTicket)); } if (result.Count() == 1) { return(result.First().CMN_PRO_ProductCode_TypeID); } else { throw new Exception("Multiple ComunicationContactTypes with same \"type\" field are defined in the database!"); } }
///<summary> /// Get all Product Code Types enum strings ///<summary> public static List <String> Get_PredefinedProductCodeTypes(DbConnection Connection, DbTransaction Transaction, SessionSecurityTicket securityTicket) { var enumValues = Enum.GetValues(typeof(EProductCodeType)).Cast <EProductCodeType>(); var contactTypes = enumValues.Select(i => GetEnumDescription(i)).ToList(); return(contactTypes); }
///<summary> /// Save Patient Parameter Types for current Tenant (from SessionSecurityTicket) ///<summary> private static Guid Save_PatientParameterTypesForTenant(DbConnection Connection, DbTransaction Transaction, String Type, SessionSecurityTicket securityTicket) { var allContactTypes = EnumUtils.GetAllEnumTypeDescriptionPairs <EPatientParameterTypes>(); var enumType = allContactTypes[Type]; string description = GetEnumDescription(enumType); ORM_HEC_Patient_ParameterType ORMPatientParameterType = new ORM_HEC_Patient_ParameterType(); ORMPatientParameterType.HEC_Patient_ParameterTypeID = Guid.NewGuid(); ORMPatientParameterType.GlobalPropertyMatchingID = description; ORMPatientParameterType.Creation_Timestamp = DateTime.Now; ORMPatientParameterType.Tenant_RefID = securityTicket.TenantID; ORMPatientParameterType.Save(Connection, Transaction); Guid ParameterTypeGroupID = new Guid(); ///<summary> /// Save Patient Parameter Types2Patient Parameter TypeGroups for current Tenant (from SessionSecurityTicket) ///<summary> switch (Type) { case "myhealtclub.gpapp.pulse-volume": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.heartrate", securityTicket); break; case "myhealtclub.gpapp.pulse-rhytm": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.heartrate", securityTicket); break; case "myhealtclub.gpapp.pulse-frequency": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.heartrate", securityTicket); break; case "myhealtclub.gpapp.preasure-sys": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.preasure", securityTicket); break; case "myhealtclub.gpapp.preasure-dia": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.preasure", securityTicket); break; case "myhealtclub.gpapp.body-temp": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.temperature", securityTicket); break; case "myhealtclub.gpapp.bmi-height": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.bmi", securityTicket); break; case "myhealtclub.gpapp.bmi-weight": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.bmi", securityTicket); break; case "myhealtclub.gpapp.oxygen-saturation": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.oxygen-saturation", securityTicket); break; case "myhealtclub.gpapp.respiration": ParameterTypeGroupID = CL2_PatientParameters.DomainManagement.DMPatientParameterTypeGroups.Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(Connection, Transaction, "myhealtclub.gpapp.group.respiration", securityTicket); break; } ORM_HEC_Patient_ParameterType_2_ParameterTypeGroup partype2pargroup = new ORM_HEC_Patient_ParameterType_2_ParameterTypeGroup(); partype2pargroup.AssignmentID = Guid.NewGuid(); partype2pargroup.Tenant_RefID = securityTicket.TenantID; partype2pargroup.HEC_Patient_ParameterType_Group_RefID = ParameterTypeGroupID; partype2pargroup.HEC_Patient_ParameterType_RefID = ORMPatientParameterType.HEC_Patient_ParameterTypeID; partype2pargroup.Save(Connection, Transaction); return(ORMPatientParameterType.HEC_Patient_ParameterTypeID); }
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); }
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>()); }
///<summary> /// Save Patient Parameter Types Group for current Tenant (from SessionSecurityTicket) ///<summary> private static Guid Save_PatientParameterTypeGroupForTenant(DbConnection Connection, DbTransaction Transaction, String groupType, SessionSecurityTicket securityTicket) { var allContactTypes = EnumUtils.GetAllEnumTypeDescriptionPairs <EPatientParameterTypeGroup>(); var enumType = allContactTypes[groupType]; string description = GetEnumDescription(enumType); ORM_HEC_Patient_ParameterType_Group ORMPatientParameterTypeGroup = new ORM_HEC_Patient_ParameterType_Group(); ORMPatientParameterTypeGroup.HEC_Patient_ParameterType_GroupID = Guid.NewGuid(); ORMPatientParameterTypeGroup.GlobalPropertyMatchingID = description; ORMPatientParameterTypeGroup.Creation_Timestamp = DateTime.Now; ORMPatientParameterTypeGroup.Tenant_RefID = securityTicket.TenantID; ORMPatientParameterTypeGroup.Save(Connection, Transaction); return(ORMPatientParameterTypeGroup.HEC_Patient_ParameterType_GroupID); }
///<summary> /// Get all Patient Parameter Types Group enum strings ///<summary> public static List <PredefinedPatientParameterTypeGroup> Get_PredefinedPatientParameterTypeGroup(DbConnection Connection, DbTransaction Transaction, SessionSecurityTicket securityTicket) { var enumValues = Enum.GetValues(typeof(EPatientParameterTypeGroup)).Cast <EPatientParameterTypeGroup>(); var contactTypes = enumValues.Select(i => new PredefinedPatientParameterTypeGroup() { Type = i, GlobalPropertyMatchingID = GetEnumDescription(i) }).ToList(); return(contactTypes); }
public static IEnumerable <Settlement_Model> Get_Settlement_items(ElasticParameterObject sort_parameter, string practice_id, SessionSecurityTicket securityTicket, List <AftercareHipParameter> rangeParameters = null) { 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 sort_by_second_key = ""; var sort_by_third_key = ""; var sort_by_fourth_key = "first_name.lower_case_sort"; var sort_first = ""; switch (sort_parameter.sort_by) { case "surgery_date": sort_by_second_key = "last_name.lower_case_sort"; sort_by_third_key = "first_name.lower_case_sort"; break; case "patient_name": sort_first = "last_name.lower_case_sort"; sort_by_second_key = "first_name.lower_case_sort"; sort_by_third_key = "birthday"; sort_by_fourth_key = "surgery_date"; break; default: sort_by_second_key = "surgery_date"; sort_by_third_key = "last_name.lower_case_sort"; break; } if (sort_parameter.sort_by == "status") { sort_parameter.sort_by = "status.lower_case_sort"; } var queryS = QueryBuilderSettlement.BuildGetSettlementQuery( start_row_index: sort_parameter.start_row_index, page_size: sort_parameter.page_size, sort_by: !String.IsNullOrEmpty(sort_first) ? sort_first : sort_parameter.sort_by, search_params: sort_parameter.search_params, isAsc: sort_parameter.isAsc, practice_id: practice_id, sort_by_second_key: sort_by_second_key, sort_by_third_key: sort_by_third_key, sort_by_fourth_key: sort_by_fourth_key, filter_by: sort_parameter.filter_by, deselected_ids: sort_parameter.deselected_ids != null && sort_parameter.deselected_ids.Any() ? Array.ConvertAll(sort_parameter.deselected_ids.ToArray(), t => t.ToString()) : null, rangeParameters: rangeParameters, hip_name: sort_parameter.hip_name); string searchCommand_Settlement = Commands.Search(TenantID, elasticType).Pretty(); string result = connection.Post(searchCommand_Settlement, queryS); var foundResults_Settlement = serializer.ToSearchResult <Settlement_Model>(result); return(foundResults_Settlement.Documents.Select(item => { switch (sort_parameter.sort_by) { case "surgery_date": item.group_name = item.surgery_date.ToString("MMMM yyyy", new System.Globalization.CultureInfo("de", true)).ToUpper(); break; case "patient_name": item.group_name = item.last_name.Substring(0, 1).ToUpper(); break; case "case_type": item.group_name = item.case_type; break; case "diagnose": item.group_name = item.diagnose; break; case "localization": item.group_name = item.localization; break; case "doctor": item.group_name = item.doctor; break; case "status.lower_case_sort": item.group_name = item.status; break; default: item.group_name = item.surgery_date.ToString("MMMM yyyy", new System.Globalization.CultureInfo("de", true)).ToUpper(); break; } item.is_submit_button_visible = item.status == "FS6"; item.is_cancel_button_visible = item.status != "FS8"; item.surgery_date_string = item.surgery_date.ToString("dd.MM.yyyy"); return item; })); } return(new List <Settlement_Model>()); }
public static IEnumerable <Settlement_Model> GetAllSettlementsEligibleForSubmissionReport(Guid practice_id, SessionSecurityTicket securityTicket, string[] case_ids = null) { var TenantID = securityTicket.TenantID.ToString(); var serializer = new JsonNetSerializer(); var connection = Elastic_Utils.ElsaticConnection(); string queryS = string.Empty; if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection)) { queryS = QueryBuilderSettlement.BuildGetSettlementEligibleForSubmissionReport(practice_id, case_ids); string result = connection.Post(Commands.Search(TenantID, elasticType).Pretty(), queryS); return(serializer.ToSearchResult <Settlement_Model>(result).Documents); } return(new List <Settlement_Model>()); }
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); }
///<summary> /// Get Patient Parameter Types Group for current Tenant from DB or create it if there is no entry ///<summary> public static Guid Get_PatientParameterTypeGroup_for_GlobalPropertyMatchingID(DbConnection Connection, DbTransaction Transaction, String globalPropertyMatchingID, SessionSecurityTicket securityTicket) { var query = new ORM_HEC_Patient_ParameterType_Group.Query(); query.GlobalPropertyMatchingID = globalPropertyMatchingID; query.IsDeleted = false; query.Tenant_RefID = securityTicket.TenantID; var result = ORM_HEC_Patient_ParameterType_Group.Query.Search(Connection, Transaction, query); if (result == null || result.Count() == 0) { return(Save_PatientParameterTypeGroupForTenant(Connection, Transaction, globalPropertyMatchingID, securityTicket)); } if (result.Count() == 1) { return(result.First().HEC_Patient_ParameterType_GroupID); } else { throw new Exception("Multiple PatientParameterTypeGroup with same \"type\" field are defined in the database!"); } }
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()); }
private List <AftercareHipParameter> GetRangeParameters(DbConnection dbConnection, DbTransaction dbTransaction, SessionSecurityTicket securityTicket, Dictionary <string, List <MD_GHCPoT_1617> > hipData = null) { if (hipData == null) { hipData = cls_Get_Hip_Contract_Parameters_on_Tenant.Invoke(dbConnection, dbTransaction, securityTicket).Result.GroupBy(hip => hip.HipIK).ToDictionary(t => t.Key, t => t.ToList()); } var rangeParameters = hipData.Select(t => { var result = new AftercareHipParameter(); if (t.Value.Any(x => x.ParameterValue != double.MaxValue && x.ParameterValue < 20000000 && x.ParameterValue != 0)) { try { var daysBetweenSurgeryAndAftercare = Convert.ToInt32(t.Value.First(x => x.ParameterName == "Number of days between surgery and aftercare - Days").ParameterValue); var daysToSubmitAftercare = Convert.ToInt32(t.Value.First(x => x.ParameterName == "Number of days between treatment and settlement claim - Days").ParameterValue); result.MinimumTreatmentDate = DateTime.Now.AddDays(-(daysToSubmitAftercare + daysBetweenSurgeryAndAftercare)).ToString("yyyy-MM-dd"); result.OverdueDate = DateTime.Now.AddDays(-daysBetweenSurgeryAndAftercare).ToString("yyyy-MM-dd"); } catch { } } result.HipIk = t.Key; return(result); }).ToList(); return(rangeParameters); }
public static Aftercare_Model GetAftercareForAftercareID(string aftercare_id, SessionSecurityTicket securityTicket) { var connection = Elastic_Utils.ElsaticConnection(); var serializer = new JsonNetSerializer(); string searchCommand = Commands.Index(index: securityTicket.TenantID.ToString(), type: "aftercare", id: aftercare_id); return(serializer.ToGetResult <Aftercare_Model>(connection.Get(searchCommand).Result).Document); }