1
0

NAP2027 kā dati: shēma strategija-0.1, lv-nap2027, datu līgums B06

475 numurētie punkti (mērķi, 131 indikators, 124 uzdevumi ar VPK ID,
telpiskās attīstības virzieni), 154 pamatojuma ieraksti, 34 zemsvītras
piezīmes. Pārbaude pret avota PDF ar citu nolasītāju — izturēta.
Katalogs planosanas-dokumenti.yaml, rīki parse/build/verify/validate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
This commit is contained in:
2026-10-11 12:47:18 +00:00
parent 0f3edd5123
commit bcdd26b8d9
12 changed files with 8242 additions and 1 deletions

View File

@@ -0,0 +1,139 @@
# ODCS v3 datu līgums: B06 Attīstības plānošanas dokumenti (stratēģija kā kods)
# Shēma: schemas/strategija-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:B06
name: Attīstības plānošanas dokumenti (stratēģija kā kods)
version: 0.1.0
status: active
domain: Valsts PirmKods
dataProduct: Attīstības plānošanas dokumenti
tenant: PPP Asociācija (PPPA)
description:
purpose: >-
Apstiprināti attīstības plānošanas dokumenti kā dati — pirmais ir Nacionālais attīstības plāns 2021.–2027. gadam (lv-nap2027):
prioritātes, rīcības virzieni, mērķi, indikatori ar bāzes un mērķa vērtībām, uzdevumi ar atbildīgajām un līdzatbildīgajām
institūcijām (VPK ID), finansējuma avoti, indikatīvais finansējums, telpiskās attīstības virzieni un pamatojuma avoti.
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. Juridiski saistošs ir apstiprinātais dokuments (avota PDF ar sha256).
Teksts un vērtības — kā drukāti; datnes atbilstība avotam pārbaudīta ar citu PDF nolasītāju (verification/<id>.verify.json).
Institūciju sasaiste ar VPK ID: drukātais apzīmējums saglabāts; pārdēvētām un likvidētām institūcijām — reģistra ID ar pēcteci;
pieņēmumi atzīmēti (match = assumed).
servers:
- server: processgit
type: custom
format: xml
description: ProcessGit repozitorijs (Gitea API v1)
customProperties:
- {property: url, value: "https://processgit.org/Valsts-Pirmkods/Strategy-as-Code"}
- {property: ref, value: main}
- {property: catalogue, value: planosanas-dokumenti.yaml}
- {property: path, value: "data/*/lv-*.xml"}
- {property: schema, value: "https://processgit.org/Valsts-Pirmkods/Strategy-as-Code/src/branch/main/schemas/strategija-0.1.xsd"}
schema:
- name: PlanningDocument
logicalType: object
physicalType: xml-element
physicalName: "/PlanningDocument"
customProperties: [{property: lakehouseTable, value: cac_bronze.sac_document}]
properties:
- {name: doc_id, logicalType: string, required: true, primaryKey: true, physicalName: "@id"}
- {name: title, logicalType: string, required: true, physicalName: Metadata/Title}
- {name: document_type, logicalType: string, required: true, physicalName: Metadata/DocumentType}
- {name: period_from, logicalType: integer, required: true}
- {name: period_to, logicalType: integer, required: true}
- {name: approved, logicalType: date, required: true, physicalName: Metadata/Approval/Date}
- {name: source_sha256, logicalType: string, required: true, physicalName: Metadata/Source/SHA256}
- name: Section
logicalType: object
physicalType: xml-element
physicalName: "//Section"
customProperties: [{property: lakehouseTable, value: cac_bronze.sac_section}]
properties:
- {name: section_id, logicalType: string, required: true, primaryKey: true, physicalName: "@id", description: "lv-nap2027.pr1, lv-nap2027.pr1.rv1"}
- {name: kind, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [introduction, vision, framework, strategicGoals, priority, actionLine, theme, spatial, implementation]}]}
- {name: parent_id, logicalType: string, required: false}
- {name: title, logicalType: string, required: true}
- {name: funding_million_eur, logicalType: number, required: false, physicalName: IndicativeFunding/@millionEur}
- name: Item
logicalType: object
physicalType: xml-element
physicalName: "//Item"
customProperties: [{property: lakehouseTable, value: cac_bronze.sac_item}]
properties:
- {name: item_id, logicalType: string, required: true, primaryKey: true, physicalName: "@id", description: "lv-nap2027.i068"}
- {name: n, logicalType: integer, required: true, description: Drukātais punkta numurs}
- {name: kind, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [text, strategicGoal, priorityGoal, actionLineGoal, indicator, task, spatialDirection]}]}
- {name: section_id, logicalType: string, required: true}
- {name: text, logicalType: string, required: true, description: "Text; indikatoram — Name; uzdevumam — Task/Text"}
- {name: unit, logicalType: string, required: false}
- {name: base_year, logicalType: string, required: false, description: kā drukāts}
- {name: base_value, logicalType: string, required: false, description: kā drukāts}
- {name: target_2024, logicalType: string, required: false}
- {name: target_2027, logicalType: string, required: false}
- {name: data_source, logicalType: string, required: false}
- name: TaskActor
logicalType: object
physicalType: xml-element
physicalName: "//Task/Responsible/Actor | //Task/CoResponsible/Actor"
customProperties: [{property: lakehouseTable, value: cac_bronze.sac_task_actor}]
properties:
- {name: item_id, logicalType: string, required: true}
- {name: role, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [responsible, co-responsible]}]}
- {name: label, logicalType: string, required: true, description: Drukātais apzīmējums}
- {name: vpk_id, logicalType: string, required: false, logicalTypeOptions: {pattern: "^[0-9]{2}-[0-9]{4}$"}}
- {name: match, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [direct, renamed, historical, group, assumed, none]}]}
- name: TaskIndicator
logicalType: object
physicalType: xml-element
physicalName: "//Task/TaskIndicator"
customProperties: [{property: lakehouseTable, value: cac_bronze.sac_task_indicator}]
properties:
- {name: item_id, logicalType: string, required: true}
- {name: name, logicalType: string, required: true}
- {name: indicator_id, logicalType: string, required: false, description: "Dokumenta mērķa indikators (IndicatorRef/@ref)"}
- {name: match, logicalType: string, required: false}
- name: TaskFunding
logicalType: object
physicalType: xml-element
physicalName: "//Task/Funding/Source"
customProperties: [{property: lakehouseTable, value: cac_bronze.sac_task_funding}]
properties:
- {name: item_id, logicalType: string, required: true}
- {name: code, logicalType: string, required: true}
- {name: label, logicalType: string, required: true}
- name: Evidence
logicalType: object
physicalType: xml-element
physicalName: "//Annex/Evidence"
customProperties: [{property: lakehouseTable, value: cac_bronze.sac_evidence}]
properties:
- {name: evidence_id, logicalType: string, required: true, primaryKey: true}
- {name: n, logicalType: integer, required: false}
- {name: section_id, logicalType: string, required: true}
- {name: problem, logicalType: string, required: false}
- {name: text, logicalType: string, required: true}
- {name: urls, logicalType: array, required: false}
quality:
- {name: xsd_valid, type: custom, engine: xsd, implementation: schemas/strategija-0.1.xsd,
description: "Datne atbilst XSD shēmai (arī atslēgas: punktu numuri unikāli, atsauces uz indikatoriem, institūcijām, finansējuma avotiem un piezīmēm atrisinās)", dimension: conformity}
- {name: filename_is_id, type: custom, engine: cac-lakehouse, implementation: "app.cac_strategy:filename_is_id", description: "Datnes nosaukums = dokumenta ID", dimension: consistency}
- {name: verified_against_source, type: custom, engine: cac-lakehouse, implementation: "app.cac_strategy:verified",
description: "Pārbaudes atskaite (verification/<id>.verify.json) ir par to pašu avota PDF un izturēta: visi numurētie punkti, teksts burtiski, tabulu vārdi", dimension: accuracy}
- {name: task_has_responsible_vpk_id, type: custom, engine: cac-lakehouse, implementation: "app.cac_strategy:task_resp",
description: "Katram uzdevumam ir atbildīgā institūcija ar VPK ID", dimension: completeness}
- {name: vpk_id_in_register, type: custom, engine: cac-lakehouse, implementation: "app.cac_strategy:vpk_in_register",
description: "Katrs dokumentā lietotais VPK ID ir Valsts institūciju reģistrā (B01)", dimension: consistency}
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: "Dokumenta apstiprinātājs (NAP2027 — Saeima); izstrādātājs — Pārresoru koordinācijas centrs, tagad Valsts kanceleja"}
- {role: data steward, name: PPP Asociācija (PPPA)}
support:
- {channel: issues, url: "https://processgit.org/Valsts-Pirmkods/Strategy-as-Code/issues"}
customProperties:
- {property: sourceId, value: B06}
- {property: identifiers, value: "dokuments lv-nap2027; nodaļa lv-nap2027.pr1.rv1; punkts lv-nap2027.i068; pamatojums lv-nap2027.a001"}
- {property: validator, value: tools/validate.py}