MEDRUC Medical resource usage and cost message (D16A)

This is the standard EDIFACT D16A spec, with 26 loops and 127 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 (131 KB) Generate classes
The ediFabric .NET template, class TSMEDRUC. It needs the common segments, composites and codes of EDIFACT D16A, one download for every transaction in the version. Download C# (2 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 MEDRUC 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 MEDRUC files into TSMEDRUC objects. See ediFabric .NET.

ediFabric Native

Native supports X12 today, and EDIFACT is coming. When it's available, map version D16A to this Native model with set_map to parse MEDRUC 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 MEDRUC classes in Python, Java, Node.js, Go, Rust or C

The OpenEDI file describes each MEDRUC as JSON. To work with MEDRUC data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSMEDRUC. 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.

MEDRUC structure

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

IDNameUsageMax use
UNHUNHMandatory1
BGMBGMMandatory1
DTMDTMOptional9
RFFRFFOptional9
FTXFTXOptional9
CUXCUXOptional1
CNTCNTOptional9
Loop MOAMOAOptional9
MOAMOAMandatory1
TAXTAXOptional1
Loop PNAPNAOptional999
PNAPNAMandatory1
SEQSEQOptional1
ADRADROptional9
CTACTAOptional9
COMCOMOptional9
RFFRFFOptional99
RELRELOptional9
NATNATOptional9
LANLANOptional9
SPRSPROptional1
EMPEMPOptional9
QUAQUAOptional9
DTMDTMOptional99
STSSTSOptional1
RCSRCSOptional99
PDIPDIOptional1
FIIFIIOptional9
Loop AGRAGROptional999
AGRAGRMandatory1
SEQSEQOptional1
RFFRFFOptional99
DTMDTMOptional99
Loop ICDICDOptional99
ICDICDMandatory1
FTXFTXOptional9
Loop DOCDOCOptional99
DOCDOCMandatory1
DTMDTMOptional9
Loop PNAPNAOptional9
PNAPNAMandatory1
ADRADROptional9
STSSTSOptional1
RCSRCSOptional9
Loop FCAFCAOptional999
FCAFCAMandatory1
GEIGEIOptional9
RFFRFFOptional99
DTMDTMOptional99
FTXFTXOptional99
AGRAGROptional99
DOCDOCOptional9
Loop MOAMOAOptional99
MOAMOAMandatory1
TAXTAXOptional1
Loop RCSRCSOptional99
RCSRCSMandatory1
FTXFTXOptional9
Loop PNAPNAOptional999
PNAPNAMandatory1
RFFRFFOptional99
ADRADROptional9
COMCOMOptional9
DTMDTMOptional99
PDIPDIOptional1
RSLRSLOptional9
NATNATOptional9
LANLANOptional9
HANHANOptional9
RELRELOptional1
Loop PRCPRCOptional999
PRCPRCMandatory1
GEIGEIOptional1
STSSTSOptional9
IMDIMDOptional9
CINCINOptional99
PNAPNAOptional99
DTMDTMOptional99
RFFRFFOptional99
FTXFTXOptional99
QTYQTYOptional99
PCDPCDOptional99
Loop PASPASOptional99
PASPASMandatory1
LOCLOCOptional9
DTMDTMOptional9
RFFRFFOptional9
Loop MOAMOAOptional99
MOAMOAMandatory1
TAXTAXOptional1
Loop RCSRCSOptional99
RCSRCSMandatory1
FTXFTXOptional9
Loop CLICLIOptional999
CLICLIMandatory1
GEIGEIOptional1
IMDIMDOptional9
CINCINOptional99
PNAPNAOptional99
DTMDTMOptional99
RFFRFFOptional99
FTXFTXOptional99
QTYQTYOptional99
PCDPCDOptional99
PACPACOptional9
Loop MOAMOAOptional99
MOAMOAMandatory1
TAXTAXOptional1
Loop RCSRCSOptional99
RCSRCSMandatory1
FTXFTXOptional9
Loop EQDEQDOptional99
EQDEQDMandatory1
SEQSEQOptional1
Loop TMDTMDOptional999
TMDTMDMandatory1
SEQSEQOptional1
GEIGEIOptional1
FTXFTXOptional99
Loop TDTTDTOptional999
TDTTDTMandatory1
GEIGEIOptional1
IMDIMDOptional9
PNAPNAOptional99
RFFRFFOptional99
FTXFTXOptional99
CINCINOptional99
QTYQTYOptional99
Loop ADRADROptional99
ADRADRMandatory1
DTMDTMOptional9
Loop TSRTSROptional99
TSRTSRMandatory1
FTXFTXOptional9
Loop TCCTCCOptional999
TCCTCCMandatory1
GEIGEIOptional1
IMDIMDOptional9
DTMDTMOptional99
RFFRFFOptional99
FTXFTXOptional99
QTYQTYOptional99
PCDPCDOptional99
Loop MOAMOAOptional99
MOAMOAMandatory1
TAXTAXOptional1
Loop TSRTSROptional99
TSRTSRMandatory1
FTXFTXOptional9
Loop AUTAUTOptional9
AUTAUTMandatory1
DTMDTMOptional9
UNTUNTMandatory1