IEPD Developer

An Information Exchange Package Documentation (IEPD) Developer designs, builds, and validates the components (artifacts) of an Information Exchange Package (IEP).

The IEPD allows senders and receivers to exchange information in a manner that both understand. The exchange is typically in the form of XML schema documents that define XML instance documents, and other documents that describe, for example, the version history and contents of the documents.

You are here to learn the steps for developing an IEPD according to the IEPD Lifecycle.

IEPD Lifecycle

You develop the IEPD according to a six-phase lifecycle, as shown graphically and listed in the following sections. The phases link to pages with detailed, introductory information about that phase. More lifecycle phase information can be found in their lifecycle reference section.

IEPD Lifecycle

Start with Scenario Planning and work your way through the list in order. See the tutorial for a step-by-step guide to create a simple IEPD set.

  1. Scenario Planning: During the Scenario Planning phase, you review background information related to your information exchange, assess resource impact, understand business context, and identify information exchange business scenarios.
  2. Analyze Requirements: During the Analyze Requirements phase, the selected information exchange scenario is further elaborated to understand and document the business context and data requirements.
  3. Map and Model: During the Map and Model phase, you begin the creation of IEPD components for your exchange content model based on your information exchange requirements. You start with a mapping document, which matches your exchange data elements to the NIEM data model.
  4. Build and Validate: During the Build and Validate phase, you create a set of exchange-specific, NIEM-conformant XML schemas that implement the exchange content model created for the exchange and validate them. Components in this phase also include other XML documents generated from NIEM tools (e.g., Wantlist).
  5. Assemble and Document: During the Assemble and Document Phase, you prepare and package all related files for the IEPD into a single, self‐contained, self-documented, portable archive file. You then should perform a peer review to ensure artifact consistency within the IEPD and with other IEPDs.
  6. Publish and Implement: During the last phase, Publish and Implement, you implement the IEPD into production and publish the IEPD for search, discovery, and reuse.

IEPD Tutorial

The Simple IEPD tutorial takes you step-by-step through the creation process starting with the Scenario Planning phase. Future tutorials will reference and build from it.

  • Simple IEPD - This tutorial shows you how to create a very simple IEPD set. Once you are comfortable with the process and output, you can move on to more complex IEPDs.

IEPD Developer Resources

There are a large number of tools and reference materials available to help you in your development effort. You can see a comprehensive list of information resources at the Reference page. Some of the sections you may find most immediately useful are the ones highlighted below:


The Tools section contains information about tools that will help you search NIEM, build subsets, and check conformance. It also includes a link to the NIEM Tools Catalog, with information about community and commercial tools available.

Tool IEPD Developer Uses
SSGT Search and view the content of the model.
Build XML Schema subsets to use with your XML-based IEPD.
Movement Search and view the content of the model in the new and easy-to-use open-source tool.
Build simplified JSON Schema subsets to use with your JSON-based IEPD.
ConTesA Check your XML extension schemas for NDR conformance errors and warnings.
Migration Tool Take the first step in migrating your IEPD to a subsequent release by migrating your NIEM XML subset.
(Extension schemas require manual migration.)


The Artifacts section describes files and packages related to NIEM releases and messages.

Artifact IEPD Developer Uses
IEPD Create a package that defines a NIEM message.
Extension Schema Create new NIEM elements and data types needed for an exchange.
Subset Schema Create a smaller set of NIEM schemas that contains only the properties and types that are needed for an exchange.
MPD Catalog Document metadata about your message.
Conformance Report Document the steps that were taken to ensure an IEPD is NIEM conformant and record any known exceptions.
Release Learn about NIEM major and minor releases and the artifacts that can be found in a release package.
Core Supplement Learn about how NIEM publishes incremental changes to the Core namespace between major releases and how to use these supplements in your IEPD.
Domain Update Learn about domains can publish changes outside of the standard release cycle and how to use these updates in your IEPD.
Code Lists Define enhanced code lists for an exchange.
Specify static or run-time bindings for NIEM code lists (e.g., GENC).


The Specifications section describes the specifications that establish normative rules for NIEM (e.g., how the exchange package is constructed; the proper naming of documents and elements).

Specification IEPD Developer Uses
Naming and Design Rules Learn about the architecture of the NIEM data model, its representation in XML, and the conformance rules that are required for your extension schemas.
Model Package Description Read about rules and guidance for creating an IEPD.
Code Lists Want to use CSV files to define your IEPD codes instead of XML enumerations?
Want to link codes to other codes (like vehicle makes and models) or multiple definitions?
Want to use GENC codes from the release?
Learn how NIEM uses CSV files to represent enhanced code lists.
Conformance Learn what it means for a schema, IEPD, or other artifact to be NIEM-conformant.
Conformance Targets Attribute Learn how to declare conformance targets for your extension schemas.
This is required both for NIEM conformance and to use ConTesA for conformance testing.
High-Level Version Architecture Learn about major and minor releases, Core Supplements, domain updates, and the NIEM release cycle.