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.
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.
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 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.
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.
Get a more detailed overview on the Model Architecture page.
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.
The current release is NIEM version 4.0.
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.
Learn more about core supplements and how to use them.
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.
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.
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.
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:
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.