Datový standard DS4 - základní podmínky pro validaci

 

 

Tento dokument obsahuje výpis z pokynů a podmínek, které jsou součástí textového popisu bloků datového standardu DS4, ale nejsou vyjádřeny formalizovaně pomocí pomoci XML Schema 1.0 (https://www.w3.org/2001/XMLSchema)

 

Předpokládá se v něm, že podmínky zapsané v XML souborech budou nejprve zkontrolovány automaticky parserem, který načítá XML soubor datového standardu verze 4.

 

Další obecné podmínky a požadavky pro validaci datových souborů DS4

- podporovat DS4 od verze 4.19.01 výše

- podporovat NČLP od verze 2.68.01 výše

- podporovat XML schémata pro DS4 od verze 4.19.01 a výše

- hlídat vztah mezi číslem verze DS a číslem verze NČLP

- hlídat vztah mezi číslem verze DS a čísly verzí použitých schémat

- kontrolovat atributy navázané na číselníky - zda uvedená hodnota existuje v číselníku příslušné verze, u číselníků NCLPPOL a NCLPSKAL upozornit, pokud je použitá hodnota neaktuální nebo obsoletní

K výše uváděnému viz též: "Seznam verzí DS4 a jim odpovídající verze NČLP a XSD schémat".

 

 

Chybové hlášky validačního nástroje by měly obsahovat identifikaci místa, kde chyba nastala (např. číslo řádku a sloupce ve validovaném souboru), závažnost chyby a uživatelsky srozumitelný popis chyby, ke které došlo (lze odvodit z obsahu sloupce "Podmínka")

 

 

Popis obsahu sloupců níže uvedených tabulek

 

#

Datum

Podmínka

Level

Profil

 

 

# - pořadové číslo podmínky v rámci tabulky

Datum - datum přidání podmínky do tabulky nebo datum poslední změny podmínky

Podmínka - formalizované vyjádření podmínky

Level - závažnost chyby, pokud není podmínka splněna

 

Tabulka závažnosti chyby (sloupec Level):

           

Level

Závažnost chyby

9

Kritická chyba

7

Velmi závažná chyba

5

Podstatná chyba

3

Varování

1

Nepodstatný nedostatek

 

 

Profil - pokud je "profil" vyplněn, vztahuje se  podmínka pouze na specifickou oblast DS4

 

Profil

Název profilu

PS

Patient Summary

 

 

Seznam bloků, pro které jsou nyní zpracovány podmínky pro validaci

(stav k upgrade DS 4.19.03 - 12/2019)

 

*a

*autor

*dat_du

*dat_xx

*ku_z_lab

*prepocet

*sci

*skala, skala_lok

*vrac

*vrav

*vrf

*vrk

*vrkpa

*vrn

*vrs_h

 

 

Výpisy z pokynů jednotlivých datových bloků - je k dispozici vždy pod tabulkou příslušného bloku 

 

*a

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

"typ" musí být z číselníku "TAB_TA"

7

2

2019-11-13

pokud je vyplněn "ind_kont", musí mít hodnotu "K"

7

3

2019-11-13

pokud "ind_kont" = "K", pak "typ" musí být 1 nebo 2

3

4

2019-11-13

pokud "typ" = 1 nebo 2, pak nesmí být vyplněn "o_jmeno", "o_prijmeni", "o_titul_pred", "o_titul_za"

3

5

2019-11-13

pokud "stat" = "CZE" nebo prázdný, musí mít "psc" délku 5 znaků a nesmí obsahovat mezeru

3

6

2019-11-13

pokud "typ" není "3", nesmí být vyplněn "vztah"

3

7

2019-11-13

pokud "typ" není "K", nesmí být vyplněn "k_osoba_klic"

3

8

2019-11-13

pokud je vyplněn "k_osoba_klic", musí být z číselníku "EVZTAH", položka "klic"

5

PS

9

2019-12-19

pokud "typ" není "K" nebo není vyplněn "k_osoba_klic", nesmí být vyplněn "k_osoba_text"

3

PS

10

2019-11-13

pokud je vyplněn "k_osoba_text", musí být z číselníku "EVZTAH", položka "nazev"

5

PS

11

2019-12-19

pokud "typ" není "K" nebo není vyplněn "k_osoba_klic", nesmí být vyplněn "k_osoba_pozn"

3

PS

12

2019-11-13

pokud "typ" není "K", nesmí být vyplněn "k_osoba_typ"

3

PS

13

2019-11-13

pokud "typ" není 4, G, M nebo C, pak nesmí být vyplněn "icl", "id_zp"

3

 

 

*autor

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

pokud je vyplněn "id_zp", musí to být řetězec číslic délky 9 nebo 10 znaků

5

2

2019-11-13

pokud je vyplněn “odbornost“, musí být z číselníku VZP “ODBORN“, položka “kod“

5

3

2019-11-13

pokud je vyplněn “role_klic“, musí být z číselníku“EZDRROLE“, položka “klic“

5

PS

4

2019-11-13

pokud je vyplněn“role_text“, musí být z číselníku“EZDRROLE“, položka “nazev“

5

PS

 

 

*dat_du

 

#

Datum

Podmínka

Level

Profil

1

2019-12-19

hodnota elementu musí být datum ve formátu odpovídající hodnotě atributu "format" - viz format - pokyny

7

2

2019-12-19

pokud je vyplněn "format" musí být z množiny {"D", "DT", "DTS", "MR", "R"}

7

3

2019-12-19

“typ“ musí být z číselníku “LVTZDCUN“, položka “klic“

5

 

 

*dat_xx

 

#

Datum

Podmínka

Level

Profil

1

2019-12-19

hodnota elementu musí být datum ve formátu odpovídající hodnotě atributu "format" - viz format - pokyny

7

2

2019-11-13

pokud je vyplněn "format" musí být z množiny {"D", "DT", "DTS", "MR", "R"}

7

 

 

*ku_z_lab

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

pokud "typ_cispol" = "N", pak “klic_nclp“ musí být z číselníku “NCLPPOL“, položka “klic“

7

2

2019-11-13

pokud "typ_cispol" = "L", pak "klic_nclp" musí být v rozmezí "25000" - "49999"

7

 

3

2019-11-13

pokud je vyplněn “nclp_verze“, musí být z číselníku “V_NCLP“, položka “klic“

5

4

2019-12-19

položka NČLP musí být platná a aktuální (ve verzi NČLP, která je uvedena ve validovaném souboru) - v záznamu z číselníku “NCLPPOL“ pro klíč "klic_nclp" musí být "aktual" = 1 (2=obsoletní, 3=neaktuální) a "dat_prov" v elementu "ku_z" musí být v intervalu "plati_od", "plati_do" (pokud není "plati_do" zadáno, musí být "dat_prov" v elementu "ku_z" >= "plati_od")

Podmínku je třeba vyhodnotit s ohledem na verzi NČLP - viz "nclp_verze"

3

5

2019-11-13

pokud je vyplněn “nclp_verze“, měl by být "klic_nclp" v některém z intervalů uvedených v číselníku "V_NCLP", položka "rozsah_kl" (pokud ne, mělo by se objevit varování o použití položky z lokálního rozšíření NČLP)

3

6

2019-11-13

pokud je vyplněn “klic_nclp_o“, musí být z číselníku “NCLPPOL“, položka “klic“

5

7

2019-11-13

pokud je vyplněn "klic_nclp_o", neměl by být v rozmezí "25000" - "49999" (pokud ano, mělo by se objevit varování o použití položky z lokálního rozšíření NČLP)

3

8

2019-11-13

"typ_cispol" by neměl mít hodnotu "L" (pokud ano, mělo by se objevit varování o použití položky z lokálního rozšíření NČLP)

3

9

2019-11-13

“typpol_fh“ musí být z číselníku “NCLPFH“, položka “klic“

5

10

2019-11-13

"typpol_fh" by měl být shodný s hodnotou atributu "formh" v číselníku NCLPPOL (pro záznam s klíčem “klic_nclp“)

3

11

2019-11-13

pokud je vyplněn “spec_proc“, musí být z číselníku “NCLPPROC“, položka “klic“

5

12

2019-11-13

pokud je vyplněn “kolize“, musí být z číselníku “NCLPMTV“, položka “klico“

5

13

2019-11-13

pokud je vyplněn “syst_klic“, musí být z číselníku “NCLPSYST“, položka “klic“

7

14

2019-11-13

pokud je vyplněn “komp_klic“, musí být z číselníku “NCLPKOMP“, položka “klic“

7

15

2019-11-13

- pokud je "typpol_fh" z množiny "0,1,2,3,4,5,6, T, E", musí ku_z_lab obsahovat blok "vrn"

- pokud je "typpol_fh" z množiny "F,FR ", musí ku_z_lab obsahovat blok "vrf"

- pokud je "typpol_fh" z množiny "S,SR ", musí ku_z_lab obsahovat blok "vrs"

- pokud je "typpol_fh" = "X", musí ku_z_lab obsahovat blok "vrx"

- pokud je "typpol_fh" = "B", musí ku_z_lab obsahovat blok "vrb"

- pokud je "typpol_fh" = "R", musí ku_z_lab obsahovat blok "vrr"

- pokud je "typpol_fh" = "P", musí ku_z_lab obsahovat blok "vrp"

- pokud je "typpol_fh" = "D", musí ku_z_lab obsahovat blok "vrd"

- pokud je "typpol_fh" = "K", musí ku_z_lab obsahovat blok "vrk"

- pokud je "typpol_fh" = "O", musí ku_z_lab obsahovat blok "vro"

- pokud je "typpol_fh" = "Z", musí ku_z_lab obsahovat blok "vrz"

7

 

 

 

*prepocet

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“prepfak“ musí být číslo, pokud je v desetinném tvaru, musí být desetinný oddělovač čárka

7

2

2019-12-19

“typpol_fh_lclp“ musí být z číselníku “NCLPFH“, položka “klic“

5

3

2019-11-13

"jednotka_lclp" by měla být z číselníku NCLPJEDN, položka "n20l" (případně "n20")

3

 

 

*sci

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“klic_nclp“ musí být z číselníku “NCLPPOL“, položka “klic“, navíc položka "vznik" v číselníku “NCLPPOL“ musí mít hodnotu "Q"

7

 

 

*skala, skala_lok

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“typ“ musí být z číselníku “LVVIST“, položka “klic“

5

2

2019-11-13

pokud je vyplněn “atribut“, musí být z číselníku “LVVISA“, položka “klic“

5

3

2019-11-13

pokud je vyplněn “udalost“, musí být z číselníku “NCLPUVIS“, položka “klic“

5

4

2019-11-13

pokud je vyplněn “algoritmus“, musí být z číselníku “NCLPAVIS“, položka “klic“

5

5

2019-11-13

pokud je vyplněn “atribut“ a "atribut = U", musí být vyplněna "udalost"

5

 

 

 

*vrac

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“latka_kod“, musí být z číselníku “NCMPATMP“, položka “klic“

5

 

 

*vrav

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“vl_kod“, musí být z číselníku “NCMPAGV“, položka “klic“

5

 

 

*vrf

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“hodnota_kod“, musí být z číselníku “NCLPMTV“, položka “klico“

5

 

 

*vrk

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

pokud je vyplněn “spec_kod“, musí být z číselníku “NCMPSPM“, položka “klic“

5

 

 

*vrkpa

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“agens_kod“, musí být z číselníku “NCMPAG“, položka “klic“

5

 

 

*vrn

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“formrm“, musí být z číselníku “NCLPFRM", položka “klic“

5

2

2019-11-13

"jednotka" by měla být shodná s jednotkou v NČLP (v nadřazeném bloku ku_z_lab zjistit "klic_nclp", ten najít v čís. NCLPPOL a zjistit hodnotu atributu "njedn")

3

 

 

*vrs_h

 

#

Datum

Podmínka

Level

Profil

1

2019-11-13

“hodnota1_klic“ musí být z číselníku “NCLPMTV“, položka “klico“

5

2

2019-11-13

“hodnota2_cislo“ musí být číslo, pokud je v desetinném tvaru, musí být desetinný oddělovač čárka

5

3

2019-11-13

pokud je vyplněn “hodnota2_klic“, musí být z číselníku “NCLPMTV“, položka “klico“

5