NIEM 4.0 Release

NIEM 4.0 is a major release, published June 2017.



  • 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:

  • NIEM Naming and Design Rules, version 4.0 [published 2017]

    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...

  • Model Package Description, version 3.0.1 [published 2015]

    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...

  • NIEM JSON Specification, version 4.0 [published 2020]

    The NIEM JSON Specification establishes the technical basis for using JavaScript Object Notation (JSON) as a data format for exchange of information consistent with NIEM-conformant schemas and information exchange package documentations (IEPDs). Learn more...

  • NIEM Conformance Specification, version 3.0 [published 2014]

    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...

  • NIEM Code Lists Specification, version 4.0 [published 2017]

    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...

  • NIEM Conformance Targets Attribute Specification, version 3.0 [published 2014]

    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...

  • NIEM High-Level Version Architecture Specification, version 3.0 [published 2015]

    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...

Specification Updates

Naming and Design Rules (NDR) 4.0

The NIEM Naming and Design Rules (NDR) specification was updated from version 3.0 to version 4.0.

Change highlights:

  • 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

  • Added attribute structures:uri to support Linked Data (referencing data from outside the given message)

Change details include…

Updated version from 3.0 to 4.0, affecting:

  • Namespaces: structures, appinfo, NDR functions namespace
  • Conformance target identifiers: REF, EXT

Now managing specification on GitHub ( for:

  • Revisions/updates/errata: posted to the document repository
  • Comments/issues: posted as GitHub issues

NDR Section 2.4.2 - Schematron updates

  • Eliminated warning rules (sch:report) that always fire
  • Added attribute (role="warning") to warning rules
  • Broke apart overly-large rule on standard opening phrases into smaller rules

NDR Section 5 - RDF updates

  • Simplified RDF representation
    • RDF is much simpler than v3, with direct properties instead of reification
    • Allows for more direct JSON representation via JSON-LD
  • Removed RDF representation for metadata types

NDR Section 6 & 8 - XML processing and defaults

  • Improved discussion of infoset augmentation, fixed, and default
  • Allow use of fixed on attribute uses that are required in an instance

NDR Section 10 & 11 - Naming

  • Relaxed rules on component naming from MUST to SHOULD (USMTF)
  • Allow all valid ASCII characters in component names
    • Allowed: “A”-“Z”, “a”-“z”, “0”-“9”, “-“, “_”, “.”

NDR Section 10 & 11 - Codes

  • Allow code elements and code types to be represented by methods other than enumerations
  • Described as correspondence to a list of conceptual entities
  • Relaxed rules for structure/content of code elements and types
  • Relaxed naming rules for code elements and types

NDR Section 12 - Linked data approach

  • Added attribute structures:uri
  • Defined structures:id and structures:ref in terms of structures:uri (Appendix B)
  • Allow properties of objects to be distributed across multiple objects with the same identifier
    • Removed requirement that elements with structures:ref have no properties
  • Major rewrite to section 12.1, 12.2, addressing data’s meaning, identity, and references


  • Grammar, spelling, and narrative improvements
  • Moved content of the Local Terminology namespace (term) into the Application Information namespace (appinfo)
  • Explicitly allow structures namespace to be subset

NIEM Code Lists 4.0

The NIEM Code Lists specification was updated from its original version 1.0 to version 4.0.

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

Changes include:

  • 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”.

Release Stats

The following are some basic statistics for the 4.0 release.

Details Group Prefix Name Properties Types Codes
Core 1,586 269 185
Core nc NIEM Core 1,586 269 185
Domain 9,486 2,341 8,566
Domain ag Agriculture 64 8
Domain biom Biometrics 1,018 530 1,389
Domain cbrn Chemical, Biological, Radiological, and Nuclear 608 147
Domain em Emergency Management 670 278 629
Domain hs Human Services 684 224 785
Domain im Immigration 457 95 1,388
Domain intel Intelligence 66 17
Domain ip Infrastructure Protection 31 8 3
Domain it International Trade 534 91
Domain j Justice 4,140 496 193
Domain m Maritime 339 47 180
Domain mo Military Operations 213 95 90
Domain scr Screening 599 255 3,731
Domain st Surface Transportation 63 50 178
Adapter 10 16
Adapter edxl-cap EDXL Common Alerting Protocol 1 1
Adapter edxl-de EDXL Distribution Element 1 1
Adapter edxl-have EDXL Hospital Availability Exchange 1 1
Adapter geo Geospatial 7 13
Code Set 5 1,084 65,468
Code Set aamva_d20 Data Dictionary for Traffic Record Systems (ANSI D20) codes 84 732
Code Set ag_codes Agriculture domain codes 62 79
Code Set apco Association of Public-Safety Communications Officials (APCO) codes 8 206
Code Set atf Bureau of Alcohol, Tobacco, and Firearms (ATF) codes 8 98
Code Set can Canada Post codes 2 13
Code Set cbrncl CBRN domain codes 131 2,435
Code Set census US Census Bureau county codes 2 3,235
Code Set cjis FBI Criminal Justice Information System (CJIS) codes 2 24
Code Set commodity Standard Classification of Transported Goods (SCTG) Commodity Codes 8 131
Code Set dea Drug Enforcement Administration (DEA) Controlled Substances codes 6 482
Code Set dod_jcs-pub2.0 DoD Joint Publication 2.0 (JP 2-0) - Joint Intelligence codes 2 11
Code Set dol Standard Occupational Classification (SOC) occupation codes 2 840
Code Set edxl_rm Emergency Data Exchange Language (EDXL) Resource Messaging codes 4 24
Code Set fips_5-2 Federal Information Processing Standards (FIPS) 5-2 US state codes 2 69
Code Set have-codes EDXL Hospital AVailability Exchange (HAVE) codes 24 43
Code Set hazmat DOT Hazardous Materials (HAZMAT) codes 2 2,441
Code Set hl7 Health Level Seven (HL-7) religion codes 2 83
Code Set iso_3166 ISO 3166 country and subdivision codes 8 5,698
Code Set iso_4217 ISO 4217 currency codes 2 182
Code Set iso_639-3 ISO 639-3 language codes 2 8,393
Code Set itcodes International Trade domain codes 44 2,219
Code Set jc3iedm DoD Joint Consultation, Command and Control Information Exchange Data Model (JC3IEDM) codes 2 4 364
Code Set jp3-52 DoD Joint Publication 3-52 (JP3-52) Joint Airspace Control codes 3 5 117
Code Set mmucc Model Minimum Uniform Crash Criteria (MMUCC) codes 146 700
Code Set ncic FBI National Crime and Information Center (NCIC) codes 180 30,317
Code Set ndex FBI National Data Exchange (N-DEx) Specification codes 240 4,288
Code Set nga National Geospatial Agency (NGA) codes 4 50
Code Set nibrs FBI National Incident-Based Reporting System (NIBRS) codes 12 156
Code Set nlets The International Justice and Public Safety Information Sharing Network (NLETS) codes 6 20
Code Set occs OMNI Class Building Codes 6 1,006
Code Set sar Suspicious Activity Reporting (SAR) codes 8 76
Code Set ucr FBI Uniform Crime Reporting (UCR) codes 46 367
Code Set unece United Nations Economic Commission for Europe (UNECE) Recommendation 20 (UN/CEFACT) measure codes 12 151
Code Set usda_fsa United Stated Department of Agriculture (USDA) Farm Service Agency (FSA) codes 4 347
Code Set usps U.S. Postal Service (USPS) codes 2 62
Code Set xCard vCard XML representation codes 2 9
Total 11,087 3,710 74,219