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_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 }