1
0
Files
Rihards 35accde959 Nolikumi-as-Code 0.2.0: atsauces uz tiesību aktiem (Cite)
Katrs nolikuma punkts saņem Cite katram tiesību aktam, uz kuru likumi.lv lapā ir saite punkta tekstā,
un „Izdoti saskaņā ar …” — atsauces pēc LegalBasis. Grozījumu norādes un paššaites netiek iekļautas.
363 atsauces 94 nolikumos (301 likumi, 61 MK noteikumi, 1 rīkojums). Shēma paplašināta saderīgi,
datu līgumā objekts Cite → cac_bronze.nol_cite. tools/cites.py. validate: 0 kļūdu.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016igpMJBtapmG6vHE4vSF9q
2026-10-24 08:43:46 +00:00

100 lines
6.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}
- name: Cite
logicalType: object
physicalType: xml-element
physicalName: "//Cite"
description: Atsauce uz tiesību aktu, kas likumi.lv lapā ir saite punkta tekstā (vai „Izdoti saskaņā ar …”).
customProperties: [{property: lakehouseTable, value: cac_bronze.nol_cite}]
properties:
- {name: statute_id, logicalType: string, required: true}
- {name: point_id, logicalType: string, required: false, description: "Punkts; tukšs — atsauce izdošanas pamatā"}
- {name: likumi_id, logicalType: integer, required: true, physicalName: "@likumiId"}
- {name: act_type, logicalType: string, required: false, physicalName: "@type"}
- {name: act_title, logicalType: string, required: false, physicalName: "@title"}
- {name: act_status, logicalType: string, required: false, physicalName: "@status"}
- {name: article, logicalType: string, required: false, physicalName: "@article"}
- {name: text, logicalType: string, required: true, description: Saites teksts, kā drukāts}
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}