HIPAA EDI Development Suite

Typed Document

Don’t want to worry about the complexities of EDI?

The developer can now spend more of his time on the business rules that he needs to accomplish and not have to worry about all the intricacies of dealing with the EDI”

TypedDocuments removes all complexities from creating HIPAA EDI documents.  It allows the creation of HIPAA EDI documents without worrying about elements, delimiters and many other EDI nuances.


Main Features

  • Cut EDI development in half
  • Use feature-rich HIPAA objects like X125010Document to quickly create EDI documents
  • Use high level objects like ISA, GS, ST, CLM, IEA and properties to easily create EDI documents
  • Use familiar property names instead of having to guess what data belongs in what elements
  • Easily create loops and segments with a truly object-oriented paradigm
  • Extensible model allows the creation of custom types EDI documents and segments
  • Auto placement of segment, transaction and functional group counts in the SE, GE and IEA segments
  • Adjusts element values in ISA segments to meet 5010 length requirements
  • Supports all 5010 HIPAA transactions sets
  • Code is cleaner, more understandable and maintainable

Related Tutorials


If you’ve ever created an object and set its properties then you can create HIPAA EDI documents.  Typed Documents (X125010Document) enables developers to quickly create HIPAA EDI documents without the EDI formatting complexity.

The X125010Document supports all HIPAA implementation guides and EDI document creation is intuitive since it follows the same loop structure.  There is an object for each 5010 segment like ISA, GS, ST, PAT, HI etc.  Just set properties on the object and they will be translated to HIPAA format when you generate the file.

Avoid the Details of EDI formats

Typed Documents takes care of annoying things like empty trailing elements and empty trailing composite elements.  These can actually result in EDI files errors and file rejections.  Element, composite and segment separators are automatically added at the correct places resulting in a flawless EDI file.

Avoid Worrying about ISA Segment Minimum and Maximum Length Requirements

The ISA segment is special in the X12 standard.  It is fixed length and contains metadata.  EDI parsers use this metadata to correctly parse EDI files.  If this segment is not created correctly a failure to read the entire EDI file will occur.  Typed Documents will correctly pad or trim your element data to conform to the X12 5010 HIPAA standard.

Auto Placement of Number of Segments, Transactions and Functional Headers

SE segments must contain the total amount of segments used within that specific header.  Typed Documents will automatically keep a count of the number of segments used in the header and goes as far as to actually enter that data in the SE segment.  Additionally the number of ST transactions and GS Functional Groups are also tracked and added to the GE and IEA segments

Typed Documents takes care of the following counting scenarios:

  1. Adding the correct number of segments in SE segments (X12)
  2. Adding the correct number of transactions in GE segments (X12)
  3. Adding the correct number of functional groups in IEA segments (X12)


Code: Creating a Typed Document

Generated EDI Data

Code is Easier To Read, Understand and Maintain

public void DisplayAllClaims(List<DocumentLoop> claims)
   int rowNumber = 1;
   foreach (DocumentLoop claimSection in claims)
      SBR subscriber = claimSection.GetSegment<SBR>();
      DocumentLoop subscriberInfo = claimSection.GetLoop("2010BA");
      NM1 subName = subscriberInfo.GetSegment<NM1>();

      DocumentLoop insuranceInfoSection = claimSection.GetLoop("2010BB");
      NM1 insuranceName = insuranceInfoSection.GetSegment<NM1>();

      DataRow subInfoRow = subscriberTable.NewRow();
      subInfoRow[0] = rowNumber;
      subInfoRow[1] = subName.NameLastOrOrganizationName + " " + subName.FirstName;
      subInfoRow[2] = insuranceName.NameLastOrOrganizationName;
      subInfoRow[3] = subscriber.IndividualRelationshipCode;
      subInfoRow[4] = subscriber.ClaimFilingIndicatorCode;


      List<DocumentLoop> claimLoopSections = claimSection.GetLoops("2300");
      foreach (DocumentLoop cl in claimLoopSections)
         CLM clm = cl.GetSegment<CLM>();

         DataRow claimInfoRow = claimsTable.NewRow();
         claimInfoRow[0] = rowNumber;
         claimInfoRow[1] = clm.ClaimSubmitterIdentifier;
         claimInfoRow[2] = clm.MonetaryAmount;


         List<DocumentLoop> serviceLineSections = cl.GetLoops("2400");
         foreach (DocumentLoop sl in serviceLineSections)
            //Get the service line segment
            SV1 sv1 = sl.GetSegment<SV1>();

            DataRow serviceLineInfoRow = serviceLineTable.NewRow();
            serviceLineInfoRow[0] = rowNumber;
            serviceLineInfoRow[1] = sv1.CompositeMedicalProcedureIdentifier.ProductServiceID1;
            serviceLineInfoRow[2] = sv1.MonetaryAmount1;


Easily Extendable

Typed Documents have an easy to understand model that make it easy to extend.  Custom typed documents and segments can easily be created to support any X12 standard.  For example, 4010 typed documents can be created and automatically integrate with the Typed Documents infrastructure.

Example – Create a custom Typed Document with 3 custom segments /p>

public class MyTypedDocument : TypedEDIDocument
   public MyTypedDocument()

   protected override DocumentSegment GetDocumentSegment(string segmentName)
     switch (segmentName)
       case "CS1":
                return new CustomSegment1();
       case "CS2":
                return new CustomSegment2();
       case "ABC":
                return new CustomSegment3();
     return null;

Currently Supported HIPAA Implementation Guides

  1. (837P)  Health Care Claim: Professional
  2. (837I)  Health Care Claim: Institutional
  3. (837D) Health Care Claim: Dental
  4. (820)   Payroll Deducted/Group Premium Payment Ins. Products
  5. (820)   Health Insurance Related Payments
  6. (834)   Benefit Enrollment and Maintenance
  7. (835)   Health Care Claim Advice
  8. (276)   Health Care Claim Status Request
  9. (277)   Health Care Claim Status Response
  10. (270)   Health Care Claim Eligibility Request
  11. (271)   Health Care Claim Eligibility Response
  12. (999)   Implementation Acknowledgement
  13. (277 CA) Health Care Claim Acknowledgment

Take Charge Of HIPAA

RDPCrystal EDI Library