From 9c1d6b4ef33de0b3adfed3cc9600d93ab83cd153 Mon Sep 17 00:00:00 2001 From: Rihards Date: Sun, 8 Feb 2026 23:12:44 +0000 Subject: [PATCH] Upload files to "/" --- README.md | 243 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 170 insertions(+), 73 deletions(-) diff --git a/README.md b/README.md index 1a38a4f..6486b4a 100644 --- a/README.md +++ b/README.md @@ -1,87 +1,166 @@ # VDVC — Valsts dokumentu vadības klasifikators -**VARAM Dokumentu vadības klasifikācijas shēma** — machine-readable classification schema for the DVS Namejs document management system. +**VARAM dokumentu vadības klasifikācijas shēma** — mašīnlasāms klasifikācijas shēmas formāts DVS Namejs dokumentu vadības sistēmai. -## Overview +**Repozitorijs:** `processgit.org/VARAM/Document_classification_schema/` +**Nosaukumtelpa:** `urn:vdvc:classification:2026` +**Normatīvais pamats:** MK noteikumi Nr. 282 (07.05.2024.) +**Datums:** 2026. gada februāris -This package transforms VARAM's Excel-based document classification schema (647 entries) into a structured, machine-readable format. It provides two variants: +--- -| | V1 (as-is) | V2 (proposed) | +## 1. Novērtējums — kas konstatēts Excel failā + +647 kodēti ieraksti, 3 domēni (P — Pārvalde, I1 — Investīciju programmas, I2 — Investīciju projekti). Dati satur problēmas divos līmeņos. + +### Datu kvalitātes problēmas + +| Problēma | Skaits | Piemērs | +|-----------|--------|---------| +| Jaukti kodu atdalītāji (- un .) | 221 kodi | `I1-1-7.1.1` jauc abus | +| NBSP maskēts kā tukšs | 93 rindas | Glabāšana = `\xa0`, nevis tukšs | +| 50+ glabāšanas termiņu varianti | visi | "Pastāvīgi", "Patstāvīgi", "5gadi", "31.12.2034.", "2031-12-31 00:00:00" | +| Apraksti pilnībā trūkst | 100% | E kolonna pilnībā tukša | +| Vairāki departamenti kā brīvs teksts | 67 rindas | "IPD, VIKTAD, VIAPD" | +| Dati nepareizā līmeņa kolonnā | 64 rindas | L2 teksts L3 kolonnā | +| Drukas kļūda `Il-9-2` (mazais L) | 1 rinda | Jābūt `I1-9-2` | + +### Klasifikācijas struktūras problēmas + +**Shēma ir pārmērīgi sarežģīta, jo normatīvo dokumentu izcelsme tiek izmantota kā strukturālie līmeņi, nevis metadati.** + +MK Nr. 282 §33 nosaka klasificēt pēc **funkcijām → procesiem → darbībām**. Tā vietā VARAM izveido jaunu koka zaru katram ES projektam un katram sarakstēšanās auditorijas tipam. + +**I2 — sliktākais gadījums:** 33 atsevišķas grupas (I2-1 līdz I2-33), katra ir konkrēts ES finansēts projekts, katrā identiskas apakškategorijas (korespondence, līgumi, rīkojumi, komunikācija). Tas ir ~130 ieraksti, kas veic ~4 ierakstu + `projectRef` taga darbu. + +**I1 — tāds pats modelis:** 13 programmu grupas ar atkārtojošām apakšstruktūrām. 227 ieraksti → varētu būt ~45 ar programmu kā metadatiem. + +**P-1-13 — sarakste:** 9 apakštipi, kas atšķiras tikai pēc auditorijas (valsts iestādes, ārvalstu, iekšējā, klasificēta u.c.). Vajadzētu būt 1 kategorijai ar auditorijas metadatiem. + +**Rezultāts:** lietvedis saskaras ar ~493 lapu kategorijām, nevis ~159 funkcionālām. + +### Ko MK Nr. 282 faktiski prasa + +| §33 līmenis | Kam jāsatur | Ko VARAM pašlaik lieto | +|-------------|-------------|----------------------| +| L1: Funkcija | "Investīciju projektu ieviešana" | ✓ Pareizi (I2) | +| L2: Process | "Korespondence", "Līgumi", "Protokoli" | ✗ Tā vietā 33 projektu nosaukumi | +| L3: Darbība | Konkrēti dokumentu tipi | ✗ Vispārīgi dok. tipi, kas atkārtojas 33× | + +### Risinājums + +Pārvietot projekta/programmas identitāti no **koka struktūras** uz **metadatu tagiem**. Dokuments joprojām zina, kuram projektam tas pieder — bet klasifikācijas koks paliek pārvaldāms. + +| Pašreizējā I2 (V1) | Ierosinātā I2 (V2) | +|-----------|------------| +| I2-1 Projekta "IS..." dokumenti | 3.1 Korespondence | +| I2-1-1 Korespondence | 3.2 Līgumi un akti | +| I2-1-2 Līgumi | 3.3 Rīkojumi un protokoli | +| I2-1-3 Rīkojumi | 3.4 Komunikācijas materiāli | +| I2-1-4 Komunikācija | *Katrs atzīmēts ar projectRef* | +| I2-2 Projekta "Atvērtie dati..." | *un programmeRef metadatiem* | +| I2-2-1 Korespondence | | +| ... ×33 projekti ... | | +| **132 ieraksti** | **4 ieraksti + 33 projektu tagi** | + +--- + +## 2. Kas izveidots — divas versijas + +### Salīdzinājums + +| | V1 (pašreizējā) | V2 (ierosinātā) | |---|---|---| -| **Approach** | 1:1 from Excel, normalised | Functional restructuring per MK Nr. 282 §33 | -| **Categories** | 493 leaf categories | 181 (132 + 45 + 4) | -| **I2 projects** | 33 groups × 4 sub-cats = 132 | 4 functional + 33 project tags | -| **I1 programmes** | 13 groups × ~17 sub-cats = 227 | 45 functional + 13 programme tags | -| **Correspondence** | 9 audience sub-categories | 1 category + 9 audience tags | -| **Retention** | 50+ free-text variants | 5 structured types + conditional rules | -| **Numbering** | P-1-13-4, I1-1-1.2, Il-9-2 | 1.1.13, 2.1.2, 3.1 (clean numeric) | -| **MCP served** | No | Yes | +| **Pieeja** | 1:1 no Excel, normalizēta | Funkcionāla pārstrukturēšana pēc MK Nr. 282 §33 | +| **Kategorijas** | 493 lapu kategorijas | 159 (132 + 45 + 4) | +| **I2 projekti** | 33 grupas × 4 apakškat. = 132 | 4 funkcionālas + 33 projektu tagi | +| **I1 programmas** | 13 grupas × ~17 apakškat. = 227 | 45 funkcionālas + 13 programmu tagi | +| **Sarakste** | 9 auditoriju apakškategorijas | 1 kategorija + 9 auditoriju tagi | +| **Glabāšana** | 50+ brīvā teksta varianti | 5 strukturēti tipi + nosacījumu noteikumi | +| **Numerācija** | P-1-13-4, I1-1-1.2, Il-9-2 | 1.1.13, 2.1.2, 3.1 (tīra ciparu) | +| **MCP** | Nē | Jā | -## Files +**V1 (pašreizējā):** uzticīga 1:1 Excel transformācija. Tie paši kodi, tā pati hierarhija — bet iztīrīti dati (normalizēti glabāšanas termiņi, izlaboti kodi, pareiza struktūra). To var ieviest DVS nekavējoties bez procesu maiņas. + +**V2 (ierosinātā):** pārstrukturēta pēc funkcijām saskaņā ar MK Nr. 282. 159 kategorijas, nevis 493. Projekti un programmas kā metadatu tagi. Labāka lietvedim, labāka DVS, labāka AI klasifikācijai. + +**Viens XSD abām** — V1 vienkārši neizmanto metadatu iespējas (programmeRef, projectRef). V2 tās izmanto, lai likvidētu strukturālo dublēšanos. + +--- + +## 3. Repozitorija struktūra ``` -├── vdvc-classification.xsd XSD schema (both V1 and V2) -├── classification-v1-asis.xml V1: 493 categories, original structure -├── classification-v2-proposed.xml V2: 181 categories, functional -├── vocabularies.xml Controlled vocabularies (depts, programmes, projects, audiences) -├── migration-mapping.csv V1→V2 lookup table (355 rows) -├── mcp-config.yaml MCP server configuration (V2 only) -├── index.html GUI editor (display V1, edit V2) -└── README.md This file +VARAM/Document_classification_schema/ +├── processgit.mcp.yaml ProcessGit MCP trigeris — ieslēdz /VARAM/Document_classification_schema/mcp +├── processgit.viewer.json ProcessGit skatītāja trigeris — atveido index.html repo labajā panelī +├── vdvc-classification.xsd XSD shēma (abām V1 un V2) +├── classification-v1-asis.xml V1: 493 kategorijas, oriģinālā struktūra +├── classification-v2-proposed.xml V2: 159 kategorijas, funkcionāla +├── vocabularies.xml Kontrolētas vārdnīcas (departamenti, programmas, projekti, auditorijas) +├── migration-mapping.csv V1→V2 pārejas tabula (355 rindas) +├── index.html GUI redaktors (rāda V1, rediģē V2) +└── README.md Šis fails ``` -## Design Decisions +--- -### Q1: Metadata Identifiers -- **Q1a**: Programme codes use internal IDs (`PRG-001`..`PRG-013`), not EU codes -- **Q1b**: Project codes use internal IDs (`PRJ-001`..`PRJ-033`), not EU project numbers -- **Q1c**: Department codes (e.g. `IPD`, `LN`) are in the vocabulary file, with cross-reference placeholder to VARAM Organizations Register +## 4. Projektēšanas lēmumi -### Q2: V1 Normalisation -- **Q2a**: Mixed separators normalised (dots→hyphens: `P-1-18.1` → `P-1-18-1`). `Il` typo → `I1`. -- **Q2b**: 93 NBSP retention values treated as empty (element omitted) +### Metadatu identifikatori +- **Programmu kodi** izmanto iekšējos ID (`PRG-001`..`PRG-013`), nevis ES kodus +- **Projektu kodi** izmanto iekšējos ID (`PRJ-001`..`PRJ-033`), nevis ES projektu numurus +- **Departamentu kodi** (piem., `IPD`, `LN`) ir vārdnīcu failā ar šķērsatsauces vietu uz VARAM Organizāciju reģistru -### Q3: V2 Restructuring -- **Q3a**: P-1-13 correspondence collapsed to one category (`1.1.13`) with `retentionRule` elements per audience. Different retention terms preserved as conditional rules. -- **Q3b**: I1/I2 retention always on category+programme/project combination. Default retention on category, overrides via `retentionRule`. -- **Q3c**: Clean numeric domains: `1` (Pārvalde), `2` (Programmu vadība), `3` (Projektu ieviešana). Dot separators: `1.1.13`, `2.3.1`, `3.2`. +### V1 normalizācija +- Jauktie atdalītāji normalizēti (punkti→defises: `P-1-18.1` → `P-1-18-1`). `Il` drukas kļūda → `I1`. +- 93 NBSP glabāšanas vērtības uzskatītas par tukšām (elements izlaists) -### Q4: GUI -- **Q4a**: Display V1 (read-only), edit V2 -- **Q4b**: Download XML for manual commit (MVP) +### V2 pārstrukturēšana +- **Sarakste (P-1-13):** 9 apakštipi apvienoti vienā kategorijā (`1.1.13`) ar `retentionRule` elementiem katrai auditorijai. Dažādi glabāšanas termiņi saglabāti kā nosacījumu noteikumi. +- **Programmu/projektu glabāšana:** vienmēr uz kategorijas+programmas/projekta kombināciju. Noklusējuma glabāšana uz kategorijas, pārrakstīšana caur `retentionRule`. +- **Tīra numerācija:** domēni `1` (Pārvalde), `2` (Programmu vadība), `3` (Projektu ieviešana). Punktu atdalītāji: `1.1.13`, `2.3.1`, `3.2`. -### Q5: MCP -- **Q5a**: V2 only -- **Q5b**: Clean normalised structure in `generate_document` +### GUI +- Rāda V1 (tikai lasīšanai), rediģē V2 +- Lejupielādēt XML manuālai augšupielādei (MVP) -## Retention Normalisation +### MCP +- Tikai V2 — `processgit.mcp.yaml` norāda `classification-v2-proposed.xml` un `vocabularies.xml` +- Tīra normalizēta struktūra `generate_document` izvadē -50+ free-text variants → 5 structured XML types: +--- -| Type | XML Element | Example Original | -|------|-------------|-----------------| -| Permanent | `` | "Pastāvīgi", "Patstāvīgi" | -| Duration | `` | "5 gadi" | -| Triggered duration | `` | "5 gadi pēc projekta noslēguma pārskata apstiprināšanas" | -| Fixed date | `2034-12-31` | "31.12.2034.", "2031-12-31" | -| Fixed date (EU) | `2032-12-31` | "31.12.2032. EK" | +## 5. Glabāšanas termiņu normalizācija -Additional special types: ``, ``. +50+ brīvā teksta varianti → 5 strukturēti XML tipi: -Trigger types: `creation`, `project_closure`, `programme_closure`, `contract_end`, `employment_end`, `replacement`, `assessment`, `last_debt_cleared`, `description_complete`, `procurement_execution`, `procurement_signing`, `disciplinary_decision`. +| Tips | XML elements | Oriģinālais piemērs | +|------|-------------|-------------------| +| Pastāvīgi | `` | "Pastāvīgi", "Patstāvīgi" | +| Ilgums | `` | "5 gadi" | +| Ilgums ar trigeri | `` | "5 gadi pēc projekta noslēguma pārskata apstiprināšanas" | +| Fiksēts datums | `2034-12-31` | "31.12.2034.", "2031-12-31" | +| Fiksēts datums (EK) | `2032-12-31` | "31.12.2032. EK" | -## V2 Conditional Retention (retentionRule) +Papildus speciālie tipi: `` (līdz nomaiņai), `` (līdz beidzas nepieciešamība). -When a category's retention depends on metadata (audience, programme, project), V2 uses `retentionRule` elements: +Trigeru tipi: `creation` (izveide), `project_closure` (projekta noslēgums), `programme_closure` (programmas noslēgums), `contract_end` (līguma beigas), `employment_end` (darba attiecību izbeigšana), `replacement` (nomaiņa), `assessment` (novērtēšana), `last_debt_cleared` (pēdējā parāda dzēšana), `description_complete` (dokumentu aprakstīšana), `procurement_execution` (iepirkuma izpilde), `procurement_signing` (iepirkuma noslēgšana), `disciplinary_decision` (disciplinārlēmums). + +--- + +## 6. V2 nosacījumu glabāšana (retentionRule) + +Kad kategorijas glabāšanas termiņš ir atkarīgs no metadatiem (auditorija, programma, projekts), V2 izmanto `retentionRule` elementus: ```xml Korespondence - + - + PRJ-002 2034-04-30 @@ -90,32 +169,40 @@ When a category's retention depends on metadata (audience, programme, project), ``` -Resolution order: specific project/programme/audience rule → default retention. +Izšķiršanas secība: konkrēts projekta/programmas/auditorijas noteikums → noklusējuma glabāšana. -## Namespace +--- +## 7. ProcessGit integrācija + +### MCP galapunkts + +`processgit.mcp.yaml` repozitorija saknē aktivizē MCP serveri: ``` -urn:vdvc:classification:2026 +https://processgit.org/VARAM/Document_classification_schema/mcp ``` -Prefix: `vdvc:` +Deklarētie avoti: +- `classification-v2-proposed.xml` — kategorijas, grupas, domēni, glabāšanas noteikumi +- `vocabularies.xml` — departamenti, programmas, projekti, auditorijas -## Legal Basis +Pieejamie rīki: `search`, `get_entity`, `list_entities`, `describe_model`, `generate_document`, `validate`, `help`, `identify`. -- **MK noteikumi Nr. 282** (20.04.2012.) — "Noteikumi par dokumentu izstrādāšanu un noformēšanu" §33: classification schema must be based on document functions. -- **VARAM iekšējie noteikumi** — current classification schema approved by ministry order. +### Pielāgots skatītājs -## ProcessGit Repository +`processgit.viewer.json` repozitorija saknē atveido `index.html` kā pielāgotu skatītāju repo labajā panelī. Skatītājs nodrošina GUI redaktoru tieši ProcessGit vidē — lietvedis var pārlūkot un rediģēt klasifikācijas shēmu bez atsevišķas lietojumprogrammas. -``` -https://processgit.org/VARAM/Document_classification_schema -``` +Skatītāja sasaiste (`viewers` masīvā): +- **primary_pattern:** `classification-v2-proposed.xml` — aktivizējas, kad lietotājs atver šo failu +- **entry:** `index.html` — HTML fails, kas tiek ielādēts iframe +- **edit_allow:** `classification-v2-proposed.xml`, `vocabularies.xml` — faili, kurus drīkst saglabāt atpakaļ +- **targets:** XSD shēma, V1 un V2 XML, vārdnīcas — papildu faili, ko skatītājs var nolasīt -MCP endpoint auto-generated from `mcp-config.yaml`. +--- -## Migration from V1 to V2 +## 8. Migrācija no V1 uz V2 -Use `migration-mapping.csv` for automated document re-classification: +Izmantojiet `migration-mapping.csv` automatizētai dokumentu pārklasifikācijai: ```csv v1_code,v1_name,v2_code,v2_name,tag_type,tag_id,notes @@ -124,8 +211,18 @@ I2-2-2,"Līgumi...",3.2,Līgumi un akti,project,PRJ-002, P-1-13-1,"Sarakste ar republikas...",1.1.13,Sarakste,audience,republic-orgs,conditional retention ``` -Migration steps: -1. Look up `v1_code` in CSV -2. Assign `v2_code` as new classification -3. Add `tag_type`:`tag_id` as document metadata -4. Resolve retention from V2 category + tag combination +Migrācijas soļi: +1. Atrast `v1_code` CSV failā +2. Piešķirt `v2_code` kā jauno klasifikāciju +3. Pievienot `tag_type`:`tag_id` kā dokumenta metadatus +4. Aprēķināt glabāšanas termiņu no V2 kategorijas + taga kombinācijas + +--- + +## 9. Nosaukumtelpa un juridiskais pamats + +**Nosaukumtelpa:** `urn:vdvc:classification:2026` (prefikss `vdvc:`) + +**Normatīvais pamats:** +- **MK noteikumi Nr. 282** (20.04.2012., grozījumi 07.05.2024.) — "Noteikumi par dokumentu izstrādāšanu un noformēšanu" §33: klasifikācijas shēmai jābūt balstītai uz dokumentu funkcijām. +- **VARAM iekšējie noteikumi** — pašreizējā klasifikācijas shēma apstiprināta ar ministrijas rīkojumu.