Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
430 lines
13 KiB
YAML
430 lines
13 KiB
YAML
# ODCS v3 datu līgums: B16 Ministru kabineta sēdes un lēmumi
|
|
# Ģenerēts no schemas/mk-lemumi-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:B16
|
|
name: Ministru kabineta sēdes un lēmumi
|
|
version: 0.1.0
|
|
status: active
|
|
domain: Valsts kā kods (Country as Code)
|
|
dataProduct: MK sēžu lēmumi
|
|
tenant: PPP Asociācija (PPPA)
|
|
description:
|
|
purpose: Ministru kabineta sēdes darba kārtība (jautājumi ar TAP identifikatoru, atbildīgo institūciju un statusu) un lēmumu teksts pa punktiem
|
|
ar adresātu (VPK ID vai ATVK kods), darbības veidu un termiņu.
|
|
usage: Mašīnlasāma datu apmaiņa; ielāde datu ezerā katru dienu.
|
|
limitations: Lēmumu teksts — projekts, kā pievienots darba kārtībai sēdes dienā (textStatus draft), līdz TAP publicē sēdes protokolu. Darbības
|
|
veids, adresāts un termiņš izgūti ar noteikumiem; juridiski saistošs ir teksts. IP jautājumiem publisks ir tikai protokollēmums.
|
|
servers:
|
|
- server: processgit
|
|
type: custom
|
|
format: xml
|
|
description: ProcessGit repozitorijs (Gitea API v1)
|
|
customProperties:
|
|
- property: url
|
|
value: https://processgit.org/Valsts-Pirmkods/MK-Lemumi-as-Code
|
|
- property: ref
|
|
value: main
|
|
- property: path
|
|
value: data/lv-mk-sede-*.xml
|
|
- property: schema
|
|
value: https://processgit.org/Valsts-Pirmkods/MK-Lemumi-as-Code/src/branch/main/schemas/mk-lemumi-0.1.xsd
|
|
schema:
|
|
- name: CabinetMeeting
|
|
logicalType: object
|
|
physicalType: xml-element
|
|
physicalName: CabinetMeeting
|
|
description: ''
|
|
properties:
|
|
- name: id
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: lv-mk-sede-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?
|
|
primaryKey: true
|
|
unique: true
|
|
- name: government
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: lv-mk-[0-9]{4}-[0-9]{2}-[0-9]{2}
|
|
- name: schemaVersion
|
|
logicalType: string
|
|
required: true
|
|
customProperties:
|
|
- property: lakehouseTable
|
|
value: cac_bronze.mk_meeting
|
|
- property: lakehouseTable
|
|
value: cac_silver.mk_meeting
|
|
- name: Item
|
|
logicalType: object
|
|
physicalType: xml-element
|
|
physicalName: Item
|
|
description: ''
|
|
properties:
|
|
- name: id
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: lv-mk-sede-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?\.q[0-9]+(\.[0-9]+)*(\.(pl|rik|doc[0-9]+)(\.(p[0-9]+(\.[0-9]+)*|u[0-9]+))*)?
|
|
primaryKey: true
|
|
unique: true
|
|
- name: n
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
- name: tap
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[0-9]{2}-TA-[0-9]+[A-Za-z]*'
|
|
- name: restricted
|
|
logicalType: boolean
|
|
required: false
|
|
description: Ierobežotas pieejamības (IP).
|
|
- name: status
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: 'Statuss darba kārtībā: Pieņemts, Atlikts, Izskatīts …'
|
|
- name: addedLate
|
|
logicalType: boolean
|
|
required: false
|
|
description: „iekļauts papildus”.
|
|
- name: movedToA
|
|
logicalType: boolean
|
|
required: false
|
|
description: „jautājums tiks skatīts A sadaļā”.
|
|
- name: postponed
|
|
logicalType: boolean
|
|
required: false
|
|
description: „jautājuma izskatīšana atlikta”.
|
|
- name: Title
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: Jautājums, kā darba kārtībā, bez norādēm iekavās (tās — atribūtos).
|
|
- name: ActType
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: Projekta veids TAP (Rīkojuma projekts, Informatīvais ziņojums …).
|
|
- name: Responsible
|
|
logicalType: string
|
|
required: false
|
|
description: Atbildīgā institūcija TAP; org — VPK ID, ja atrasts reģistrā.
|
|
- name: Responsible@org
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[0-9]{2}-[0-9]{4}'
|
|
- name: Presenter
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: Ziņo, kā darba kārtībā.
|
|
- name: Invited
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
- name: Document
|
|
logicalType: array
|
|
required: false
|
|
description: Dokuments darba kārtībā, kā TAP (nosaukums un saite).
|
|
items:
|
|
logicalType: string
|
|
- name: Document@url
|
|
logicalType: string
|
|
required: false
|
|
- name: Approval
|
|
logicalType: array
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: Saskaņojumi (institūciju saīsinājumi), kā TAP.
|
|
items:
|
|
logicalType: string
|
|
- name: PublicParticipation
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
customProperties:
|
|
- property: lakehouseTable
|
|
value: cac_bronze.mk_item
|
|
- property: lakehouseTable
|
|
value: cac_silver.mk_item
|
|
- name: Decision
|
|
logicalType: object
|
|
physicalType: xml-element
|
|
physicalName: Decision
|
|
description: ''
|
|
properties:
|
|
- name: id
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: lv-mk-sede-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?\.q[0-9]+(\.[0-9]+)*(\.(pl|rik|doc[0-9]+)(\.(p[0-9]+(\.[0-9]+)*|u[0-9]+))*)?
|
|
primaryKey: true
|
|
unique: true
|
|
- name: actNumber
|
|
logicalType: integer
|
|
required: false
|
|
description: Rīkojuma numurs no virsraksta rindas („rīkojums Nr. 631”).
|
|
- name: protocol
|
|
logicalType: integer
|
|
required: false
|
|
description: Sēdes protokola numurs no virsraksta rindas („prot. Nr. 58”).
|
|
- name: paragraph
|
|
logicalType: integer
|
|
required: false
|
|
description: Protokola paragrāfs („8. §”).
|
|
- name: document
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: Dokumenta nosaukums TAP (MK sēdes protokollēmuma projekts, Rīkojuma projekts …).
|
|
- name: textStatus
|
|
logicalType: string
|
|
required: true
|
|
quality:
|
|
- type: library
|
|
rule: validValues
|
|
validValues:
|
|
- draft
|
|
- final
|
|
- name: Heading
|
|
logicalType: array
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: 'Rindas virs virsraksta, kā TAP: „Ministru kabineta rīkojums Nr. 631”, „Rīgā … (prot. Nr. 58 8. §)”. Projektā datums vēl nav
|
|
ievietots (TAP veidnes lauks paliek kā lapā).'
|
|
items:
|
|
logicalType: string
|
|
- name: Title
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
- name: Url
|
|
logicalType: string
|
|
required: true
|
|
- name: SourceFile
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: sources/… — teksts, kā TAP lapā (numurs un teksts pa rindām).
|
|
- name: SHA256
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: '[0-9a-f]{64}'
|
|
description: Lapas (HTML) sha256 ielādes brīdī.
|
|
- name: Annex
|
|
logicalType: array
|
|
required: false
|
|
items:
|
|
logicalType: string
|
|
- name: Annex@n
|
|
logicalType: string
|
|
required: false
|
|
- name: Signatory
|
|
logicalType: array
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: Paraksta rinda, kā TAP („Ministru prezidents A. Kulbergs”).
|
|
items:
|
|
logicalType: string
|
|
customProperties:
|
|
- property: lakehouseTable
|
|
value: cac_bronze.mk_decision
|
|
- property: lakehouseTable
|
|
value: cac_silver.mk_decision
|
|
- name: Point
|
|
logicalType: object
|
|
physicalType: xml-element
|
|
physicalName: Point
|
|
description: ''
|
|
properties:
|
|
- name: id
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: lv-mk-sede-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?\.q[0-9]+(\.[0-9]+)*(\.(pl|rik|doc[0-9]+)(\.(p[0-9]+(\.[0-9]+)*|u[0-9]+))*)?
|
|
primaryKey: true
|
|
unique: true
|
|
- name: n
|
|
logicalType: string
|
|
required: true
|
|
description: Drukātais numurs („2.”, „2.1.”); nenumurētam — tukšs.
|
|
- name: kind
|
|
logicalType: string
|
|
required: true
|
|
description: note — pieņemt zināšanai; adopt — pieņemt (projektu); approve — apstiprināt; support / reject — atbalstīt / neatbalstīt; invite
|
|
— aicināt; task — uzdevums institūcijai („Ekonomikas ministrijai … iesniegt”, „uzdot”); allocate — piešķirt; permit — atļaut; authorise
|
|
— pilnvarot; determine — noteikt, atzīt; amend — izteikt, papildināt, svītrot, grozīt; repeal — atzīt par spēku zaudējušu, atcelt; transfer
|
|
— nodot, pārņemt; purchase — pirkt; establish — izveidot; appoint / dismiss — iecelt / atbrīvot; part — apakšpunkts, kas turpina augstākā
|
|
punkta teikumu; provision — cits noteikums bez darbības vārda.
|
|
quality:
|
|
- type: library
|
|
rule: validValues
|
|
validValues:
|
|
- note
|
|
- adopt
|
|
- approve
|
|
- support
|
|
- reject
|
|
- invite
|
|
- task
|
|
- allocate
|
|
- permit
|
|
- authorise
|
|
- determine
|
|
- amend
|
|
- repeal
|
|
- transfer
|
|
- purchase
|
|
- establish
|
|
- appoint
|
|
- dismiss
|
|
- part
|
|
- provision
|
|
- name: Text
|
|
logicalType: string
|
|
required: true
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
- name: Quote
|
|
logicalType: array
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[\s\S]*\S[\s\S]*'
|
|
description: 'Jaunā redakcija pēdiņās, kas punktā ir atsevišķā teksta laukā („Izteikt 1. punktu šādā redakcijā: "1. …"”).'
|
|
items:
|
|
logicalType: string
|
|
- name: Party
|
|
logicalType: array
|
|
required: false
|
|
description: 'Institūcija vai pašvaldība, kas punktā minēta datīvā (kam uzdots, atļauts, piešķirts); teksts — kā punktā. role: institution
|
|
— institūcija, minister — ministrs (org — ministrijas VPK ID), municipality — pašvaldība (atvk).'
|
|
items:
|
|
logicalType: string
|
|
- name: Party@role
|
|
logicalType: string
|
|
required: false
|
|
quality:
|
|
- type: library
|
|
rule: validValues
|
|
validValues:
|
|
- institution
|
|
- minister
|
|
- municipality
|
|
- name: Party@org
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[0-9]{2}-[0-9]{4}'
|
|
- name: Party@atvk
|
|
logicalType: string
|
|
required: false
|
|
logicalTypeOptions:
|
|
pattern: '[0-9]{7}'
|
|
- name: Deadline
|
|
logicalType: string
|
|
required: false
|
|
- name: Deadline@date
|
|
logicalType: date
|
|
required: false
|
|
customProperties:
|
|
- property: lakehouseTable
|
|
value: cac_bronze.mk_point
|
|
- property: lakehouseTable
|
|
value: cac_bronze.mk_party
|
|
- property: lakehouseTable
|
|
value: cac_silver.mk_point
|
|
- property: lakehouseTable
|
|
value: cac_silver.mk_point_party
|
|
quality:
|
|
- name: xsd_valid
|
|
type: custom
|
|
engine: xsd
|
|
implementation: schemas/mk-lemumi-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/<sēde>.verify.json) izturēta: katrs punkts burtiski TAP lapā tādā pašā secībā, lapas sha256 sakrīt'
|
|
dimension: accuracy
|
|
- name: ids_in_meeting
|
|
type: custom
|
|
engine: cac-lakehouse
|
|
implementation: app.cac_processgit:ids_in_meeting
|
|
description: Jautājumu, lēmumu un punktu identifikatori sākas ar sēdes identifikatoru
|
|
dimension: conformity
|
|
- name: vpk_id_in_register
|
|
type: custom
|
|
engine: cac-lakehouse
|
|
implementation: app.cac_processgit:vpk_id_in_register
|
|
description: Katrs lietotais VPK ID (atbildīgā institūcija, adresāts) ir Organizāciju reģistrā (B01)
|
|
dimension: consistency
|
|
- name: atvk_in_register
|
|
type: custom
|
|
engine: cac-lakehouse
|
|
implementation: app.cac_processgit:atvk_in_register
|
|
description: Katrs lietotais pašvaldības ATVK kods ir Pašvaldību reģistrā (B04)
|
|
dimension: consistency
|
|
- name: government_in_register
|
|
type: custom
|
|
engine: cac-lakehouse
|
|
implementation: app.cac_processgit:government_in_register
|
|
description: Sēdes valdība ir Valdību reģistrā (B11)
|
|
dimension: consistency
|
|
- name: deadline_in_text
|
|
type: custom
|
|
engine: cac-lakehouse
|
|
implementation: app.cac_processgit:deadline_in_text
|
|
description: Termiņa teksts ir punkta tekstā
|
|
dimension: accuracy
|
|
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 (TAP portāls — darba kārtība un lēmumu projekti); datu kopu sagatavo PPPA
|
|
- role: data steward
|
|
name: PPP Asociācija (PPPA)
|
|
support:
|
|
- channel: issues
|
|
url: https://processgit.org/Valsts-Pirmkods/MK-Lemumi-as-Code/issues
|
|
customProperties:
|
|
- property: sourceId
|
|
value: B16
|
|
- property: namespace
|
|
value: urn:pppa:vpk:mk-lemumi:0.1
|
|
- property: rootElement
|
|
value: CabinetMeeting
|
|
- property: identifiers
|
|
value: sēde lv-mk-sede-GGGG-MM-DD; jautājums <sēde>.q<n>; lēmums <jautājums>.pl / .rik; punkts <lēmums>.p<n>
|