Hay un analizador de código abierto X12 (OopFactory X12 Parser: https://x12parser.codeplex.com) que hace esto por usted.
Para convertir cualquier documento X12 a XML:
FileStream fstream = new FileStream("Sample1.txt", FileMode.Open, FileAccess.Read);
var parser = new X12Parser();
Interchange interchange = parser.Parse(fstream);
string xml = interchange.Serialize();
para convertir cualquier documento X12 a HTML:
var htmlService = new X12HtmlTransformationService(new X12EdiParsingService(suppressComments: false));
Stream ediFile = new FileStream("Sample.txt", FileMode.Open, FileAccess.Read);
string html = htmlService.Transform(new StreamReader(ediFile).ReadToEnd());
Más detalles aquí: https://x12parser.codeplex.com/wikipage?title=Parsing%20an%20837%20Transaction&referringTitle=Documentation
Para cargar una respuesta X12 271 en un objeto .Net, puede usar:
FileStream fstream = new FileStream("Sample1.txt", FileMode.Open, FileAccess.Read);
var service = new EligibilityTransformationService();
EligibilityBenefitDocument eligibilityBenefitDocument = service.Transform271ToBenefitResponse(fstream);
¿Tienes un enlace a la especificación X12 271? Además, puede haber algo aquí: http://www.openhre.org/ – wowest