Exemplo n.º 1
0
            private BaseFormData CreateTestCrf(FormType formType, int formId, int question1, int question2)
            {
                BaseFormData formData;

                if (formType == FormType.Demographics)
                {
                    formData = new DemographicFormData {
                        Id   = formId,
                        Race = new Question {
                            Value = question1.ToString()
                        },
                        Sex = new Question {
                            Value = question2.ToString()
                        }
                    };
                }
                else
                {
                    formData = new AdverseEventFormData {
                        Id        = formId,
                        Intensity = new Question {
                            Value = question1.ToString()
                        },
                        RelationshipToInvestigationalDrug = new Question {
                            Value = question2.ToString()
                        }
                    };
                }

                return(formData);
            }
Exemplo n.º 2
0
        public void CreateAdverseEvent_FormDataVerification()
        {
            //Arrange
            const int testPatientId = 3;

            var patient = new Patient()
            {
                Id = testPatientId, Visits = new List <Visit>()
            };

            patientRepository.Setup(r => r.GetByKey(testPatientId)).Returns(patient);
            visitRepository.Setup(r => r.GetVisitsForPatient(testPatientId)).Returns(new List <Visit>()
            {
                new Visit()
                {
                    Id      = 15,
                    Caption = "Baseline",
                    OrderNo = 1
                }
            });

            //as checking of saved visit is quite complicated, we will save the passed object and inspect it later
            Form savedForm = null;
            AdverseEventFormData savedFormData = null;

            formRepository.Setup(r => r.Add(It.IsAny <Form>())).Callback <Form>(f => savedForm = f);
            aeFormDataRepository.Setup(r => r.Add(It.IsAny <AdverseEventFormData>())).Callback <AdverseEventFormData>(
                f => savedFormData = f);

            //Act
            var result = studyDesign.AddAdverseEventVisit(testPatientId);


            //Assert
            patientRepository.Verify(r => r.GetByKey(testPatientId), Times.Once());
            visitRepository.Verify(r => r.Save(), Times.Once());

            formRepository.Verify(r => r.Add(It.IsAny <Form>()), Times.Once());
            aeFormDataRepository.Verify(r => r.Add(It.IsAny <AdverseEventFormData>()), Times.Once());

            Assert.That(savedForm, Is.Not.Null, "Form was not passed");
            Assert.That(savedFormData, Is.Not.Null, "Form Data was not passed");

            Assert.That(savedFormData.Form, Is.EqualTo(savedForm));

            Assert.That(savedFormData.AdverseExperience, Is.Not.Null);
            Assert.That(savedFormData.OnsetDate, Is.Not.Null);
            Assert.That(savedFormData.OnsetTime, Is.Not.Null);
            Assert.That(savedFormData.EndDate, Is.Not.Null);
            Assert.That(savedFormData.EndTime, Is.Not.Null);
            Assert.That(savedFormData.Intensity, Is.Not.Null);
            Assert.That(savedFormData.Outcome, Is.Not.Null);
            Assert.That(savedFormData.RelationshipToInvestigationalDrug, Is.Not.Null);
        }
Exemplo n.º 3
0
        private AdverseEventFormData AddAdverseEventFormData(Form form)
        {
            var formData = new AdverseEventFormData()
            {
                Form = form,
                AdverseExperience =
                    new Question {
                    Caption = "Adverse Experience", DataType = QuestionDataType.String, Value = null, Form = form
                },
                OnsetDate =
                    new Question {
                    Caption = "Onset Date", DataType = QuestionDataType.Date, Value = null, Form = form
                },
                OnsetTime =
                    new Question {
                    Caption = "Onset Time", DataType = QuestionDataType.Time, Value = null, Form = form
                },
                EndDate =
                    new Question {
                    Caption = "End Date", DataType = QuestionDataType.Date, Value = null, Form = form
                },
                EndTime =
                    new Question {
                    Caption = "End Time", DataType = QuestionDataType.Time, Value = null, Form = form
                },
                Outcome =
                    new Question {
                    Caption = "Outcome", DataType = QuestionDataType.Enum, Value = null, Form = form
                },
                Intensity =
                    new Question {
                    Caption = "Intensity", DataType = QuestionDataType.Enum, Value = null, Form = form
                },
                RelationshipToInvestigationalDrug =
                    new Question {
                    Caption = "Relationship to Investigational Drug", DataType = QuestionDataType.Enum, Value = null, Form = form
                }
            };

            AdverseEventFormDataRepository.Add(formData);
            QuestionRepository.Add(formData.AdverseExperience);
            QuestionRepository.Add(formData.OnsetDate);
            QuestionRepository.Add(formData.OnsetTime);
            QuestionRepository.Add(formData.EndDate);
            QuestionRepository.Add(formData.EndTime);
            QuestionRepository.Add(formData.Outcome);
            QuestionRepository.Add(formData.Intensity);
            QuestionRepository.Add(formData.RelationshipToInvestigationalDrug);
            return(formData);
        }
        public void AdverseEventFormDataToViewModel_FullData()
        {
            //Arrange
            var aFormData = new AdverseEventFormData {
                Id   = 6,
                Form =
                    new Form {
                    Id        = 16,
                    Caption   = "Form16",
                    FormState = FormState.Completed,
                    Visit     =
                        new Visit {
                        Caption = "Visit16", Patient = new Patient {
                            PatientNumber = 160
                        }
                    }
                },
                AdverseExperience =
                    new Question {
                    Id = 3, DataType = QuestionDataType.String, Value = "Broken legs"
                },
                OnsetDate =
                    new Question {
                    Id       = 4,
                    DataType = QuestionDataType.Date,
                    Value    =
                        new DateTime(2011, 11, 8, 9, 10, 11).ToString(
                            CultureInfo.InvariantCulture)
                },
                OnsetTime =
                    new Question {
                    Id       = 5,
                    DataType = QuestionDataType.Time,
                    Value    =
                        new DateTime(2011, 11, 8, 9, 10, 11).ToString(
                            CultureInfo.InvariantCulture)
                },
                EndDate =
                    new Question {
                    Id       = 6,
                    DataType = QuestionDataType.Date,
                    Value    =
                        new DateTime(2012, 1, 10, 11, 12, 13).ToString(
                            CultureInfo.InvariantCulture)
                },
                EndTime =
                    new Question {
                    Id       = 7,
                    DataType = QuestionDataType.Date,
                    Value    =
                        new DateTime(2012, 1, 10, 11, 12, 13).ToString(
                            CultureInfo.InvariantCulture)
                },
                Outcome = new Question {
                    Id = 8, DataType = QuestionDataType.Enum, Value = "1"
                },
                Intensity = new Question {
                    Id = 9, DataType = QuestionDataType.Enum, Value = "2"
                },
                RelationshipToInvestigationalDrug = new Question {
                    Id = 10, DataType = QuestionDataType.Enum, Value = "3"
                }
            };
            //Act
            AdverseEventFormViewModel adverseEvent = formController.MapAdverseEventFormDataToViewModel(aFormData);

            //Assert
            Assert.That(adverseEvent.FormId, Is.EqualTo(16));
            Assert.That(adverseEvent.FormCaption, Is.EqualTo("Form16"));
            Assert.That(adverseEvent.IsCompleted, Is.True);
            Assert.That(adverseEvent.VisitName, Is.EqualTo("Visit16"));
            Assert.That(adverseEvent.PatientNumber, Is.EqualTo(160));
            Assert.That(adverseEvent.Id, Is.EqualTo(6));
            Assert.That(adverseEvent.AdverseExperience, Is.EqualTo("Broken legs"));

            Assert.That(adverseEvent.OnsetDate, Is.Not.Null);
            Assert.That(adverseEvent.OnsetDate.Value.ToShortDateString(),
                        Is.EqualTo(new DateTime(2011, 11, 8).ToShortDateString()));
            Assert.That(adverseEvent.OnsetTime, Is.Not.Null);
            Assert.That(adverseEvent.OnsetTime.Value.ToLongTimeString(),
                        Is.EqualTo(new DateTime(2011, 12, 5, 9, 10, 11).ToLongTimeString()));

            Assert.That(adverseEvent.EndDate, Is.Not.Null);
            Assert.That(adverseEvent.EndDate.Value.ToShortDateString(),
                        Is.EqualTo(new DateTime(2012, 1, 10).ToShortDateString()));
            Assert.That(adverseEvent.EndTime, Is.Not.Null);
            Assert.That(adverseEvent.EndTime.Value.ToLongTimeString(),
                        Is.EqualTo(new DateTime(2011, 12, 5, 11, 12, 13).ToLongTimeString()));

            Assert.That(adverseEvent.Outcome, Is.EqualTo(1));
            Assert.That(adverseEvent.Intensity, Is.EqualTo(2));
            Assert.That(adverseEvent.RelationshipToInvestigationalDrug, Is.EqualTo(3));


            Assert.That(adverseEvent.AdverseExperienceQuestionId, Is.EqualTo(aFormData.AdverseExperience.Id));
            Assert.That(adverseEvent.OnsetDateQuestionId, Is.EqualTo(aFormData.OnsetDate.Id));
            Assert.That(adverseEvent.OnsetTimeQuestionId, Is.EqualTo(aFormData.OnsetTime.Id));
            Assert.That(adverseEvent.EndDateQuestionId, Is.EqualTo(aFormData.EndDate.Id));
            Assert.That(adverseEvent.EndTimeQuestionId, Is.EqualTo(aFormData.EndTime.Id));
            Assert.That(adverseEvent.OutcomeQuestionId, Is.EqualTo(aFormData.Outcome.Id));
            Assert.That(adverseEvent.IntensityQuestionId, Is.EqualTo(aFormData.Intensity.Id));
            Assert.That(adverseEvent.RelationshipToInvestigationalDrugQuestionId,
                        Is.EqualTo(aFormData.RelationshipToInvestigationalDrug.Id));
        }
        public void MappingTest()
        {
            //Arrange
            var dataStorage = new Mock <IDataStorage>();
            var entity      = new AdverseEventFormData()
            {
                Id = 1,
                AdverseExperience = new Question {
                    Id = 2, Value = "2"
                },
                EndDate = new Question {
                    Id = 3, Value = "3"
                },
                EndTime = new Question {
                    Id = 4, Value = "4"
                },
                OnsetDate = new Question {
                    Id = 5, Value = "5"
                },
                OnsetTime = new Question {
                    Id = 6, Value = "6"
                },
                Outcome = new Question {
                    Id = 7, Value = "7"
                },
                Intensity = new Question {
                    Id = 8, Value = "8"
                },
                RelationshipToInvestigationalDrug = new Question {
                    Id = 9, Value = "9"
                }
            };
            var updatedEntity = new AdverseEventFormData()
            {
                Id = 1,
                AdverseExperience = new Question {
                    Id = 3, Value = "3"
                },
                EndDate = new Question {
                    Id = 4, Value = "4"
                },
                EndTime = new Question {
                    Id = 5, Value = "5"
                },
                OnsetDate = new Question {
                    Id = 6, Value = "6"
                },
                OnsetTime = new Question {
                    Id = 7, Value = "7"
                },
                Outcome = new Question {
                    Id = 8, Value = "8"
                },
                Intensity = new Question {
                    Id = 9, Value = "9"
                },
                RelationshipToInvestigationalDrug = new Question {
                    Id = 10, Value = "10"
                }
            };
            var repository = new AdverseEventFormDataRepository(dataStorage.Object);

            dataStorage.Setup(ds => ds.GetData <AdverseEventFormData>()).Returns(new List <AdverseEventFormData> {
                entity
            });
            //Act
            repository.Edit(updatedEntity);
            //Assert
            //Values are equal
            Assert.That(entity.AdverseExperience.Value, Is.EqualTo(updatedEntity.AdverseExperience.Value));
            Assert.That(entity.EndDate.Value, Is.EqualTo(updatedEntity.EndDate.Value));
            Assert.That(entity.EndTime.Value, Is.EqualTo(updatedEntity.EndTime.Value));
            Assert.That(entity.OnsetDate.Value, Is.EqualTo(updatedEntity.OnsetDate.Value));
            Assert.That(entity.OnsetTime.Value, Is.EqualTo(updatedEntity.OnsetTime.Value));
            Assert.That(entity.Outcome.Value, Is.EqualTo(updatedEntity.Outcome.Value));
            Assert.That(entity.Intensity.Value, Is.EqualTo(updatedEntity.Intensity.Value));
            Assert.That(entity.RelationshipToInvestigationalDrug.Value,
                        Is.EqualTo(updatedEntity.RelationshipToInvestigationalDrug.Value));

            //Objects are not equal
            Assert.That(entity.AdverseExperience, Is.Not.EqualTo(updatedEntity.AdverseExperience));
            Assert.That(entity.EndDate, Is.Not.EqualTo(updatedEntity.EndDate));
            Assert.That(entity.EndTime, Is.Not.EqualTo(updatedEntity.EndTime));
            Assert.That(entity.OnsetDate, Is.Not.EqualTo(updatedEntity.OnsetDate));
            Assert.That(entity.OnsetTime, Is.Not.EqualTo(updatedEntity.OnsetTime));
            Assert.That(entity.Outcome, Is.Not.EqualTo(updatedEntity.Outcome));
            Assert.That(entity.Intensity, Is.Not.EqualTo(updatedEntity.Intensity));
            Assert.That(entity.RelationshipToInvestigationalDrug, Is.Not.EqualTo(updatedEntity.RelationshipToInvestigationalDrug));
        }