fork download
  1. using System;
  2. using System.Text.RegularExpressions;
  3.  
  4. public class Test
  5. {
  6. public static void Main()
  7. {
  8. string raw = @"MSH|^~\&|A|B|C|D|201402141402||ORM^O01|33987|D|2.3
  9. PID|1|99989392|99989392||UHCMCDO^TWO^^^^||19810101|M|||5678 CANDY CANE LANE^^EUCLID^OH^44117^UNITED STATES||(212)353-6048|(212)323-6078||||99576837||||NonHispan||||||||N
  10. PV1|1|O|320|R|C||49762^Abouassaly^Robert||||||||||||99576837||||||||||Y|||||||||||||||201402141402||||||A49417331
  11. IN1|1|43||MEDICAID-OH: CUYAHOGA COUNTY DEPT OF CHILDREN & FAMILY SERVICES|3955 EUCLID AVE^^CLEVELAND^OH^44115-2505||(216)431-4500|||||||||UHCMCDO^TWO^|S|||||1||||||||||||||123456789001|||||||M
  12. GT1|1||UHCMCDO^TWO^^^||5678 CANDY CANE LANE^^EUCLID^OH^44117|(212) 353-6048||19810101|||S
  13. ORC|NW||||||||20140214140256
  14. OBR|1|36358||GC1^Non GYN - Cytology|R||201403281402||||||||NONGYNC^Non GYN - Cytology|49762^Abouassaly^Robert|||||||||||^^^^^R
  15. DG1|1|I9|V70.0|ROUTINE MEDICAL EXAM - V70.0
  16. OBX|1|TX|PTH_SITE1^Site A|1|left||||||F|||||||
  17. OBX|2|TX|PTH_SPEC1^Specimen A||C-FNA^Fine Needle Aspiration||||||F|||||||";
  18. string[] lines = raw.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
  19. string name = "";
  20. string obrId = "";
  21. foreach (string line in lines)
  22. {
  23. if (line.Contains("PID"))
  24. {
  25. name = Regex.Match(line,@"^PID([\|]*[^\|]*){3}[\|]*([^\|]*)").Groups[2].Value;
  26. }
  27. else if (line.Contains("OBR"))
  28. {
  29. obrId = Regex.Match(line,@"OBR\|[\d]*\|(\d*)\|").Groups[1].Value;
  30. }
  31. }
  32. Console.WriteLine(name);
  33. Console.WriteLine(obrId);
  34. }
  35. }
Success #stdin #stdout 0.08s 29516KB
stdin
Standard input is empty
stdout
UHCMCDO^TWO^^^^
36358