private static void TestPayerPlanPeriods(string rawData, string resultData)
        {
            var raw     = GetPayerPlanPeriods(rawData);
            var correct = GetPayerPlanPeriods(resultData);
            var buider  = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

            var visitOccurrences = new Dictionary <long, VisitOccurrence>();
            var index            = 0;

            foreach (var payerPlanPeriod in raw)
            {
                payerPlanPeriod.VisitOccurrenceId = index;
                visitOccurrences.Add(index, new VisitOccurrence(payerPlanPeriod));
                index++;
            }

            var result = buider.BuildPayerPlanPeriods(raw.ToArray(), visitOccurrences).OrderBy(r => r.StartDate).ToList();

            Assert.AreEqual(correct.Count(), result.Count);
            for (var i = 0; i < result.Count; i++)
            {
                Assert.AreEqual(correct[i].StartDate, result[i].StartDate);
                Assert.AreEqual(correct[i].EndDate, result[i].EndDate);
                Assert.AreEqual(correct[i].SourceValue, result[i].SourceValue);
            }
        }
        public void TestBuildVisitOccurrences1()
        {
            var builder = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

            var visitOccurrences = GetVisitOccurrences1();

            foreach (var visitOccurrence in visitOccurrences)
            {
                var de = new DrugExposure(visitOccurrence)
                {
                    AdditionalFields = new Dictionary <string, string>()
                };
                de.AdditionalFields.Add("serv_day", visitOccurrence.AdditionalFields["max_serv_day"]);
                de.VisitOccurrenceId = visitOccurrence.Id;
                builder.AddData(de);
            }

            var result = builder.BuildVisitOccurrences(visitOccurrences, new List <ObservationPeriod>().ToArray()).ToList();

            Assert.AreEqual(9625131, result[0].Id);
            Assert.AreEqual(new DateTime(2011, 3, 1), result[0].StartDate);
            Assert.AreEqual(new DateTime(2011, 3, 1), result[0].EndDate);

            Assert.AreEqual(2049445909, result[1].Id);
            Assert.AreEqual(new DateTime(2011, 11, 30), result[1].StartDate);
            Assert.AreEqual(new DateTime(2012, 1, 1), result[1].EndDate);

            Assert.AreEqual(9652529, result[2].Id);
            Assert.AreEqual(new DateTime(2012, 2, 22), result[2].StartDate);
            Assert.AreEqual(new DateTime(2012, 3, 1), result[2].EndDate);

            Assert.AreEqual(57308877, result[3].Id);
            Assert.AreEqual(new DateTime(2012, 9, 1), result[3].StartDate);
            Assert.AreEqual(new DateTime(2012, 9, 1), result[3].EndDate);
        }
        public void TestBuildPersonRace()
        {
            var buider = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

            var persons = new List <Person>();

            persons.Add(new Person(new Entity())
            {
                RaceSourceValue = "1", YearOfBirth = 2001
            });
            persons.Add(new Person(new Entity())
            {
                RaceSourceValue = "1", YearOfBirth = 2001
            });
            persons.Add(new Person(new Entity())
            {
                RaceSourceValue = "3", YearOfBirth = 2001
            });
            persons.Add(new Person(new Entity())
            {
                RaceSourceValue = "1", YearOfBirth = 2001
            });
            persons.Add(new Person(new Entity())
            {
                RaceSourceValue = "2", YearOfBirth = 2001
            });
            persons.Add(new Person(new Entity())
            {
                RaceSourceValue = "2", YearOfBirth = 2001
            });

            var result = buider.BuildPerson(persons);

            Assert.AreEqual("1", result.RaceSourceValue);
        }
        private static void TestPayerPlanPeriods(string rawData, string resultData)
        {
            var raw = GetPayerPlanPeriods(rawData);
             var correct = GetPayerPlanPeriods(resultData);
             var buider = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

             var visitOccurrences = new Dictionary<long, VisitOccurrence>();
             var index = 0;
             foreach (var payerPlanPeriod in raw)
             {
            payerPlanPeriod.VisitOccurrenceId = index;
            visitOccurrences.Add(index, new VisitOccurrence(payerPlanPeriod));
            index++;
             }

             var result = buider.BuildPayerPlanPeriods(raw.ToArray(), visitOccurrences).OrderBy(r => r.StartDate).ToList();

             Assert.AreEqual(correct.Count(), result.Count);
             for (var i = 0; i < result.Count; i++)
             {
            Assert.AreEqual(correct[i].StartDate, result[i].StartDate);
            Assert.AreEqual(correct[i].EndDate, result[i].EndDate);
            Assert.AreEqual(correct[i].SourceValue, result[i].SourceValue);
             }
        }
 public void Test()
 {
     Assert.AreEqual(15, PremierPersonBuilder.GetMinutes("OR MINOR ADDL 15 MIN"));
     Assert.AreEqual(60, PremierPersonBuilder.GetMinutes("OR MINOR EMERGENCY 1ST HR"));
     Assert.AreEqual(255, PremierPersonBuilder.GetMinutes("OR OPEN HEART 4 HR 15 MIN"));
     Assert.AreEqual(6 * 60, PremierPersonBuilder.GetMinutes("OR MAJOR 6 HR"));
     Assert.AreEqual(30, PremierPersonBuilder.GetMinutes("OR MINOR 1ST 30 MIN"));
 }
        public void TestBuildPersonGender()
        {
            var buider = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

             var persons = new List<Person>();
             persons.Add(new Person(new Entity()) {GenderConceptId = 1});
             persons.Add(new Person(new Entity()) {GenderConceptId = 2});

             var result = buider.BuildPerson(persons);
             Assert.IsNull(result);
        }
        public void TestBuildPersonYearOfBirth()
        {
            var buider = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

             var persons = new List<Person>
             {
            new Person(new Entity()) {YearOfBirth = 2001},
            new Person(new Entity()) {YearOfBirth = 1999},
            new Person(new Entity()) {YearOfBirth = 2000}
             };

             var result = buider.BuildPerson(persons);
             Assert.AreEqual(2001, result.YearOfBirth);
        }
        public void TestBuildPersonRace()
        {
            var buider = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

             var persons = new List<Person>();
             persons.Add(new Person(new Entity()) {RaceSourceValue = "1", YearOfBirth = 2001});
             persons.Add(new Person(new Entity()) {RaceSourceValue = "1", YearOfBirth = 2001});
             persons.Add(new Person(new Entity()) {RaceSourceValue = "3", YearOfBirth = 2001});
             persons.Add(new Person(new Entity()) {RaceSourceValue = "1", YearOfBirth = 2001});
             persons.Add(new Person(new Entity()) {RaceSourceValue = "2", YearOfBirth = 2001});
             persons.Add(new Person(new Entity()) {RaceSourceValue = "2", YearOfBirth = 2001});

             var result = buider.BuildPerson(persons);
             Assert.AreEqual("1", result.RaceSourceValue);
        }
        public void TestBuildPersonGender()
        {
            var buider = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

            var persons = new List <Person>();

            persons.Add(new Person(new Entity())
            {
                GenderConceptId = 1
            });
            persons.Add(new Person(new Entity())
            {
                GenderConceptId = 2
            });

            var result = buider.BuildPerson(persons);

            Assert.IsNull(result);
        }
示例#10
0
        public void TestBuildPerson()
        {
            var builder       = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));
            var personRecords = new List <Person>
            {
                new Person
                {
                    PersonId          = 1,
                    StartDate         = DateTime.Parse("2000-11-01"),
                    EndDate           = DateTime.Parse("2000-11-01"),
                    GenderSourceValue = "F",
                    GenderConceptId   = 8532,
                    YearOfBirth       = 1968
                },
                new Person
                {
                    PersonId          = 1,
                    StartDate         = DateTime.Parse("2001-01-01"),
                    EndDate           = DateTime.Parse("2001-01-01"),
                    GenderSourceValue = "F",
                    GenderConceptId   = 8532,
                    YearOfBirth       = 1967
                },
                new Person
                {
                    PersonId          = 1,
                    StartDate         = DateTime.Parse("2003-03-01"),
                    EndDate           = DateTime.Parse("2003-03-01"),
                    GenderSourceValue = "F",
                    GenderConceptId   = 8532,
                    YearOfBirth       = 1999
                }
            };

            var person = builder.BuildPerson(personRecords);

            Assert.AreEqual("F", person.GenderSourceValue);
            Assert.AreEqual(8532, person.GenderConceptId);
            Assert.AreEqual(1999, person.YearOfBirth);
        }
示例#11
0
        public void TestBuildPerson()
        {
            var builder = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));
             var personRecords = new List<Person>
             {
            new Person
            {
               PersonId = 1,
               StartDate = DateTime.Parse("2000-11-01"),
               EndDate = DateTime.Parse("2000-11-01"),
               GenderSourceValue = "F",
               GenderConceptId = 8532,
               YearOfBirth = 1968
            },
            new Person
            {
               PersonId = 1,
               StartDate = DateTime.Parse("2001-01-01"),
               EndDate = DateTime.Parse("2001-01-01"),
               GenderSourceValue = "F",
               GenderConceptId = 8532,
               YearOfBirth = 1967
            },
            new Person
            {
               PersonId = 1,
               StartDate = DateTime.Parse("2003-03-01"),
               EndDate = DateTime.Parse("2003-03-01"),
               GenderSourceValue = "F",
               GenderConceptId = 8532,
               YearOfBirth = 1999
            }
             };

             var person = builder.BuildPerson(personRecords);

             Assert.AreEqual("F", person.GenderSourceValue);
             Assert.AreEqual(8532, person.GenderConceptId);
             Assert.AreEqual(1999, person.YearOfBirth);
        }
        public void TestBuildPersonYearOfBirth()
        {
            var buider = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

            var persons = new List <Person>
            {
                new Person(new Entity())
                {
                    YearOfBirth = 2001
                },
                new Person(new Entity())
                {
                    YearOfBirth = 1999
                },
                new Person(new Entity())
                {
                    YearOfBirth = 2000
                }
            };

            var result = buider.BuildPerson(persons);

            Assert.AreEqual(2001, result.YearOfBirth);
        }
        public void TestBuildVisitOccurrences()
        {
            var builder = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

             var visitOccurrences = GetVisitOccurrences();

             foreach (var visitOccurrence in visitOccurrences)
             {
            var de = new DrugExposure(visitOccurrence) {AdditionalFields = new Dictionary<string, string>()};
            de.AdditionalFields.Add("serv_day", visitOccurrence.AdditionalFields["max_serv_day"]);
            de.VisitOccurrenceId = visitOccurrence.Id;
            builder.AddData(de);
             }

             var result = builder.BuildVisitOccurrences(visitOccurrences, new List<ObservationPeriod>().ToArray()).ToList();

             Assert.AreEqual(1175536237, result[0].Id);
             Assert.AreEqual(new DateTime(2010, 10, 1), result[0].StartDate);
             Assert.AreEqual(new DateTime(2010, 10, 4), result[0].EndDate);

             Assert.AreEqual(1228455080, result[1].Id);
             Assert.AreEqual(new DateTime(2010, 10, 23), result[1].StartDate);
             Assert.AreEqual(new DateTime(2010, 11, 1), result[1].EndDate);

             Assert.AreEqual(1430830346, result[2].Id);
             Assert.AreEqual(new DateTime(2011, 1, 1), result[2].StartDate);
             Assert.AreEqual(new DateTime(2011, 1, 7), result[2].EndDate);

             Assert.AreEqual(1511534818, result[3].Id);
             Assert.AreEqual(new DateTime(2011, 2, 1), result[3].StartDate);
             Assert.AreEqual(new DateTime(2011, 2, 6), result[3].EndDate);

             Assert.AreEqual(1560724070, result[4].Id);
             Assert.AreEqual(new DateTime(2011, 2, 13), result[4].StartDate);
             Assert.AreEqual(new DateTime(2011, 4, 1), result[4].EndDate);

             Assert.AreEqual(1569075673, result[5].Id);
             Assert.AreEqual(new DateTime(2011, 5, 1), result[5].StartDate);
             Assert.AreEqual(new DateTime(2011, 5, 8), result[5].EndDate);

             Assert.AreEqual(1568584891, result[6].Id);
             Assert.AreEqual(new DateTime(2011, 5, 9), result[6].StartDate);
             Assert.AreEqual(new DateTime(2011, 5, 11), result[6].EndDate);

             Assert.AreEqual(1606647218, result[7].Id);
             Assert.AreEqual(new DateTime(2011, 7, 1), result[7].StartDate);
             Assert.AreEqual(new DateTime(2011, 7, 3), result[7].EndDate);

             Assert.AreEqual(1606676096, result[8].Id);
             Assert.AreEqual(new DateTime(2011, 7, 4), result[8].StartDate);
             Assert.AreEqual(new DateTime(2011, 7, 10), result[8].EndDate);

             Assert.AreEqual(1649550323, result[9].Id);
             Assert.AreEqual(new DateTime(2011, 8, 1), result[9].StartDate);
             Assert.AreEqual(new DateTime(2011, 8, 10), result[9].EndDate);

             Assert.AreEqual(1649545709, result[10].Id);
             Assert.AreEqual(new DateTime(2011, 8, 11), result[10].StartDate);
             Assert.AreEqual(new DateTime(2011, 8, 21), result[10].EndDate);

             Assert.AreEqual(1856443013, result[11].Id);
             Assert.AreEqual(new DateTime(2011, 10, 1), result[11].StartDate);
             Assert.AreEqual(new DateTime(2011, 10, 10), result[11].EndDate);
        }
        public void TestBuildVisitOccurrences()
        {
            var builder = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

            var visitOccurrences = GetVisitOccurrences();

            foreach (var visitOccurrence in visitOccurrences)
            {
                var de = new DrugExposure(visitOccurrence)
                {
                    AdditionalFields = new Dictionary <string, string>()
                };
                de.AdditionalFields.Add("serv_day", visitOccurrence.AdditionalFields["max_serv_day"]);
                de.VisitOccurrenceId = visitOccurrence.Id;
                builder.AddData(de);
            }

            var result = builder.BuildVisitOccurrences(visitOccurrences, new List <ObservationPeriod>().ToArray()).ToList();

            Assert.AreEqual(1175536237, result[0].Id);
            Assert.AreEqual(new DateTime(2010, 10, 1), result[0].StartDate);
            Assert.AreEqual(new DateTime(2010, 10, 4), result[0].EndDate);

            Assert.AreEqual(1228455080, result[1].Id);
            Assert.AreEqual(new DateTime(2010, 10, 23), result[1].StartDate);
            Assert.AreEqual(new DateTime(2010, 11, 1), result[1].EndDate);

            Assert.AreEqual(1430830346, result[2].Id);
            Assert.AreEqual(new DateTime(2011, 1, 1), result[2].StartDate);
            Assert.AreEqual(new DateTime(2011, 1, 7), result[2].EndDate);

            Assert.AreEqual(1511534818, result[3].Id);
            Assert.AreEqual(new DateTime(2011, 2, 1), result[3].StartDate);
            Assert.AreEqual(new DateTime(2011, 2, 6), result[3].EndDate);

            Assert.AreEqual(1560724070, result[4].Id);
            Assert.AreEqual(new DateTime(2011, 2, 13), result[4].StartDate);
            Assert.AreEqual(new DateTime(2011, 4, 1), result[4].EndDate);

            Assert.AreEqual(1569075673, result[5].Id);
            Assert.AreEqual(new DateTime(2011, 5, 1), result[5].StartDate);
            Assert.AreEqual(new DateTime(2011, 5, 8), result[5].EndDate);

            Assert.AreEqual(1568584891, result[6].Id);
            Assert.AreEqual(new DateTime(2011, 5, 9), result[6].StartDate);
            Assert.AreEqual(new DateTime(2011, 5, 11), result[6].EndDate);

            Assert.AreEqual(1606647218, result[7].Id);
            Assert.AreEqual(new DateTime(2011, 7, 1), result[7].StartDate);
            Assert.AreEqual(new DateTime(2011, 7, 3), result[7].EndDate);

            Assert.AreEqual(1606676096, result[8].Id);
            Assert.AreEqual(new DateTime(2011, 7, 4), result[8].StartDate);
            Assert.AreEqual(new DateTime(2011, 7, 10), result[8].EndDate);

            Assert.AreEqual(1649550323, result[9].Id);
            Assert.AreEqual(new DateTime(2011, 8, 1), result[9].StartDate);
            Assert.AreEqual(new DateTime(2011, 8, 10), result[9].EndDate);

            Assert.AreEqual(1649545709, result[10].Id);
            Assert.AreEqual(new DateTime(2011, 8, 11), result[10].StartDate);
            Assert.AreEqual(new DateTime(2011, 8, 21), result[10].EndDate);

            Assert.AreEqual(1856443013, result[11].Id);
            Assert.AreEqual(new DateTime(2011, 10, 1), result[11].StartDate);
            Assert.AreEqual(new DateTime(2011, 10, 10), result[11].EndDate);
        }
        public void TestBuildVisitOccurrences1()
        {
            var builder = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

             var visitOccurrences = GetVisitOccurrences1();

             foreach (var visitOccurrence in visitOccurrences)
             {
            var de = new DrugExposure(visitOccurrence) { AdditionalFields = new Dictionary<string, string>() };
            de.AdditionalFields.Add("serv_day", visitOccurrence.AdditionalFields["max_serv_day"]);
            de.VisitOccurrenceId = visitOccurrence.Id;
            builder.AddData(de);
             }

             var result = builder.BuildVisitOccurrences(visitOccurrences, new List<ObservationPeriod>().ToArray()).ToList();

             Assert.AreEqual(9625131, result[0].Id);
             Assert.AreEqual(new DateTime(2011, 3, 1), result[0].StartDate);
             Assert.AreEqual(new DateTime(2011, 3, 1), result[0].EndDate);

             Assert.AreEqual(2049445909, result[1].Id);
             Assert.AreEqual(new DateTime(2011, 11, 30), result[1].StartDate);
             Assert.AreEqual(new DateTime(2012, 1, 1), result[1].EndDate);

             Assert.AreEqual(9652529, result[2].Id);
             Assert.AreEqual(new DateTime(2012, 2, 22), result[2].StartDate);
             Assert.AreEqual(new DateTime(2012, 3, 1), result[2].EndDate);

             Assert.AreEqual(57308877, result[3].Id);
             Assert.AreEqual(new DateTime(2012, 9, 1), result[3].StartDate);
             Assert.AreEqual(new DateTime(2012, 9, 1), result[3].EndDate);
        }
        public void TestPremierPersonUniqueEntities()
        {
            var conditionOccurrences = new List <ConditionOccurrence>();
            var drugExposures        = new List <DrugExposure>();
            var visitOccurrences     = new Dictionary <long, VisitOccurrence>();
            var builder = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

            var ent = new Entity
            {
                Id                = 1,
                ConceptId         = 1,
                PersonId          = 1,
                ProviderId        = 1,
                VisitOccurrenceId = 1,
                StartDate         = new DateTime(2013, 1, 1),
                EndDate           = new DateTime(2013, 1, 1),
                TypeConceptId     = 1,
                SourceValue       = "1"
            };
            var visitOccurrence =
                new VisitOccurrence(new Entity
            {
                PersonId  = 1,
                StartDate = new DateTime(2000, 1, 1),
                EndDate   = new DateTime(2020, 1, 1)
            })
            {
                AdditionalFields = new Dictionary <string, string> {
                    { "disc_mon_seq", "1" }
                },
                Id = 1
            };

            visitOccurrences.Add(visitOccurrence.Id, visitOccurrence);

            conditionOccurrences.Add(new ConditionOccurrence(ent));
            conditionOccurrences.Add(new ConditionOccurrence(ent));

            drugExposures.Add(new DrugExposure(new Entity
            {
                PersonId          = 1,
                ConceptId         = 535714,
                VisitOccurrenceId = 1,
                TypeConceptId     = 38000179,
                SourceValue       = "90384"
            }
                                               ));
            drugExposures.Add(new DrugExposure(new Entity
            {
                PersonId          = 1,
                ConceptId         = 535714,
                VisitOccurrenceId = 1,
                TypeConceptId     = 38000179,
                SourceValue       = "99.11"
            }
                                               ));


            var coResult = builder.BuildConditionOccurrences(conditionOccurrences.ToArray(), visitOccurrences, new ObservationPeriod[] {});
            var deResult = builder.BuildDrugExposures(drugExposures.ToArray(), visitOccurrences, new ObservationPeriod[] { });

            Assert.AreEqual(1, coResult.Count());
            Assert.AreEqual(2, deResult.Count());
        }
        public void TestPremierPersonUniqueEntities()
        {
            var conditionOccurrences = new List<ConditionOccurrence>();
             var drugExposures = new List<DrugExposure>();
             var visitOccurrences = new Dictionary<long, VisitOccurrence>();
             var builder = new PremierPersonBuilder(new ChunkBuilder(new ChunkData(), typeof(PremierPersonBuilder)));

             var ent = new Entity
             {
            Id = 1,
            ConceptId = 1,
            PersonId = 1,
            ProviderId = 1,
            VisitOccurrenceId = 1,
            StartDate = new DateTime(2013, 1, 1),
            EndDate = new DateTime(2013, 1, 1),
            TypeConceptId = 1,
            SourceValue = "1"
             };
             var visitOccurrence =
            new VisitOccurrence(new Entity
            {
               PersonId = 1,
               StartDate = new DateTime(2000, 1, 1),
               EndDate = new DateTime(2020, 1, 1)
            })
            {
               AdditionalFields = new Dictionary<string, string> {{"disc_mon_seq", "1"}},
               Id = 1
            };

             visitOccurrences.Add(visitOccurrence.Id, visitOccurrence);

             conditionOccurrences.Add(new ConditionOccurrence(ent));
             conditionOccurrences.Add(new ConditionOccurrence(ent));

             drugExposures.Add(new DrugExposure(new Entity
             {
            PersonId = 1,
            ConceptId = 535714,
            VisitOccurrenceId = 1,
            TypeConceptId = 38000179,
            SourceValue = "90384"
             }
            ));
             drugExposures.Add(new DrugExposure(new Entity
             {
            PersonId = 1,
            ConceptId = 535714,
            VisitOccurrenceId = 1,
            TypeConceptId = 38000179,
            SourceValue = "99.11"
             }
            ));

             var coResult = builder.BuildConditionOccurrences(conditionOccurrences.ToArray(), visitOccurrences, new ObservationPeriod[] {});
             var deResult = builder.BuildDrugExposures(drugExposures.ToArray(), visitOccurrences, new ObservationPeriod[] { });

             Assert.AreEqual(1, coResult.Count());
             Assert.AreEqual(2, deResult.Count());
        }