Example #1
0
        /// <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);
        }
Example #2
0
 /// <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);
 }
Example #3
0
 /// <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);
 }
Example #4
0
        /// <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;
            }
        }
Example #5
0
        /// <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;
        }
Example #6
0
 /// <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);
 }
Example #7
0
 /// <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;
     }
 }
Example #8
0
        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);
        }
Example #9
0
 /// <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;
 }
Example #10
0
 /// <summary>
 /// Class constructor - the segment index defaults to 1.
 /// </summary>
 /// <param name="segmentName">Segment name.</param>
 public Hl7SegmentId(Hl7SegmentEnum segmentName) : this(segmentName, 1)
 {
 }
Example #11
0
 /// <summary>
 /// Class constructor - the segment index defaults to 1.
 /// </summary>
 /// <param name="segmentName">Segment name.</param>
 public Hl7SegmentId(Hl7SegmentEnum segmentName)
     : this(segmentName, 1)
 {
 }
Example #12
0
 /// <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;
 }
Example #13
0
        /// <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));
        }
Example #14
0
        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;
        }
Example #15
0
        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);
        }
Example #16
0
 /// <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;
 }
Example #17
0
 /// <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;
 }