コード例 #1
0
        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
        }
コード例 #2
0
        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
        }
コード例 #3
0
        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
        }