1
0
Files
Nolikumi-as-Code/contracts/B05-iestazu-nolikumi.odcs.yaml
Rihards Gailums 0c5116a2c6 Nolikumi-as-Code 0.1.0: 93 iestāžu nolikumi kā teksts un XML
Shēma nolikums-0.1, katalogs nolikumi.yaml, datu līgums B05. Teksts —
likumi.lv konsolidētās redakcijas 2026-10-11 (sources/), dati (data/),
datnes nosaukums <VPK ID>-<saīsinājums>. Pārbaude: 0 kļūdas; 92/93 teksti
sakrīt ar likumi.lv lapu, 19-0458 — 2 cipari informatīvajā atsaucē.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
2026-10-11 16:42:50 +00:00

85 lines
5.2 KiB
YAML

# ODCS v3 datu līgums: B05 Iestāžu nolikumi (nolikumi kā kods)
# Shēma: schemas/nolikums-0.1.xsd. Šī līguma schema daļa apraksta to, ko VDZP ielādē; pilnā struktūra ir XSD.
apiVersion: v3.0.2
kind: DataContract
id: urn:pppa:cac:contract:B05
name: Iestāžu nolikumi (nolikumi kā kods)
version: 0.1.0
status: active
domain: Valsts PirmKods
dataProduct: Iestāžu nolikumi
tenant: PPP Asociācija (PPPA)
description:
purpose: >-
Valsts pārvaldes iestāžu nolikumi (MK noteikumi, Valsts pārvaldes iekārtas likuma 16. pants) kā dati: tiesību akta pase,
nodaļas, punkti un apakšpunkti ar veidu — funkcija, uzdevums, tiesības, ievadteikums, cits noteikums, svītrots.
Iestāde — VPK ID no Valsts institūciju reģistra.
usage: Mašīnlasāma datu apmaiņa; ielāde VDZP katru dienu; AI aģentu vaicājumi caur MCP.
limitations: >-
Koncepcijas demonstrācija, nav oficiāls izdevums. Teksts — likumi.lv konsolidētā redakcija ielādes dienā; juridiski saistošs
ir „Latvijas Vēstnesī” publicētais. Punktu un nodaļu veids noteikts automātiski pēc ievadteikuma un nosaukuma.
Izmaiņas nolikumos ievieto manuāli.
servers:
- server: processgit
type: custom
format: xml
description: ProcessGit repozitorijs (Gitea API v1)
customProperties:
- {property: url, value: "https://processgit.org/Valsts-Pirmkods/Nolikumi-as-Code"}
- {property: ref, value: main}
- {property: catalogue, value: nolikumi.yaml}
- {property: path, value: "data/*.xml"}
- {property: schema, value: "https://processgit.org/Valsts-Pirmkods/Nolikumi-as-Code/src/branch/main/schemas/nolikums-0.1.xsd"}
schema:
- name: InstitutionStatute
logicalType: object
physicalType: xml-element
physicalName: "/InstitutionStatute"
customProperties: [{property: lakehouseTable, value: cac_bronze.nol_statute}]
properties:
- {name: statute_id, logicalType: string, required: true, primaryKey: true, physicalName: "@id", description: "lv-nol-<VPK ID>"}
- {name: vpk_id, logicalType: string, required: true, physicalName: Institution/@org, logicalTypeOptions: {pattern: "^[0-9]{2}-[0-9]{4}$"}}
- {name: title, logicalType: string, required: true, physicalName: Act/Title}
- {name: number, logicalType: string, required: true, physicalName: Act/Number}
- {name: adopted, logicalType: date, required: true, physicalName: Act/Adopted}
- {name: in_force, logicalType: date, required: true, physicalName: Act/InForce}
- {name: status, logicalType: string, required: true, physicalName: Act/Status}
- {name: likumi_id, logicalType: integer, required: true, physicalName: Act/LikumiId}
- {name: source_sha256, logicalType: string, required: true, physicalName: Source/SHA256}
- name: Point
logicalType: object
physicalType: xml-element
physicalName: "//Point"
customProperties: [{property: lakehouseTable, value: cac_bronze.nol_point}]
properties:
- {name: point_id, logicalType: string, required: true, primaryKey: true, physicalName: "@id", description: "lv-nol-12-0039.p4.1"}
- {name: statute_id, logicalType: string, required: true}
- {name: n, logicalType: string, required: true, description: Drukātais numurs}
- {name: parent_id, logicalType: string, required: false}
- {name: chapter_kind, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [general, competence, management, legality, subordinates, final, other, none]}]}
- {name: chapter, logicalType: string, required: false}
- {name: kind, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [lead, function, task, right, provision, deleted]}]}
- {name: text, logicalType: string, required: true}
- {name: notes, logicalType: string, required: false}
quality:
- {name: xsd_valid, type: custom, engine: xsd, implementation: schemas/nolikums-0.1.xsd,
description: "Datne atbilst XSD shēmai (identifikatori unikāli)", dimension: conformity}
- {name: source_text_matches, type: custom, engine: cac-lakehouse, implementation: "app.cac_nolikumi:source_text_matches",
description: "Teksta datnes sha256 sakrīt ar XML, un katrs XML punkts ir teksta datnē", dimension: accuracy}
- {name: institution_has_vpk_id, type: custom, engine: cac-lakehouse, implementation: "app.cac_nolikumi:vpk_in_register",
description: "Iestādes VPK ID ir Valsts institūciju reģistrā (B01) un datnes nosaukums sākas ar to", dimension: consistency}
- {name: has_competence_chapter, type: custom, engine: cac-lakehouse, implementation: "app.cac_nolikumi:has_competence",
description: "Nolikumā ir nodaļa par funkcijām, uzdevumiem un tiesībām", dimension: completeness}
slaProperties:
- {property: frequency, value: 1, unit: d, element: "pull ingest katru dienu 06:30 Rīgas laikā"}
- {property: retention, value: "visas versijas (git vēsture)"}
team:
- {role: owner, name: "Ministru kabinets (nolikumi); par katru nolikumu — iestādes ministrija"}
- {role: data steward, name: PPP Asociācija (PPPA)}
support:
- {channel: issues, url: "https://processgit.org/Valsts-Pirmkods/Nolikumi-as-Code/issues"}
customProperties:
- {property: sourceId, value: B05}
- {property: identifiers, value: "nolikums lv-nol-<VPK ID>; punkts lv-nol-<VPK ID>.p<numurs>"}
- {property: validator, value: tools/validate.py}