Exemplo n.º 1
0
        //Constructor
        public Assertion(HL7Message msg, AllCDMCodes acs)
        {
            DataTable t = GetCMM();

            foreach (Segment s in msg)
            {
                string segName = s.value.Substring(0, 3);
                Console.WriteLine(segName + " segName");//---------------------------debug
                DataRow[] r = t.Select("Segment = '" + segName + "'");

                if (string.IsNullOrEmpty(r.ToString()))
                {
                    Console.WriteLine("empty");
                }
                else
                {
                    DataRow[] fieldAndSubfields = t.Select("Segment like '" + segName + "'");

                    foreach (DataRow item in fieldAndSubfields)
                    {
                        //get CMM field\subfield values

                        try
                        {
                            if (!string.IsNullOrEmpty(s.Fields[3].value))
                            {//if this field has a value...
                                Console.WriteLine(s.Fields[3].value + " 1 is clearly not null");
                                if (!string.IsNullOrEmpty(s.Fields[3].SubFields[0].value))
                                {
                                    Console.WriteLine(s.Fields[3].SubFields[0].value + " 2 is clearly not null");
                                    if (!string.IsNullOrEmpty(s.Fields[3].SubFields[0].SubSubFields[0].value))
                                    {
                                        Console.WriteLine(s.Fields[3].SubFields[0].SubSubFields[0].value + " 3 is clearly not null");
                                    }
                                }
                            }
                        }
                        catch (ArgumentOutOfRangeException ex)
                        {
                            Console.WriteLine("ArgumentOutOfRangeException ex");
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void BtnValidate_Click(object sender, EventArgs e)
        {
            string        cdmFilename   = txtCDMCodeFile.Text;
            string        HL7FileName   = txtHL7MessageFile.Text;
            string        f             = File.ReadAllText(HL7FileName);
            MessageSample messageSample = new MessageSample(f);

            string[]      c           = File.ReadAllLines(cdmFilename);
            AllCDMCodes   allCDMCodes = new AllCDMCodes(c);
            List <string> cdmCodes    = allCDMCodes.SegmentsInCDM();//TODO: refactor as a member variable

            #region Call the validation processes here
            foreach (HL7Message message in messageSample)
            {
                Assertion a = new Assertion(message, allCDMCodes);
            }
            //in a OneOf() method compare Assert.HL7Message.component.OneOf();


            #endregion
        }