/// <summary> /// Validates this imaging examination result /// </summary> /// <param name="path">The path to this object as a string</param> /// <param name="messages">the validation messages to date, these may be added to within this method</param> public void Validate(string path, List <ValidationMessage> messages) { var vb = new ValidationBuilder(path, messages); if (vb.ArgumentRequiredCheck("ExaminationResultName", ExaminationResultName)) { if (ExaminationResultName != null) { ExaminationResultName.ValidateMandatory(vb.Path + "ExaminationResultName", messages); } } vb.ArgumentRequiredCheck("ResultDateTime", ResultDateTime); if (Modality != null) { Modality.Validate(vb.Path + "Modality", messages); } if (AnatomicalSite != null && AnatomicalSite.Any()) { AnatomicalSite.ForEach(anatomicalSite => anatomicalSite.Validate(vb.Path + "AnatomicalSite", messages)); } if (ExaminationRequestDetails != null) { ExaminationRequestDetails.ForEach(ExaminationRequestDetail => ExaminationRequestDetail.Validate(vb.Path + "ExaminationRequestDetails", messages)); } if (ResultGroup != null && ResultGroup.Any()) { ResultGroup.ForEach(imagingResultGroup => imagingResultGroup.Validate(vb.Path + "ResultGroup", messages)); } }
/// <summary> /// Validates this imaging examination result /// </summary> /// <param name="path">The path to this object as a string</param> /// <param name="messages">the validation messages to date, these may be added to within this method</param> void IDiagnosticImagingExaminationResult.Validate(string path, List <ValidationMessage> messages) { var vb = new ValidationBuilder(path, messages); var diagnosticImagingExaminationResult = (IDiagnosticImagingExaminationResult)this; vb.ArgumentRequiredCheck("OverallResultStatus", diagnosticImagingExaminationResult.OverallResultStatus); if (vb.ArgumentRequiredCheck("ExaminationResultName", ExaminationResultName)) { ExaminationResultName.ValidateMandatory(vb.Path + "ExaminationResultName", messages); } if (vb.ArgumentRequiredCheck("Modality", Modality)) { Modality.Validate(vb.Path + "Modality", messages); } if (diagnosticImagingExaminationResult.AnatomicalSite != null) { for (int index = 0; index < diagnosticImagingExaminationResult.AnatomicalSite.Count; index++) { diagnosticImagingExaminationResult.AnatomicalSite[index].Validate(vb.Path + string.Format("AnatomicalSite[{0}]", index), messages); } } // Optional Related Image if (RelatedImage != null) { RelatedImage.Validate(vb.Path + "RelatedImage", messages); // Checks that the ImageUrl is included } vb.ArgumentRequiredCheck("ExaminationProcedure", ExaminationProcedure); if (vb.ArgumentRequiredCheck("ExaminationDetails", ExaminationDetails)) { ExaminationDetails.Validate(vb.Path + "ExaminationDetails", messages); } vb.ArgumentRequiredCheck("ObservationDateTime", ObservationDateTime); }