Beispiel #1
0
 public HL7FieldItem(string sFld, HL7Delimeters delim)
 {
     deField    = new HL7DataElement(sFld);
     delimeters = delim;
     if (deField.getLength(delimeters.getRD()) > 1 && !delimeters.toString().Equals(deField.toString(), StringComparison.CurrentCultureIgnoreCase))
     {
         throw new InvalidFieldException("");
     }
     else
     {
         return;
     }
 }
Beispiel #2
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);
            }
        }