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ŽKYIDPOVINNÁDÁTOVÝ TYPROZSAHOMNÁZOV POLOŽKYMODULRIADOKSTLPECRO
ROK_SPRACÁNOÁNOvarchar4   Rok spracovania0_L0111  
MESIAC_SPRACÁNOÁNOvarchar2   Mesiac spracovania0_L0121  
ICOÁNOÁNOvarchar8   Identifikačné číslo organizácie0_L0131  
IDENTIFZARÁNOÁNOvarchar8   Identifikátor zariadenia0_L0141  
NAZZAR   ÁNOvarchar150   Názov zariadenia0_L0151  
PRIEZVISKO_ZOST     varchar100   Priezvisko zostavovateľa výkazu0_L0171  
TEL     varchar35   Telefónne číslo zostavovateľa (vrátane klapky)0_L0181  
EMAIL     varchar128   e-mail zostavovateľa0_L0191  
POZNAMKA     varchar256   Poznámka0_L01101  
AUTOR_XML     varchar50   Autor xml0_L01111  
PRODUKT   ÁNOvarchar3   Typ produktu0_L01121  
SIDZAR_OBEC_KOD_ST   ÁNOvarchar12   Obec zariadenia0_L0161  
KOD_PRODUKT   ÁNOvarchar6OL01_4401Kód produktu4401   1  
TYP_VYDAJ   ÁNOvarchar1OL01_4401Typ výdaja4401   2  
MNOZSTVO   ÁNOfloat3OL01_4401Množstvo lieku v baleniach4401   4  
UHRADA_PAC   ÁNOfloat2OL01_4401Úhrada4401   5  
STAT_VYD   ÁNOvarchar3OL01_4401Štát vystavenia receptu4401   3  

Legenda k tabuľke Položky:

Názov stĺpcaPopis
KÓD POLOŽKYKód položky
IDOznač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Ý TYPFormát položky
ROZSAHČíselný rozsah (počet znakov) položky
OMOznačenie otvoreného modulu, v ktorom sa daná položka nachádza
NÁZOV POLOŽKYNá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
ROOznač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:

PORADIETEXT OZNAMULOGICKÝ VÝRAZMODULINDEXYPREMENNÉKONTEXTVAR
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))4401i={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))4401i={1-PR}; j={1-PR}   RiS3ÁNO
3Varovanie 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"}] })4401i={1-PR}; j={1-PR}   RiS1ÁNO
4Varovanie 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"}] })4401i={1-PR}; j={1-PR}   RiS1ÁNO
5Varovanie 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"}] })4401i={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))4401i={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))4401i={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))4401i={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))4401i={1-PR}; j={1-PR}   RiS1ÁNO
11Modul 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/IsCenaOdDo2020.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/IsCenaOdDo2020.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: r4401i={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)))4401i={1-PR}   RiS4ÁNO
13"Modul 4401: Úhrada na riadku R"+i+" je záporná'. /UHRADA_PAC/."FORCHECK(i, ISNULL(RiS5) OR RiS5 >= 0)4401i={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))4401i={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žkaObmedzujúca hodnotaObmedzovaná položkaPovolená hodnota
TYP_VYDAJDSTAT_VYD040
TYP_VYDAJDSTAT_VYD056
TYP_VYDAJDSTAT_VYD100
TYP_VYDAJDSTAT_VYD191
TYP_VYDAJDSTAT_VYD196
TYP_VYDAJDSTAT_VYD203
TYP_VYDAJDSTAT_VYD208
TYP_VYDAJDSTAT_VYD233
TYP_VYDAJDSTAT_VYD246
TYP_VYDAJDSTAT_VYD250
TYP_VYDAJDSTAT_VYD276
TYP_VYDAJDSTAT_VYD300
TYP_VYDAJDSTAT_VYD348
TYP_VYDAJDSTAT_VYD352
TYP_VYDAJDSTAT_VYD372
TYP_VYDAJDSTAT_VYD380
TYP_VYDAJDSTAT_VYD428
TYP_VYDAJDSTAT_VYD438
TYP_VYDAJDSTAT_VYD440
TYP_VYDAJDSTAT_VYD442
TYP_VYDAJDSTAT_VYD470
TYP_VYDAJDSTAT_VYD528
TYP_VYDAJDSTAT_VYD578
TYP_VYDAJDSTAT_VYD616
TYP_VYDAJDSTAT_VYD620
TYP_VYDAJDSTAT_VYD642
TYP_VYDAJDSTAT_VYD703
TYP_VYDAJDSTAT_VYD705
TYP_VYDAJDSTAT_VYD724
TYP_VYDAJDSTAT_VYD752
TYP_VYDAJDSTAT_VYD756
TYP_VYDAJDSTAT_VYD826
TYP_VYDAJASTAT_VYD898
TYP_VYDAJBSTAT_VYD898
TYP_VYDAJCSTAT_VYD898
TYP_VYDAJDSTAT_VYD898
TYP_VYDAJNSTAT_VYD898
TYP_VYDAJVSTAT_VYD898