Specifications

The NIEM specification provide the rules and guidance for facilitating development and maintaince of consistent and well-defined information exchanges. The set of specifications can be divided into two groups: Processes and Artifacts. In combination, these groups of specifcations define NIEM-conformance, design, and maintaince.

Artifact Specifications

The artifact specifications define the normative rules through which individual artifacts are classified as NIEM-conformant.

An artifact is a NIEM-conformant artifact if and only if it is:

  1. Has a Conformance Target defined within a NIEM specification
  2. Adheres to all normative rules applicable to its Conformance Target
  3. References the namespaces of any NIEM components used within its definition

Code Lists

The NIEM Code Lists Specification was created to enhance the functionality of code lists in NIEM beyond the basic enumerations that XML and JSON schema provide (simple sets of schema-defined code values and definitions).

This specification provides:

  • Additional machine-readable formats for code lists:
    • Spreadsheet CSVs (comma-separated values)
    • Genericode (OASIS) XML formats
  • Design-time or run-time binding of code lists elements to a specific code list file
    • Specify bindings design-time via schema annotations to require designated code lists
    • Specify bindings run-time via instance message attributes to allow for dynamic code lists
  • XML catalog support for resolving code list identifiers (URIs) to actual code lists (CSV or Genericode files) within an IEPD
  • Rules for matching values in messages to values in corresponding code lists. This enables validation and adds multi-column code table support (e.g., linked county and state codes, or linked vehicle make and model codes)

The Code Lists Specification does not replace the existing XML and JSON schema enumerations, which still represent the majority of code lists in NIEM 4.0. This specification is additive, providing additional code list formats and support for new features, like dynamic code lists and linked columns.

more…