189 Application for Admission to Educational Institutions (004050)

This is the standard X12 004050 spec, with 25 loops and 93 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 (128 KB) Generate classes
The ediFabric .NET template, class TS189. It needs the common segments, composites and codes of X12 004050, one download for every transaction in the version. Download C# (2 KB) Common files (264 KB)
The intermediary model ediFabric Native loads with set_map. Download Native (99 KB)

Use the 189 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 189 files into TS189 objects. See ediFabric .NET.

ediFabric Native

Map version 004050 to the Native model with set_map, then parse 189 files to JSON from Python, Java, C or C#. See Convert between EDI and JSON.

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 189 classes in Python, Java, Node.js, Go, Rust or C

ediFabric Native returns each 189 as JSON, with the property names of the OpenEDI schema. To work with that JSON as typed objects, generate classes from the OpenEDI file in your language and deserialize the JSON into TS189. Serialize the objects back to JSON to build EDI with ediFabric Native. The classes keep the loops, segments, lengths and code lists, but not the EDI data formats, so validate files with ediFabric Native. Read more in Generate a class from OpenEDI.

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

189 structure

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

IDNameUsageMax use
STTransaction Set HeaderOptional1
BGNBeginning SegmentMandatory1
Loop N1Party IdentificationMandatory2
N1Party IdentificationMandatory1
N2Additional Name InformationOptional1
N3Party LocationOptional1
N4Geographic LocationOptional1
PERAdministrative Communications ContactOptional1
Loop REFReference InformationMandatory15
REFReference InformationMandatory1
DTPDate or Time or PeriodOptional2
N4Geographic LocationOptional1
N1Party IdentificationOptional1
Loop IN1Individual IdentificationMandatory10
IN1Individual IdentificationMandatory1
IN2Individual Name Structure ComponentsMandatory10
REFReference InformationOptional10
DMGDemographic InformationOptional1
INDAdditional Individual Demographic InformationOptional1
IMMImmunization StatusOptional>1
HCHealth ConditionOptional>1
LUILanguage UseOptional>1
IIIInformationOptional10
NTENote/Special InstructionOptional1
Loop N3Party LocationOptional5
N3Party LocationMandatory1
N4Geographic LocationOptional1
DTPDate or Time or PeriodOptional2
Loop COMCommunication Contact InformationOptional10
COMCommunication Contact InformationMandatory1
DTPDate or Time or PeriodOptional2
Loop N1Party IdentificationOptional5
N1Party IdentificationMandatory1
N3Party LocationOptional1
N4Geographic LocationOptional1
QTYQuantity InformationOptional1
Loop EMSEmployment PositionOptional5
EMSEmployment PositionMandatory1
DTPDate or Time or PeriodOptional2
QTYQuantity InformationOptional1
AMTMonetary Amount InformationOptional1
Loop ATVStudent Activities and AwardsOptional>1
ATVStudent Activities and AwardsMandatory1
DTPDate or Time or PeriodOptional2
Loop LSLoop HeaderOptional1
LSLoop HeaderMandatory1
Loop AMTMonetary Amount InformationOptional15
AMTMonetary Amount InformationMandatory1
MSGMessage TextOptional1
LELoop TrailerMandatory1
Loop SSEEntry and Exit InformationOptional5
SSEEntry and Exit InformationMandatory1
DEGDegree RecordOptional1
FOSField of StudyOptional5
Loop LQIndustry Code IdentificationOptional1
LQIndustry Code IdentificationMandatory1
PDLPayment DetailsOptional1
Loop RSDResidency InformationOptional>1
RSDResidency InformationMandatory1
N4Geographic LocationMandatory1
DTPDate or Time or PeriodOptional>1
QTYQuantity InformationOptional1
REFReference InformationOptional1
Loop RQSRequest for InformationOptional>1
RQSRequest for InformationMandatory1
MSGMessage TextOptional>1
Loop SSTStudent Academic StatusOptional10
SSTStudent Academic StatusMandatory1
SSEEntry and Exit InformationOptional1
N1Party IdentificationOptional2
N3Party LocationOptional1
N4Geographic LocationOptional1
COMCommunication Contact InformationOptional1
SUMAcademic SummaryOptional5
MSGMessage TextOptional1
Loop SESAcademic Session HeaderOptional20
SESAcademic Session HeaderMandatory1
Loop CRSCourse RecordOptional50
CRSCourse RecordMandatory1
NTENote/Special InstructionOptional1
Loop TSTTest Score RecordOptional>1
TSTTest Score RecordMandatory1
Loop SBTSubtestOptional>1
SBTSubtestMandatory1
SRETest ScoresOptional3
NTENote/Special InstructionOptional2
Loop PCLPrevious CollegeOptional25
PCLPrevious CollegeMandatory1
N3Party LocationOptional1
N4Geographic LocationOptional1
COMCommunication Contact InformationOptional1
SSEEntry and Exit InformationOptional1
SUMAcademic SummaryOptional1
MSGMessage TextOptional1
Loop SESAcademic Session HeaderOptional1000
SESAcademic Session HeaderMandatory1
Loop CRSCourse RecordOptional50
CRSCourse RecordMandatory1
NTENote/Special InstructionOptional1
Loop DEGDegree RecordOptional10
DEGDegree RecordMandatory1
SUMAcademic SummaryOptional1
FOSField of StudyOptional30
NTENote/Special InstructionOptional30
Loop LXTransaction Set Line NumberOptional1
LXTransaction Set Line NumberMandatory1
MSGMessage TextMandatory>1
Loop LTLetter of RecommendationOptional15
LTLetter of RecommendationMandatory1
DTPDate or Time or PeriodOptional1
QTYQuantity InformationOptional1
COMCommunication Contact InformationOptional5
N1Party IdentificationOptional1
N3Party LocationOptional1
N4Geographic LocationOptional1
LTELetter of Recommendation EvaluationOptional15
MSGMessage TextOptional>1
SETransaction Set TrailerOptional1