====== 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