Skip Ribbon Commands Skip to main content
Skip Navigation LinksHome > Technical NIEM > Model Package Description
Model Package Description


The NIEM Model Package Description (MPD) Specification promotes consistency, ensuring all users know the basics of NIEM and how to best use it to meet business needs. The NIEM Technical Architecture Committee created the MPD to formalize requirements around the packaging of information exchanges, domain and core updates to the data model, and enterprise information exchange models. The MPD provides community users with assurance that when they use an information exchange (or domain update, core update, etc.), all required artifacts and documentation are available.

The MPD defines terminology, identifies both required and optional artifacts, describes schemes and syntax, and provides guidance to develop these artifacts. The rules and guidance described in the MPD are designed to encourage NIEM use by balancing consistency, simplicity, and flexibility, making MPDs easy to design correctly, build rapidly, and find easily. This flexibility allows developers to design MPDs for complex data requirements.

The NIEM MPD is available here.

Interested in gaining a better understanding of the MPD? Check out our MPD overview, available here​.

MPD Classes

Each MPD class serves a different purpose, but all provide meaningful NIEM-conformant XML schemas. Described below are the five different MPD types:
MPD_Classes_chart_large with no text.png

A NIEM Model Release is a MPD containing a full set of harmonized reference schemas defining all content in a version of NIEM. NIEM releases include major, minor, and micro releases as defined in the High-Level Tool Architecture (HLVA).  

A Domain Update is a MPD containing reference schemas that represent changes to NIEM domains. The HLVA defines a domain update as both a process and a NIEM product. Through use and analysis of NIEM releases and published content, domain users identify issues and new data requirements for domains and NIEM Core. NIEM domains use these issues as the basis for incremental improvements, extensions, and proposed changes to future NIEM releases.

A Core Update is a MPD that is essentially identical to a domain update, but with two exceptions. First, a core update records changes that apply to a specific NIEM Core version. Second, a core update is not published to replace a NIEM Core. It adds new schemas, new data components, and new code values to a core without waiting for the next major release.

An Information Exchange Package Documentation (IEPD) is a MPD that defines a reusable XML data exchange. A NIEM IEPD contains a set of valid XML schemas that may include portions of NIEM Core schemas, portions of domain schemas, enterprise-specific or IEPD-specific extension schemas, and at least one exchange schema that defines a document element. The schemas contained in an IEPD work together to define data for exchanges.

An Enterprise Information Exchange Model (EIEM) is a MPD based on Business Information Exchange Components (BIEC). A BIEC is a NIEM-conforming XML schema data component (type, element, attribute, or other XML construct) that is reused, subsetted, and/or extended, that meets a business requirement for an information-sharing enterprise. An EIEM is a collection of BIECs organized into a subset and one or more extension schemas. Constraint schemas and non-NIEM-conforming external standards schemas with type adapters are optional in an EIEM. ​​​​​​​​​​​​

You are leaving the website and entering an external link or a third-party site.

NIEM has provided this link because it provides additional information that may be useful or interesting and is being provided in a manner consistent with the intended purpose of the NIEM website.

NIEM cannot attest to the accuracy of information provided by these third-party sites or any other linked site. NIEM is providing these links for your reference. In doing so, NIEM does not endorse any non-government websites, companies or applications.

Select "OK" to continue, otherwise, select "Cancel"