PRPAID Insurance premium payment message (D17A)

This is the standard EDIFACT D17A spec, with 7 loops and 35 segment positions, as OpenEDI JSON, an ediFabric C# template and an ediFabric Native model. To change it for a trading partner, customize it in the EDI Spec Builder.

Loading the spec…
The spec as an OpenAPI 3 schema with x-openedi-* extensions, for ediFabric Native, ediFabric Cloud and the EDI Spec Builder. Download OpenEDI (56 KB) Generate classes
The ediFabric .NET template, class TSPRPAID. It needs the common segments, composites and codes of EDIFACT D17A, one download for every transaction in the version. Download C# (1 KB) Common files (69 KB)
The intermediary model ediFabric Native loads with set_map. Native supports X12 today, and EDIFACT is coming. Download Native (1 KB)

Use the PRPAID spec in your code

ediFabric .NET

Add the C# template and its common files to your project, or reference the template NuGet package, and read PRPAID files into TSPRPAID objects. See ediFabric .NET.

ediFabric Native

Native supports X12 today, and EDIFACT is coming. When it's available, map version D17A to this Native model with set_map to parse PRPAID files to JSON from Python, Java, C or C#. See ediFabric Native.

OpenEDI

Select Customize in Spec Builder to copy the spec under your own name, change it for your partner, and parse files against it in EdiNation, ediFabric Native or ediFabric Cloud. Read about OpenEDI.

Generate PRPAID classes in Python, Java, Node.js, Go, Rust or C

The OpenEDI file describes each PRPAID as JSON. To work with PRPAID data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSPRPAID. The classes keep the loops, segments, lengths and code lists, but not the EDI data formats. Read more in Generate a class from OpenEDI.

Python: datamodel-code-generator. Node.js: openapi-typescript. Java, Go, Rust and C: OpenAPI Generator.

PRPAID structure

Loops and segments of the standard PRPAID, with their usage and maximum repeats.

IDNameUsageMax use
UNHUNHMandatory1
BGMBGMOptional1
GEIGEIMandatory1
RFFRFFMandatory9
DTMDTMMandatory9
ICDICDOptional1
Loop NADNADMandatory9
NADNADMandatory1
CTACTAOptional1
COMCOMOptional3
RFFRFFOptional9
Loop DOCDOCOptional9999
DOCDOCMandatory1
Loop GEIGEIOptional1
GEIGEIMandatory1
FTXFTXOptional1
DTMDTMOptional9
NADNADOptional9
Loop MOAMOAOptional99
MOAMOAMandatory1
DTMDTMOptional1
PCDPCDOptional1
RFFRFFMandatory9
Loop ICDICDOptional99
ICDICDMandatory1
MOAMOAOptional99
RFFRFFOptional9
PCDPCDOptional1
Loop ATTATTOptional9
ATTATTMandatory1
PCDPCDOptional1
CUXCUXOptional1
UNSUNSMandatory1
Loop MOAMOAOptional99
MOAMOAMandatory1
GEIGEIOptional1
DTMDTMOptional1
RFFRFFOptional1
ATTATTOptional1
ICDICDOptional1
CUXCUXOptional1
UNTUNTMandatory1