NIEM 4.0 is a major release, published June 2017.
Download the full release package as a zip file
Use online tools to explore the contents of NIEM 4.0:
Added the Agriculture (ag) domain
The Children, Youth, and Family Service (cyfs) was merged into the Human Services (hs) domain
Added a new
structures:uri attribute to support references within and across documents (Linked Data)
Added support for dynamic code lists that are identified at run-time via the new type
nc:CodeType, as specified by the new NIEM Code Lists specification
Added new components to support the international community
Introduced a default JSON-LD context file to provide namespace URI abbreviations, similar to the use of namespace prefixes in XML
See the NIEM 4.0 readme for a detailed list of changes.
The following are the NIEM specifications that can be used with this release:
The NIEM Naming and Design Rules specifies the data model XML Schema components and XML data for use with the National Information Exchange Model (NIEM). Learn more...
The NIEM Information Exchange Package Documentation (IEPD) Specification specifies normative rules and non-normative guidance for building NIEM information exchange messages. It defines IEPD artifacts like subset schemas, extension schemas, and MPD catalogs; and recommends how the package should be structured. Learn more...
The NIEM Conformance Specification introduces the idea of NIEM conformance and provides a general normative definition for its meaning, how it applies, and to what it does and does not apply. It describes the benefits of conformance, and refers to sources of information, tools, and help. Learn more...
The Code Lists Specification adds support for new capabilities of NIEM code lists beyond the basic enumeration representations provided by XML and JSON schema. Key features include the definition of codes in CSV or Genericode files, dynamic code lists via run-time binding, and multi-column code table support. Learn more...
The Conformance Targets Attribute Specification (CTAS) defines how NIEM XML documents indicate what kind of artifact they are through the use of a conformance targets attribute. Learn more...
The NIEM High-Level Version Architecture (HLVA) Specification identifies the processes, artifacts, and responsibilities required to produce new releases of the NIEM model. It also establishes a regular release cycle for predictable and manageable NIEM updates. Learn more...
Began managing specification in a new NIEM-NDR GitHub repo
Eliminated warning rules that always fired
Simplified RDF representation
Relaxed rules on component naming from MUST to SHOULD
Allowed valid ASCII characters in component names: A-Z a-z 0-9 - _ .
Added support for the use of the Code Lists specification
structures:uri to support Linked Data (referencing data from outside the given message)
Updated version from 3.0 to 4.0, affecting:
Now managing specification on GitHub (https://github.com/NIEM/NIEM-NDR/) for:
NDR Section 2.4.2 - Schematron updates
sch:report) that always fire
role="warning") to warning rules
NDR Section 5 - RDF updates
NDR Section 6 & 8 - XML processing and defaults
NDR Section 10 & 11 - Naming
NDR Section 10 & 11 - Codes
NDR Section 12 - Linked data approach
structures:refin terms of
structures:refhave no properties
term) into the Application Information namespace (
Key features of the specification include:
Code lists may be managed via XML (Genericode) or spreadsheets/databases (CSV)
Code lists may be versioned separately from XML Schema-based vocabularies
Code lists may be identified at run time or at schema assembly time
Allow for more complex code use cases
Removed cli:CodeType from CLI schema. Merged CLI schemas into a single schema that’s conformant to NIEM 3 and NIEM 4.
Changed term “code list instance namespace” to “code lists instance namespace”.
Renamed term “code list schema appinfo namespace” to “code lists schema appinfo namespace”.
Added well-known column “uri”.
The following are statistics for the 4.0 release.
NIEM 4.0 has 14 domains.
The table below breaks down property, type, and code counts by namespace group.
|Group||Property Count||Type Count||Code Count|
The counts in the following table represent the namespaces that make up the “Domain” group in the summary table above.
|NS||Property Count||Type Count||Code Count|
The counts in the following table represent the namespaces that make up the “Code Set” group in the summary table above.
|NS||Property Count||Type Count||Code Count|