Typ záznamu ZS03_12
Rozhranie platí od roku 2020
Položky:
KÓD POLOŽKY | ID | POVINNÁ | DÁTOVÝ TYP | ROZSAH | OM | NÁZOV POLOŽKY | MODUL | RIADOK | STLPEC | RO |
---|---|---|---|---|---|---|---|---|---|---|
ROK_SPRAC | ÁNO | ÁNO | varchar | 4 | Rok spracovania | 0_ZS_03_12 | 1 | 1 | ||
MESIAC_SPRAC | ÁNO | ÁNO | varchar | 2 | Mesiac spracovania | 0_ZS_03_12 | 2 | 1 | ||
ICO | ÁNO | ÁNO | varchar | 8 | Identifikačné číslo organizácie | 0_ZS_03_12 | 3 | 1 | ||
IDENTIFZAR | ÁNO | ÁNO | varchar | 8 | Identifikátor zariadenia | 0_ZS_03_12 | 4 | 1 | ||
KUPLIECEBNA | integer | 2 | Kúpeľná liečebňa | 0_ZS_03_12 | 6 | 1 | ||||
ZOSTAVIL | varchar | 150 | Správu vyplnil (meno lekára) | 0_ZS_03_12 | 7 | 1 | ||||
varchar | 128 | 0_ZS_03_12 | 8 | 1 | ||||||
TELEFON | varchar | 35 | Číslo telefónu | 0_ZS_03_12 | 9 | 1 | ||||
STAROSTL_DRUH | ÁNO | varchar | 1 | Druh starostlivosti | 1 | 1 | 1 | |||
POIST_PLATCA | ÁNO | varchar | 2 | Poisťovňa / platca | 1 | 2 | 1 | |||
PACRC | ÁNO | varchar | 10 | Rodné číslo pacienta | 2 | 1 | 1 | |||
KOD_STAT | varchar | 3 | Kód krajiny trvalého bydliska | 2 | 7 | 1 | ||||
PRAC_STAV | varchar | 1 | Pracovný stav | 2 | 8 | 1 | ||||
PACOBEC_ST | varchar | 12 | Trvalé bydlisko pacienta | 2 | 5 | 1 | ||||
PB_OBEC_ST | varchar | 12 | Prechodné bydlisko pacienta | 2 | 6 | 1 | ||||
POC_DNI | integer | 3 | Dĺžka pobytu (v dňoch) | 3 | 1 | 1 | ||||
UHRADA_VZP | varchar | 1 | Úhrada z verejného zdravotného poistenia | 3 | 2 | 1 | ||||
INDIK_SKUPINA | varchar | 4 | Indikačná skupina | 3 | 3 | 1 | ||||
VYSL_LIECENIA | ÁNO | varchar | 1 | Výsledok liečenia | 3 | 5 | 1 | |||
PACDATVYK | ÁNO | date | Dátum ukončenia kúpeľnej liečby | 3 | 6 | 1 | ||||
ROK_UKONCENIA | varchar | 4 | Rok ukončenia kúpeľnej liečby | 3 | 7 | 1 | ÁNO | |||
PACDATNAR | date | Dátum narodenia pacienta | 2 | 3 | 1 | ÁNO | ||||
PACVEK | integer | 3 | Vek pacienta | 2 | 4 | 1 | ÁNO | |||
PACPOHLAVIE | varchar | 1 | Pohlavie pacienta | 2 | 2 | 1 | ÁNO | |||
ZARIADENIE_NAZOV | varchar | 150 | Názov zariadenia | 0_ZS_03_12 | 5 | 1 | ÁNO | |||
DIAGNOZA_5 | varchar | 5 | Diagnóza_5 | 3 | 4 | 1 | ||||
XMLHLASENIE_ID | varchar | 256 | Identifikátor hlásenia/výkazu podľa SJ | 90 | 1 | 1 | ||||
XMLHLASENIE_VER | integer | 3 | Verzia hlásenia/výkazu podľa SJ | 90 | 2 | 1 |
Legenda k tabuľke Položky:
Názov stĺpca | Popis |
---|---|
KÓD POLOŽKY | Kód položky |
ID | Označenie identifikačnej položky (ak má príznak ÁNO, je identifikačná) |
POVINNÁ | Označenie povinnej položky (ak má príznak ÁNO, je povinná) |
DÁTOVÝ TYP | Formát položky |
ROZSAH | Číselný rozsah (počet znakov) položky |
OM | Označenie otvoreného modulu, v ktorom sa daná položka nachádza |
NÁZOV POLOŽKY | Názov položky |
MODUL | Číslo modulu, v ktorom sa daná položka nachádza vo web formulári |
RIADOK | číslo riadku daného modulu, v ktorom sa položka nachádza vo web formulári |
STĹPEC | Číslo stĺpca daného modulu, v ktorom sa položka nachádza vo web formulári |
RO | Označenie dopočítanej položky – nie je súčasťou XSD schémy, ale sa priamo dopočítava v ISZI (ak má príznak ÁNO je dopočítaná) |
Kontroly:
PORADIE | TEXT OZNAMU | LOGICKÝ VÝRAZ | MODUL | INDEXY | PREMENNÉ | KONTEXT | VAR |
---|---|---|---|---|---|---|---|
100 | "Ak položka Druh starostlivosti = '1, 2, 5, 7', potom vek musí byť >= 18. " | CHECK (IF (NOT ISNULL(M1R1S1) AND M1R1S1== '1' OR M1R1S1== '2' OR M1R1S1== '5' OR M1R1S1 == '7', M2R4S1 >= 18, TRUE)) | 1 | M2R4S1 | |||
109 | "Ak položka Platca = '44, 55, 66, 70, 75', potom vek musí byť >= 18." | CHECK(IF(((NOT ISNULL(M1R2S1)) AND ((M1R2S1 == '44') OR (M1R2S1 == '55') OR (M1R2S1== '66') OR (M1R2S1 == '70') OR (M1R2S1 == '75'))), ((NOT ISNULL(M2R4S1)) AND (M2R4S1 >= 18)), TRUE)) | 1 | M2R4S1 | |||
110 | "Ak položka Poisťovňa/platca = '88', potom položka Druh starostlivosti môže byť len '2', '3', '5' alebo '8' ." | CHECK(IF(NOT ISNULL(M1R2S1) AND M1R2S1 == '88', NOT ISNULL(M1R1S1) AND M1R1S1=='2' OR M1R1S1=='3' OR M1R1S1=='5' OR M1R1S1=='8', TRUE)) | 1 | M1R1S1 | |||
111 | "Ak položka Poisťovňa/platca = '66', potom položka Druh starostlivosti musí byť = '7'." | CHECK ( IF ( NOT ISNULL(R2S1) AND R2S1== '66', NOT ISNULL(R1S1) AND R1S1== '7', TRUE) ) | 1 | R1S1 | |||
112 | "'Ak položka Platca = '99', potom položka Druh starostlivosti musí byť = '4' alebo '6'" | CHECK(IF(((NOT ISNULL(M1R2S1)) AND (M1R2S1 == '99')), ((NOT ISNULL(M1R1S1)) AND ((M1R1S1=='4')OR(M1R1S1=='6'))), TRUE)) | 1 | M1R1S1 | |||
200 | "Kód krajiny trvalého pobytu nesmie byť prázdny!" | CHECK(NOT ISNULL(M2R7S1)) | 2 | M2R7S1 | |||
201 | "Položka Pracovný stav môže mať kód 0 - dieťa/žiak/študent len u občanov s trvalým bydliskom v SR vo veku do 30 rokov!" | CHECK ( IF( (NOT ISNULL(M2R8S1)) AND (M2R8S1 == '0' AND M2R7S1==703), ((NOT ISNULL(M2R4S1)) AND (M2R4S1 <= 29)), TRUE)) | 2 | M2R8S1 | |||
202 | "Vek pacienta musí byť vyšší ako 0 rokov!" | CHECK( NOT ISNULL(M2R4S1) AND M2R4S1<>777) | 2 | M2R4S1 | |||
203 | "Položka pracovný stav musí byť vyplnená!" | CHECK (NOT ISNULL (M2R8S1)) | 2 | M2R8S1 | |||
204 | "Položka Pracovný stav môže mať kód 1 - pravidelne zamestnaný/á len u občanov s trvalým bydliskom v SR vo veku od 16 do 70 rokov." | CHECK(IF(M2R7S1=='703' AND NOT ISNULL(M2R8S1) AND M2R8S1=='1', 16 <= (M2R4S1) AND (M2R4S1)<70, TRUE)) | 2 | M2R8S1 | |||
205 | "Rodné číslo pacienta je nekorektne zadané - vek pacienta nie je dopočítaný!" | CHECK (NOT ISNULL (M2R4S1)) | 2 | M2R4S1 | |||
206 | "Pozor! Treba overiť, či vek pacienta je naozaj nad 100 rokov!" | CHECK(IF(R4S1<>'999' AND R4S1<>'777' AND NOT ISNULL(M2R4S1), (M2R4S1<>999) AND M2R4S1<100 , TRUE)) | 2 | M2R4S1 | ÁNO | ||
208 | "Kód obce trvalého bydliska musí byť vždy vyplnený! Ak tento údaj nie je známy, uvediete kód 'SK0000000000' - u občana s trvalým bydliskom v SR alebo 'SKZZZZZZZZZZ' - u občana, ktorý nemá v SR trvalé bydlisko." | CHECK (NOT ISNULL(M2R5S1)) | 2 | M2R5S1 | |||
209 | "Ak kód obce trvalého bydliska je ´SKZZZZZZZZZZ´, potom pacientom je občan, ktorý nemá v SR trvalé bydlisko /kód krajiny je rôzny od ´703´/." | CHECK(IF(M2R5S1=='SKZZZZZZZZZZ', M2R7S1<>'703', TRUE)) | 2 | M2R5S1;M2R7S1 | |||
210 | "'Ak položka Kód krajiny = '703', potom položka poisťovňa Platca = '88,99,24,25,27,44,55,70,75'" | CHECK(IF(((NOT ISNULL(M2R7S1)) AND (M2R7S1 == '703')), ((NOT ISNULL(M1R2S1)) AND ((M1R2S1 == '88') OR (M1R2S1 == '99') OR (M1R2S1 == '24') OR (M1R2S1 == '25') OR (M1R2S1 == '27') OR (M1R2S1 == '66') OR (M1R2S1 == '44') OR (M1R2S1 == '55') OR (M1R2S1 == '70') OR (M1R2S1 == '75'))), TRUE)) | 2 | M1R2S1 | |||
211 | "Kód trvalého bydliska ´SK0000000000´ - neznáme, môže mať len občan s trvalým bydliskom v SR /kód krajiny je ´703´/." | CHECK(IF(M2R5S1=='SK0000000000', M2R7S1=='703', TRUE)) | 2 | M2R5S1; M2R7S1 | |||
212 | "Ak je pacientom občan, ktorý nemá v SR trvalé bydlisko /kód krajiny je rôzny od ´703´/, potom kód trvalého bydliska musí byť ´SKZZZZZZZZZZ´." | CHECK (IF (M2R7S1<>'703', M2R5S1=='SKZZZZZZZZZZ', TRUE)) | 2 | M2R5S1 | |||
213 | "Položka Pracovný stav môže mať kód 5 - dôchodca/kyňa/- starobný/á/ len u občanov s trvalým bydliskom v SR vo veku nad 45 rokov!" | CHECK ( IF (M2R8S1 == '5' AND M2R7S1==703, M2R4S1 >= 45, TRUE)) | 2 | M2R8S1 | |||
217 | "Ak je pacientom občan s trvalým bydliskom v SR a položka Vek pacienta >= 70 rokov, potom položka Pracovný stav musí mať kód 5 - dôchodca/kyňa/ starobný/á/. Ak tento údaj nie je známy, uvediete kód ´9´." | CHECK ( IF ( M2R4S1 >= 70 AND M2R4S1 <>'999' AND M2R7S1== 703, M2R8S1 == '5' OR M2R8S1== '9', TRUE)) | 2 | M2R8S1 | |||
218 | "Položka Pracovný stav môže mať kód 4 - dôchodca/kyňa/ invalidný/á/ len u občanov vo veku od 18 do 70 rokov!" | CHECK (IF (M2R8S1=='4', 18 <= (M2R4S1) AND (M2R4S1) < 70, TRUE)) | 2 | M2R8S1 | |||
219 | "Ak je pacientom občan s trvalým bydliskom v SR a položka Vek pacienta < 16 rokov, potom položka Pracovný stav musí mať kód 0 - dieťa/žiak/študent!" | CHECK (IF (M2R4S1 < 16 AND M2R7S1==703, M2R8S1==0, TRUE)) | 2 | M2R8S1 | |||
220 | "Ak je pacientom občan, ktorý nemá v SR trvalé bydlisko a položka Vek pacienta < 16 rokov, potom položka Pracovný stav by mala mať kód 0 - dieťa/žiak/študent!" | CHECK (IF (M2R4S1 < 16 AND M2R7S1 <> 703, M2R8S1==0, TRUE)) | 2 | M2R8S1 | ÁNO | ||
300 | "Overiť, či je dĺžka pobytu nad 100 dní!" | CHECK(M3R1S1<100) | 3 | M3R1S1 | ÁNO | ||
301 | "'Ak položka Indikačná skupina = <2101-3005> potom položka Vek musí byť < 18" | Check(IF(((NOT ISNULL(M3R3S1)) AND ((M3R3S1 >= '2101') AND (M3R3S1 <= '3005'))) , ((NOT ISNULL(M2R4S1)) AND (M2R4S1 < 18)), TRUE)) | 3 | M2R4S1 | |||
302 | "'Dátum ukončenia liečby nesmie byť prázdny!" | CHECK((NOT ISNULL(M3R6S1))) | 3 | M3R6S1 | |||
303 | "Ak je dĺžka pobytu 1 deň, výsledok liečenia nemôže byť 1(=zdravotný stav zlepšený) !" | CHECK( IF(M3R1S1==1, M3R5S1<>1, TRUE )) | 3 | M3R5S1 | |||
304 | "Ak položka Druh starostlivosti má kódy '4', '6' alebo '7', potom položka Úhrada z verejného zdravotného poistenia sa nevypĺňa!" | Check( IF (NOT ISNULL(M1R1S1) AND M1R1S1== '7' OR M1R1S1== '4' OR M1R1S1=='6', ISNULL(M3R2S1), TRUE)) | 3 | M3R2S1 | |||
305 | "'Ak položka Druh starostlivosti = '7', potom položka Diagnóza musí zostať prázdna!" | Check (IF (NOT ISNULL(M1R1S1) AND M1R1S1 == '7', ISNULL(M3R4S1) ,TRUE ) ) | 3 | M3R4S1 | |||
306 | "Ak položka Druh starostlivosti <> '7', potom položka Diagnóza nesmie zostať prázdna!" | Check ( IF ( ISNULL(R4S1), ( NOT ISNULL(M1R1S1) AND M1R1S1 == 7),TRUE) ) | 3 | M3R4S1 | |||
307 | "Ak položka Druh starostlivosti = '3' alebo '8' a pacientom je občan s trvalým bydliskom v SR, potom položka Pracovný stav = '0' a Indikačná skupina = <2101-3005> a Vek < 18." | CHECK (IF (((NOT ISNULL(M1R1S1)) AND ((M1R1S1 == '3') OR (M1R1S1 == '8')) AND M2R7S1==703),((NOT ISNULL(M2R8S1)) AND (M2R8S1 == '0') AND ((M3R3S1 >= '2101') AND (M3R3S1 <= '3005')) AND (NOT ISNULL(M2R4S1) AND (M2R4S1 < 18))), TRUE)) | 3 | M1R1S1 | |||
308 | "'Ak položka Druh starostlivosti = '7', potom položka Indikačná skupina musí zostať prázdna!" | Check(IF(((NOT ISNULL(M1R1S1)) AND (M1R1S1 == '7')),(ISNULL(M3R3S1)),TRUE)) | 3 | M3R3S1 | |||
309 | "Ak položka Druh starostlivosti <> '7', potom položka Indikačná skupina nesmie zostať prázdna!" | Check (IF (((NOT ISNULL(M1R1S1)) AND (M1R1S1 <> '7')), (NOT ISNULL(M3R3S1)), TRUE)) | 3 | M3R3S1 | |||
311 | "'Ak položka Druh starostlivosti = '4','6' a Platca = '99' potom položka Úhrada z verejného zdravotného poistenia musí byť prázdna." | Check(IF((((M1R1S1 == '4') OR (M1R1S1 == '6')) AND (M1R2S1 == '99')),(ISNULL(M3R2S1)), TRUE)) | 3 | M3R2S1 | |||
312 | "Medzimodulová kontrola: Rok spracovania sa musí rovnať roku ukončenia kúpeľnej liečby. /M3R7=M0_ZS_03_12R1/" | CHECK(M3R7S1==M0_ZS_03_12R1S1) | 3 | M0_ZS_03_12R1S1 | |||
313 | "Dĺžka pobytu nemôže byť 0!" | CHECK(M3R1S1>0) | 3 | M3R1S1 | |||
314 | "Položka Dĺžka pobytu nesmie byť prázdna!" | CHECK(NOT ISNULL(M3R1S1)) | 3 | M3R1S1 | |||
315 | "'Ak položka Indikačná skupina = <0101-1210> potom položka Vek musí byť >= 18" | Check(IF(((NOT ISNULL(M3R3S1)) AND ((M3R3S1 >= '0101') AND (M3R3S1 <= '1210'))) , ((NOT ISNULL(M2R4S1)) AND (M2R4S1 >= 18)), TRUE)) | 3 | M2R4S1 | |||
316 | "Ak položka Druh starostlivosti má kód '7', potom položka Výsledok liečenia musí byť '9'." | Check ( IF ( NOT ISNULL(M1R1S1) AND M1R1S1 == '7', NOT ISNULL(M3R5S1) AND M3R5S1=='9', TRUE)) | 3 | M3R5S1 | |||
317 | "Ak položka Indikačná skupina = <2501-2509>, potom položka Vek musí byť v intervale od 3 do 18 rokov." | CHECK (IF(((NOT ISNULL(M3R3S1)) AND ((M3R3S1 >= '2501') AND (M3R3S1 <= '2509'))) , ((NOT ISNULL(M2R4S1)) AND (M2R4S1 >= 3) AND (M2R4S1 <= 18)), TRUE)) | 3 | M2R4S1 | ÁNO | ||
318 | Modul 3: Kombinácia údajov '%s' a '%s' na riadku R2 a R3, Úhrada z verejného zdravotného poistenia a Indikačná skupina, nie je povolená. /INDIK_SKUP, UHRADA_VZP/. | check(getFunction("validations/ZS03_12/Check_UHRADA_VZP_and_INDIK_SKUP_2019.js")( getValueCM("3", "UHRADA_VZP", null), getValueCM("3", "INDIK_SKUPINA", null) ), msgText(getValueCM("3", "UHRADA_VZP", "?"), getValueCM("3", "INDIK_SKUPINA", "????")), [{moduleItem: "UHRADA_VZP"}, {moduleItem: "INDIK_SKUPINA"}]) | 3 | R2S1,R3S1 | |||
600 | Modul 2: Overte korektnosť rodného čísla pacienta na preklepy na riadku R1. /PACRC/. So zle uvedeným rodným číslom súvisí aj možnosť zlého dopočítania dátumu narodenia, veku, či pohlavia pacienta. | check(getFunction("common/IsRCCorrect_v2.js")("0_ZS_03_12", "ROK_SPRAC", "2", "PACRC") , msgText(), [{moduleItem: "PACRC"}]) | 2 | R1S1 | ÁNO | ||
900 | "Položka Úhrada z verejného zdravotného poistenia môže zostať prázdna len vtedy, ak Poisťovňa/platca má kód 66 alebo 99!" | CHECK(IF(ISNULL(M3R2S1), M1R2S1=='66' OR M1R2S1=='99', TRUE)) | M3R2S1; M1R2S1 |
Vzájomné dynamické obmedzenia položiek (množina povolených hodnôt obmedzovanej položky je daná hodnotou obmedzujúcej položky):
Obmedzujúca položka | Obmedzujúca hodnota | Obmedzovaná položka | Povolená hodnota |
---|---|---|---|
STAROSTL_DRUH | 2 | POIST_PLATCA | 24 |
STAROSTL_DRUH | 3 | POIST_PLATCA | 24 |
STAROSTL_DRUH | 5 | POIST_PLATCA | 24 |
STAROSTL_DRUH | 8 | POIST_PLATCA | 24 |
STAROSTL_DRUH | 2 | POIST_PLATCA | 25 |
STAROSTL_DRUH | 3 | POIST_PLATCA | 25 |
STAROSTL_DRUH | 5 | POIST_PLATCA | 25 |
STAROSTL_DRUH | 8 | POIST_PLATCA | 25 |
STAROSTL_DRUH | 2 | POIST_PLATCA | 27 |
STAROSTL_DRUH | 3 | POIST_PLATCA | 27 |
STAROSTL_DRUH | 5 | POIST_PLATCA | 27 |
STAROSTL_DRUH | 8 | POIST_PLATCA | 27 |
STAROSTL_DRUH | 1 | POIST_PLATCA | 44 |
STAROSTL_DRUH | 1 | POIST_PLATCA | 55 |
STAROSTL_DRUH | 7 | POIST_PLATCA | 66 |
STAROSTL_DRUH | 1 | POIST_PLATCA | 70 |
STAROSTL_DRUH | 1 | POIST_PLATCA | 75 |
STAROSTL_DRUH | 2 | POIST_PLATCA | 88 |
STAROSTL_DRUH | 3 | POIST_PLATCA | 88 |
STAROSTL_DRUH | 5 | POIST_PLATCA | 88 |
STAROSTL_DRUH | 8 | POIST_PLATCA | 88 |
STAROSTL_DRUH | 4 | POIST_PLATCA | 99 |
STAROSTL_DRUH | 6 | POIST_PLATCA | 99 |