diff --git a/README.md b/README.md index fd996ad..2478d82 100644 --- a/README.md +++ b/README.md @@ -85,3 +85,9 @@ Pārbaudītājs ziņo `E` (kļūda), `W` (brīdinājums), `I` (informācija). Pa - Rīcības plāns ir salīdzināms arī tad, ja ailes atšķiras no pielikuma: `Metadata/Column` sasaista avota aili ar shēmas lauku. - Izpildes gaita ir laika rinda: viens ieraksts katrā pārskata periodā, ar pierādījumu (dokumenta numurs un datums, TA lieta). - Ārējie identifikatori ir saglabāti: TA lietas numurs, publikāciju sistēmas ID, NAP kodi. + +## Datu līgumi (ODCS) + +`contracts/*.odcs.yaml` — datu līgumi pēc Open Data Contract Standard v3, ģenerēti no XSD (shēma līgumā = shēma, pret kuru dati tiek validēti). +Līgumā: objekti un lauki ar tipiem, obligātumu, šabloniem un aprakstiem no XSD; kvalitātes noteikumi; atjaunošanas biežums; turētājs. +Datu ezers (lakehouse.weget.cc, „Valsts kā kods”) katru dienu ielādē datus kopā ar līgumu un pārbauda tos pret līgumu. diff --git a/contracts/B01-organizaciju-registrs.odcs.yaml b/contracts/B01-organizaciju-registrs.odcs.yaml new file mode 100644 index 0000000..517a56b --- /dev/null +++ b/contracts/B01-organizaciju-registrs.odcs.yaml @@ -0,0 +1,199 @@ +# ODCS v3 datu līgums: B01 Valsts kancelejas organizāciju reģistrs (CaC ID) +# Ģenerēts no schemas/organizaciju-registrs-0.2.xsd (tools/xsd_to_odcs.py, lakehouse). Shēmas daļu nelabot ar roku — labot XSD un ģenerēt no jauna. +apiVersion: v3.0.2 +kind: DataContract +id: urn:pppa:cac:contract:B01 +name: Valsts kancelejas organizāciju reģistrs (CaC ID) +version: 0.2.0 +status: active +domain: Valsts kā kods (Country as Code) +dataProduct: Organizāciju reģistrs +tenant: PPP Asociācija (PPPA) +description: + purpose: Vienots, nemainīgs identifikators (CaC ID, SS-IIII) katrai valsts pārvaldes institūcijai, ko lieto visas datu kopas (rīcības plāni, + stratēģijas). Valsts kases kodi mainās katru gadu, CaC ID — nē. + usage: Mašīnlasāma datu apmaiņa; ielāde datu ezerā katru dienu. + limitations: Reģistrs izveidots no VDVC reģistra un Valsts kases 2023. gada saraksta; 12 institūcijām jāpapildina reģistrācijas numurs. +servers: +- server: processgit + type: custom + format: xml + description: ProcessGit repozitorijs (Gitea API v1) + customProperties: + - property: url + value: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code + - property: ref + value: main + - property: path + value: data/organizacijas.xml + - property: schema + value: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code/src/branch/main/schemas/organizaciju-registrs-0.2.xsd +schema: +- name: Sector + logicalType: object + physicalType: xml-element + physicalName: Sector + description: 'Resors (1. līmenis): ministrija vai cita centrālā valsts institūcija ar savu kodu, piemēram 03 Ministru kabinets, 20 Klimata un + enerģētikas ministrija; rezervētie 00, 90–93. Slēgta resora kodu atkārtoti neizmanto.' + properties: + - name: code + logicalType: string + required: true + logicalTypeOptions: + pattern: '[0-9]{2}' + primaryKey: true + unique: true + - name: validTo + logicalType: date + required: false + - name: text() + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + customProperties: + - property: lakehouseTable + value: cac_bronze.vk_org_register +- name: Organization + logicalType: object + physicalType: xml-element + physicalName: Organization + description: '' + properties: + - name: id + logicalType: string + required: true + logicalTypeOptions: + pattern: '[0-9]{2}-[0-9]{4}' + description: SS-IIII; resora kods = pirmie divi cipari; resora vadošā institūcija — SS-0000. + primaryKey: true + unique: true + - name: regNo + logicalType: string + required: false + logicalTypeOptions: + pattern: '[0-9]{11}' + description: Nodokļu maksātāja reģistrācijas numurs, 11 cipari — sasaistei ar VID un Uzņēmumu reģistru. Nav amatam un institūciju grupai. + - name: kind + logicalType: string + required: true + description: ministry = ministrija; pm-institution = Valsts kanceleja; subordinate = padotības iestāde; independent = neatkarīga vai konstitucionāla + institūcija; office = amats (Ministru prezidents); group = institūciju grupa (visas ministrijas); municipality = pašvaldība; company = valsts + kapitālsabiedrība; public-person = atvasināta publiska persona; association = biedrība vai sociālais partneris. + quality: + - type: library + rule: validValues + validValues: + - ministry + - pm-institution + - subordinate + - independent + - office + - group + - municipality + - company + - public-person + - association + - name: parent + logicalType: string + required: false + logicalTypeOptions: + pattern: '[0-9]{2}-[0-9]{4}' + description: Augstākā institūcija (padotības iestādei — ministrija; kapitālsabiedrībai — kapitāla daļu turētājs). + - name: successor + logicalType: string + required: false + logicalTypeOptions: + pattern: '[0-9]{2}-[0-9]{4}' + description: Institūcija, kas turpina darbību ar jaunu identifikatoru (pārcelta uz citu resoru, apvienota). + - name: validFrom + logicalType: date + required: false + - name: validTo + logicalType: date + required: false + - name: Name + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: Abbreviation + logicalType: array + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Saīsinājums vai nosaukums, kā to lieto dokumentos (AizM, VK, VIAA). Ja lietoti vairāki (SM un SAM), norāda visus; pirmais ir + galvenais. + items: + logicalType: string + - name: BudgetCode + logicalType: array + required: false + description: Iestādes kods Valsts kases sarakstā (ePlāni un eTāmes) attiecīgajā gadā — sasaistei ar budžeta datiem. + items: + logicalType: string + - name: BudgetCode@year + logicalType: string + required: false + - name: FormerName + logicalType: array + required: false + items: + logicalType: string + - name: FormerName@until + logicalType: date + required: false + customProperties: + - property: lakehouseTable + value: cac_bronze.vk_org_register + - property: lakehouseTable + value: cac_silver.organization +quality: +- name: xsd_valid + type: custom + engine: xsd + implementation: schemas/organizaciju-registrs-0.2.xsd + description: Datne atbilst XSD shēmai; neatbilstoša datne tiek reģistrēta kā kļūda + dimension: conformity +- name: has_reg_no + type: custom + engine: cac-lakehouse + implementation: app.cac_processgit:has_reg_no + description: Institūcijai norādīts reģistrācijas numurs (11 cipari) + dimension: completeness +- name: parent_exists + type: custom + engine: cac-lakehouse + implementation: app.cac_processgit:parent_exists + description: Augstākā institūcija (parent) ir reģistrā + dimension: consistency +- name: ministry_is_ss_0000 + type: custom + engine: cac-lakehouse + implementation: app.cac_processgit:ministry_is_ss_0000 + description: Resora vadošās institūcijas CaC ID ir SS-0000 + dimension: conformity +slaProperties: +- property: frequency + value: 1 + unit: d + element: pull ingest (cron 03:30 UTC) +- property: retention + value: visas versijas (git vēsture) +team: +- role: owner + name: Valsts kanceleja (reģistra turētājs, 03-0000) +- role: data steward + name: PPP Asociācija (PPPA) +support: +- channel: issues + url: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code/issues +customProperties: +- property: sourceId + value: B01 +- property: namespace + value: urn:pppa:cac:valdiba:0.2 +- property: rootElement + value: OrganizationRegistry +- property: identifiers + value: CaC ID SS-IIII; resora vadošā institūcija SS-0000; ārējā forma urn:lv:gov:org:SS-IIII diff --git a/contracts/B11-valdibu-registrs.odcs.yaml b/contracts/B11-valdibu-registrs.odcs.yaml new file mode 100644 index 0000000..051ef8c --- /dev/null +++ b/contracts/B11-valdibu-registrs.odcs.yaml @@ -0,0 +1,130 @@ +# ODCS v3 datu līgums: B11 Valdību reģistrs +# Ģenerēts no schemas/cac-valdiba-kopejie-0.2.xsd (tools/xsd_to_odcs.py, lakehouse). Shēmas daļu nelabot ar roku — labot XSD un ģenerēt no jauna. +apiVersion: v3.0.2 +kind: DataContract +id: urn:pppa:cac:contract:B11 +name: Valdību reģistrs +version: 0.2.0 +status: active +domain: Valsts kā kods (Country as Code) +dataProduct: Valdības deklarācijas datukopa +tenant: PPP Asociācija (PPPA) +description: + purpose: Valdības (lv-mk-GGGG-MM-DD) ar uzticības balsojuma datumu, Ministru prezidentu, deklarāciju un pilnvaru beigām. + usage: Mašīnlasāma datu apmaiņa; ielāde datu ezerā katru dienu. + limitations: '' +servers: +- server: processgit + type: custom + format: xml + description: ProcessGit repozitorijs (Gitea API v1) + customProperties: + - property: url + value: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code + - property: ref + value: main + - property: path + value: data/valdibas.xml + - property: schema + value: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code/src/branch/main/schemas/cac-valdiba-kopejie-0.2.xsd +schema: +- name: Government + logicalType: object + physicalType: xml-element + physicalName: Government + description: Valdība = Ministru kabinets, kam Saeima izteikusi uzticību. Ministru prezidenta maiņa = jauna valdība; atsevišķa ministra maiņa + — tā pati valdība. + properties: + - name: id + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-mk-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])? + description: 'Valdības (Ministru kabineta) identifikators: lv-mk-GGGG-MM-DD[-n], kur datums ir Saeimas uzticības balsojuma datums.' + primaryKey: true + unique: true + - name: Label + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: PrimeMinister + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: ConfidenceVote@date + logicalType: date + required: true + - name: ConfidenceVote@votesFor + logicalType: integer + required: false + - name: ConfidenceVote@votesAgainst + logicalType: integer + required: false + - name: Declaration + logicalType: string + required: false + logicalTypeOptions: + pattern: lv-dekl-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])? + - name: ActionPlan + logicalType: string + required: false + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + - name: TermEnd + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Pilnvaru beigas (nākamās valdības apstiprināšana vai cits notikums). Rīcības plāna termiņi nedrīkst to pārsniegt (kārtības ruļļa + pielikums, 9. aile). + - name: TermEnd@value + logicalType: string + required: false + logicalTypeOptions: + pattern: '[0-9]{4}(-[0-9]{2}(-[0-9]{2})?)?|P[0-9]+[DWMY]' + description: 'Mašīnlasāms datums vai periods: GGGG, GGGG-MM, GGGG-MM-DD vai ISO 8601 ilgums (P100D, P3M).' + - name: Note + logicalType: array + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + items: + logicalType: string + customProperties: + - property: lakehouseTable + value: cac_bronze.pg_government + - property: lakehouseTable + value: cac_silver.government +quality: +- name: xsd_valid + type: custom + engine: xsd + implementation: schemas/cac-valdiba-kopejie-0.2.xsd + description: Datne atbilst XSD shēmai; neatbilstoša datne tiek reģistrēta kā kļūda + dimension: conformity +slaProperties: +- property: frequency + value: 1 + unit: d + element: pull ingest (cron 03:30 UTC) +- property: retention + value: visas versijas (git vēsture) +team: +- role: owner + name: PPP Asociācija (PPPA) +- role: data steward + name: PPP Asociācija (PPPA) +support: +- channel: issues + url: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code/issues +customProperties: +- property: sourceId + value: B11 +- property: namespace + value: urn:pppa:cac:valdiba:0.2 +- property: rootElement + value: GovernmentRegistry +- property: identifiers + value: lv-mk-GGGG-MM-DD (Saeimas uzticības balsojuma datums) diff --git a/contracts/B12-valdibas-deklaracija.odcs.yaml b/contracts/B12-valdibas-deklaracija.odcs.yaml new file mode 100644 index 0000000..a21ba66 --- /dev/null +++ b/contracts/B12-valdibas-deklaracija.odcs.yaml @@ -0,0 +1,290 @@ +# ODCS v3 datu līgums: B12 Valdības deklarācijas +# Ģenerēts no schemas/valdibas-deklaracija-0.2.xsd (tools/xsd_to_odcs.py, lakehouse). Shēmas daļu nelabot ar roku — labot XSD un ģenerēt no jauna. +apiVersion: v3.0.2 +kind: DataContract +id: urn:pppa:cac:contract:B12 +name: Valdības deklarācijas +version: 0.2.0 +status: active +domain: Valsts kā kods (Country as Code) +dataProduct: Valdības deklarācijas datukopa +tenant: PPP Asociācija (PPPA) +description: + purpose: Valdības deklarācija mašīnlasāmā formā — sadaļas un uzdevumi ar pastāvīgiem identifikatoriem, uz kuriem atsaucas rīcības plāna pasākumi; + arī deklarāciju projekti. + usage: Mašīnlasāma datu apmaiņa; ielāde datu ezerā katru dienu. + limitations: Teksts — burtiski, kā parakstīts; projektiem (status draft) drukātais numurs var atšķirties no identifikatora. +servers: +- server: processgit + type: custom + format: xml + description: ProcessGit repozitorijs (Gitea API v1) + customProperties: + - property: url + value: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code + - property: ref + value: main + - property: path + value: data/lv-dekl-*.xml + - property: schema + value: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code/src/branch/main/schemas/valdibas-deklaracija-0.2.xsd +schema: +- name: GovernmentDeclaration + logicalType: object + physicalType: xml-element + physicalName: GovernmentDeclaration + description: '' + properties: + - name: id + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-dekl-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])? + description: 'Deklarācijas identifikators: lv-dekl-GGGG-MM-DD[-n]. Datums = datums dokumentā; ja tā nav vai tas nav pilns — Saeimas uzticības + balsojuma datums.' + primaryKey: true + unique: true + - name: schemaVersion + logicalType: string + required: true + customProperties: + - property: lakehouseTable + value: cac_bronze.pg_declaration + - property: lakehouseTable + value: cac_silver.declaration +- name: Metadata + logicalType: object + physicalType: xml-element + physicalName: Metadata + description: '' + properties: + - name: Title + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: Subtitle + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: DateLine + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Vietas un datuma rinda, kā rakstīts. + - name: Date + logicalType: date + required: false + description: Datums dokumentā, ja tas norādīts pilnībā. + - name: Place + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: Language + logicalType: string + required: true + - name: LegalBasis + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: Government@ref + logicalType: string + required: false + logicalTypeOptions: + pattern: lv-mk-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])? + - name: Government@status + logicalType: string + required: true + quality: + - type: library + rule: validValues + validValues: + - draft + - submitted + - confidence_granted + - rejected + - name: DerivedFrom + logicalType: string + required: false + logicalTypeOptions: + pattern: lv-dekl-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])? + description: Deklarācija, no kuras izveidots šis projekts (piemēram, iepriekšējās valdības deklarācija). Uzdevumu līmenī saiti norāda Task/@derivedFrom. + customProperties: + - property: lakehouseTable + value: cac_bronze.pg_declaration +- name: Section + logicalType: object + physicalType: xml-element + physicalName: Section + description: Sadaļa (prioritāte, nodaļa, apakšnodaļa). Rīcības plānā tā ir 1. aile „Deklarācijas sadaļa un rīcības joma”. + properties: + - name: id + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + description: 'Jebkura elementa globāli unikāls identifikators: saknes identifikators + segmenti, piemēram lv-dekl-2026-05-28.u012 vai lv-mk-2026-05-28.rp.u001.p3.' + primaryKey: true + unique: true + - name: kind + logicalType: string + required: true + description: introduction = ievads; principles = sadarbības principi; priorities = prioritāšu kopsadaļa; chapter = nodaļa vai prioritāte; + subchapter = apakšnodaļa; other = cita. + quality: + - type: library + rule: validValues + validValues: + - introduction + - principles + - priorities + - chapter + - subchapter + - other + - name: label + logicalType: string + required: false + description: Sadaļas numurs, kā rakstīts (piemēram „I”). + - name: Heading + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: Classification + logicalType: array + required: false + description: Politikas joma pēc TAP portāla klasifikatora (kārtības ruļļa 46. punkts) un/vai COFOG. Nav deklarācijas teksta daļa. + items: + logicalType: string + - name: Classification@scheme + logicalType: string + required: false + - name: Classification@code + logicalType: string + required: false + - name: Goal + logicalType: array + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Sasniedzamais mērķis (MK iekārtas likuma 15. panta pirmā daļa). Tikai ja deklarācijā tas izteikts atsevišķi. + items: + logicalType: string + - name: Goal@id + logicalType: string + required: false + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + description: 'Jebkura elementa globāli unikāls identifikators: saknes identifikators + segmenti, piemēram lv-dekl-2026-05-28.u012 vai lv-mk-2026-05-28.rp.u001.p3.' + - name: Result + logicalType: array + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Sasniedzamais rezultāts (15. panta pirmā daļa). Tikai ja deklarācijā tas izteikts atsevišķi. + items: + logicalType: string + - name: Result@id + logicalType: string + required: false + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + description: 'Jebkura elementa globāli unikāls identifikators: saknes identifikators + segmenti, piemēram lv-dekl-2026-05-28.u012 vai lv-mk-2026-05-28.rp.u001.p3.' + - name: Paragraph + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: 'Rindkopa vai saraksta punkts. Identifikators nav obligāts: tos piešķir tikai sadaļām un uzdevumiem, uz kuriem atsaucas rīcības + plāns.' + - name: Paragraph@id + logicalType: string + required: false + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + description: 'Jebkura elementa globāli unikāls identifikators: saknes identifikators + segmenti, piemēram lv-dekl-2026-05-28.u012 vai lv-mk-2026-05-28.rp.u001.p3.' + customProperties: + - property: lakehouseTable + value: cac_bronze.pg_declaration_section +- name: Task + logicalType: object + physicalType: xml-element + physicalName: Task + description: 'Deklarācijā dotais uzdevums — galvenā vienība. Divas numerācijas: number = numurs, kā drukāts dokumentā (mainās, ja projektā uzdevumus + pārnumurē); id = deklarācijas ID + .uNNN — pastāvīgs identifikators, kas piešķirts, uzdevumu izveidojot, un nemainās. Iesniegtā deklarācijā + uNNN atbilst drukātajam numuram; projektā (Government/@status = draft) tie var atšķirties.' + properties: + - name: id + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + description: 'Jebkura elementa globāli unikāls identifikators: saknes identifikators + segmenti, piemēram lv-dekl-2026-05-28.u012 vai lv-mk-2026-05-28.rp.u001.p3.' + primaryKey: true + unique: true + - name: number + logicalType: integer + required: true + - name: derivedFrom + logicalType: string + required: false + logicalTypeOptions: + pattern: lv-dekl-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?\.u[0-9]{3,4}(-[0-9]+)? + description: Avota deklarācijas uzdevums, no kura šis uzdevums pārņemts. Nav norādīts, ja uzdevums ir jauns. + - name: Text + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + customProperties: + - property: lakehouseTable + value: cac_bronze.pg_declaration_task + - property: lakehouseTable + value: cac_silver.declaration_task +quality: +- name: xsd_valid + type: custom + engine: xsd + implementation: schemas/valdibas-deklaracija-0.2.xsd + description: Datne atbilst XSD shēmai; neatbilstoša datne tiek reģistrēta kā kļūda + dimension: conformity +- name: filename_is_id + type: custom + engine: cac-lakehouse + implementation: Path(path).stem == root/@id + description: Datnes nosaukums = dokumenta identifikators + dimension: consistency +- name: task_id_in_declaration + type: custom + engine: cac-lakehouse + implementation: app.cac_processgit:task_id_in_declaration + description: Uzdevuma ID sākas ar deklarācijas ID + dimension: consistency +slaProperties: +- property: frequency + value: 1 + unit: d + element: pull ingest (cron 03:30 UTC) +- property: retention + value: visas versijas (git vēsture) +team: +- role: owner + name: Ministru kabinets (deklarācija); datu kopu sagatavo PPPA +- role: data steward + name: PPP Asociācija (PPPA) +support: +- channel: issues + url: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code/issues +customProperties: +- property: sourceId + value: B12 +- property: namespace + value: urn:pppa:cac:valdiba:0.2 +- property: rootElement + value: GovernmentDeclaration +- property: identifiers + value: lv-dekl-GGGG-MM-DD; sadaļa .sNN; uzdevums .uNNN (nemainīgs); Task/@number = drukātais numurs diff --git a/contracts/B13-ricibas-plans.odcs.yaml b/contracts/B13-ricibas-plans.odcs.yaml new file mode 100644 index 0000000..aec4c7e --- /dev/null +++ b/contracts/B13-ricibas-plans.odcs.yaml @@ -0,0 +1,242 @@ +# ODCS v3 datu līgums: B13 Valdības rīcības plāni +# Ģenerēts no schemas/valdibas-deklaracijas-ricibas-plans-0.2.xsd (tools/xsd_to_odcs.py, lakehouse). Shēmas daļu nelabot ar roku — labot XSD un ģenerēt no jauna. +apiVersion: v3.0.2 +kind: DataContract +id: urn:pppa:cac:contract:B13 +name: Valdības rīcības plāni +version: 0.2.0 +status: active +domain: Valsts kā kods (Country as Code) +dataProduct: Valdības deklarācijas datukopa +tenant: PPP Asociācija (PPPA) +description: + purpose: Rīcības plāna pasākumi ar saiti uz deklarācijas uzdevumu (task = lv-dekl-….uNNN), atbildīgajām institūcijām (CaC ID), termiņiem un + finansējumu. + usage: Mašīnlasāma datu apmaiņa; ielāde datu ezerā katru dienu. + limitations: Izpildes gaitas dati (Progress) plānā vēl netiek publicēti. +servers: +- server: processgit + type: custom + format: xml + description: ProcessGit repozitorijs (Gitea API v1) + customProperties: + - property: url + value: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code + - property: ref + value: main + - property: path + value: data/lv-mk-*.rp.xml + - property: schema + value: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code/src/branch/main/schemas/valdibas-deklaracijas-ricibas-plans-0.2.xsd +schema: +- name: GovernmentActionPlan + logicalType: object + physicalType: xml-element + physicalName: GovernmentActionPlan + description: '' + properties: + - name: id + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + description: Valdības ID + .rp, piemēram lv-mk-2026-05-28.rp. + primaryKey: true + unique: true + - name: government + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-mk-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])? + - name: declaration + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-dekl-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])? + - name: schemaVersion + logicalType: string + required: true + customProperties: + - property: lakehouseTable + value: cac_bronze.pg_plan +- name: Approval + logicalType: object + physicalType: xml-element + physicalName: Approval + description: Ministru kabineta rīkojums, ar kuru plāns apstiprināts vai grozīts. Katrs rīkojums ir plāna versija (.vN). + properties: + - name: id + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + description: 'Jebkura elementa globāli unikāls identifikators: saknes identifikators + segmenti, piemēram lv-dekl-2026-05-28.u012 vai lv-mk-2026-05-28.rp.u001.p3.' + primaryKey: true + unique: true + - name: kind + logicalType: string + required: true + quality: + - type: library + rule: validValues + validValues: + - approval + - amendment + - name: Act + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: Date + logicalType: date + required: true + - name: Protocol + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: Publication + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + - name: URL + logicalType: array + required: false + items: + logicalType: string + customProperties: + - property: lakehouseTable + value: cac_bronze.pg_plan +- name: Measure + logicalType: object + physicalType: xml-element + physicalName: Measure + description: Rīcības plāna pasākums — viena plāna tabulas rinda. id = plāna ID + .uNNN.pN, kur NNN ir uzdevuma numurs un N — pasākuma numurs + uzdevumā. + properties: + - name: id + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-(dekl|mk)-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?(\.[a-z]{1,2}[0-9]*(-[0-9]+)*)+ + description: 'Jebkura elementa globāli unikāls identifikators: saknes identifikators + segmenti, piemēram lv-dekl-2026-05-28.u012 vai lv-mk-2026-05-28.rp.u001.p3.' + primaryKey: true + unique: true + - name: number + logicalType: string + required: true + logicalTypeOptions: + pattern: '[0-9]{1,3}\.[0-9]{1,2}\.?' + description: Aile „Pasākuma numurs”, kā drukāts, piemēram 1.3. + - name: task + logicalType: string + required: true + logicalTypeOptions: + pattern: lv-dekl-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?\.u[0-9]{3,4}(-[0-9]+)? + description: Deklarācijas uzdevums. Aizstāj plāna tabulas ailes „Deklarācijas sadaļa un rīcības joma”, „Deklarācijā dotā uzdevuma numurs” + un „Deklarācijā dotais uzdevums”. + - name: funding + logicalType: string + required: true + description: allocated = rīkojuma 1. pielikums (finansējums rasts vai nodrošināti kompensējošie pasākumi); additional = 2. pielikums (nepieciešams + papildu finansējums). + quality: + - type: library + rule: validValues + validValues: + - allocated + - additional + - name: priority + logicalType: string + required: false + description: Aile „Prioritārie pasākumi”, burtiski, piemēram PP(AizM). Nav norādīts, ja pasākums nav prioritārs. + - name: Text + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Aile „Rīcības plāna pasākums”, burtiski. + - name: Result + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Aile „Darbības rezultāts”, burtiski. + - name: Responsible + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Aile „Atbildīgā institūcija”, burtiski. + - name: Responsible@orgs + logicalType: array + required: false + - name: CoResponsible + logicalType: string + required: false + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Aile „Līdzatbildīgās institūcijas”, burtiski. + - name: CoResponsible@orgs + logicalType: array + required: false + - name: Deadline + logicalType: string + required: true + logicalTypeOptions: + pattern: '[\s\S]*\S[\s\S]*' + description: Aile „Izpildes termiņš”, burtiski. + - name: Deadline@values + logicalType: array + required: false + customProperties: + - property: lakehouseTable + value: cac_bronze.pg_plan_measure + - property: lakehouseTable + value: cac_silver.plan_measure + - property: lakehouseTable + value: cac_silver.measure_organization +quality: +- name: xsd_valid + type: custom + engine: xsd + implementation: schemas/valdibas-deklaracijas-ricibas-plans-0.2.xsd + description: Datne atbilst XSD shēmai; neatbilstoša datne tiek reģistrēta kā kļūda + dimension: conformity +- name: filename_is_id + type: custom + engine: cac-lakehouse + implementation: Path(path).stem == root/@id + description: Datnes nosaukums = dokumenta identifikators + dimension: consistency +- name: measure_has_responsible_org + type: custom + engine: cac-lakehouse + implementation: app.cac_processgit:measure_has_responsible_org + description: Pasākumam norādīta atbildīgā institūcija ar CaC ID + dimension: completeness +slaProperties: +- property: frequency + value: 1 + unit: d + element: pull ingest (cron 03:30 UTC) +- property: retention + value: visas versijas (git vēsture) +team: +- role: owner + name: Valsts kanceleja (MK rīkojums); datu kopu sagatavo PPPA +- role: data steward + name: PPP Asociācija (PPPA) +support: +- channel: issues + url: https://processgit.org/Country-as-Code/Valdibas-Deklaracija-as-Code/issues +customProperties: +- property: sourceId + value: B13 +- property: namespace + value: urn:pppa:cac:valdiba:0.2 +- property: rootElement + value: GovernmentActionPlan +- property: identifiers + value: lv-mk-….rp; pasākums .uNNN.pN; versija .vN; izpildes ieraksts .zGGGGMMDD