コード例 #1
0
        public void WhenPersonItemTransformedToFhir_ThenContactPhoneIsCopiedToTelecom()
        {
            var        description = "Office";
            var        isPrimary   = true;
            var        number      = "4254485432";
            PersonItem person      = GetSamplePerson();
            var        phone       = new Phone
            {
                Description = description,
                IsPrimary   = isPrimary,
                Number      = number
            };
            var contactInfo = new ContactInfo();

            contactInfo.Phone.Add(phone);
            person.ContactInformation = contactInfo;

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Telecom.Any());

            ContactPoint fhirPhone = practitioner.Telecom.First();

            Assert.AreEqual(1, fhirPhone.Rank);
            Assert.AreEqual(number, fhirPhone.Value);
            Assert.AreEqual(ContactPoint.ContactPointSystem.Phone, fhirPhone.System);
            Assert.IsTrue(fhirPhone.Extension.Any(ext => ext.Url == HealthVaultExtensions.Description));
        }
コード例 #2
0
        public PersonDetailViewModel(PersonItem person)
        {
            movieService  = ComponentContainer.Current.Resolve <IMovieService>();
            personService = ComponentContainer.Current.Resolve <IPersonService>();

            Person = person;
        }
コード例 #3
0
        public void WhenPersonItemTransformedToFhir_ThenContactEmailIsCopiedToTelecom()
        {
            var        description = "Mail ID";
            var        isPrimary   = true;
            var        address     = "*****@*****.**";
            PersonItem person      = GetSamplePerson();
            var        email       = new Email
            {
                Description = description,
                IsPrimary   = isPrimary,
                Address     = address
            };
            var contactInfo = new ContactInfo();

            contactInfo.Email.Add(email);
            person.ContactInformation = contactInfo;

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Telecom.Any());

            ContactPoint fhirEmail = practitioner.Telecom.First();

            Assert.AreEqual(1, fhirEmail.Rank);
            Assert.AreEqual(address, fhirEmail.Value);
            Assert.AreEqual(ContactPoint.ContactPointSystem.Email, fhirEmail.System);
            Assert.IsTrue(fhirEmail.Extension.Any(ext => ext.Url == HealthVaultExtensions.Description));
        }
コード例 #4
0
        protected override object MakeNewItem(Type type)
        {
            PersonItem newItem = null;

            if (_personForm.ShowDialog() == DialogResult.OK)
            {
                newItem = new PersonItem
                {
                    FirstName = _personForm.FirstName,
                    LastName  = _personForm.LastName,
                    Age       = _personForm.Age
                };

                var selectedCell = _dataGridView.SelectedCells;
                if (selectedCell.Count > 0)
                {
                    _collection.Insert(selectedCell[0].RowIndex + 1, newItem);
                }
                else
                {
                    _collection.Add(newItem);
                }
            }

            return(newItem);
        }
コード例 #5
0
ファイル: PersonRepositoryTest.cs プロジェクト: dha01/IS
 /// <summary>
 /// Проверяет эквивалентны ли два человека.
 /// </summary>
 /// <param name="first_person"></param>
 /// <param name="second_person"></param>
 private void AreEqualPerson(PersonItem first_person, PersonItem second_person)
 {
     Assert.AreEqual(first_person.Id, second_person.Id);
     Assert.AreEqual(first_person.LastName, second_person.LastName);
     Assert.AreEqual(first_person.FirstName, second_person.FirstName);
     Assert.AreEqual(first_person.FatherName, second_person.FatherName);
     Assert.AreEqual(first_person.Birthday, second_person.Birthday);
 }
コード例 #6
0
        public Person AddNewPerson()
        {
            var person = Builder <Person> .CreateNew().Build();

            var personItem = new PersonItem(person);

            _viewModel.Persons.Add(personItem);
            return(person);
        }
コード例 #7
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var s1 = "Person " + (people.Count + 1).ToString();
            var pi = new PersonItem(this, s1);

            people.Add(pi);
            btnPeopleNext.IsEnabled = (people.Count > 0);
            calc();
        }
コード例 #8
0
        /// <summary>
        /// Write the person data to the person text file.
        /// </summary>
        /// <param name="person"></param>
        public void WritePersonData(PersonItem person)
        {
            // Read the last person item in the storage
            // U

            var json = JsonConvert.SerializeObject(person);

            WriteFile(_personItemFile, json);
        }
コード例 #9
0
        public void SetUp()
        {
            _transactionScope   = new TransactionScope();
            _lecturerRepository = new LecturerRepository();
            _cathedraRepository = new CathedraRepository();
            _facultyRepository  = new FacultyRepository();
            _personRepository   = new PersonRepository();

            _faculty = new FacultyItem()
            {
                FullName  = "Информационный",
                ShortName = "И",
            };

            _cathedra = new CathedraItem()
            {
                FullName  = "Информациионных систем и технологий",
                ShortName = "ИСиТ",
                FacultyId = _facultyRepository.Create(_faculty)
            };

            _person = new PersonItem()
            {
                Birthday   = DateTime.Now.AddDays(2).Date,
                FatherName = "Сидорович",
                FirstName  = "Сидор",
                LastName   = "Сидоров",
            };

            _lecturer = new LecturerItem()
            {
                CathedraId = _cathedraRepository.Create(_cathedra),
                Birthday   = _person.Birthday,
                FatherName = _person.FatherName,
                FirstName  = _person.FirstName,
                Id         = _personRepository.Create(_person),
                LastName   = _person.LastName,
            };

            _personNew = new PersonItem()
            {
                Birthday   = DateTime.Now.AddDays(3).Date,
                FatherName = "Петрович",
                FirstName  = "Петр",
                LastName   = "Петров",
            };
            _lecturerNew = new LecturerItem()
            {
                CathedraId = _cathedraRepository.Create(_cathedra),
                Birthday   = _personNew.Birthday,
                FatherName = _personNew.FatherName,
                FirstName  = _personNew.FirstName,
                Id         = _personRepository.Create(_person),
                LastName   = _personNew.LastName
            };
        }
コード例 #10
0
        public MockPersonDataService()
        {
            _person = new PersonItem();

            _person.Weights = new List <Weight>()
            {
                new Weight(78.0, DateTime.UtcNow.AddDays(-6)),
                new Weight(78.5, DateTime.UtcNow.AddDays(-5)),
                new Weight(78.0, DateTime.UtcNow.AddDays(-4)),
                new Weight(77.8, DateTime.UtcNow.AddDays(-3)),
                new Weight(77.7, DateTime.UtcNow.AddDays(-2)),
                new Weight(77.6, DateTime.UtcNow.AddDays(-1)),
                new Weight(77.0, DateTime.UtcNow),
            };

            _person.Circumferences = new List <Circumference>()
            {
                new Circumference(DateTime.UtcNow, 10.0, 80.0, 38.5, 38.5, 30, 30, 50, 60, 70, 58, 58, 30, 30),
                new Circumference(DateTime.UtcNow.AddDays(-1), 10.0, 80.0, 38.5, 38.5, 30, 30, 50, 60, 70, 58, 58, 30, 30),
                new Circumference(DateTime.UtcNow.AddDays(-2), 10.0, 80.0, 38.5, 38.5, 30, 30, 50, 60, 70, 58, 58, 30, 30),
                new Circumference(DateTime.UtcNow.AddDays(-3), 10.0, 80.0, 38.5, 38.5, 30, 30, 50, 60, 70, 58, 58, 30, 30),
                new Circumference(DateTime.UtcNow.AddDays(-4), 10.0, 80.0, 38.5, 38.5, 30, 30, 50, 60, 70, 58, 58, 30, 30),
                new Circumference(DateTime.UtcNow.AddDays(-5), 10.0, 80.0, 38.5, 38.5, 30, 30, 50, 60, 70, 58, 58, 30, 30),
                new Circumference(DateTime.UtcNow.AddDays(-6), 10.0, 80.0, 38.5, 38.5, 30, 30, 50, 60, 70, 58, 58, 30, 30),
            };

            _person.NutritionDiaryList = new List <NutritionDiaryItem>()
            {
                new NutritionDiaryItem(Guid.NewGuid(), 50, DateTime.UtcNow),
                new NutritionDiaryItem(Guid.NewGuid(), 10, DateTime.UtcNow),
                new NutritionDiaryItem(Guid.NewGuid(), 30, DateTime.UtcNow),
                new NutritionDiaryItem(Guid.NewGuid(), 80, DateTime.UtcNow),
                new NutritionDiaryItem(Guid.NewGuid(), 200, DateTime.UtcNow),
                new NutritionDiaryItem(Guid.NewGuid(), 10, DateTime.UtcNow),
                new NutritionDiaryItem(Guid.NewGuid(), 100, DateTime.UtcNow),
                new NutritionDiaryItem(Guid.NewGuid(), 110, DateTime.UtcNow),

                new NutritionDiaryItem(Guid.NewGuid(), 50, DateTime.UtcNow.AddDays(-1)),
                new NutritionDiaryItem(Guid.NewGuid(), 10, DateTime.UtcNow.AddDays(-1)),
                new NutritionDiaryItem(Guid.NewGuid(), 30, DateTime.UtcNow.AddDays(-1)),
                new NutritionDiaryItem(Guid.NewGuid(), 80, DateTime.UtcNow.AddDays(-1)),
                new NutritionDiaryItem(Guid.NewGuid(), 200, DateTime.UtcNow.AddDays(-1)),
                new NutritionDiaryItem(Guid.NewGuid(), 10, DateTime.UtcNow.AddDays(-1)),
                new NutritionDiaryItem(Guid.NewGuid(), 100, DateTime.UtcNow.AddDays(-1)),
                new NutritionDiaryItem(Guid.NewGuid(), 110, DateTime.UtcNow.AddDays(-1)),

                new NutritionDiaryItem(Guid.NewGuid(), 50, DateTime.UtcNow.AddDays(-2)),
                new NutritionDiaryItem(Guid.NewGuid(), 10, DateTime.UtcNow.AddDays(-2)),
                new NutritionDiaryItem(Guid.NewGuid(), 30, DateTime.UtcNow.AddDays(-2)),
                new NutritionDiaryItem(Guid.NewGuid(), 80, DateTime.UtcNow.AddDays(-2)),
                new NutritionDiaryItem(Guid.NewGuid(), 200, DateTime.UtcNow.AddDays(-2)),
                new NutritionDiaryItem(Guid.NewGuid(), 10, DateTime.UtcNow.AddDays(-2)),
                new NutritionDiaryItem(Guid.NewGuid(), 100, DateTime.UtcNow.AddDays(-2)),
                new NutritionDiaryItem(Guid.NewGuid(), 110, DateTime.UtcNow.AddDays(-2)),
            };
        }
コード例 #11
0
        public void GetByPersonId_Void_ReturnNotEmpty()
        {
            var person = new PersonItem()
            {
                Id = 1,
            };
            var result = _userRepository.GetByPersonId(person.Id);

            Assert.IsNull(result);
        }
コード例 #12
0
        public void WhenPersonItemTransformedToFhir_ThenFullNameIsCopiedToText()
        {
            const string fullName = "John Mc Kense";
            PersonItem   person   = GetSamplePerson(fullName);

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Name.Any());
            Assert.AreEqual(fullName, practitioner.Name.First().Text);
        }
コード例 #13
0
        public void WhenPersonItemTransformedToFhir_ThenLastNameIsAddedAsFamily()
        {
            const string lastName = "Mc";
            PersonItem   person   = GetSamplePerson();

            person.Name.Last = lastName;

            var practitioner = person.ToFhir();

            Assert.AreEqual(lastName, practitioner.Name.First().Family);
        }
コード例 #14
0
        public void WhenPersonItemTransformedToFhir_ThenSuffixIsAddedToSuffix()
        {
            const string suffix = "Jr.";
            PersonItem   person = GetSamplePerson();

            person.Name.Suffix = new CodableValue(suffix);

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Name.First().Suffix.Any());
            Assert.AreEqual(suffix, practitioner.Name.First().Suffix.First());
        }
コード例 #15
0
        public void WhenPersonItemTransformedToFhir_ThenMiddleNameIsAddedAsGivenName()
        {
            const string middleName = "Mc";
            PersonItem   person     = GetSamplePerson();

            person.Name.Middle = middleName;

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Name.First().Given.Any());
            Assert.AreEqual(middleName, practitioner.Name.First().Given.First());
        }
コード例 #16
0
        public void WhenPersonItemTransformedToFhir_ThenTitleIsAddedToPrefix()
        {
            const string title  = "Mr.";
            PersonItem   person = GetSamplePerson();

            person.Name.Title = new CodableValue(title);

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Name.First().Prefix.Any());
            Assert.AreEqual(title, practitioner.Name.First().Prefix.First());
        }
コード例 #17
0
        internal static Practitioner ToFhirInternal(PersonItem person)
        {
            var practitioner = new Practitioner();

            HumanName fhirName = person.Name.ToFhir();

            practitioner.Name = new System.Collections.Generic.List <HumanName> {
                fhirName
            };

            if (!string.IsNullOrEmpty(person.Organization))
            {
                practitioner.SetStringExtension(HealthVaultExtensions.Organization, person.Organization);
            }

            if (!string.IsNullOrEmpty(person.ProfessionalTraining))
            {
                var qualificationComponent = new Practitioner.QualificationComponent
                {
                    Code = new CodeableConcept
                    {
                        Text = person.ProfessionalTraining
                    }
                };
                practitioner.Qualification = new System.Collections.Generic.List <Practitioner.QualificationComponent>
                {
                    qualificationComponent
                };
            }

            if (!string.IsNullOrEmpty(person.PersonId))
            {
                practitioner.Identifier = new System.Collections.Generic.List <Identifier>
                {
                    new Identifier
                    {
                        Value = person.PersonId
                    }
                };
            }

            if (person.ContactInformation != null)
            {
                practitioner.Address.AddRange(
                    person.ContactInformation.Address.Select(address => address.ToFhir()));
                practitioner.Telecom.AddRange(
                    person.ContactInformation.Phone.Select(phone => phone.ToFhir()));
                practitioner.Telecom.AddRange(
                    person.ContactInformation.Email.Select(email => email.ToFhir()));
            }

            return(practitioner);
        }
コード例 #18
0
        public void WhenPersonItemTransformedToFhir_ThenIdIsCopiedToIdentifier()
        {
            const string id     = "DOC3467";
            PersonItem   person = GetSamplePerson();

            person.PersonId = id;

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Identifier.Any());
            Assert.AreEqual(id, practitioner.Identifier.First().Value);
        }
コード例 #19
0
        public void WhenPersonItemTransformedToFhir_ThenProffessionalTrainingIsAddedAsQualification()
        {
            const string training = "AtoZ Training";
            PersonItem   person   = GetSamplePerson();

            person.ProfessionalTraining = training;

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Qualification.Any());
            Assert.AreEqual(training, practitioner.Qualification.First().Code.Text);
        }
コード例 #20
0
        public void WhenPersonItemTransformedToFhir_ThenOrganisationIsAddedAsAnExtension()
        {
            const string organisation = "Interlake Hospitals";
            PersonItem   person       = GetSamplePerson();

            person.Organization = organisation;

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Extension.Any(ext => ext.Url == HealthVaultExtensions.Organization));
            Assert.AreEqual(organisation, practitioner.GetStringExtension(HealthVaultExtensions.Organization));
        }
コード例 #21
0
        private void DeleteInnerGroupMembership(Group group, PersonItem person)
        {
            var innerGroupExists = group.CheckInnerGroupKey(person.InnerGroupKey.Value);
            var memberExists     = group.CheckInnerGroupMemeber(person.InnerGroupKey.Value, person.Id);

            if (!innerGroupExists || !memberExists)
            {
                throw new Exception();
            }

            group.RemoveInnerGroupMembership(person.Id);
        }
コード例 #22
0
ファイル: PersonController.cs プロジェクト: dha01/IS
        /// <summary>
        /// Интерфейс для создания человека.
        /// </summary>
        /// <returns></returns>
        public ActionResult New()
        {
            Access.CheckAccess("Person.Creator");
            var default_item = new PersonItem
            {
                LastName   = "",
                FirstName  = "",
                FatherName = ""
            };

            return(View(default_item));
        }
コード例 #23
0
ファイル: PersonServiceTests.cs プロジェクト: dha01/IS
        public void SetUp()
        {
            _personRepository = Mock.Of <IPersonRepository>();
            _personService    = new PersonService(_personRepository);

            _person = new PersonItem()
            {
                FirstName  = "Василий",
                FatherName = "Петрович",
                LastName   = "Иванов",
                Birthday   = DateTime.Now.Date
            };
        }
コード例 #24
0
        public void RetrieveAdditionalInformationTest_withInvalidID(string value1, string value2)
        {
            // Arrange
            PersonItem item = new PersonItem("_aa1", "");

            item.BaseTableName   = value1;
            item.TargetTableName = value2.Replace(" ", "");

            // Act
            int count = item.RetrieveAdditionalInformation();

            // Assert
            Assert.AreEqual(0, count);
        }
コード例 #25
0
        public void ShouldPersistNewPerson()
        {
            // Given
            var model = Builder <Person> .CreateNew().Build();

            var personItem = new PersonItem(model);

            // When
            _viewModel.Persons.Add(personItem);
            _viewModel.SavePersonsCommand.Execute();

            // Then
            _personProviderMock.Verify(provider => provider.Save(_viewModel.Persons), Times.Once());
        }
コード例 #26
0
ファイル: PersonRepository.cs プロジェクト: dha01/IS
        /// <summary>
        /// Обновляет данные у человека.
        /// </summary>
        /// <param name="person">Человека.</param>
        public void Update(PersonItem person)
        {
            using (var sqlh = new SqlHelper())
            {
                sqlh.ExecNoQuery(@"
update Person.person
set
	last_name = @LastName,
	first_name = @FirstName,
	father_name = @FatherName,
	birthday = @Birthday
where person = @Id", person);
            }
        }
コード例 #27
0
        protected override object MakeNewItem(Type type)
        {
            PersonItem newItem = null;

            if (_personForm.ShowDialog() == DialogResult.OK)
            {
                newItem = new PersonItem
                {
                    FirstName = _personForm.FirstName,
                    LastName  = _personForm.LastName,
                    Age       = _personForm.Age
                };
                _collection.Add(newItem);
            }
            return(newItem);
        }
コード例 #28
0
        public void Save(Person p, IList <Item> items)
        {
            Transaction t = null;

            try
            {
                t = new Transaction();

                //Calling entity's Save method. Validation is done automatically on Validate method.
                t.Include(p);
                p.Save(p.PersonId > 0);
                p.SaveList("DepartmentList");

                //Persisting lists
                p.EnableLazyLoading(true);
                t.Include(p.PersonItemList.ToArray());
                PersonItem.Delete(p.PersonItemList.ToArray());

                foreach (Item i in items)
                {
                    PersonItem pi = new PersonItem();
                    pi.Item   = i;
                    pi.Person = p;
                    t.Include(pi);
                    pi.Save(false);
                }


                t.Commit();
            }
            catch (ApplicationException)
            {
                if (t != null)
                {
                    t.Rollback();
                }
                throw;
            }
            catch (Exception ex)
            {
                if (t != null)
                {
                    t.Rollback();
                }
                throw new ApplicationException("Cannot save this person.", ex);
            }
        }
コード例 #29
0
        internal static PersonItem ToPersonItem(this Dto.PersonDetail.PersonDetailResultDto person)
        {
            var personItem = new PersonItem
            {
                Id                 = person.Id ?? 0,
                Name               = person.Name,
                ProfilePath        = person.ProfilePath,
                Biography          = person.Biography,
                PlaceOfBirth       = person.PlaceOfBirth,
                KnownForDepartment = person.KnownForDepartment,
                Birthday           = person.Birthday,
            };

            person.AlsoKnownAs.ForEach(aka => personItem.AlsoKnownAs += aka + " ");

            return(personItem);
        }
コード例 #30
0
        public void WhenPersonItemTransformedToFhir_ThenContactAddressIsCopiedToAddress()
        {
            const string description = "14503 Apt# 102";
            const bool   isPrimary   = true;
            const string street      = "SE 140th St"; //Required Multi
            const string city        = "DC";          //Required
            const string state       = "WA";
            const string postCode    = "98008";       //Required
            const string country     = "USA";         //Required
            const string county      = "County";
            PersonItem   person      = GetSamplePerson();
            var          address     = new ItemTypes.Address
            {
                Description = description,
                IsPrimary   = isPrimary,
                City        = city,
                State       = state,
                PostalCode  = postCode,
                Country     = country,
                County      = county
            };

            address.Street.Add(street);
            var contactInfo = new ContactInfo();

            contactInfo.Address.Add(address);
            person.ContactInformation = contactInfo;

            var practitioner = person.ToFhir();

            Assert.IsTrue(practitioner.Address.Any());

            var fhirAddress = practitioner.Address.First();

            Assert.AreEqual(description, fhirAddress.Text);
            Assert.AreEqual(street, fhirAddress.Line.First());
            Assert.AreEqual(city, fhirAddress.City);
            Assert.AreEqual(state, fhirAddress.State);
            Assert.AreEqual(postCode, fhirAddress.PostalCode);
            Assert.AreEqual(country, fhirAddress.Country);
            Assert.AreEqual(county, fhirAddress.District);

            Assert.IsTrue(fhirAddress.Extension.Any(ext => ext.Url == HealthVaultExtensions.IsPrimary));
        }
コード例 #31
0
        /// <summary>
        /// Populates this procedure instance from the data in the XML.
        /// </summary>
        /// 
        /// <param name="typeSpecificXml">
        /// The XML to get the procedure data from.
        /// </param>
        /// 
        /// <exception cref="InvalidOperationException">
        /// The first node in <paramref name="typeSpecificXml"/> is not
        /// a procedure node.
        /// </exception>
        /// 
        protected override void ParseXml(IXPathNavigable typeSpecificXml)
        {
            XPathNavigator itemNav =
                typeSpecificXml.CreateNavigator().SelectSingleNode("procedure");

            Validator.ThrowInvalidIfNull(itemNav, "ProcedureUnexpectedNode");

            _when = new HealthServiceDateTime();
            _when.ParseXml(itemNav.SelectSingleNode("when"));

            // <title>
            _title =
                XPathHelper.GetOptNavValue<CodableValue>(
                    itemNav,
                    "title");

            // <primary-provider>
            _primaryProvider =
                XPathHelper.GetOptNavValue<PersonItem>(
                    itemNav,
                    "primary-provider");

            // <anatomic-location>
            _anatomicLocation =
                XPathHelper.GetOptNavValue<CodableValue>(
                    itemNav,
                    "anatomic-location");

            // <secondary-provider>
            _secondaryProvider =
                XPathHelper.GetOptNavValue<PersonItem>(
                    itemNav,
                    "secondary-provider");
        }
コード例 #32
0
        /// <summary>
        /// Populates this <see cref="ImmunizationV1"/> instance from the data in the XML.
        /// </summary>
        /// 
        /// <param name="typeSpecificXml">
        /// The XML to get the immunization data from.
        /// </param>
        /// 
        /// <exception cref="InvalidOperationException">
        /// The first node in <paramref name="typeSpecificXml"/> is not
        /// an immunization node.
        /// </exception>
        /// 
        protected override void ParseXml(IXPathNavigable typeSpecificXml)
        {
            XPathNavigator itemNav =
                typeSpecificXml.CreateNavigator().SelectSingleNode(
                    "immunization");

            Validator.ThrowInvalidIfNull(itemNav, "ImmunizationUnexpectedNode");

            // <name>
            _name.ParseXml(itemNav.SelectSingleNode("name"));

            // <administration-date>
            _dateAdministrated =
                XPathHelper.GetOptNavValue<ApproximateDateTime>(
                    itemNav,
                    "administration-date");

            // <administrator>
            _administrator =
                XPathHelper.GetOptNavValue<PersonItem>(
                    itemNav,
                    "administrator");

            // <manufacturer>
            _manufacturer =
                XPathHelper.GetOptNavValue(itemNav, "manufacturer");

            // <lot>
            _lot = XPathHelper.GetOptNavValue(itemNav, "lot");

            // <route>
            _route =
                XPathHelper.GetOptNavValue<CodableValue>(
                    itemNav,
                    "route");

            // <expiration-date> approx-date-time
            _expirationDate =
                XPathHelper.GetOptNavValue<ApproximateDate>(
                    itemNav,
                    "expiration-date");

            // <sequence>
            _sequence =
                XPathHelper.GetOptNavValue(itemNav, "sequence");

            // <anatomic-surface>
            _anatomicSurface =
                XPathHelper.GetOptNavValue<CodableValue>(
                    itemNav,
                    "anatomic-surface");

            // <adverse-event> string
            _adverseEvent =
                XPathHelper.GetOptNavValue(itemNav, "adverse-event");

            // <consent>
            _consent =
                XPathHelper.GetOptNavValue(itemNav, "consent");
        }