protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5PA_SPF_1413 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var returnID = Guid.Empty; if (Parameter.FindingID == Guid.Empty) { #region Save var officeQuery = new ORM_CMN_STR_Office.Query(); officeQuery.CMN_STR_OfficeID = Parameter.PracticeID; officeQuery.IsMedicalPractice = true; officeQuery.IsDeleted = false; officeQuery.Tenant_RefID = securityTicket.TenantID; var office = ORM_CMN_STR_Office.Query.Search(Connection, Transaction, officeQuery).SingleOrDefault(); ORM_HEC_Patient_Finding patient_finding = new ORM_HEC_Patient_Finding(); patient_finding.HEC_Patient_FindingID = Guid.NewGuid(); patient_finding.Patient_RefID = Parameter.PatientID; patient_finding.MedicalPractice_RefID = office != null ? office.IfMedicalPractise_HEC_MedicalPractice_RefID : Guid.Empty; patient_finding.UndersigningDoctor_RefID = Parameter.DoctorID; patient_finding.IfFindingFromReferral_Referral_RefID = Guid.NewGuid(); patient_finding.Tenant_RefID = securityTicket.TenantID; patient_finding.Creation_Timestamp = Parameter.Date; patient_finding.Modification_Timestamp = DateTime.Now; patient_finding.Save(Connection, Transaction); ORM_HEC_ACT_PerformedAction_Referral referal = new ORM_HEC_ACT_PerformedAction_Referral(); referal.HEC_ACT_PerformedAction_ReferralID = patient_finding.IfFindingFromReferral_Referral_RefID; referal.Tenant_RefID = securityTicket.TenantID; referal.ReferralTo_MedicalPractice_RefID = Parameter.ReferalPracticeID; referal.Creation_Timestamp = DateTime.Now; referal.Modification_Timestamp = DateTime.Now; referal.ReferralTo_MedicalPracticeType_RefID = Parameter.ReferalTypeID; referal.Save(Connection, Transaction); returnID = patient_finding.HEC_Patient_FindingID; #endregion } else { if (Parameter.isDeleted) { #region Delete var patient_findingQuery = new ORM_HEC_Patient_Finding.Query(); patient_findingQuery.HEC_Patient_FindingID = Parameter.FindingID; patient_findingQuery.Patient_RefID = Parameter.PatientID; patient_findingQuery.IsDeleted = false; patient_findingQuery.Tenant_RefID = securityTicket.TenantID; var patient_finding = ORM_HEC_Patient_Finding.Query.Search(Connection, Transaction, patient_findingQuery).Single(); patient_finding.IsDeleted = true; patient_finding.Modification_Timestamp = DateTime.Now; patient_finding.Save(Connection, Transaction); var referalQuery = new ORM_HEC_ACT_PerformedAction_Referral.Query(); referalQuery.HEC_ACT_PerformedAction_ReferralID = patient_finding.IfFindingFromReferral_Referral_RefID; referalQuery.IsDeleted = false; referalQuery.Tenant_RefID = securityTicket.TenantID; var referal = ORM_HEC_ACT_PerformedAction_Referral.Query.Search(Connection, Transaction, referalQuery).Single(); referal.IsDeleted = true; referal.Modification_Timestamp = DateTime.Now; referal.Save(Connection, Transaction); #endregion } else { #region Edit var officeQuery = new ORM_CMN_STR_Office.Query(); officeQuery.CMN_STR_OfficeID = Parameter.PracticeID; officeQuery.IsMedicalPractice = true; officeQuery.IsDeleted = false; officeQuery.Tenant_RefID = securityTicket.TenantID; var office = ORM_CMN_STR_Office.Query.Search(Connection, Transaction, officeQuery).SingleOrDefault(); var patient_findingQuery = new ORM_HEC_Patient_Finding.Query(); patient_findingQuery.HEC_Patient_FindingID = Parameter.FindingID; patient_findingQuery.Patient_RefID = Parameter.PatientID; patient_findingQuery.IsDeleted = false; patient_findingQuery.Tenant_RefID = securityTicket.TenantID; var patient_finding = ORM_HEC_Patient_Finding.Query.Search(Connection, Transaction, patient_findingQuery).Single(); patient_finding.Patient_RefID = Parameter.PatientID; patient_finding.MedicalPractice_RefID = office != null ? office.IfMedicalPractise_HEC_MedicalPractice_RefID : Guid.Empty; patient_finding.UndersigningDoctor_RefID = Parameter.DoctorID; patient_finding.Modification_Timestamp = DateTime.Now; patient_finding.Save(Connection, Transaction); var referalQuery = new ORM_HEC_ACT_PerformedAction_Referral.Query(); referalQuery.HEC_ACT_PerformedAction_ReferralID = patient_finding.IfFindingFromReferral_Referral_RefID; referalQuery.IsDeleted = false; referalQuery.Tenant_RefID = securityTicket.TenantID; var referal = ORM_HEC_ACT_PerformedAction_Referral.Query.Search(Connection, Transaction, referalQuery).Single(); referal.Modification_Timestamp = DateTime.Now; referal.ReferralTo_MedicalPracticeType_RefID = Parameter.ReferalTypeID; referal.ReferralTo_MedicalPractice_RefID = Parameter.ReferalPracticeID; referal.Save(Connection, Transaction); returnID = patient_finding.HEC_Patient_FindingID; #endregion } } returnValue.Result = returnID; return(returnValue); #endregion UserCode }
protected static FR_Bool Execute(DbConnection Connection, DbTransaction Transaction, P_L5PA_SPER_1422 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Bool(); var examination = ORM_HEC_ACT_PerformedAction.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, HEC_ACT_PerformedActionID = Parameter.ExaminationID }).Single(); ORM_HEC_ACT_PerformedAction_Referral examinationReferral = ORM_HEC_ACT_PerformedAction_Referral.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction_Referral.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, HEC_ACT_PerformedAction_RefID = examination.HEC_ACT_PerformedActionID }).SingleOrDefault(); //save if (examinationReferral == null) { examinationReferral = new ORM_HEC_ACT_PerformedAction_Referral(); examinationReferral.Tenant_RefID = securityTicket.TenantID; examinationReferral.HEC_ACT_PerformedAction_ReferralID = Guid.NewGuid(); examinationReferral.HEC_ACT_PerformedAction_RefID = examination.HEC_ACT_PerformedActionID; examinationReferral.ReferralComment = Parameter.Comment; if (Parameter.HospitalID != Guid.Empty) { var medicalPractice = ORM_HEC_MedicalPractis.Query.Search(Connection, Transaction, new ORM_HEC_MedicalPractis.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, IsHospital = true, HEC_MedicalPractiseID = Parameter.HospitalID }).Single(); ORM_HEC_MedicalPractice_2_PracticeType medPrac2Type = ORM_HEC_MedicalPractice_2_PracticeType.Query.Search(Connection, Transaction, new ORM_HEC_MedicalPractice_2_PracticeType.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, HEC_MedicalPractice_RefID = Parameter.HospitalID }).Single(); examinationReferral.ReferralTo_MedicalPractice_RefID = medicalPractice.HEC_MedicalPractiseID; examinationReferral.ReferralTo_MedicalPracticeType_RefID = medPrac2Type.HEC_MedicalPractice_Type_RefID; } else { examinationReferral.ReferralTo_MedicalPractice_RefID = Guid.Empty; examinationReferral.ReferralTo_MedicalPracticeType_RefID = Parameter.ReferralPracticeTypeID; } examinationReferral.ReferralTo_BusinessParticipant_RefID = Guid.Empty; if (Parameter.RecomendedDoctorID != Guid.Empty) { var doctorBusinessParticipant = ORM_HEC_Doctor.Query.Search(Connection, Transaction, new ORM_HEC_Doctor.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, HEC_DoctorID = Parameter.RecomendedDoctorID }).Single().BusinessParticipant_RefID; examinationReferral.ReferralTo_BusinessParticipant_RefID = doctorBusinessParticipant; } ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure performedActionProcedure = new ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure(); performedActionProcedure.Action_Referral_RefID = examinationReferral.HEC_ACT_PerformedAction_ReferralID; performedActionProcedure.PotentialTreatment_RefID = Parameter.ProcedureID; performedActionProcedure.Tenant_RefID = securityTicket.TenantID; performedActionProcedure.Save(Connection, Transaction); examinationReferral.Save(Connection, Transaction); } else {//edit if (!Parameter.IsDeleted) { examinationReferral.ReferralComment = Parameter.Comment; if (Parameter.HospitalID != Guid.Empty) { if (examinationReferral.ReferralTo_MedicalPracticeType_RefID == null) { examinationReferral.ReferralTo_MedicalPracticeType_RefID = new Guid(); } examinationReferral.ReferralTo_MedicalPracticeType_RefID = Guid.Empty; if (examinationReferral.ReferralTo_BusinessParticipant_RefID == null) { examinationReferral.ReferralTo_BusinessParticipant_RefID = new Guid(); } examinationReferral.ReferralTo_BusinessParticipant_RefID = Guid.Empty; examinationReferral.ReferralTo_MedicalPractice_RefID = Parameter.HospitalID; ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure performedActionProcedure = ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Action_Referral_RefID = examinationReferral.HEC_ACT_PerformedAction_ReferralID }).SingleOrDefault(); if (performedActionProcedure != null) { performedActionProcedure.IsDeleted = true; performedActionProcedure.Save(Connection, Transaction); } examinationReferral.Save(Connection, Transaction); } else { examinationReferral.ReferralTo_MedicalPracticeType_RefID = Parameter.ReferralPracticeTypeID; examinationReferral.ReferralTo_MedicalPractice_RefID = Parameter.HospitalID; ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure performedActionProcedure = ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Action_Referral_RefID = examinationReferral.HEC_ACT_PerformedAction_ReferralID }).SingleOrDefault(); if (performedActionProcedure == null) { performedActionProcedure = new ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure(); performedActionProcedure.Action_Referral_RefID = examinationReferral.HEC_ACT_PerformedAction_ReferralID; performedActionProcedure.HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedureID = Guid.NewGuid(); performedActionProcedure.Tenant_RefID = securityTicket.TenantID; performedActionProcedure.Save(Connection, Transaction); } performedActionProcedure.PotentialTreatment_RefID = Parameter.ProcedureID; performedActionProcedure.Save(Connection, Transaction); examinationReferral.ReferralTo_BusinessParticipant_RefID = Guid.Empty; if (Parameter.RecomendedDoctorID != Guid.Empty) { var doctorBusinessParticipant = ORM_HEC_Doctor.Query.Search(Connection, Transaction, new ORM_HEC_Doctor.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, HEC_DoctorID = Parameter.RecomendedDoctorID }).Single().BusinessParticipant_RefID; examinationReferral.ReferralTo_BusinessParticipant_RefID = doctorBusinessParticipant; } examinationReferral.Save(Connection, Transaction); } } else {//delete ORM_HEC_ACT_PerformedAction_Referral refferal = ORM_HEC_ACT_PerformedAction_Referral.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction_Referral.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, HEC_ACT_PerformedAction_RefID = examination.HEC_ACT_PerformedActionID }).Single(); ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure performedActionProcedure = ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Action_Referral_RefID = refferal.HEC_ACT_PerformedAction_ReferralID }).Single(); performedActionProcedure.IsDeleted = true; performedActionProcedure.Save(Connection, Transaction); refferal.IsDeleted = true; refferal.Save(Connection, Transaction); } } returnValue.Result = true; return(returnValue); #endregion UserCode }
protected static FR_L5EX_GAPRD_1154 Execute(DbConnection Connection, DbTransaction Transaction, P_L5EX_GAPRD_1154 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5EX_GAPRD_1154(); returnValue.Result = new L5EX_GAPRD_1154(); //top medical pracices treba menjati nakon promene u bazi List <L5OU_GRPBD_1305_top_medical_practice_types> top_medical_practice_typesList = new List <L5OU_GRPBD_1305_top_medical_practice_types>(); List <L5OU_GRPBD_1305_medical_practice_types> medical_practice_typesList = new List <L5OU_GRPBD_1305_medical_practice_types>(); returnValue.Result.top_diagnoses = new List <L5OU_GRPBD_1305_top_diagnoses>().ToArray(); returnValue.Result.doctors = new List <L5OU_GRPBD_1305_doctors>().ToArray(); returnValue.Result.hospitals = new List <L5OU_GRPBD_1305_hospitals>().ToArray(); var Hospitals = new List <L5OU_GRPBD_1305_hospitals>(); var hospitals = cls_Get_All_Hospitals_for_Tenant.Invoke(Connection, Transaction, securityTicket).Result; foreach (var hospital in hospitals) { L5OU_GRPBD_1305_hospitals hosp = new L5OU_GRPBD_1305_hospitals(); hosp.HospitalID = hospital.HEC_MedicalPractiseID; hosp.HospitalName = hospital.OrganizationalUnit_Name.Contents[0].Content; Hospitals.Add(hosp); } returnValue.Result.hospitals = Hospitals.ToArray(); #region Top medical practice types var HEC_ACT_PerformedAction_DoctorsQuery = new ORM_HEC_ACT_PerformedAction_Doctor.Query(); HEC_ACT_PerformedAction_DoctorsQuery.IsDeleted = false; HEC_ACT_PerformedAction_DoctorsQuery.Tenant_RefID = securityTicket.TenantID; HEC_ACT_PerformedAction_DoctorsQuery.HEC_ACT_PerformedAction_RefID = Parameter.ExaminationID; Guid DoctorID = ORM_HEC_ACT_PerformedAction_Doctor.Query.Search(Connection, Transaction, HEC_ACT_PerformedAction_DoctorsQuery).Single().HEC_ACT_PerformedAction_DoctorID; var TopMedicalPractices = cls_Get_Top_MedicalPracticeTypes.Invoke(Connection, Transaction, new P_L5EX_GTMPT_1129 { DoctorID = DoctorID }, securityTicket).Result.ToList(); foreach (var item in TopMedicalPractices) { L5OU_GRPBD_1305_top_medical_practice_types top_mpt = new L5OU_GRPBD_1305_top_medical_practice_types(); top_mpt.id = item.id.ToString(); top_mpt.medical_pracitce_id = item.HEC_MedicalPractiseID.ToString(); top_mpt.name = item.MedicalPracticeType_Name.Contents[0].Content; top_mpt.number_of_occurances = item.NumberOfOccurences.ToString(); top_medical_practice_typesList.Add(top_mpt); } returnValue.Result.top_medical_practice_types = top_medical_practice_typesList.ToArray(); #endregion #region All medical practice types that are not in the top 5 category var all_medical_practice_types = cls_Get_MedicalPracticeTypes_for_TenantID.Invoke(Connection, Transaction, securityTicket).Result.ToList(); foreach (var item in all_medical_practice_types) { L5OU_GRPBD_1305_medical_practice_types practiceType = new L5OU_GRPBD_1305_medical_practice_types(); practiceType.id = item.HEC_MedicalPractice_TypeID.ToString(); practiceType.name = item.MedicalPracticeType_Name.Contents[0].Content; medical_practice_typesList.Add(practiceType); } returnValue.Result.medical_practice_types = medical_practice_typesList.ToArray(); ORM_HEC_ACT_PerformedAction_Referral examinationReferral = ORM_HEC_ACT_PerformedAction_Referral.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction_Referral.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, HEC_ACT_PerformedAction_RefID = Parameter.ExaminationID }).SingleOrDefault(); returnValue.Result.referralSaved = false; if (examinationReferral != null) { returnValue.Result.referralSaved = true; returnValue.Result.selectedDoctor = Guid.Empty; returnValue.Result.comment = examinationReferral.ReferralComment; var doctor = ORM_HEC_Doctor.Query.Search(Connection, Transaction, new ORM_HEC_Doctor.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, BusinessParticipant_RefID = examinationReferral.ReferralTo_BusinessParticipant_RefID }).SingleOrDefault(); if (doctor != null) { returnValue.Result.selectedDoctor = doctor.HEC_DoctorID; P_L5DO_GDfMPTID_0848 doctorsParameter = new P_L5DO_GDfMPTID_0848(); doctorsParameter.MedicalPracticeTypeID = examinationReferral.ReferralTo_MedicalPracticeType_RefID; var doctors = cls_Get_Doctors_for_MedicalPracticeTypeID.Invoke(Connection, Transaction, doctorsParameter, securityTicket).Result; returnValue.Result.doctors = new List <L5OU_GRPBD_1305_doctors>().ToArray(); var Doctors = new List <L5OU_GRPBD_1305_doctors>(); foreach (var doc in doctors) { L5OU_GRPBD_1305_doctors doct = new L5OU_GRPBD_1305_doctors(); doct.doctor = doc.doctor; doct.doctor_id = doc.doctor_id; doct.HEC_MedicalPractiseID = doc.HEC_MedicalPractiseID; Doctors.Add(doct); } returnValue.Result.doctors = Doctors.ToArray(); } returnValue.Result.selectedPracticeTypeID = examinationReferral.ReferralTo_MedicalPracticeType_RefID; returnValue.Result.selectedHospitalID = examinationReferral.ReferralTo_MedicalPractice_RefID; returnValue.Result.selectedProcedureID = Guid.Empty; var procedureReferral = ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction_Referral_RequestedPotentialProcedure.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Action_Referral_RefID = examinationReferral.HEC_ACT_PerformedAction_ReferralID }).SingleOrDefault(); if (procedureReferral != null) { returnValue.Result.selectedProcedureID = procedureReferral.PotentialTreatment_RefID; } } #endregion return(returnValue); #endregion UserCode }