NIEM Model

The NIEM model defines agreed-upon terms, definitions, relationships and formats—independent of how information is stored in individual systems—for data being exchanged. It's currently available in XSD and Microsoft Excel formats, as well as in Unified Modeling Language (UML) tools to graphically depict exchanges and the elements of each exchange message.

The Program has published NIEM JSON-LD context online to provide a Uniform Resource Identifier mapping for each namespace in NIEM as part of the 4.0 release. This gives JSON users an easy way for JSON messages to use and reference the model and provides a linked data approach to the already robust capabilities offered by NIEM.

Model content

Words are to a dictionary as elements are to a reference model. The NIEM model consists of two related vocabularies: core elements that are commonly agreed to by all of the communities who use NIEM, and community-specific elements that align to individual NIEM domains. To learn more about domains, visit the Communities page. You can browse the content in the NIEM model using one of several tools available in the NIEM Tools Catalog.

When using NIEM, you only need to "speak" two languages: your own (system's vocabulary) and NIEM. The NIEM model provides a reference vocabulary for consistent reusable exchanges. When developing information exchanges, agreeing to a common set of data elements and definitions is a frequent challenge. The NIEM model was built to address this challenge. For example, a previous data exchange included four partner organizations. As one of the four partner organizations, you would have had to connect to three different systems and negotiate a common language between them. Now, it's just your language and NIEM. NIEM provides this common vocabulary.

NIEM core

The NIEM core consists of data elements that are commonly understood and defined across domains, such as person, activity, document, location, and item. It’s governed jointly by all NIEM domains.

NIEM domains

NIEM domains contain mission-specific data components that build upon NIEM core concepts and add additional content specific to the community supporting that mission. A NIEM domain represents both the governance and model content oriented around a community’s business needs. A NIEM domain manages their portion of the NIEM data model and works with other NIEM domains to collaboratively to identify areas of overlapping interest. Learn more about how a NIEM domain is governed on the Domain Goverance page.

Model architecture

Data components within the NIEM model are represented as elements and types.

All NIEM elements follow standard naming rules outlined in the NIEM Naming and Design Rules (NDR). In NIEM, every data element or type is declared in a namespace in order to prevent naming collisions while allowing for proper governance of data concepts. For example, different communities have different definitions of an "address." Namespaces help to identify in which part of the model, core, or individual domain the element or type is located.

Model Release Cycle process

The NIEM model was designed to accommodate updates on a regular basis in order to evolve with user needs. To incorporate change on a predictable and sustainable schedule, NIEM has a release cycle for model updates.

NIEM’s Release Cycle is broken into Major and Minor Releases. A Major Release can be expected every three years, with a minor release potentially occurring every 12 months. A Major and Minor Release will not occur in the same calendar year. This process ensures that NIEM addresses community business requirements.

Major Releases occur when the NIEM core and domains are updated and then synchronized. Any technical architecture changes to the model are exclusively made during a Major Release. Major Releases are given version IDs such as 2.0, 3.0, or 4.0.

Minor Releases occur to incorporate and synchronize changes to domain content, and may contain core supplements. Minor Releases are given version IDs such as 2.1, 2.2, 3.1, or 3.2.

Core supplements are a special type of NIEM release that allow the program flexibility to apply strictly additive changes to a previously published NIEM core. A core supplement (CS) can be issued when the NBAC determines it is necessary to add content to a published NIEM core. A CS does not have to be issued within a major or minor release cycle, although it can be. The purpose for issuing a CS may include:

Updating a code list with new values added by an authoritative source

Correcting a significant flaw in a component, to add a new element to a substitution group

Updating domain models

The NIEM model is decentralized, such that individual NIEM domains manage their respective domain updates—these can happen at any time. If a data requirement isn't already found in the model and is specific to a particular community, a request can be made to the domain's point of contact for consideration for the domain. The approved updates are then incorporated into the next NIEM release (major or minor) for reconciliation and official publication.

Updating the NIEM core

If a data requirement isn't already found in the overall NIEM model and is applicable to many domains, it can be submitted through the NBAC for consideration for NIEM core. A primary function of the NBAC is to coordinate the ongoing harmonization process between NIEM core and domains.

Model harmonization

Harmonization is an ongoing process to ensure no duplication in the model as updates are made and it evolves to accommodate new community business requirements. The harmonization process integrates these new requirements while still ensuring data elements exist only once in the model. There are two types of harmonization, between domains and between NIEM core and domains.

Harmonization review process

Each domain has its own process for updating its data model, depending on the domain’s business needs and resources available.

For harmonization between NIEM core and domains, every new business requirement that's identified follows a review process, as follows:

Issue is identified and an initial assessment is conducted by the NIEM lead developers or self-identified by the domain(s).

Issue is reviewed by the NBAC and is assigned to a team consisting of NBAC members with knowledge, expertise, and/or vested interest in resolving the issue.

The NBAC team works to resolve the issue and provides a recommended solution.

The NBAC reviews the recommended solution and accepts, rejects, or defers it for more information, which the team then supports.

When the solution is accepted, NIEM lead developers will include it in the next release (major or minor).

Harmonization is an important activity and is part of the NIEM release cycle for that helps keeps the model easy for developers and business leaders to navigate and use.