Ejemplo n.º 1
0
        public void TennesseePidFirstNameIsThomasUsingDefaultDelimiters()
        {
            // Arrange
            string testPidSegment = "PID|1||10006579^^^1^MRN^1||THOMAS^C^CHAPMAN||19241010|M||1|111 DUCK ST^^FOWL^CA^999990000^^M|1|8885551212|8885551212|1|2||40007716^^^AccMgr^VN^1|123121234|||||||||||NO";

            // Act
            SegmentFactoryManager newManager = new SegmentFactoryManager();
            SegmentFactory newFactory = newManager.GetFactory(DriverTypes.TennesseeHealthCare);

            PID newPid = newFactory.CreatePIDInstance(testPidSegment);

            // Assert
            Assert.AreEqual("THOMAS", newPid.GetPatientName().GivenName.ToUpper());
        }
Ejemplo n.º 2
0
        public void GenericV23PidFirstNameIsDonaldUsingDefaultDelimiters()
        {
            // Arrange
            string testPidSegment = "PID|1||10006579^^^1^MRN^1||DUCK^DONALD^D||19241010|M||1|111 DUCK ST^^FOWL^CA^999990000^^M|1|(888)555-1212|(888)555-1212|1|2||40007716^^^AccMgr^VN^1|123121234|||||||||||NO";

            // Act
            SegmentFactoryManager newManager = new SegmentFactoryManager();
            SegmentFactory newFactory = newManager.GetFactory(DriverTypes.GenericV23);

            PID newPid = newFactory.CreatePIDInstance(testPidSegment);

            // Assert
            Assert.AreEqual("DONALD", newPid.GetPatientName().GivenName.ToUpper());
        }
Ejemplo n.º 3
0
        public void TennesseePidFirstNameIsThomasUsingCustomDelimiters()
        {
            // Arrange
            SegmentDelimiters delimiters = new SegmentDelimiters { FieldSeparator = '*' };
            string testPidSegment = "PID*1**10006579^^^1^MRN^1**THOMAS^C^CHAPMAN**19241010*M**1*111 DUCK ST^^FOWL^CA^999990000^^M*1*8885551212*8885551212*1*2**40007716^^^AccMgr^VN^1*123121234***********NO";

            // Act
            SegmentFactoryManager newManager = new SegmentFactoryManager(delimiters);
            SegmentFactory newFactory = newManager.GetFactory(DriverTypes.TennesseeHealthCare);

            PID newPid = newFactory.CreatePIDInstance(testPidSegment);

            // Assert
            Assert.AreEqual("THOMAS", newPid.GetPatientName().GivenName.ToUpper());
        }
Ejemplo n.º 4
0
        public void GenericV23PidFirstNameIsDonaldUsingCustomDelimiters()
        {
            // Arrange
            SegmentDelimiters delimiters = new SegmentDelimiters { FieldSeparator = '%' };
            string testPidSegment = "PID%1%%10006579^^^1^MRN^1%%DUCK^DONALD^D%%19241010%M%%1%111 DUCK ST^^FOWL^CA^999990000^^M%1%(888)555-1212%(888)555-1212%1%2%%40007716^^^AccMgr^VN^1%123121234%%%%%%%%%%%NO";

            // Act
            SegmentFactoryManager newManager = new SegmentFactoryManager(delimiters);
            SegmentFactory newFactory = newManager.GetFactory(DriverTypes.GenericV23);

            PID newPid = newFactory.CreatePIDInstance(testPidSegment);

            // Assert
            Assert.AreEqual("DONALD", newPid.GetPatientName().GivenName.ToUpper());
        }
Ejemplo n.º 5
0
        public virtual void Parse()
        {
            if (!string.IsNullOrEmpty(_message))
            {
                SegmentFactoryManager segmentBuilder = new SegmentFactoryManager();
                SegmentFactory segmentFactory = segmentBuilder.GetFactory(_driverType);

                List<string> segments = new List<string>(_message.Replace("\r\n", "\r").Split('\r'));

                foreach (string segment in segments)
                {
                    Segment newSegment = segmentFactory.CreateSegmentInstance(
                        ((SegmentTypes)EnumUtils.enumValueOf(segment.Substring(0, 3), typeof(SegmentTypes))),
                        segment);

                    _segments.Add(newSegment);
                }

                if (_segments != null && _segments.Count > 0)
                {
                    MSH msh = (MSH)_segments.Find(s => s.SegmentType == SegmentTypes.MSH);
                    _delimiters.FieldSeparator = msh.GetFieldSeparator();
                    _delimiters.ComponentSeparator = msh.GetComponentSeparator();
                    _delimiters.FieldRepeatSeparator = msh.GetFieldRepeatSeparator();
                    _delimiters.EscapeCharacter = msh.GetEscapeCharacter();
                    _delimiters.SubComponentSeparator = msh.GetSubComponentSeparator();

                    _versioinId = msh.GetVersionId();
                    _messageDate = msh.GetMessageDateTime();
                    _type = msh.GetMessageType();
                    _messageControlId = msh.GetMessageControlId();
                    _processingId = msh.GetProcessingId();
                }
            }
        }