Exemple #1
0
        /// <summary>
        /// Saves the Diganostic + Imaging details, and adds related record
        /// </summary>
        /// <param name="specimenAccession"></param>
        private void SaveDiagnostic(SpecimenAccession specimenAccession)
        {
            int patientId           = (int)specimenAccession[SpecimenAccession.PatientId];
            int specimenAccessionId = (int)specimenAccession[SpecimenAccession.SpecimenAccessionId];
            // save Diagnostics
            int?diagnosticId = null;

            if (!string.IsNullOrEmpty(DiagnosticIdField.Value))
            {
                diagnosticId = int.Parse(DiagnosticIdField.Value);
            }
            Diagnostic diagnostic = new Diagnostic();

            // load diagnostic
            if (diagnosticId.HasValue)
            {
                diagnostic.Get(diagnosticId.Value);
            }
            // set required fields
            else
            {
                diagnostic[Diagnostic.PatientId]  = patientId;
                diagnostic[Diagnostic.DxDate]     = specimenAccession[SpecimenAccession.CollectDate];
                diagnostic[Diagnostic.DxDateText] = specimenAccession[SpecimenAccession.CollectDateText];
                diagnostic[Diagnostic.DxTarget]   = "Prostate";
            }
            // update type???
            diagnostic[Diagnostic.DxType] = AccessionProcName.Text;

            // set bizo value
            CICHelper.SetBOValues(Tissue_DiagnosticFields.Controls, diagnostic, patientId);
            // save diagnostic
            diagnostic.Save();
            // on update, link to SA
            if (diagnostic.PrimaryKeyHasValue)
            {
                diagnosticId            = (int)diagnostic[Diagnostic.DiagnosticId];
                DiagnosticIdField.Value = diagnosticId.Value.ToString();
                // create related Diagnostic
                RelatedRecord relatedDiagnostic = CreateRelatedDiagnostic(specimenAccessionId, diagnosticId.Value);
                // get ImageFindingProstate
                ImageFindingProstate finding = BusinessObject.GetByParent <ImageFindingProstate>(diagnosticId.Value).FirstOrDefault();
                // else, create
                if (finding == null)
                {
                    finding = new ImageFindingProstate();
                    finding[ImageFindingProstate.DiagnosticId] = diagnosticId.Value;
                }
                // set fields
                CICHelper.SetBOValues(Tissue_DiagnosticFields.Controls, finding, diagnosticId.Value);
                // update
                finding.Save();
            }
        }
Exemple #2
0
        /// <summary>
        /// Popualtes the Diagnostic + Imaging fields
        /// </summary>
        /// <param name="specimenAccessionId"></param>
        private void PopulateDiagnostic(int specimenAccessionId)
        {
            Diagnostic diagnostic = GetRealtedDiagnostic(specimenAccessionId);

            if (diagnostic != null)
            {
                int diagnosticId = (int)diagnostic[Diagnostic.DiagnosticId];
                // set realted Diagnostic
                DiagnosticIdField.Value = diagnostic[diagnostic.PrimaryKeyName].ToString();
                // populate Diagnostic fields
                CICHelper.SetFieldValues(Tissue_DiagnosticFields.Controls, diagnostic);
                // populate image finding
                ImageFindingProstate finding = BusinessObject.GetByParent <ImageFindingProstate>(diagnosticId).FirstOrDefault();
                if (finding != null)
                {
                    // set fields
                    CICHelper.SetFieldValues(Tissue_DiagnosticFields.Controls, finding);
                }
            }
        }