Rozhranie: L01 Štvrťročný výkaz o humánnych liekoch, ZP a DP - voľnopredajné

Typ záznamu L01

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_L01 1 1  
MESIAC_SPRAC ÁNO ÁNO varchar 2   Mesiac spracovania 0_L01 2 1  
ICO ÁNO ÁNO varchar 8   Identifikačné číslo organizácie 0_L01 3 1  
IDENTIFZAR ÁNO ÁNO varchar 8   Identifikátor zariadenia 0_L01 4 1  
NAZZAR   ÁNO varchar 150   Názov zariadenia 0_L01 5 1  
PRIEZVISKO_ZOST     varchar 60   Priezvisko zostavovateľa výkazu 0_L01 7 1  
TEL     varchar 35   Telefónne číslo zostavovateľa (vrátane klapky) 0_L01 8 1  
EMAIL     varchar 128   e-mail zostavovateľa 0_L01 9 1  
POZNAMKA     varchar 256   Poznámka 0_L01 10 1  
AUTOR_XML     varchar 50   Autor xml 0_L01 11 1  
PRODUKT   ÁNO varchar 3   Typ produktu 0_L01 12 1  
SIDZAR_OBEC_KOD_ST   ÁNO varchar 12   Obec zariadenia 0_L01 6 1  
KOD_PRODUKT   ÁNO varchar 6 OL01_4401 Kód produktu 4401   1  
TYP_VYDAJ   ÁNO varchar 1 OL01_4401 Typ výdaja 4401   2  
MNOZSTVO   ÁNO float 3 OL01_4401 Množstvo lieku v baleniach 4401   4  
UHRADA_PAC   ÁNO float 2 OL01_4401 Úhrada 4401   5  
STAT_VYD   ÁNO varchar 3 OL01_4401 Štát vystavenia receptu 4401   3  

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
1 "Kontrola modulu 4401: Pri typoch výdaja A, B, C, V, N musí byť Kód štátu /STAT_VYD/ 898. /R"+i+"S1/ " FORCHECK (i, IF ((ORMulti(j, TRUE)) , ( IF (RiS2=='A' OR RiS2=='B' OR RiS2=='C' OR RiS2=='V' OR RiS2=='N' , RiS3=='898' , TRUE)), TRUE)) 4401 i={1-PR}; j={1-PR}   RiS3  
2 "Varovanie modulu 4401: Pri type výdaja D musí byť Kód štátu /STAT_VYD/ mimo 898. /R"+i+"S1/ " FORCHECK (i, IF ((ORMulti(j, TRUE)) , ( IF (RiS2=='D' , RiS3<>'898' , TRUE)), TRUE)) 4401 i={1-PR}; j={1-PR}   RiS3 ÁNO
3 Varovanie modulu 4401: Kód lieku /KOD_PRODUKT/, sa nenachádza v číselníku. /R%dS1/ forCheck(function(riadok) { return getFunction("validations/L01/exprKonKodLieku.js")( riadok.getValue("KOD_PRODUKT", null), getValueCM("0_L01", "PRODUKT", null), "L" )}, function(riadok) { return msgText(riadok.getIndex())}, function(riadok) { return [{rowIndex: riadok.getIndex(), moduleItem: "KOD_PRODUKT"}] }) 4401 i={1-PR}; j={1-PR}   RiS1 ÁNO
4 Varovanie modulu 4401: Kód dietetickej potraviny /KOD_PRODUKT/, sa nenachádza v číselníku. /R%dS1/ forCheck(function(riadok) { return getFunction("validations/L01/exprKonKodLieku.js")( riadok.getValue("KOD_PRODUKT", null), getValueCM("0_L01", "PRODUKT", null), "DP" )}, function(riadok) { return msgText(riadok.getIndex())}, function(riadok) { return [{rowIndex: riadok.getIndex(), moduleItem: "KOD_PRODUKT"}] }) 4401 i={1-PR}; j={1-PR}   RiS1 ÁNO
5 Varovanie modulu 4401: Kód zdravotníckej pomôcky /KOD_PRODUKT/, sa nenachádza v číselníku. /R%dS1/ forCheck(function(riadok) { return getFunction("validations/L01/exprKonKodLieku.js")( riadok.getValue("KOD_PRODUKT", null), getValueCM("0_L01", "PRODUKT", null), "ZP" )}, function(riadok) { return msgText(riadok.getIndex())}, function(riadok) { return [{rowIndex: riadok.getIndex(), moduleItem: "KOD_PRODUKT"}] }) 4401 i={1-PR}; j={1-PR}   RiS1 ÁNO
6 "Modul 4401: Množstvo lieku 'Wobenzym, tbl 800' je pravdepodobne nesprávne, musí byť zadané ako časť balenia. /napr.: 20 tbl = 0,025 - R"+i+"S1/ Cena balenia=<90;130>. Pomer UHRADA_PAC / MNOZSTVO = <90;130> " FORCHECK (i, IF ((ORMulti(j, TRUE)) , ( IF ((RiS1=='C96406') , (RiS5 / RiS4) <=130 AND (RiS5 / RiS4) >=90 , TRUE)), TRUE)) 4401 i={1-PR}; j={1-PR}   RiS1 ÁNO
7 "Pri dietetickej potravine DP sa kód zdravotníckej pomôcky musí začínať 'D' /KOD_PRODUKT/ /R"+i+"S1/" FORCHECK (i, IF ((ORMulti(j, TRUE)) , ( IF (M0_L01R12S1=='DP' , SUBSTR(RiS1,1,1)=='D' , TRUE)), TRUE)) 4401 i={1-PR}; j={1-PR}   RiS1 ÁNO
8 "Varovanie modulu 4401: Pri lieku musí kód produktu /KOD_PRODUKT/ začínať na C, M alebo T /R"+i+"S1/." FORCHECK (i, IF ((ORMulti(j, TRUE)) , ( IF (M0_L01R12S1=='L' , SUBSTR(RiS1,1,1)=='C' OR SUBSTR(RiS1,1,1)=='M' OR SUBSTR(RiS1,1,1)=='T' , TRUE)), TRUE)) 4401 i={1-PR}; j={1-PR}   RiS1 ÁNO
10 "Varovanie modulu 4401: Pri zdravotníckej pomôcke sa kód produktu /KOD_PRODUKT/ musí začínať len na A,B,D,E,F,G,H,I,J,K,L,N,O,P,Z,X /R"+i+"S1/." FORCHECK (i, IF ((ORMulti(j, TRUE)) , ( IF (M0_L01R12S1=='ZP' , SUBSTR(RiS1,1,1)=='A' OR SUBSTR(RiS1,1,1)=='B' OR SUBSTR(RiS1,1,1)=='D' OR SUBSTR(RiS1,1,1)=='E' OR SUBSTR(RiS1,1,1)=='F' OR SUBSTR(RiS1,1,1)=='G' OR SUBSTR(RiS1,1,1)=='H' OR SUBSTR(RiS1,1,1)=='I' OR SUBSTR(RiS1,1,1)=='J' OR SUBSTR(RiS1,1,1)=='K' OR SUBSTR(RiS1,1,1)=='L' OR SUBSTR(RiS1,1,1)=='N' OR SUBSTR(RiS1,1,1)=='O' OR SUBSTR(RiS1,1,1)=='P' OR SUBSTR(RiS1,1,1)=='Z' OR SUBSTR(RiS1,1,1)=='X' , TRUE)), TRUE)) 4401 i={1-PR}; j={1-PR}   RiS1 ÁNO
11 Modul 4401: Množstvo lieku '%s' vykázane na riadku R%d je pravdepodobne nesprávne. Zadajte množstvo, ktoré zodpovedá obvyklej jednotkovej cene %s. /MNOZSTVO, KOD_PRODUKT, UHRADA_PAC/. forCheck( function(riadok){return getFunction("validations/L01/IsCenaOdDo2018.js")(getValueCM("0_L01", "PRODUKT", null), "dajYesNo", riadok.getValue("KOD_PRODUKT", null), riadok.getValue("MNOZSTVO", null), riadok.getValue("UHRADA_PAC", null))}, function(riadok) {return msgText(riadok.getValue("KOD_PRODUKT", null), riadok.getIndex(), getFunction("validations/L01/IsCenaOdDo2018.js")(getValueCM("0_L01", "PRODUKT", null), "dajInterval", riadok.getValue("KOD_PRODUKT", null), riadok.getValue("MNOZSTVO", null), riadok.getValue("UHRADA_PAC", null)) )}, function(riadok) {return [{rowIndex: riadok. 4401 i={1-PR}   RiS4 ÁNO
12 "Modul 4401: Údaj o množstve na riadku R"+i+" neuvádzate korektne'. /MNOZSTVO/." FORCHECK(i, IF(ISNULL(RiS4), TRUE, IF(RiS4<=0,FALSE,TRUE))) 4401 i={1-PR}   RiS4 ÁNO
13 "Modul 4401: Úhrada na riadku R"+i+" je záporná'. /UHRADA_PAC/." FORCHECK(i, ISNULL(RiS5) OR RiS5 >= 0) 4401 i={1-PR}   RiS5 ÁNO
14 "Modul 4401: Uvádzané množstvo je na riadku R"+i+" pravdepodobne nesprávne, nakoľko v riadku uvádzate úhradu 0.00. /MNOZSTVO, UHRADA_PAC/." FORCHECK(i, IF(NOT ISNULL(RiS4), ISNULL(RiS5) OR RiS5<>0,TRUE)) 4401 i={1-PR}   RiS5 ÁNO

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: TYP_VYDAJ
Obmedzovaná položka: STAT_VYD
Obmedzujúca položka Obmedzujúca hodnota Obmedzovaná položka Povolená hodnota
TYP_VYDAJ D STAT_VYD 040
TYP_VYDAJ D STAT_VYD 056
TYP_VYDAJ D STAT_VYD 100
TYP_VYDAJ D STAT_VYD 191
TYP_VYDAJ D STAT_VYD 196
TYP_VYDAJ D STAT_VYD 203
TYP_VYDAJ D STAT_VYD 208
TYP_VYDAJ D STAT_VYD 233
TYP_VYDAJ D STAT_VYD 246
TYP_VYDAJ D STAT_VYD 250
TYP_VYDAJ D STAT_VYD 276
TYP_VYDAJ D STAT_VYD 300
TYP_VYDAJ D STAT_VYD 348
TYP_VYDAJ D STAT_VYD 352
TYP_VYDAJ D STAT_VYD 372
TYP_VYDAJ D STAT_VYD 380
TYP_VYDAJ D STAT_VYD 428
TYP_VYDAJ D STAT_VYD 438
TYP_VYDAJ D STAT_VYD 440
TYP_VYDAJ D STAT_VYD 442
TYP_VYDAJ D STAT_VYD 470
TYP_VYDAJ D STAT_VYD 528
TYP_VYDAJ D STAT_VYD 578
TYP_VYDAJ D STAT_VYD 616
TYP_VYDAJ D STAT_VYD 620
TYP_VYDAJ D STAT_VYD 642
TYP_VYDAJ D STAT_VYD 703
TYP_VYDAJ D STAT_VYD 705
TYP_VYDAJ D STAT_VYD 724
TYP_VYDAJ D STAT_VYD 752
TYP_VYDAJ D STAT_VYD 756
TYP_VYDAJ D STAT_VYD 826
TYP_VYDAJ A STAT_VYD 898
TYP_VYDAJ B STAT_VYD 898
TYP_VYDAJ C STAT_VYD 898
TYP_VYDAJ D STAT_VYD 898
TYP_VYDAJ N STAT_VYD 898
TYP_VYDAJ V STAT_VYD 898