Jurisdiction
A geographic and administrative jurisdiction (federal, state, county, etc.) that scopes a program.
JurisdictionBase
Section titled “JurisdictionBase”A geographic or administrative unit within which a program operates. Multiple standards (ISO 3166-2, U.S. Census FIPS, U.S. Census GEOID) may be valid identifiers for the same jurisdiction; `identifiers.otherIds` carries those cross-system codes.
| Property | Type | Required | Description |
|---|---|---|---|
id | uuid | Yes | The jurisdiction's unique identifier. |
name | string | Yes | Human-readable display name. |
level | JurisdictionLevel | Yes | The level of this jurisdiction (country, state, etc.). |
identifiers | Identifiers | Yes | System and cross-system identifiers for this jurisdiction. |
parent | JurisdictionRef | No | The parent jurisdiction, if any. Null for country-level jurisdictions. |
{ "id": "30a12e5e-5940-4c08-921c-17a8960fcf4b", "name": "Colorado", "level": { "value": "state", "description": "" }, "identifiers": { "systemId": "30a12e5e-5940-4c08-921c-17a8960fcf4b", "otherIds": { "iso_3166_2": { "registry": "iso_3166_2", "value": "US-CO", "description": "ISO 3166-2 subdivision code" }, "us_census_fips": { "registry": "us_census_fips", "value": "08", "description": "U.S. Census 2-digit state FIPS code" } } }, "parent": { "id": "40a12e5e-5940-4c08-921c-17a8960fcf4b", "name": "United States" }}$schema: https://json-schema.org/draft/2020-12/schema$id: JurisdictionBase.yamltype: objectproperties: id: $ref: uuid.yaml description: The jurisdiction's unique identifier. name: type: string description: Human-readable display name. level: $ref: JurisdictionLevel.yaml description: The level of this jurisdiction (country, state, etc.). identifiers: $ref: Identifiers.yaml description: System and cross-system identifiers for this jurisdiction. parent: $ref: JurisdictionRef.yaml description: The parent jurisdiction, if any. Null for country-level jurisdictions.required: - id - name - level - identifiersexamples: - id: 30a12e5e-5940-4c08-921c-17a8960fcf4b name: Colorado level: value: state description: "" identifiers: systemId: 30a12e5e-5940-4c08-921c-17a8960fcf4b otherIds: iso_3166_2: registry: iso_3166_2 value: US-CO description: ISO 3166-2 subdivision code us_census_fips: registry: us_census_fips value: "08" description: U.S. Census 2-digit state FIPS code parent: id: 40a12e5e-5940-4c08-921c-17a8960fcf4b name: United Statesdescription: |- A geographic or administrative unit within which a program operates.
Multiple standards (ISO 3166-2, U.S. Census FIPS, U.S. Census GEOID) may be valid identifiers for the same jurisdiction; `identifiers.otherIds` carries those cross-system codes./** A geographic or administrative unit within which a program operates. * * Multiple standards (ISO 3166-2, U.S. Census FIPS, U.S. Census GEOID) may * be valid identifiers for the same jurisdiction; `identifiers.otherIds` * carries those cross-system codes. */@example(Examples.Jurisdiction.colorado)@Versioning.added(Versions.v0_1)model JurisdictionBase { /** The jurisdiction's unique identifier. */ id: Types.uuid;
/** Human-readable display name. */ name: string;
/** The level of this jurisdiction (country, state, etc.). */ level: JurisdictionLevel;
/** System and cross-system identifiers for this jurisdiction. */ identifiers: Fields.Identifiers;
/** The parent jurisdiction, if any. Null for country-level jurisdictions. */ parent?: JurisdictionRef;}JurisdictionLevel
Section titled “JurisdictionLevel”The level of a jurisdiction, modeled as an extensible enum so implementations can supply custom levels via the `description` field.
| Property | Type | Required | Description |
|---|---|---|---|
value | JurisdictionLevelOptions | Yes | The selected value, typed to `T`. |
customValue | string | No | Caller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`). |
description | string | No | Human-readable description or annotation for the value. |
{ "value": "country", "customValue": "string", "description": "string"}$schema: https://json-schema.org/draft/2020-12/schema$id: JurisdictionLevel.yamltype: objectproperties: value: $ref: JurisdictionLevelOptions.yaml description: The selected value, typed to `T`. customValue: type: string description: |- Caller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`). description: type: string description: Human-readable description or annotation for the value.required: - valuedescription: |- The level of a jurisdiction, modeled as an extensible enum so implementations can supply custom levels via the `description` field./** The level of a jurisdiction, modeled as an extensible enum so * implementations can supply custom levels via the `description` field. */@Versioning.added(Versions.v0_1)model JurisdictionLevel is Fields.ExtensibleEnumT<JurisdictionLevelOptions>;
// #########################################################// JurisdictionRef// #########################################################
/** A denormalized reference to a jurisdiction. Carries enough information * to display without a separate lookup. Used for parent references and * embedded jurisdiction references on other models. */@Versioning.added(Versions.v0_1)model JurisdictionRef { /** The jurisdiction's unique identifier. */ id: Types.uuid;
/** Human-readable display name. */ name: string;}JurisdictionLevelOptions
Section titled “JurisdictionLevelOptions”Predefined set of jurisdiction levels.
| Value | Description |
|---|---|
country | A nation-state. |
state | A first-level subdivision of a country (e.g., U.S. state, Canadian province). |
county | A second-level subdivision (e.g., U.S. county). |
municipal | A city, town, or other municipality. |
tribal | A tribal nation or tribal area. |
custom | A caller-defined jurisdiction level. |
"country"$schema: https://json-schema.org/draft/2020-12/schema$id: JurisdictionLevelOptions.yamltype: stringenum: - country - state - county - municipal - tribal - customdescription: |- Predefined set of jurisdiction levels.
- `country`: A nation-state. - `state`: A first-level subdivision of a country (e.g., U.S. state, Canadian province). - `county`: A second-level subdivision (e.g., U.S. county). - `municipal`: A city, town, or other municipality. - `tribal`: A tribal nation or tribal area. - `custom`: A caller-defined jurisdiction level./** Predefined set of jurisdiction levels. * * - `country`: A nation-state. * - `state`: A first-level subdivision of a country (e.g., U.S. state, Canadian province). * - `county`: A second-level subdivision (e.g., U.S. county). * - `municipal`: A city, town, or other municipality. * - `tribal`: A tribal nation or tribal area. * - `custom`: A caller-defined jurisdiction level. */@Versioning.added(Versions.v0_1)enum JurisdictionLevelOptions { country, state, county, municipal, tribal, custom,}JurisdictionRef
Section titled “JurisdictionRef”A denormalized reference to a jurisdiction. Carries enough information to display without a separate lookup. Used for parent references and embedded jurisdiction references on other models.
| Property | Type | Required | Description |
|---|---|---|---|
id | uuid | Yes | The jurisdiction's unique identifier. |
name | string | Yes | Human-readable display name. |
{ "id": "30a12e5e-5940-4c08-921c-17a8960fcf4b", "name": "string"}$schema: https://json-schema.org/draft/2020-12/schema$id: JurisdictionRef.yamltype: objectproperties: id: $ref: uuid.yaml description: The jurisdiction's unique identifier. name: type: string description: Human-readable display name.required: - id - namedescription: |- A denormalized reference to a jurisdiction. Carries enough information to display without a separate lookup. Used for parent references and embedded jurisdiction references on other models./** A denormalized reference to a jurisdiction. Carries enough information * to display without a separate lookup. Used for parent references and * embedded jurisdiction references on other models. */@Versioning.added(Versions.v0_1)model JurisdictionRef { /** The jurisdiction's unique identifier. */ id: Types.uuid;
/** Human-readable display name. */ name: string;}