MSH|^~\&|AX90X^^EUI-64|AX90X^^EUI-64|||20230521120740537+0800||ORU^R40^ORU_R40|43|P|2.4|98||AL|NE||UNICODE UTF-8{newLine}
PID|||1235^^^^PI||SMITH^JOHN^^^^^L||20000101000000000+0800|M||||||||||||||||||||||||||||||||ADU{newLine}
PV1|||^^^||||||||||||||||||||||||||||||||||||||||20230303000000000+0800|||||||||||{newLine}
OBR|1||43^AX90X^^EUI-64|196616^MDC_EVT_ALARM^MDC|||20230521120740537+0800||||||||||||||||||||||^43{newLine}
OBX|1|CWE|196616^MDC_EVT_ALARM^MDC|1.7.0.196682.1|196680^MDC_EVT_LEADS_OFF^MDC||||||F|||20230521120740537+0800{newLine}
OBX|2|CWE|68480^MDC_ATTR_ALERT_SOURCE^MDC|1.7.0.196682.2|69953^MDC_DEV_MON_PT_PHYSIO_MULTI_PARAM_MDS^MDC||||||F{newLine}
OBX|3|ST|68481^MDC_ATTR_EVENT_PHASE^MDC|1.7.0.196682.3|start||||||F{newLine}
OBX|4|ST|68482^MDC_ATTR_ALARM_STATE^MDC|1.7.0.196682.4|active||||||F{newLine}
OBX|5|ST|68483^MDC_ATTR_ALARM_INACTIVATION_STATE^MDC|1.7.0.196682.5|^^||||||F{newLine}
OBX|6|ST|68484^MDC_ATTR_ALARM_PRIORITY^MDC|1.7.0.196682.6|PL||||||F{newLine}
OBX|7|ST|68485^MDC_ATTR_ALERT_TYPE^MDC|1.7.0.196682.7|ST||||||F{newLine}
OBX|8|ST|68486^MDC_ATTR_ALERT_THRESHOLD^MDC|1.7.0.196682.8|||||||F
var pipeParser = new PipeParser();
var parsed = pipeParser.Parse(message);
Console.WriteLine(parsed.GetType().Name);