1
0
Files
Rihards Gailums 8c2a006427 MK-noteikumi-as-Code 0.1: vienota datu struktūra MK noteikumiem un pirmie četri noteikumi
Datu struktūra schemas/mk-noteikumi-0.1.xsd; rīki convert.py (vestnesis.lv un likumi.lv), build_all.py (lejuplāde, pārveide, pārbaude pret avota lapu), validate.py. Noteikumi Nr. 322 (2006), Nr. 982 (2006), Nr. 635 (2023), Nr. 821 (2023) no oficiālās publikācijas — likumi.lv slēgts, vēlākie grozījumi nav iestrādāti. Datu līgums contracts/B19-mk-noteikumi.odcs.yaml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
2026-10-22 17:38:04 +00:00

310 lines
9.8 KiB
YAML

# ODCS v3 datu līgums: B19 Ministru kabineta noteikumi
# Ģenerēts no schemas/mk-noteikumi-0.1.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:B19
name: Ministru kabineta noteikumi
version: 0.1.0
status: active
domain: Valsts kā kods (Country as Code)
dataProduct: MK noteikumi kā dati
tenant: PPP Asociācija (PPPA)
description:
purpose: Jebkuri Ministru kabineta noteikumi vienā datu struktūrā — tiesību akta pase, izdošanas pamatojums, nodaļas, punkti un apakšpunkti
ar veidu (termins, ievadteikums, noteikums, pārejas noteikums …), ES atsauces ar CELEX, parakstītāji un pielikumi; atbildīgā ministrija ar
VPK ID.
usage: Mašīnlasāma datu apmaiņa; ielāde datu ezerā katru dienu.
limitations: Teksta versiju norāda TextVersion@basis — original (oficiālā publikācija, vēlākie grozījumi nav iestrādāti) vai consolidated (likumi.lv
konsolidētā redakcija). Juridiski saistošs ir oficiālajā izdevumā publicētais teksts. Punkta veids noteikts pēc teksta.
servers:
- server: processgit
type: custom
format: xml
description: ProcessGit repozitorijs (Gitea API v1)
customProperties:
- property: url
value: https://processgit.org/Valsts-Pirmkods/MK-noteikumi-as-Code
- property: ref
value: main
- property: path
value: data/lv-mkn-*.xml
- property: schema
value: https://processgit.org/Valsts-Pirmkods/MK-noteikumi-as-Code/src/branch/main/schemas/mk-noteikumi-0.1.xsd
schema:
- name: CabinetRegulation
logicalType: object
physicalType: xml-element
physicalName: CabinetRegulation
description: ''
properties:
- name: id
logicalType: string
required: true
logicalTypeOptions:
pattern: lv-mkn-[0-9]{4}-[1-9][0-9]*
primaryKey: true
unique: true
- name: schemaVersion
logicalType: string
required: true
- name: LegalBasis
logicalType: string
required: false
description: „Izdoti saskaņā ar …” — kā drukāts.
- name: Signatory
logicalType: array
required: false
items:
logicalType: string
- name: Signatory@role
logicalType: string
required: false
customProperties:
- property: lakehouseTable
value: cac_bronze.mkn_regulation
- property: lakehouseTable
value: cac_silver.mk_regulation
- name: Chapter
logicalType: object
physicalType: xml-element
physicalName: Chapter
description: ''
properties:
- name: id
logicalType: string
required: true
logicalTypeOptions:
pattern: lv-mkn-[0-9]{4}-[1-9][0-9]*\.(c[0-9]+(\.[0-9]+)*|p[0-9]+(s[0-9]+)?(\.[0-9]+(s[0-9]+)?)*(\.i[0-9]+)?|eu(\.[0-9]+)?|a[0-9]+)
primaryKey: true
unique: true
- name: n
logicalType: string
required: false
description: Drukātais nodaļas numurs (I, II … vai 2.1.).
- name: kind
logicalType: string
required: true
description: general = vispārīgie jautājumi (noteikumu priekšmets, termini, piemērošanas joma); substantive = cita satura nodaļa; transitional
= pārejas noteikumi; final = noslēguma jautājumi; none = noteikumi bez nodaļām (viena nodaļa bez virsraksta).
quality:
- type: library
rule: validValues
validValues:
- general
- substantive
- transitional
- final
- none
- name: Title
logicalType: string
required: false
- name: Note
logicalType: array
required: false
items:
logicalType: string
customProperties:
- property: lakehouseTable
value: cac_bronze.mkn_chapter
- property: lakehouseTable
value: cac_silver.mk_reg_chapter
- name: Point
logicalType: object
physicalType: xml-element
physicalName: Point
description: ''
properties:
- name: id
logicalType: string
required: true
logicalTypeOptions:
pattern: lv-mkn-[0-9]{4}-[1-9][0-9]*\.(c[0-9]+(\.[0-9]+)*|p[0-9]+(s[0-9]+)?(\.[0-9]+(s[0-9]+)?)*(\.i[0-9]+)?|eu(\.[0-9]+)?|a[0-9]+)
primaryKey: true
unique: true
- name: n
logicalType: string
required: true
description: 'Drukātais numurs: 3, 3.1, 3.1.2, 4.2¹ vai „1)”.'
- name: kind
logicalType: string
required: true
description: 'Punkta veids, noteikts pēc teksta (norāde, nav juridiska kvalifikācija): scope = ko noteikumi nosaka („Noteikumi nosaka …”);
definition = termina skaidrojums; lead = ievadteikums uzskaitījumam (beidzas ar kolu); item = uzskaitījuma elements; provision = cits noteikums;
transitional = pārejas noteikums; repeal = cita akta atzīšana par spēku zaudējušu; in_force = spēkā stāšanās noteikums; deleted = punkts
svītrots (tikai konsolidētajā redakcijā).'
quality:
- type: library
rule: validValues
validValues:
- scope
- definition
- lead
- item
- provision
- transitional
- repeal
- in_force
- deleted
- name: Text
logicalType: string
required: true
- name: Note
logicalType: array
required: false
description: Norāde par grozījumiem, piemēram „(Grozīts ar MK 03.12.2024. noteikumiem Nr. 756)”.
items:
logicalType: string
customProperties:
- property: lakehouseTable
value: cac_bronze.mkn_point
- property: lakehouseTable
value: cac_silver.mk_reg_point
- name: Item
logicalType: object
physicalType: xml-element
physicalName: Item
description: ''
properties:
- name: id
logicalType: string
required: true
logicalTypeOptions:
pattern: lv-mkn-[0-9]{4}-[1-9][0-9]*\.(c[0-9]+(\.[0-9]+)*|p[0-9]+(s[0-9]+)?(\.[0-9]+(s[0-9]+)?)*(\.i[0-9]+)?|eu(\.[0-9]+)?|a[0-9]+)
primaryKey: true
unique: true
- name: celex
logicalType: string
required: false
description: CELEX numurs, ja izgūstams no teksta (32019L0944).
- name: Text
logicalType: string
required: true
customProperties:
- property: lakehouseTable
value: cac_bronze.mkn_eu_ref
- property: lakehouseTable
value: cac_silver.mk_reg_eu_ref
- name: Annex
logicalType: object
physicalType: xml-element
physicalName: Annex
description: ''
properties:
- name: id
logicalType: string
required: true
logicalTypeOptions:
pattern: lv-mkn-[0-9]{4}-[1-9][0-9]*\.(c[0-9]+(\.[0-9]+)*|p[0-9]+(s[0-9]+)?(\.[0-9]+(s[0-9]+)?)*(\.i[0-9]+)?|eu(\.[0-9]+)?|a[0-9]+)
primaryKey: true
unique: true
- name: n
logicalType: string
required: false
- name: Heading
logicalType: string
required: true
description: „1. pielikums Ministru kabineta … noteikumiem Nr. …”.
- name: Title
logicalType: string
required: false
- name: Line
logicalType: array
required: false
description: Teksta rinda; tabulas rinda — šūnas atdalītas ar „ | ”.
items:
logicalType: string
- name: Image
logicalType: array
required: false
description: Pielikums kā attēls avotā (teksts nav pieejams).
items:
logicalType: string
- name: Signatory
logicalType: array
required: false
items:
logicalType: string
- name: Signatory@role
logicalType: string
required: false
customProperties:
- property: lakehouseTable
value: cac_bronze.mkn_annex
- property: lakehouseTable
value: cac_silver.mk_reg_annex
quality:
- name: xsd_valid
type: custom
engine: xsd
implementation: schemas/mk-noteikumi-0.1.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: verified_against_source
type: custom
engine: cac-lakehouse
implementation: app.cac_processgit:verified_against_source
description: 'Pārbaudes atskaite (verification/<id>.verify.json) izturēta: katrs punkta, nodaļas un pielikuma teksts burtiski avota lapā tādā
pašā secībā'
dimension: accuracy
- name: source_text_matches
type: custom
engine: cac-lakehouse
implementation: app.cac_processgit:source_text_matches
description: Avota teksta datnes sources/<id>.txt sha256 sakrīt ar datos ierakstīto
dimension: accuracy
- name: ids_in_regulation
type: custom
engine: cac-lakehouse
implementation: app.cac_processgit:ids_in_regulation
description: Nodaļu, punktu un ES atsauču identifikatori sākas ar noteikumu identifikatoru
dimension: conformity
- name: numbering_continuous
type: custom
engine: cac-lakehouse
implementation: app.cac_processgit:numbering_continuous
description: Punktu numerācija bez iztrūkumiem
dimension: completeness
- name: vpk_id_in_register
type: custom
engine: cac-lakehouse
implementation: app.cac_processgit:vpk_id_in_register
description: Atbildīgās ministrijas VPK ID ir Organizāciju reģistrā (B01)
dimension: consistency
- name: celex_format
type: custom
engine: cac-lakehouse
implementation: app.cac_processgit:celex_format
description: Katrai ES atsaucei ir CELEX numurs pareizā formā
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: Ministru kabinets (oficiālā publikācija „Latvijas Vēstnesis”); datu kopu sagatavo PPPA
- role: data steward
name: PPP Asociācija (PPPA)
support:
- channel: issues
url: https://processgit.org/Valsts-Pirmkods/MK-noteikumi-as-Code/issues
customProperties:
- property: sourceId
value: B19
- property: namespace
value: urn:pppa:vpk:mk-noteikumi:0.1
- property: rootElement
value: CabinetRegulation
- property: identifiers
value: noteikumi lv-mkn-GGGG-NNN; nodaļa <id>.cN; punkts <id>.p3.1 (augšraksts 4.2¹ → p4.2s1), uzskaitījums <punkts>.i1; ES atsauce <id>.eu.N;
pielikums <id>.aN