示例#1
0
        public HL7Segment(XmlElement segmentElement, HL7Delimeters delim)
        {
            delimeters = delim;
            sName      = segmentElement.Name;
            int    iLastPopulatedPos = 0;
            string sSegment          = (sName) + char.ToString(delimeters.getFD());

            try
            {
                XmlNodeList fieldList = segmentElement.ChildNodes;
                for (int i = 0; i < fieldList.Count; i++)
                {
                    if (sName.Equals(MESSAGE_HEADER, StringComparison.CurrentCultureIgnoreCase) && i == 0)
                    {
                        continue;
                    }
                    if (sName.Equals(MESSAGE_HEADER, StringComparison.CurrentCultureIgnoreCase) && i == 1)
                    {
                        sSegment = sSegment + (delimeters.toString().Substring(1)) + char.ToString(delimeters.getFD());
                        continue;
                    }
                    XmlElement fieldElement = (XmlElement)fieldList[i];
                    HL7Field   field        = new HL7Field(fieldElement, delimeters);
                    sSegment = sSegment + field.toString() + char.ToString(delimeters.getFD());
                    if (field.toString().Length > 0)
                    {
                        iLastPopulatedPos = sSegment.Length - 1;
                    }
                }

                deSegment = new HL7DataElement(sSegment.Substring(0, iLastPopulatedPos));
            }
            catch (InvalidFieldException e)
            {
                throw new InvalidSegmentException(e.Message);
            }
        }
示例#2
0
 public HL7Segment(string sSeg, HL7Delimeters delim)
 {
     deSegment  = new HL7DataElement(sSeg);
     delimeters = delim;
     try
     {
         sName = deSegment.getString(delimeters.getFD(), 1).Trim();
         if (sName.Equals(""))
         {
             //throw new InvalidSegmentException("Segment name is empty");
         }
     }
     catch (UnableToGetStringException e)
     {
         throw new InvalidSegmentException(e.Message);
     }
     catch (Exception e)
     {
         throw new InvalidSegmentException(e.Message);
     }
 }