- schemas/valsts-budzeta-izpilde-0.1.xsd - contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml (Valsts kases CSV) - contracts/B03-valsts-budzeta-izpilde.odcs.yaml (ģenerēts no XSD) - mappings/B03-izpilde.yaml, docs/IZPILDE.md; CHANGELOG 0.2.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
107 lines
9.3 KiB
YAML
107 lines
9.3 KiB
YAML
# ODCS v3 datu līgums: B03 Valsts budžeta izpilde — AVOTS (Valsts kases CSV, kā publicēts data.gov.lv).
|
|
# Apraksta, ko VDE sagaida no Valsts kases datnes. Ja Valsts kase maina kolonnas vai kodus, ielāde to konstatē un reģistrē kā kļūdu.
|
|
# Mērķa (pārveidotās) datu kopas līgums: contracts/B03-valsts-budzeta-izpilde.odcs.yaml. Pārveidošana: mappings/B03-izpilde.yaml.
|
|
apiVersion: v3.0.2
|
|
kind: DataContract
|
|
id: urn:pppa:cac:contract:B03-source
|
|
name: Valsts budžeta izpilde — Valsts kases avota datne
|
|
version: 0.1.0
|
|
status: active
|
|
domain: Valsts kā kods (Country as Code)
|
|
dataProduct: Valsts budžeta izpilde
|
|
tenant: PPP Asociācija (PPPA)
|
|
description:
|
|
purpose: >-
|
|
Nekonsolidēta valsts pamatbudžeta un valsts speciālā budžeta izpilde pa mēnešiem sadalījumā pa iestādēm, gadskārtējā valsts
|
|
budžeta likumā apstiprinātām programmām un apakšprogrammām un ieņēmumu, izdevumu ekonomiskās un finansēšanas klasifikāciju
|
|
kodiem, atbilstoši Valsts kases valsts budžeta informācijas sistēmā reģistrētajiem datiem.
|
|
usage: Avots datu kopai B03 VDE. Datne tiek lejupielādēta, pārbaudīta pret šo līgumu un pārveidota pēc mappings/B03-izpilde.yaml.
|
|
limitations: >-
|
|
Summas ir mēneša apjoms (nevis uzkrājums). Datnē nav apstiprinātā plāna un gada laikā precizētā plāna — tikai izpilde.
|
|
Valsts pamatbudžeta nodokļu ieņēmumi datnē nav (ir iestāžu līmeņa resursi). Kārtējā gada datne tiek aizstāta katru mēnesi;
|
|
iepriekšējā gada datne pēc gada slēgšanas var tikt precizēta.
|
|
servers:
|
|
- server: data.gov.lv
|
|
type: custom
|
|
format: csv
|
|
description: Latvijas Atvērto datu portāls (CKAN), datu kopa ar vienu CSV datni katram gadam
|
|
customProperties:
|
|
- {property: dataset, value: "https://data.gov.lv/dati/lv/dataset/valsts-budzeta-izpilde-pa-iestadem-budzeta-programmam-apaksprogrammam-un-klasifikacijas-kodiem"}
|
|
- {property: api, value: "https://data.gov.lv/dati/api/3/action/package_show?id=valsts-budzeta-izpilde-pa-iestadem-budzeta-programmam-apaksprogrammam-un-klasifikacijas-kodiem"}
|
|
- {property: filePattern, value: "adkopai_(\\d{4})\\.csv$"}
|
|
- {property: encoding, value: utf-8-sig}
|
|
- {property: delimiter, value: ","}
|
|
- {property: quote, value: "\""}
|
|
- {property: decimalSeparator, value: "."}
|
|
schema:
|
|
- name: izpilde
|
|
logicalType: object
|
|
physicalType: csv-file
|
|
physicalName: "vb_izpilde_pa_iestadem_budzeta_progr_apakspr_adkopai_<GGGG>.csv"
|
|
description: Viena rinda = viena summa par mēnesi vienā griezumā. Kolonnu secība ir fiksēta; virsrakstu rinda ir obligāta.
|
|
customProperties:
|
|
- {property: lakehouseTable, value: cac_bronze.vk_budget_execution}
|
|
properties:
|
|
- {name: gads, physicalName: Gads, logicalType: integer, required: true, description: Budžeta gads; sakrīt ar gadu datnes nosaukumā}
|
|
- {name: menesis, physicalName: Menesis_Atslega, logicalType: integer, required: true, description: "Mēnesis 1–12", logicalTypeOptions: {minimum: 1, maximum: 12}}
|
|
- {name: menesis_nosaukums, physicalName: Menesis_nosaukums, logicalType: string, required: true}
|
|
- {name: ministrija_kods, physicalName: Ministrija_Atslega, logicalType: string, required: true, description: Budžeta resora kods (2 cipari), logicalTypeOptions: {pattern: "[0-9]{2}"}}
|
|
- {name: ministrija, physicalName: Ministrija_nosaukums, logicalType: string, required: true}
|
|
- {name: resora_veids, physicalName: Resora_veids, logicalType: string, required: true}
|
|
- {name: iestade_kods, physicalName: Iestade_Atslega, logicalType: string, required: true, description: Iestādes kods Valsts kases sistēmā}
|
|
- {name: iestade, physicalName: Iestade_nosaukums, logicalType: string, required: true}
|
|
- {name: nmr, physicalName: Iestades_NMR, logicalType: string, required: true, description: Iestādes reģistrācijas numurs, logicalTypeOptions: {pattern: "[0-9]{11}"}}
|
|
- {name: budzeta_tips_kods, physicalName: Budzeta_tips_Atslega, logicalType: string, required: true,
|
|
quality: [{type: library, rule: validValues, validValues: ["P", "S", "6", "7"]}]}
|
|
- {name: budzeta_tips, physicalName: Budzeta_tips_nosaukums, logicalType: string, required: true}
|
|
- {name: programma_kods, physicalName: Programma_Atslega, logicalType: string, required: true, logicalTypeOptions: {pattern: "[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}"}}
|
|
- {name: programma, physicalName: Programma_nosaukums, logicalType: string, required: true}
|
|
- {name: apaksprogramma_kods, physicalName: Apaksprogramma_Atslega, logicalType: string, required: true, logicalTypeOptions: {pattern: "[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}"}}
|
|
- {name: apaksprogramma, physicalName: Apaksprogramma_nosaukums, logicalType: string, required: true}
|
|
- {name: budzeta_bloks, physicalName: Buzeta_bloks, logicalType: string, required: false, description: "Kolonnas nosaukumā avotā ir drukas kļūda (Buzeta)",
|
|
quality: [{type: library, rule: validValues, validValues: ["Pamatfunkcijas", "Ārvalstu finanšu palīdzība"]}]}
|
|
- {name: funkcija_l1_kods, physicalName: Funkcija_augstakais_limenis_Atslega, logicalType: string, required: false}
|
|
- {name: funkcija_l1, physicalName: Funkcija_augstakais_limenis_Nosaukums, logicalType: string, required: false}
|
|
- {name: funkcija_kods, physicalName: Funkcija_zemakaja_limeni_Atslega, logicalType: string, required: false, logicalTypeOptions: {pattern: "[0-9]{2}\\.[0-9]{3}"}}
|
|
- {name: funkcija, physicalName: Funkcija_zemakaja_limeni_nosaukums, logicalType: string, required: false}
|
|
- {name: saistibu_veids_kods, physicalName: Saistibu_veids_Atslega, logicalType: string, required: false}
|
|
- {name: saistibu_veids, physicalName: Saistibu_veids_nosaukums, logicalType: string, required: false}
|
|
- {name: projekta_kods, physicalName: Projekta_arejais_kods_Atslega, logicalType: string, required: false}
|
|
- {name: projekts, physicalName: Projekts_nosaukums, logicalType: string, required: false}
|
|
- {name: klasifikacija, physicalName: Klasifikacija, logicalType: string, required: true,
|
|
quality: [{type: library, rule: validValues, validValues: ["Ieņēmumi", "Izdevumi", "Finansēšana"]}]}
|
|
- {name: ekk1, physicalName: Vienotais_EKK_Atslega_1_limenis, logicalType: string, required: false}
|
|
- {name: ekk2, physicalName: Vienotais_EKK_Atslega_2_limenis, logicalType: string, required: false}
|
|
- {name: ekk3, physicalName: Vienotais_EKK_Atslega_3_limenis, logicalType: string, required: false}
|
|
- {name: ekk4, physicalName: Vienotais_EKK_Atslega_4_limenis, logicalType: string, required: false}
|
|
- {name: ekk5, physicalName: Vienotais_EKK_Atslega_5_limenis, logicalType: string, required: false}
|
|
- {name: ekk6, physicalName: Vienotais_EKK_Atslega_6_limenis, logicalType: string, required: false}
|
|
- {name: ekk7, physicalName: Vienotais_EKK_Atslega_7_limenis, logicalType: string, required: true, description: Zemākā līmeņa klasifikācijas kods}
|
|
- {name: ekk7_nosaukums, physicalName: Vienotais_EKK_Nosaukums_7_limenis, logicalType: string, required: false}
|
|
- {name: likuma_griezuma_ekk, physicalName: Likuma_griezuma_EKK, logicalType: string, required: false, description: "Pozīcija likuma pielikumu griezumā: kods un nosaukums, piemēram „1000 Atlīdzība”"}
|
|
- {name: konsolidacija, physicalName: Konsolidacija, logicalType: string, required: true,
|
|
quality: [{type: library, rule: validValues, validValues: ["Visu resoru NETO - bez transfertiem", "+ pamatbudžeta savstarpējie transferti un atmaksas",
|
|
"+ pamatbudžeta/speciālā budžeta savstarpējie transferti", "+ speciālā budžeta savstarpējie transferti"]}]}
|
|
- {name: valuta, physicalName: Datu_valuta, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: ["Euro"]}]}
|
|
- {name: summa, physicalName: Summa, logicalType: number, required: true, description: Summa euro par mēnesi (punkts kā decimālatdalītājs)}
|
|
quality:
|
|
- {name: source_columns_match, type: custom, engine: cac-lakehouse, implementation: "app.cac_execution:source_columns_match",
|
|
description: "Datnes virsrakstu rinda sakrīt ar līgumā noteiktajām kolonnām un to secību", dimension: conformity}
|
|
- {name: source_values_valid, type: custom, engine: cac-lakehouse, implementation: "app.cac_execution:source_values_valid",
|
|
description: "Obligātās kolonnas aizpildītas; vērtības atbilst šablonam vai pieļaujamo vērtību sarakstam; summa ir skaitlis; gads sakrīt ar datni", dimension: validity}
|
|
- {name: source_key_unique, type: custom, engine: cac-lakehouse, implementation: "app.cac_execution:source_key_unique",
|
|
description: "Rindas atslēga (mappings/B03-izpilde.yaml, id.key) ir unikāla", dimension: uniqueness}
|
|
slaProperties:
|
|
- {property: frequency, value: 1, unit: d, element: "pārbaude katru dienu (cron 03:30 UTC); ielāde, ja datne portālā mainījusies"}
|
|
- {property: latency, value: 1, unit: month, element: "Valsts kase publicē iepriekšējā mēneša izpildi mēneša sākumā"}
|
|
team:
|
|
- {role: owner, name: "Valsts kase, Pārskatu departaments"}
|
|
- {role: data steward, name: PPP Asociācija (PPPA)}
|
|
support:
|
|
- {channel: email, url: "mailto:pd@kase.gov.lv", description: Datu turētājs (Valsts kase)}
|
|
- {channel: issues, url: "https://processgit.org/Valsts-Pirmkods/Budget-as-Code/issues", description: Līgums un pārveidošana (PPPA)}
|
|
customProperties:
|
|
- {property: sourceId, value: B03}
|
|
- {property: licence, value: CC0-1.0}
|
|
- {property: years, value: "2024, 2025, 2026"}
|