# FDK-Registrs-as-Code — Funkciju, darbu un kompetenču reģistrs PPPA koncepcijas „Valsts PirmKods” (Country-as-Code) demonstrācija. Nav oficiāls valsts reģistrs. Valsts pārvaldes iekārtas likuma 16. panta otrās daļas 3. punkts nosaka, ka tiešās pārvaldes iestādes nolikumā norāda **iestādes funkcijas, uzdevumus un kompetenci**. Šis reģistrs katru no tiem pārvērš strukturētos datos: | Kopa | Ieraksts | Avots nolikumā | |---|---|---| | Funkcijas | `F--NNN` | „Iestādei ir šādas funkcijas: …” | | Darbi (uzdevumi) | `D--NNN` | „Lai nodrošinātu funkciju izpildi, iestāde veic šādus uzdevumus: …” | | Kompetence | `K--NNN`, veids `darbība` vai `tiesības` | „Iestāde: …”, „Iestādei ir tiesības: …” | Katram ierakstam: pastāvīgs `id`, iestādes VPK ID un nosaukums, `avots` — nolikuma punkts ProcessGit [Nolikumi-as-Code](../Nolikumi-as-Code), nolikums un redakcijas datums, `statuss` un **formulējums** — pilns, patstāvīgs teikums (ievadteksts + punkts). Nolikuma teksts netiek kopēts: to vienmēr var nolasīt pēc `avots`. ## Struktūra ``` iestades//funkcijas.xml, darbi.xml, kompetence.xml ← katras iestādes kopas (pamatdati) registrs/funkcijas.xml, darbi.xml, kompetence.xml ← visu iestāžu apvienojums (ģenerēts) schemas/registrs-0.1.xsd ← viena shēma visiem sešiem failu veidiem contracts/B22-fdk-registrs.odcs.yaml ← datu līgums (ODCS v3) VDZP ielādei sources/iestades.csv ← iestāžu nosaukumi sources/ids.csv ← avots → id (ID nemainās, ja nolikumu groza) sources/formulejumi.csv ← gramatiski saskaņoti formulējumi (aizstāj auto) tools/build.py, tools/validate.py ``` ## Statuss * `auto` — mehānisks savienojums: ievadteksts + punkts (piemēram, „izstrādāt politiku šādās jomās: dabas aizsardzība”). * `ai_proposed` — MI saskaņots formulējums no `sources/formulejumi.csv` (piemēram, „izstrādāt politiku dabas aizsardzības jomā”). * `confirmed` / `rejected` — cilvēka pārskats. ## Būvēšana ``` python3 tools/build.py --nolikumi ../Nolikumi-as-Code python3 tools/validate.py --nolikumi ../Nolikumi-as-Code ``` Saites starp darbiem un funkcijām šajā versijā netiek veidotas — tās būs atsevišķa kopa.