/// <summary>
 /// Create an instance of the HealthRecordItemChangedSubscription class, specifying the delivery mechanism and the 
 /// set of type ids on which to send event notifications.
 /// </summary>
 /// <param name="commonSubscriptionData">The common subscription data to associate with this subscription.</param>
 /// <param name="typeIds">The type ids on which to send event notifications</param>
 public HealthRecordItemChangedSubscription(CommonSubscriptionData commonSubscriptionData, IList<Guid> typeIds)
     : base(commonSubscriptionData)
 {
     HealthRecordItemChangedFilter filter = new HealthRecordItemChangedFilter(typeIds);
     if (filter.TypeIds.Count != 0)
     {
         _filters.Add(filter);
     }
 }
        internal override void ParseXml(XPathNavigator navigator)
        {
            Validator.ThrowIfNavigatorNull(navigator);

            XPathNavigator recordItemChangedNav = navigator.SelectSingleNode("record-item-changed-event");
            Validator.ThrowArgumentExceptionIf(recordItemChangedNav == null, "navigator", "MissingRecordItemChangedNode");

            XPathNavigator filtersNav = recordItemChangedNav.SelectSingleNode("filters");
            Validator.ThrowArgumentExceptionIf(filtersNav == null, "navigator", "MissingFiltersNode");

            XPathNodeIterator filters = filtersNav.Select("filter");
            _filters.Clear();

            foreach (XPathNavigator filterNav in filters)
            {
                HealthRecordItemChangedFilter filter = new HealthRecordItemChangedFilter();
                filter.ParseXml(filterNav);

                _filters.Add(filter);
            }
        }