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; } }
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); } }