====== Postupy při tvorbě a hlášení metrik ======
Metriky vychází z {{ :znalostni-baze:usneseni_vlady_-_priloha_c._2_-_metriky.docx |přílohy č. 2 k usnesení vlády 289/2022}}
===== Úvod =====
Níže je popsaná datová struktura jednoho záznamu/transakce pro pilotní sběr metriky využívání vybraných digitálních systémů.
Záznamy z různých agendových systémů či pro různé agendy a služby VS můžete kombinovat do jednoho JSON/XML/CSV souboru.
Nikdy prosím nevytvářejte pro každou transakci samostatný soubor, naopak sdružujte více transakcí do jednoho souboru.
===== Téma / kořenová entita datové sady: Transakce =====
//Vlastnosti/atributy://
* **Identifikátor/označení** transakce
* technický název: id
* povinnost vyplnění: povinně
* **datový typ: řetězec**
* význam: číslo jednací či jiný v agendovém systému použitý identifikátor řízení s občanem/firmou
* **Výsledek** transakce
* technický název: vysledek
* povinnost vyplnění: povinně
* **datový typ: celé číslo**
* omezení přípustných hodnot (a jejich význam) – pro pilot jen základní hodnoty (zvolte nejbližší možnou):
* 1 - dokončeno úspěšně
* dokončeno úspěšně, např. poskytnutím služby / splněním povinnosti / schválením/zaevidováním …)
* 2 - dokončeno neúspěšně
* Žádost/řízení neschválena, odmítnuta, nevyhověno apod.
* **Výsledný stav**
* technický název: stav
* povinnost vyplnění: nepovinně
* **datový typ: řetězec**
* význam: konkrétní agendově specifický výsledný stav (např. „zamítnuto“ / „stornováno klientem“) anebo stav z agendového systému jednoznačně určující status
* **Uživatelská spokojenost**
* technický název: spokojenost
* povinnost vyplnění: nepovinně (pokud se spokojenost zjišťuje)
* **datový typ: celé číslo**
* omezení přípustných hodnot (a jejich význam): známka 1-5 jako ve škole
* Vazba na [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/org%C3%A1ny-ve%C5%99ejn%C3%A9-moci/2021-01-12/#organ-verejne-moci|**orgán veřejné moci**]]
* technický název: ovm
* povinnost vyplnění: povinně
* datový typ: viz definice [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/org%C3%A1ny-ve%C5%99ejn%C3%A9-moci/2021-01-12/#vlastnost-identifikator|**identifikátor OVM**]]
* význam: identifikátor OVM, které data pro měření poskytuje (konstantní v rámci všech datových souborů poskytovaných daným OVM)
* Vazba na [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/agendy/2021-01-12/#agenda|**agendu**]]
* technický název: agenda
* povinnost vyplnění: povinně
* datový typ: viz definice [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/agendy/2021-01-12/#vlastnost-kod|**kód agendy\\
**]]
* Vazba na [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/slu%C5%BEby/2021-01-12/#sluzba-verejne-spravy|**službu veřejné správy**]]
* technický název: sluzba
* povinnost vyplnění: nepovinně
* datový typ: řetězec – u služby z RPP/Katalogu služeb podle definice [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/slu%C5%BEby/2021-01-12/#vlastnost-identifikator|**identifikátor služby**]], jinak lze použít pro odlišení např. typu/varianty transakce
* Vazba na **vstupní** [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/slu%C5%BEby/2021-01-12/#obsluzny-kanal|**obslužný kanál**]]
*technický název: kanal_vstup
*povinnost vyplnění: povinně
*datový typ: viz definice [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/slu%C5%BEby/2021-01-12/#vlastnost-typ-kanalu|typ obslužného kanálu]]
*omezení přípustných hodnot: používaný [[https://data.gov.cz/datov%C3%A1-sada?iri=https%3A%2F%2Fdata.gov.cz%2Fzdroj%2Fdatov%C3%A9-sady%2F00007064%2F65f0f5476a71ccc405be16febdc86d18|číselník kanálů]]
*Vazba na **výstupní** [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/slu%C5%BEby/2021-01-12/#obsluzny-kanal|**obslužný kanál**]]
*technický název: kanal_vystup
*povinnost vyplnění: povinně
*datový typ: viz definice [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/slu%C5%BEby/2021-01-12/#vlastnost-typ-kanalu|typ obslužného kanálu]]
*omezení přípustných hodnot: používaný [[https://data.gov.cz/datov%C3%A1-sada?iri=https%3A%2F%2Fdata.gov.cz%2Fzdroj%2Fdatov%C3%A9-sady%2F00007064%2F65f0f5476a71ccc405be16febdc86d18|číselník kanálů]]
* **Čas zahájení**technický název: cas_zahajeni
* povinnost vyplnění: povinně
* datový typ a formát: viz definice [[https://ofn.gov.cz/z%C3%A1kladn%C3%AD-datov%C3%A9-typy/2020-07-01/#datum-a-%C4%8Das|Datum a čas]]
* **Čas ukončení**technický název: cas_ukonceni
* povinnost vyplnění: povinně
* datový typ a formát: viz definice [[https://ofn.gov.cz/z%C3%A1kladn%C3%AD-datov%C3%A9-typy/2020-07-01/#datum-a-%C4%8Das|Datum a čas]]
* Vazba na **etapy** v rámci transakce
* technický název: etapy
* povinnost vyplnění: nepovinné
* datový typ: seznam (pole) prvků dle datového typu Etapa (viz dále)
===== Související entita / datový typ: Etapa =====
//Vlastnosti/atributy://
* **Identifikátor/označení** etapy
* technický název: id
* povinnost vyplnění: povinně
* **datový typ: řetězec**
* **Název** etapy
* technický název: nazev
* povinnost vyplnění: povinně
* **datový typ: řetězec**
* **význam:** Lidsky čitelné/srozumitelné pojmenování etapy
* **Čas zahájení**
* technický název: cas
* povinnost vyplnění: povinně
* datový typ a formát: viz definice [[https://ofn.gov.cz/z%C3%A1kladn%C3%AD-datov%C3%A9-typy/2020-07-01/#datum-a-%C4%8Das|Datum a čas]]
* Vazba na [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/slu%C5%BEby/2021-01-12/#ukon-sluzby-verejne-spravy|**úkon služby veřejné správy**]]
* technický název: ukon
* povinnost vyplnění: nepovinně (jen pokud je k dispozici a dává smysl)
* datový typ: viz definice: [[https://ofn.gov.cz/registr-pr%C3%A1v-a-povinnost%C3%AD/slu%C5%BEby/2021-01-12/#vlastnost-identifikator-ukonu|**identifikátor úkonu**]]
===== Příklad obsahu XML souboru s 2 transakcemi =====
Jméno XML souboru musí mít vždy příponu .xml.
234/2022
1
schvaleno_3
2
00007064
A1046
S980
DATOVA_SCHRANKA
DATOVA_SCHRANKA
2022-05-13T09:00:00
2022-05-30T12:03:00
AB43D-32243
přijmutí DS, zavedení do spisovky
2022-05-13T09:00:00
AB43D-32244
posouzeni zadosti
2022-05-15T08:22:00
235/2022
1
schvaleno_3
2
00007064
A1046
S980
DATOVA_SCHRANKA
DATOVA_SCHRANKA
2022-05-13T09:00:00
2022-05-30T12:03:00
AB43D-32243
přijmutí DS, zavedení do spisovky
2022-05-13T09:00:00
AB43D-32244
posouzeni zadosti
2022-05-15T08:22:00
**XML schéma**
===== Příklad obsahu JSON souboru s 2 transakcemi =====
Jméno JSON souboru musí mít vždy příponu .json.
{
"transakce": [
{
"id": "234/2022",
"vysledek": "1",
"stav" : "schvaleno_3",
"spokojenost": "2",
"ovm": "00007064",
"agenda": "A1046",
"sluzba": "S980",
"kanal_vstup": "DATOVA_SCHRANKA",
"kanal_vystup": "DATOVA_SCHRANKA",
"cas_zahajeni": "2022-05-13T09:00:00",
"cas_ukonceni": "2022-05-30T12:03:00",
"etapy": {
"etapa": [
{
"id": "AB43D-32243",
"nazev": "přijmutí DS, zavedení do spisovky",
"cas": "2022-05-13T09:00:00",
"ukon": "U2343"
},
{
"id": "AB43D-32244",
"nazev": "posouzeni zadosti",
"cas": "2022-05-15T08:22:00",
"ukon": ""
}
]
}
},
{
"id": "235/2022",
"vysledek": "1",
"stav" : "schvaleno_3",
"spokojenost": "2",
"ovm": "00007064",
"agenda": "A1046",
"sluzba": "S980",
"kanal_vstup": "DATOVA_SCHRANKA",
"kanal_vystup": "DATOVA_SCHRANKA",
"cas_zahajeni": "2022-05-13T09:00:00",
"cas_ukonceni": "2022-05-30T12:03:00",
"etapy": {
"etapa": [
{
"id": "AB43D-32243",
"nazev": "přijmutí DS, zavedení do spisovky",
"cas": "2022-05-13T09:00:00",
"ukon": "U2343"
},
{
"id": "AB43D-32244",
"nazev": "posouzeni zadosti",
"cas": "2022-05-15T08:22:00",
"ukon": ""
}
]
}
}
]
}
===== Příklad obsahu CSV souboru s 2 transakcemi =====
Jméno CSV souboru musí mít vždy příponu .csv.
transakce/id,transakce/vysledek,transakce/stav,transakce/spokojenost,transakce/ovm,transakce/agenda,transakce/sluzba,transakce/kanal_vstup,transakce/kanal_vystup,transakce/cas_zahajeni,transakce/cas_ukonceni,transakce/etapy/etapa/0/id,transakce/etapy/etapa/0/nazev,transakce/etapy/etapa/0/cas,transakce/etapy/etapa/1/id,transakce/etapy/etapa/1/nazev,transakce/etapy/etapa/1/cas
234/2022,1,"schvaleno_3",2, 00007064,A1046,S980,DATOVA_SCHRANKA,DATOVA_SCHRANKA,2022-05-13T09:00:00,2022-05-30T12:03:00,AB43D-32243,"přijmutí DS, zavedení do spisovky",2022-05-13T09:00:00,AB43D-32244,posouzeni zadosti,2022-05-15T08:22:00
235/2022,1,"schvaleno_3",2, 00007064,A1046,S980,DATOVA_SCHRANKA,DATOVA_SCHRANKA,2022-05-13T09:00:00,2022-05-30T12:03:00,AB43D-32243,"přijmutí DS, zavedení do spisovky",2022-05-13T09:00:00,AB43D-32244,posouzeni zadosti,2022-05-15T08:22:00
===== Zasílání zdrojových dat =====
Snažili jsme se zvolit nejjednodušší způsob nahrávání, a to pro situaci, kdy budete soubory nahrávat ručně, tak pokud budete mít připraven automatický proces.
K nahrávání se použije oficiální utilita od Microsoftu **azcopy.**
Utilita je k dispozici pro všechny obvyklé platformy (Win32, Win64, Linux, MacOS)
Jeden z parametrů utility je BLOB SAS URL + token - neboli URL a auth token, kterym server pozná kam nahrát vaše data a že jsou to data od vás.
BLOB SAS URL + token v příkladu: **"[[https://ddgdata.blob.core.windows.net/test1?sp=rac&st=2022-05-10T12:55:50Z&se=2022-06-10T20:55:50Z&spr=https&sv=2020-08-04&sr=c&sig=XXX|https:%%//%%ddgdata.blob.core.windows.net/test1?sp=rac&st=2022-05-10T12:55:50Z&se=2022-06-10T20:55:50Z&spr=https&sv=2020-08-04&sr=c&sig=XXX]]**
V příkladu uvedeném níže je neplatný BLOB SAS URL + token, pouze jako příklad. Váš BLOB SAS token vám zašleme datovou schránkou na jméno. Poté ve scriptu pouze nahradíte tento příklad za váš BLOB SAS URL + token.
====Postup pro nahrání dat====
===Stáhnout utilitu azcopy===
[[https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10|https:%%//%%docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10]](stáhne se zip soubor azcopy_windows_amd64_10.14.1)
===Utilita azcopy.exe je uložena v adresáři c:\test===
===Pomocí dodaného klíče (každý resort bude mít svůj, odpovídající příslušnému containeru v rámci storage account) zkusím uploadovat textový soubor:===
C:\test>**azcopy copy "c:\test\hello.txt" "[[https://ddgdata.blob.core.windows.net/test1?sp=rac&st=2022-05-10T12:55:50Z&se=2022-06-10T20:55:50Z&spr=https&sv=2020-08-04&sr=c&sig=XXX|https:%%//%%ddgdata.blob.core.windows.net/test1?sp=rac&st=2022-05-10T12:55:50Z&se=2022-06-10T20:55:50Z&spr=https&sv=2020-08-04&sr=c&sig=XXX]]" --recursive=true**
INFO: Proxy detected: [[https://azcopyvnextrelease.blob.core.windows.net/|https:%%//%%azcopyvnextrelease.blob.core.windows.net]] -> %%//%%10.29.98.90:3128
INFO: Scanning...
INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support
Job 017888f3-0deb-674e-47f4-719ac8f654c6 has started
Log file is located at: C:\Users\mcervenka\.azcopy\017888f3-0deb-674e-47f4-719ac8f654c6.log
INFO: Proxy detected: [[https://ddgdata.blob.core.windows.net/|https:%%//%%ddgdata.blob.core.windows.net]] -> %%//%%10.29.98.90:3128
0.0 %, 0 Done, 0 Failed, 1 Pending, 0 Skipped, 1 Total,
Job 017888f3-0deb-674e-47f4-719ac8f654c6 summary
Elapsed Time (Minutes): 0.0336
Number of File Transfers: 1
Number of Folder Property Transfers: 0
Total Number of Transfers: 1
Number of Transfers Completed: 1
Number of Transfers Failed: 0
Number of Transfers Skipped: 0
TotalBytesTransferred: 19
Final Job Status: Completed
===Pomocí azcopy mohu zkontrolovat, zda je soubor uložen (pozn. při uploadu souboru stejného názvu dojde k přepsání původního souboru)===
C:\test>**azcopy list [[https://ddgdata.blob.core.windows.net/test1?sp=rac&st=2022-05-10T12:55:50Z&se=2022-06-10T20:55:50Z&spr=https&sv=2020-08-04&sr=c&sig=XXX|https:%%//%%ddgdata.blob.core.windows.net/test1?sp=rac&st=2022-05-10T12:55:50Z&se=2022-06-10T20:55:50Z&spr=https&sv=2020-08-04&sr=c&sig=XXX]]**
INFO: Proxy detected: [[https://azcopyvnextrelease.blob.core.windows.net/|https:%%//%%azcopyvnextrelease.blob.core.windows.net]] -> %%//%%10.29.98.90:3128
INFO: Proxy detected: [[https://ddgdata.blob.core.windows.net/|https:%%//%%ddgdata.blob.core.windows.net]] -> %%//%%10.29.98.90:3128
INFO: hello.txt; Content Length: 19.00 B