public string get(string sSegmentName, int iSegmentOccurence, int iFieldPos, int iFieldOccurence, int iComponentPos, int iSubComponentPos) { String sString = ""; HL7Segment segment = getHL7Segment(sSegmentName, iSegmentOccurence); sString = segment.toString(); if (iFieldPos > 0) { HL7Field field = segment.getField(iFieldPos); sString = field.toString(); if (iFieldOccurence > 0) { HL7FieldItem fieldItem = field.getFieldItem(iFieldOccurence); sString = fieldItem.toString(); if (iComponentPos > 0) { HL7Component component = fieldItem.getComponent(iComponentPos); sString = component.toString(); if (iSubComponentPos > 0) { HL7SubComponent subComponent = component.getSubComponent(iSubComponentPos); sString = subComponent.toString(); } } } } return(sString); }
public void buildXML(XmlDocument doc, XmlElement fieldItemElement) { HL7Component component = new HL7Component("", delimeters); int iNumberComponents = getLength(); for (int i = 1; i <= iNumberComponents; i++) { component = getComponent(i); XmlElement componentElement = doc.CreateElement("COMPONENT." + i.ToString()); fieldItemElement.AppendChild(componentElement); component.buildXML(doc, componentElement); } }
private void initializeHL7(string sHL7Message) { deMessage = new HL7DataElement(sHL7Message.Trim()); try { HL7Segment messageHeader = getMessageHeader(); HL7Field field = messageHeader.getField(MESSAGE_TYPE_POS); HL7FieldItem fieldItem = field.getFieldItem(1); HL7Component messageType = fieldItem.getComponent(1); string sMessageID = ""; try { HL7Component messageID = fieldItem.getComponent(2); sMessageID = messageID.toString(); } catch (ComponentNotFoundException componentnotfoundexception) { } if (sMessageID.Length > 0) { sMessageType = messageType.toString() + "_" + sMessageID; } else { sMessageType = messageType.toString(); } try { field = messageHeader.getField(MESSAGE_ENCODING_POS); sHL7Encoding = field.toString(); sXMLEncoding = "UTF-8";//characterSet.getXML(sHL7Encoding); } catch (FieldNotFoundException e) { //debug("Character set not found in HL7. Using system defaults."); sHL7Encoding = ""; sXMLEncoding = "UTF-8"; } } catch (ComponentNotFoundException e) { throw new InvalidMessageTypeException(e.Message); } catch (FieldNotFoundException e) { throw new MessageTypeNotFoundException(e.Message); } catch (SegmentNotFoundException e) { throw new MessageHeaderNotFoundException(e.Message); } }
public HL7Component getComponent(int iComponentPos) { string sString; try { sString = deField.getString(delimeters.getCD(), iComponentPos); } catch (UnableToGetStringException e) { throw new ComponentNotFoundException(e.Message + ", can not get component " + iComponentPos.ToString() + " in field " + deField.toString()); } HL7Component comp = new HL7Component(sString, delimeters); return(comp); }
public HL7FieldItem(XmlElement fieldItemElement, HL7Delimeters delim) { delimeters = delim; string sFieldItem = ""; int iLastPopulatedPos = 0; XmlNodeList componentList = fieldItemElement.ChildNodes; if (componentList.Count == 0) { HL7Component component = new HL7Component(fieldItemElement, delimeters); sFieldItem = sFieldItem + component.toString(); } else { if (componentList.Count == 1 && componentList[0].NodeType == XmlNodeType.Text) { HL7Component component = new HL7Component(fieldItemElement, delimeters); sFieldItem = sFieldItem + component.toString(); if (component.toString().Length > 0) { iLastPopulatedPos = sFieldItem.Length; } } else { for (int i = 0; i < componentList.Count; i++) { XmlElement componentElement = (XmlElement)componentList[i]; HL7Component component = new HL7Component(componentElement, delimeters); sFieldItem = sFieldItem + component.toString() + delimeters.getCD(); if (component.toString().Length > 0) { iLastPopulatedPos = sFieldItem.Length - 1; } } } sFieldItem = sFieldItem.Substring(0, iLastPopulatedPos); } deField = new HL7DataElement(sFieldItem); }