/// <summary> /// Search for an existing segment in the collection. /// Get the segment sequence number. /// Find the maximum segment index available for that segment so far. /// The next segment index will be one greater. /// </summary> /// <param name="name">Segment Name.</param> /// <param name="sequenceNumber">Segment Sequence Number.</param> /// <param name="nextSegmentIndex">nextSegmentIndex - 0 if no matching segment found.</param> /// <returns>bool - true if a matching segment is found.</returns> private bool GetNextSegmentIndex(Hl7SegmentEnum name, out int sequenceNumber, out int nextSegmentIndex) { sequenceNumber = 0; nextSegmentIndex = 0; bool matchingSegment = false; // interate over all segments ICollection segments = _segments.Values; foreach (Hl7Segment segment in segments) { if (segment.SegmentId.SegmentName == name) { if (segment.SegmentId.SegmentIndex > nextSegmentIndex) { sequenceNumber = segment.SequenceNumber; nextSegmentIndex = segment.SegmentId.SegmentIndex; matchingSegment = true; } } } // check if we have found a matching segment if (matchingSegment == true) { // the next index is one greater nextSegmentIndex++; } return(matchingSegment); }
/// <summary> /// Class constructor /// </summary> /// <param name="sequenceNumber">Segment Sequence Number in HL7 message.</param> /// <param name="name">Enumerated Segment Name</param> public Hl7Segment(int sequenceNumber, Hl7SegmentEnum name) { _sequenceNumber = sequenceNumber; _segmentId = new Hl7SegmentId(name); _values = new ArrayList(); System.String val = SegmentNames.Name(name); _values.Insert(0, val); }
/// <summary> /// Set the value at the indexed segment. /// </summary> /// <param name="name">Segment Name.</param> /// <param name="fieldIndex">Field Index.</param> /// <param name="val">Field Value.</param> public void AddValue(Hl7SegmentEnum name, int fieldIndex, System.String val) { Hl7SegmentId segmentId = new Hl7SegmentId(name); Hl7Segment hl7Segment = (Hl7Segment)_segments[segmentId.Id]; if (hl7Segment != null) { hl7Segment[fieldIndex] = val; } }
/// <summary> /// Search for an existing segment in the collection. /// Get the segment sequence number. /// Find the maximum segment index available for that segment so far. /// The next segment index will be one greater. /// </summary> /// <param name="name">Segment Name.</param> /// <param name="sequenceNumber">Segment Sequence Number.</param> /// <param name="nextSegmentIndex">nextSegmentIndex - 0 if no matching segment found.</param> /// <returns>bool - true if a matching segment is found.</returns> private bool GetNextSegmentIndex(Hl7SegmentEnum name, out int sequenceNumber, out int nextSegmentIndex) { sequenceNumber = 0; nextSegmentIndex = 0; bool matchingSegment = false; // interate over all segments ICollection segments = _segments.Values; foreach (Hl7Segment segment in segments) { if (segment.SegmentId.SegmentName == name) { if (segment.SegmentId.SegmentIndex > nextSegmentIndex) { sequenceNumber = segment.SequenceNumber; nextSegmentIndex = segment.SegmentId.SegmentIndex; matchingSegment = true; } } } // check if we have found a matching segment if (matchingSegment == true) { // the next index is one greater nextSegmentIndex++; } return matchingSegment; }
/// <summary> /// Get the value at the indexed field. /// </summary> /// <param name="name">Segment Name.</param> /// <param name="fieldIndex">Zero-based field index.</param> /// <returns>String - value at the indexed field.</returns> public System.String Value(Hl7SegmentEnum name, int fieldIndex) { Hl7Tag hl7Tag = new Hl7Tag(name, fieldIndex); return Value(hl7Tag); }
public static System.String Name(Hl7SegmentEnum segmentName) { System.String name = "Unknown"; switch (segmentName) { case Hl7SegmentEnum.MSH: name = "MSH"; break; case Hl7SegmentEnum.MSA: name = "MSA"; break; case Hl7SegmentEnum.ERR: name = "ERR"; break; case Hl7SegmentEnum.EVN: name = "EVN"; break; case Hl7SegmentEnum.PID: name = "PID"; break; case Hl7SegmentEnum.PD1: name = "PD1"; break; case Hl7SegmentEnum.NK1: name = "NK1"; break; case Hl7SegmentEnum.PV1: name = "PV1"; break; case Hl7SegmentEnum.PV2: name = "PV2"; break; case Hl7SegmentEnum.DB1: name = "DB1"; break; case Hl7SegmentEnum.DG1: name = "DG1"; break; case Hl7SegmentEnum.DRG: name = "DRG"; break; case Hl7SegmentEnum.PR1: name = "PR1"; break; case Hl7SegmentEnum.ROL: name = "ROL"; break; case Hl7SegmentEnum.GT1: name = "GT1"; break; case Hl7SegmentEnum.IN1: name = "IN1"; break; case Hl7SegmentEnum.IN2: name = "IN2"; break; case Hl7SegmentEnum.IN3: name = "IN3"; break; case Hl7SegmentEnum.ACC: name = "ACC"; break; case Hl7SegmentEnum.UB1: name = "UB1"; break; case Hl7SegmentEnum.UB2: name = "UB2"; break; case Hl7SegmentEnum.MRG: name = "MRG"; break; case Hl7SegmentEnum.ORC: name = "ORC"; break; case Hl7SegmentEnum.OBR: name = "OBR"; break; case Hl7SegmentEnum.OBX: name = "OBX"; break; case Hl7SegmentEnum.AL1: name = "AL1"; break; case Hl7SegmentEnum.NTE: name = "NTE"; break; case Hl7SegmentEnum.CTI: name = "CTI"; break; case Hl7SegmentEnum.DSC: name = "DSC"; break; case Hl7SegmentEnum.BLG: name = "BLG"; break; case Hl7SegmentEnum.ZDS: name = "ZDS"; break; case Hl7SegmentEnum.QRD: name = "QRD"; break; default: break; } return(name); }
/// <summary> /// Class constructor. /// </summary> /// <param name="segment">Enumerated Segment Name.</param> /// <param name="segmentIndex">One-based segment index.</param> /// <param name="fieldIndex">Zero-based segment field index.</param> public Hl7Tag(Hl7SegmentEnum segment, int segmentIndex, int fieldIndex) { _segmentId = new Hl7SegmentId(segment, segmentIndex); _fieldIndex = fieldIndex; }
/// <summary> /// Class constructor - the segment index defaults to 1. /// </summary> /// <param name="segmentName">Segment name.</param> public Hl7SegmentId(Hl7SegmentEnum segmentName) : this(segmentName, 1) { }
/// <summary> /// Class constructor. /// </summary> /// <param name="segmentName">Segment name.</param> /// <param name="segmentIndex">One-based segment index.</param> public Hl7SegmentId(Hl7SegmentEnum segmentName, int segmentIndex) { _segmentName = segmentName; _segmentIndex = segmentIndex; }
/// <summary> /// Get the value at the indexed field. /// </summary> /// <param name="name">Segment Name.</param> /// <param name="fieldIndex">Zero-based field index.</param> /// <returns>String - value at the indexed field.</returns> public System.String Value(Hl7SegmentEnum name, int fieldIndex) { Hl7Tag hl7Tag = new Hl7Tag(name, fieldIndex); return(Value(hl7Tag)); }
public static System.String Name(Hl7SegmentEnum segmentName) { System.String name = "Unknown"; switch(segmentName) { case Hl7SegmentEnum.MSH: name = "MSH"; break; case Hl7SegmentEnum.MSA: name = "MSA"; break; case Hl7SegmentEnum.ERR: name = "ERR"; break; case Hl7SegmentEnum.EVN: name = "EVN"; break; case Hl7SegmentEnum.PID: name = "PID"; break; case Hl7SegmentEnum.PD1: name = "PD1"; break; case Hl7SegmentEnum.NK1: name = "NK1"; break; case Hl7SegmentEnum.PV1: name = "PV1"; break; case Hl7SegmentEnum.PV2: name = "PV2"; break; case Hl7SegmentEnum.DB1: name = "DB1"; break; case Hl7SegmentEnum.DG1: name = "DG1"; break; case Hl7SegmentEnum.DRG: name = "DRG"; break; case Hl7SegmentEnum.PR1: name = "PR1"; break; case Hl7SegmentEnum.ROL: name = "ROL"; break; case Hl7SegmentEnum.GT1: name = "GT1"; break; case Hl7SegmentEnum.IN1: name = "IN1"; break; case Hl7SegmentEnum.IN2: name = "IN2"; break; case Hl7SegmentEnum.IN3: name = "IN3"; break; case Hl7SegmentEnum.ACC: name = "ACC"; break; case Hl7SegmentEnum.UB1: name = "UB1"; break; case Hl7SegmentEnum.UB2: name = "UB2"; break; case Hl7SegmentEnum.MRG: name = "MRG"; break; case Hl7SegmentEnum.ORC: name = "ORC"; break; case Hl7SegmentEnum.OBR: name = "OBR"; break; case Hl7SegmentEnum.OBX: name = "OBX"; break; case Hl7SegmentEnum.AL1: name = "AL1"; break; case Hl7SegmentEnum.NTE: name = "NTE"; break; case Hl7SegmentEnum.CTI: name = "CTI"; break; case Hl7SegmentEnum.DSC: name = "DSC"; break; case Hl7SegmentEnum.BLG: name = "BLG"; break; case Hl7SegmentEnum.ZDS: name = "ZDS"; break; case Hl7SegmentEnum.QRD: name = "QRD"; break; default: break; } return name; }
public static Hl7SegmentEnum NameEnum(System.String name) { Hl7SegmentEnum nameEnum = Hl7SegmentEnum.Unknown; switch (name) { case "MSH": nameEnum = Hl7SegmentEnum.MSH; break; case "MSA": nameEnum = Hl7SegmentEnum.MSA; break; case "ERR": nameEnum = Hl7SegmentEnum.ERR; break; case "EVN": nameEnum = Hl7SegmentEnum.EVN; break; case "PID": nameEnum = Hl7SegmentEnum.PID; break; case "PD1": nameEnum = Hl7SegmentEnum.PD1; break; case "NK1": nameEnum = Hl7SegmentEnum.NK1; break; case "PV1": nameEnum = Hl7SegmentEnum.PV1; break; case "PV2": nameEnum = Hl7SegmentEnum.PV2; break; case "DB1": nameEnum = Hl7SegmentEnum.DB1; break; case "DG1": nameEnum = Hl7SegmentEnum.DG1; break; case "DRG": nameEnum = Hl7SegmentEnum.DRG; break; case "PR1": nameEnum = Hl7SegmentEnum.PR1; break; case "ROL": nameEnum = Hl7SegmentEnum.ROL; break; case "GT1": nameEnum = Hl7SegmentEnum.GT1; break; case "IN1": nameEnum = Hl7SegmentEnum.IN1; break; case "IN2": nameEnum = Hl7SegmentEnum.IN2; break; case "IN3": nameEnum = Hl7SegmentEnum.IN3; break; case "ACC": nameEnum = Hl7SegmentEnum.ACC; break; case "UB1": nameEnum = Hl7SegmentEnum.UB1; break; case "UB2": nameEnum = Hl7SegmentEnum.UB2; break; case "MRG": nameEnum = Hl7SegmentEnum.MRG; break; case "ORC": nameEnum = Hl7SegmentEnum.ORC; break; case "OBR": nameEnum = Hl7SegmentEnum.OBR; break; case "OBX": nameEnum = Hl7SegmentEnum.OBX; break; case "AL1": nameEnum = Hl7SegmentEnum.AL1; break; case "NTE": nameEnum = Hl7SegmentEnum.NTE; break; case "CTI": nameEnum = Hl7SegmentEnum.CTI; break; case "DSC": nameEnum = Hl7SegmentEnum.DSC; break; case "BLG": nameEnum = Hl7SegmentEnum.BLG; break; case "ZDS": nameEnum = Hl7SegmentEnum.ZDS; break; case "QRD": nameEnum = Hl7SegmentEnum.QRD; break; default: break; } return(nameEnum); }
/// <summary> /// Class constructor. /// </summary> /// <param name="segment">Enumerated Segment Name.</param> /// <param name="fieldIndex">Zero-based segment field index.</param> public Hl7Tag(Hl7SegmentEnum segment, int fieldIndex) { _segmentId = new Hl7SegmentId(segment); _fieldIndex = fieldIndex; }