示例#1
0
        public static ReviewPatientFields Parse(string val)
        {
            if (val.Length == 0)
            {
                throw new ArgumentNullException("The provided value string is empty!");
            }

            var rx = new Regex(@"MD:\s*(?<md>.+?)\s*Institution.+Diagnosis:\s*(?<diagnosis>\S*).+Patient:\s*(?<name>\S+).+DOB:\s*(?<dob>\S+).+MRN:\s*(?<mrn>\d*)");

            var match = rx.Match(val);

            if (!match.Success)
            {
                return(null);
            }

            var name = StripDownName(match.Groups["name"].Value);

            DateTime.TryParse(match.Groups["dob"].Value, out DateTime dob);
            var mrn  = new PatientMRN(match.Groups["mrn"].Value);
            var md   = StripDownName(match.Groups["md"].Value);
            var diag = StripDownName(match.Groups["diagnosis"].Value);

            return(new ReviewPatientFields(name, dob, mrn, md, diag));
        }
示例#2
0
 public ReviewPatientFields(string name, DateTime dob, PatientMRN mrn, string md, string diagnosis) : this()
 {
     Name      = name;
     DOB       = dob;
     MRN       = mrn;
     MD        = md;
     Diagnosis = diagnosis;
 }