Пример #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_L5EX_SPF_1207 Execute(DbConnection Connection, DbTransaction Transaction, P_L5EX_SPF_1207 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_L5EX_SPF_1207();
            //Put your code here

            if (!Parameter.IsDeleted)
            {
                //save
                returnValue.Result = new L5EX_SPF_1207();
                var performedActionFindings = new  ORM_HEC_ACT_PerformedAction_PatientProvidedFinding();
                performedActionFindings.Tenant_RefID = securityTicket.TenantID;
                performedActionFindings.HEC_Patient_Finding_RefID     = Guid.NewGuid();
                performedActionFindings.HEC_ACT_PerformedAction_RefID = Parameter.ExaminationID;
                performedActionFindings.Save(Connection, Transaction);

                var patientFinding = new ORM_HEC_Patient_Finding();
                patientFinding.HEC_Patient_FindingID = performedActionFindings.HEC_Patient_Finding_RefID;

                patientFinding.DateOfFindings            = Parameter.PictureTakenDate;
                patientFinding.Tenant_RefID              = securityTicket.TenantID;
                patientFinding.Patient_RefID             = Parameter.PatientID;
                patientFinding.MedicalPracticeType_RefID = Parameter.PracticeTypeID;
                patientFinding.Save(Connection, Transaction);
                returnValue.Result.FindingID = new Guid();
                returnValue.Result.FindingID = patientFinding.HEC_Patient_FindingID;

                var medicalPracticeType = ORM_HEC_MedicalPractice_Type.Query.Search(Connection, Transaction, new ORM_HEC_MedicalPractice_Type.Query()
                {
                    Tenant_RefID = securityTicket.TenantID,
                    IsDeleted    = false,
                    HEC_MedicalPractice_TypeID = Parameter.PracticeTypeID
                }).Single();
                returnValue.Result.MedicalPracticeTypeName = medicalPracticeType.MedicalPracticeType_Name.Contents[0].Content;
            }
            else
            {
                //delete examination patient finding
                var performedActionFindings = ORM_HEC_ACT_PerformedAction_PatientProvidedFinding.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PerformedAction_PatientProvidedFinding.Query()
                {
                    Tenant_RefID = securityTicket.TenantID,
                    IsDeleted    = false,
                    HEC_Patient_Finding_RefID     = Parameter.FindingID,
                    HEC_ACT_PerformedAction_RefID = Parameter.ExaminationID
                }).Single();

                performedActionFindings.IsDeleted = true;
                performedActionFindings.Save(Connection, Transaction);

                var patientFinding = ORM_HEC_Patient_Finding.Query.Search(Connection, Transaction, new ORM_HEC_Patient_Finding.Query()
                {
                    IsDeleted             = false,
                    Tenant_RefID          = securityTicket.TenantID,
                    HEC_Patient_FindingID = Parameter.FindingID
                }).Single();



                var findingDocuments = ORM_HEC_Patient_Finding_Document.Query.Search(Connection, Transaction, new ORM_HEC_Patient_Finding_Document.Query()
                {
                    Tenant_RefID          = securityTicket.TenantID,
                    IsDeleted             = false,
                    Patient_Finding_RefID = Parameter.FindingID
                });
                foreach (var findingDocument in findingDocuments)
                {
                    var document = ORM_DOC_Document.Query.Search(Connection, Transaction, new ORM_DOC_Document.Query()
                    {
                        Tenant_RefID   = securityTicket.TenantID,
                        IsDeleted      = false,
                        DOC_DocumentID = findingDocument.Document_RefID
                    }).Single();
                    document.IsDeleted = true;
                    document.Save(Connection, Transaction);

                    findingDocument.IsDeleted = true;
                    findingDocument.Save(Connection, Transaction);
                }
                patientFinding.IsDeleted = true;
                patientFinding.Save(Connection, Transaction);
            }

            return(returnValue);

            #endregion UserCode
        }