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:
139
contracts/B06-attistibas-planosanas-dokumenti.odcs.yaml
Normal file
139
contracts/B06-attistibas-planosanas-dokumenti.odcs.yaml
Normal 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}
|
||||
Reference in New Issue
Block a user