Modelo de objeto HL7 para .NET

Procurando por uma biblioteca ou estrutura que forneça um modelo de objeto, análise, validação, etc

A idéia seria poder gerar um novo objeto do tipo hl7 v2 ou v3. Em seguida, talvez chame-o de tipo de mensagem ORU_R01 ou ADT ou OR

A vida não seria ótima se pudéssemos fazer algo assim:

HL7V2 myMessage = new HL7V2();
myMessage.Type = V2MsgTypes.ORU_R01;
myMessage.TryParse(someHL7_string);

if (myMessage.IsValid)
{
  //do some work
  //maybe access the PID segment
  if (myMessage.Patient.Names.FamilyName =="Johnson")
  {
    //do more work
  }
}