cry-vetzdravila 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/.claude/settings.local.json +17 -0
  2. package/CLAUDE.md +82 -0
  3. package/LICENSE.md +16 -0
  4. package/README.md +376 -0
  5. package/a.txt +1643 -0
  6. package/bun.lock +197 -0
  7. package/dist/atcvet/opisATCvetKode.d.ts +23 -0
  8. package/dist/atcvet/podatkiATCvetKode.d.ts +20 -0
  9. package/dist/atcvet/pomeniNivojevATCvet.d.ts +1 -0
  10. package/dist/atcvet/types/AtcvetFile.d.ts +19 -0
  11. package/dist/generated/AtcVet.d.ts +9 -0
  12. package/dist/generated/RegisterZdravil.d.ts +8 -0
  13. package/dist/generated/seznamZdravil.d.ts +8 -0
  14. package/dist/index.d.ts +244 -0
  15. package/dist/index.js +141786 -0
  16. package/dist/register/MIN_OCENA_PODOBNOSTI.d.ts +2 -0
  17. package/dist/register/helper/normalizirajNaziv.d.ts +176 -0
  18. package/dist/register/helper/oblikujRezultatIskanja.d.ts +8 -0
  19. package/dist/register/helper/oceniPodobnost.d.ts +37 -0
  20. package/dist/register/helper/poisciZivalskoVrsto.d.ts +33 -0
  21. package/dist/register/helper/razcleniNaziv.d.ts +2 -0
  22. package/dist/register/podobnaZdravilaPoATC.d.ts +16 -0
  23. package/dist/register/podobnaZdravilaPoUcinkovinah.d.ts +18 -0
  24. package/dist/register/registerZdravil.d.ts +9 -0
  25. package/dist/register/types/KarencaZdravila.d.ts +24 -0
  26. package/dist/register/types/PotUporabeZdravila.d.ts +21 -0
  27. package/dist/register/types/RazclembaZdravila.d.ts +9 -0
  28. package/dist/register/types/RegisterZdravil.d.ts +2 -0
  29. package/dist/register/types/UcinkovinaZdravila.d.ts +20 -0
  30. package/dist/register/types/Zdravilo.d.ts +65 -0
  31. package/dist/register/types/ZdraviloZUtemeljitvijo.d.ts +9 -0
  32. package/dist/register/types/ZivalskeVrste.d.ts +158 -0
  33. package/dist/register/uganiZdravilo.d.ts +43 -0
  34. package/dist/register/zdravilaZaAtcVetKodo.d.ts +8 -0
  35. package/dist/register/zdraviloJeVakcinaZa.d.ts +18 -0
  36. package/docs/vakcine.md +195 -0
  37. package/package.json +39 -0
  38. package/src/atcvet/CLAUDE.md +18 -0
  39. package/src/atcvet/downloadLatestAtcvetPdf.ts +107 -0
  40. package/src/atcvet/opisATCvetKode.ts +116 -0
  41. package/src/atcvet/parseAtcvetPdf.ts +215 -0
  42. package/src/atcvet/podatkiATCvetKode.ts +34 -0
  43. package/src/atcvet/pomeniNivojevATCvet.ts +8 -0
  44. package/src/atcvet/types/AtcvetFile.ts +22 -0
  45. package/src/generate.ts +111 -0
  46. package/src/generated/AtcVet.ts +56704 -0
  47. package/src/generated/seznamZdravil.ts +44833 -0
  48. package/src/importParseAndBuildAll.ts +97 -0
  49. package/src/index.ts +289 -0
  50. package/src/interactive.ts +428 -0
  51. package/src/register/CLAUDE.md +230 -0
  52. package/src/register/MIN_OCENA_PODOBNOSTI.ts +3 -0
  53. package/src/register/downloadRegister.ts +148 -0
  54. package/src/register/helper/analizaVakcin.ts +90 -0
  55. package/src/register/helper/checkVrste.ts +72 -0
  56. package/src/register/helper/hashString.ts +27 -0
  57. package/src/register/helper/normalizirajNaziv.ts +493 -0
  58. package/src/register/helper/oblikujRezultatIskanja.ts +15 -0
  59. package/src/register/helper/oceniPodobnost.ts +194 -0
  60. package/src/register/helper/poisciZivalskoVrsto.ts +100 -0
  61. package/src/register/helper/razcleniNaziv.ts +105 -0
  62. package/src/register/helper/testNormalizacije.ts +89 -0
  63. package/src/register/helper/testPodobnosti.ts +238 -0
  64. package/src/register/helper/testVakcin.ts +103 -0
  65. package/src/register/parseRegister.ts +464 -0
  66. package/src/register/podobnaZdravilaPoATC.ts +71 -0
  67. package/src/register/podobnaZdravilaPoUcinkovinah.ts +136 -0
  68. package/src/register/registerZdravil.ts +22 -0
  69. package/src/register/stats.ts +114 -0
  70. package/src/register/types/KarencaZdravila.ts +26 -0
  71. package/src/register/types/PotUporabeZdravila.ts +21 -0
  72. package/src/register/types/RazclembaZdravila.ts +10 -0
  73. package/src/register/types/RegisterRaw.ts +23 -0
  74. package/src/register/types/RegisterZdravil.ts +3 -0
  75. package/src/register/types/UcinkovinaZdravila.ts +21 -0
  76. package/src/register/types/Zdravilo.ts +84 -0
  77. package/src/register/types/ZdraviloZUtemeljitvijo.ts +11 -0
  78. package/src/register/types/ZivalskeVrste.ts +7 -0
  79. package/src/register/uganiZdravilo.ts +142 -0
  80. package/src/register/zdravilaZaAtcVetKodo.ts +28 -0
  81. package/src/register/zdraviloJeVakcinaZa.ts +202 -0
  82. package/src/test/testPodobnosti.test.ts +126 -0
  83. package/src/test/zdravila.json +38693 -0
  84. package/tsconfig.json +18 -0
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Prenese in sparsa vse podatke
3
+ *
4
+ * 1. Prenese register zdravil (xlsx)
5
+ * 2. Sparsa register v JSON
6
+ * 3. Prenese ATCVet PDF
7
+ * 4. Sparsa ATCVet v JSON
8
+ * 5. Generira TypeScript datoteke
9
+ */
10
+
11
+ import { downloadRegister } from "./register/downloadRegister";
12
+ import { parseRegister, saveRegisterToJson } from "./register/parseRegister";
13
+ import { downloadLatestAtcvetPdf } from "./atcvet/downloadLatestAtcvetPdf";
14
+ import { parseAtcvetPdf } from "./atcvet/parseAtcvetPdf";
15
+ import { ensureGeneratedDir, generateRegisterZdravil, generateAtcVet } from "./generate";
16
+ import type { AtcvetFile } from "./atcvet/types/AtcvetFile";
17
+ import fs from "node:fs";
18
+ import path from "node:path";
19
+
20
+ async function main() {
21
+ console.log("═══════════════════════════════════════════════════════════════");
22
+ console.log(" PRENOS IN PARSANJE VSEH PODATKOV");
23
+ console.log("═══════════════════════════════════════════════════════════════\n");
24
+
25
+ const startTime = Date.now();
26
+
27
+ // 1. Register zdravil
28
+ console.log("┌─────────────────────────────────────────────────────────────┐");
29
+ console.log("│ 1. REGISTER ZDRAVIL │");
30
+ console.log("└─────────────────────────────────────────────────────────────┘\n");
31
+
32
+ console.log("Prenašam register zdravil...");
33
+ const registerPath = await downloadRegister();
34
+ if (!registerPath) {
35
+ console.error("Napaka: Prenos registra ni uspel.");
36
+ process.exit(1);
37
+ }
38
+ console.log(`✓ Register prenesen: ${registerPath}\n`);
39
+
40
+ console.log("Parsam register zdravil...");
41
+ const register = await parseRegister(registerPath);
42
+ await saveRegisterToJson(register, "./data/register.json");
43
+ console.log(`✓ Register sparsan: ${register.steviloZdravil} zdravil\n`);
44
+
45
+ // 2. ATCVet klasifikacija
46
+ console.log("┌─────────────────────────────────────────────────────────────┐");
47
+ console.log("│ 2. ATCVET KLASIFIKACIJA │");
48
+ console.log("└─────────────────────────────────────────────────────────────┘\n");
49
+
50
+ console.log("Prenašam ATCVet PDF...");
51
+ const atcvetPath = await downloadLatestAtcvetPdf();
52
+ if (!atcvetPath) {
53
+ console.error("Napaka: Prenos ATCVet PDF ni uspel.");
54
+ process.exit(1);
55
+ }
56
+ console.log(`✓ ATCVet PDF prenesen: ${atcvetPath}\n`);
57
+
58
+ console.log("Parsam ATCVet PDF...");
59
+ const atcvetRows = await parseAtcvetPdf(atcvetPath);
60
+ const atcvetPayload: AtcvetFile = {
61
+ meta: {
62
+ source: path.basename(atcvetPath),
63
+ generatedAt: new Date().toISOString(),
64
+ count: atcvetRows.length,
65
+ },
66
+ rows: atcvetRows,
67
+ };
68
+ fs.writeFileSync("./data/atcvet.json", JSON.stringify(atcvetPayload, null, 2), "utf8");
69
+ console.log(`✓ ATCVet sparsan: ${atcvetRows.length} kod\n`);
70
+
71
+ // 3. Generiranje TypeScript datotek
72
+ console.log("┌─────────────────────────────────────────────────────────────┐");
73
+ console.log("│ 3. GENERIRANJE TYPESCRIPT DATOTEK │");
74
+ console.log("└─────────────────────────────────────────────────────────────┘\n");
75
+
76
+ ensureGeneratedDir();
77
+ generateRegisterZdravil();
78
+ generateAtcVet();
79
+ console.log("");
80
+
81
+ // Povzetek
82
+ const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
83
+ console.log("═══════════════════════════════════════════════════════════════");
84
+ console.log(" POVZETEK");
85
+ console.log("═══════════════════════════════════════════════════════════════");
86
+ console.log(` Register zdravil: ${register.steviloZdravil} zdravil`);
87
+ console.log(` ATCVet kode: ${atcvetRows.length} kod`);
88
+ console.log(` Čas izvajanja: ${elapsed}s`);
89
+ console.log("═══════════════════════════════════════════════════════════════\n");
90
+ }
91
+
92
+ if (import.meta.main) {
93
+ main().catch((e) => {
94
+ console.error("Napaka:", e);
95
+ process.exit(1);
96
+ });
97
+ }
package/src/index.ts ADDED
@@ -0,0 +1,289 @@
1
+ /**
2
+ * Knjižnica veterinarskih zdravil registriranih v Sloveniji in šifrant ATCvet
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+
7
+ // ============================================================================
8
+ // PODATKI
9
+ // ============================================================================
10
+
11
+ /**
12
+ * Šifrant ATCvet klasifikacije
13
+ * @example
14
+ * ```typescript
15
+ * const atc = AtcVet.find(a => a.code === "QJ01CA04");
16
+ * // { code: "QJ01CA04", level: 5, desc_en: "amoxicillin", desc_si: "amoksicilin" }
17
+ * ```
18
+ */
19
+ export { AtcVet } from "./generated/AtcVet";
20
+
21
+ /**
22
+ * Register vseh veterinarskih zdravil kot Map<id, Zdravilo>
23
+ * @example
24
+ * ```typescript
25
+ * const zdravilo = registerZdravil.get(123456);
26
+ * ```
27
+ */
28
+ export { registerZdravil } from "./register/registerZdravil";
29
+
30
+ // ============================================================================
31
+ // ISKANJE ZDRAVIL
32
+ // ============================================================================
33
+
34
+ /**
35
+ * Poišče zdravila v registru po podobnosti imena
36
+ *
37
+ * @param vhodniNaziv - Iskalni niz (ime zdravila)
38
+ * @param opts - Opcije iskanja: { limit?, minOcena?, isciMed? }
39
+ * @returns { zadetki, najboljsi } - Seznam zadetkov in najboljši zadetek (če je enolično določen)
40
+ * @example
41
+ * ```typescript
42
+ * const { zadetki, najboljsi } = uganiZdravilo("citramox 500");
43
+ * if (najboljsi) {
44
+ * console.log(najboljsi.ime); // "CITRAMOX 500 mg/g ..."
45
+ * }
46
+ * ```
47
+ */
48
+ export { uganiZdravilo } from "./register/uganiZdravilo";
49
+
50
+ /**
51
+ * Poišče zdravila po podobnosti imena in vrne polne utemeljitve
52
+ *
53
+ * @param vhodniNaziv - Iskalni niz (ime zdravila)
54
+ * @param opts - Opcije iskanja: { limit?, minOcena?, isciMed? }
55
+ * @returns Seznam zdravil z utemeljitvami (ocene po kategorijah), sortirano po oceni padajoče
56
+ * @example
57
+ * ```typescript
58
+ * const rezultati = uganiZdraviloInUtemelji("baytril 50", { limit: 5 });
59
+ * for (const r of rezultati) {
60
+ * console.log(r.zdravilo.ime, r.utemeljitev.ocena);
61
+ * }
62
+ * ```
63
+ */
64
+ export { uganiZdraviloInUtemelji } from "./register/uganiZdravilo";
65
+
66
+ /**
67
+ * Minimalna ocena podobnosti za vključitev v rezultate iskanja (privzeto 500)
68
+ */
69
+ export { MIN_OCENA_PODOBNOSTI } from "./register/MIN_OCENA_PODOBNOSTI";
70
+
71
+ // ============================================================================
72
+ // NORMALIZACIJA IN ANALIZA IMEN
73
+ // ============================================================================
74
+
75
+ /**
76
+ * Normalizira ime zdravila za primerjavo
77
+ *
78
+ * Pretvori v male črke, normalizira enote (mg, ml, tbl...), teže, decimalne vejice itd.
79
+ *
80
+ * @param naziv - Izvorni naziv zdravila
81
+ * @returns Normaliziran naziv
82
+ * @example
83
+ * ```typescript
84
+ * normalizirajNaziv("AMOXICILLIN 50,5 mg/ml za pse");
85
+ * // "amoxicillin 50.5mg/ml pse"
86
+ * ```
87
+ */
88
+ export { normalizirajNaziv } from "./register/helper/normalizirajNaziv";
89
+
90
+ /**
91
+ * Razčleni ime zdravila na sestavne dele
92
+ *
93
+ * Razčleni na besede, doze, težo, količino in živalske vrste.
94
+ *
95
+ * @param naziv - Izvorni naziv zdravila
96
+ * @returns Objekt z razčlenjenimi sestavinami
97
+ * @example
98
+ * ```typescript
99
+ * razcleniNaziv("BAYTRIL 50 mg/ml za pse in mačke 7tbl");
100
+ * // {
101
+ * // izvorni_naziv: "BAYTRIL 50 mg/ml za pse in mačke 7tbl",
102
+ * // normaliziran_naziv: "baytril 50mg/ml pse mačke 7tbl",
103
+ * // besede: ["baytril"],
104
+ * // doze: ["50mg/ml"],
105
+ * // teza: null,
106
+ * // kolicina: "7tbl",
107
+ * // zivalskeVrste: ["pse", "mačke"]
108
+ * // }
109
+ * ```
110
+ */
111
+ export { razcleniNaziv } from "./register/helper/razcleniNaziv";
112
+
113
+ /**
114
+ * Oceni podobnost med dvema razčlenjenima nazivoma zdravil
115
+ *
116
+ * @param razclembaVhoda - Razčlenjen vhodni naziv (iskalni niz)
117
+ * @param razclembaRegistra - Razčlenjen naziv iz registra zdravil
118
+ * @returns Utemeljitev z delnimi ocenami (besede, doze, vrste...) in skupno oceno
119
+ * @example
120
+ * ```typescript
121
+ * const vhod = razcleniNaziv("baytril 50");
122
+ * const register = razcleniNaziv("BAYTRIL 50 mg/ml raztopina za injiciranje");
123
+ * const ocena = oceniPodobnost(vhod, register);
124
+ * console.log(ocena.ocena); // skupna ocena podobnosti
125
+ * ```
126
+ */
127
+ export { oceniPodobnost } from "./register/helper/oceniPodobnost";
128
+
129
+ /**
130
+ * Pretvori rezultate iskanja v poenostavljeno obliko
131
+ *
132
+ * @param rezultati - Rezultati iz uganiZdraviloInUtemelji
133
+ * @returns { zadetki, najboljsi } - Poenostavljen seznam in najboljši zadetek
134
+ * @example
135
+ * ```typescript
136
+ * const rezultati = uganiZdraviloInUtemelji("citramox");
137
+ * const { zadetki, najboljsi } = oblikujRezultatIskanja(rezultati);
138
+ * ```
139
+ */
140
+ export { oblikujRezultatIskanja } from "./register/helper/oblikujRezultatIskanja";
141
+
142
+ /**
143
+ * Vrne seznam zdravil z dano ATCvet kodo (ali prefiksom)
144
+ *
145
+ * Seznam je urejen po ATCvet kodah.
146
+ *
147
+ * @param atcVetKoda - ATCvet koda ali njen prefiks (npr. "QJ01", "QJ01CA04")
148
+ * @returns Seznam zdravil z ustrezno ATCvet kodo
149
+ * @example
150
+ * ```typescript
151
+ * const zdravila = zdravilaZaAtcVetKodo("QJ01CA04");
152
+ * // Vrne vsa zdravila z amoksicilinom
153
+ *
154
+ * const antibiotiki = zdravilaZaAtcVetKodo("QJ01");
155
+ * // Vrne vsa zdravila za sistemsko zdravljenje bakterijskih infekcij
156
+ * ```
157
+ */
158
+ export { zdravilaZaAtcVetKodo } from "./register/zdravilaZaAtcVetKodo";
159
+
160
+ // ============================================================================
161
+ // VAKCINE
162
+ // ============================================================================
163
+
164
+ /**
165
+ * Preveri, ali je zdravilo vakcina za določeno živalsko vrsto
166
+ *
167
+ * @param zdravilo - Zdravilo iz registra
168
+ * @param zival - Živalska vrsta (npr. "psi", "mačke", "govedo")
169
+ * @returns Seznam bolezni, proti katerim ščiti, ali false če ni vakcina
170
+ * @example
171
+ * ```typescript
172
+ * const rabisin = registerZdravil.get(123);
173
+ * const bolezni = zdraviloJeVakcinaZa(rabisin, "psi");
174
+ * if (bolezni) {
175
+ * console.log(bolezni); // ["steklina"]
176
+ * }
177
+ * ```
178
+ */
179
+ export { zdraviloJeVakcinaZa } from "./register/zdraviloJeVakcinaZa";
180
+
181
+ // ============================================================================
182
+ // PODOBNA ZDRAVILA
183
+ // ============================================================================
184
+
185
+ /**
186
+ * Vrne zdravila z vsaj eno skupno učinkovino
187
+ *
188
+ * Učinkovine pridobi iz podatkov zdravila in iz ATCvet kode na nivoju 5.
189
+ * Seznam je urejen po podobnosti z vhodnim zdravilom.
190
+ *
191
+ * @param zdravilo - Zdravilo, za katerega iščemo podobna
192
+ * @returns Seznam zdravil z vsaj eno skupno učinkovino (brez vhodnega zdravila)
193
+ * @example
194
+ * ```typescript
195
+ * const baytril = registerZdravil.get(123);
196
+ * const podobna = podobnaZdravilaPoUcinkovinah(baytril);
197
+ * // Vrne zdravila z enrofloksacinom
198
+ * ```
199
+ */
200
+ export { podobnaZdravilaPoUcinkovinah } from "./register/podobnaZdravilaPoUcinkovinah";
201
+
202
+ /**
203
+ * Vrne zdravila z enako ATCvet kodo na danem nivoju
204
+ *
205
+ * Seznam je urejen po podobnosti z vhodnim zdravilom.
206
+ *
207
+ * Nivoji ATCvet:
208
+ * - 1: anatomska glavna skupina (npr. QJ = zdravila za sistemsko zdravljenje infekcij)
209
+ * - 2: terapevtska podskupina (npr. QJ01 = antibakterijska zdravila)
210
+ * - 3: farmakološka podskupina (npr. QJ01C = betalaktamski antibiotiki)
211
+ * - 4: kemijska podskupina (npr. QJ01CA = širokospektralni penicilini)
212
+ * - 5: kemijska učinkovina (npr. QJ01CA04 = amoksicilin)
213
+ *
214
+ * @param zdravilo - Zdravilo, za katerega iščemo podobna
215
+ * @param nivo - ATCvet nivo za primerjavo (1-5), privzeto 5
216
+ * @returns Seznam zdravil z enako ATCvet kodo na danem nivoju (brez vhodnega zdravila)
217
+ * @example
218
+ * ```typescript
219
+ * const zdravilo = registerZdravil.get(123);
220
+ * const podobna = podobnaZdravilaPoATC(zdravilo, 4);
221
+ * // Vrne zdravila z enako kemijsko podskupino
222
+ * ```
223
+ */
224
+ export { podobnaZdravilaPoATC } from "./register/podobnaZdravilaPoATC";
225
+
226
+ // ============================================================================
227
+ // ATCvet KLASIFIKACIJA
228
+ // ============================================================================
229
+
230
+ /**
231
+ * Vrne opise vseh nivojev za dano ATCvet kodo
232
+ *
233
+ * @param koda - ATCvet koda (npr. "QJ01CA04")
234
+ * @returns Seznam opisov za vsak nivo (0-5)
235
+ * @example
236
+ * ```typescript
237
+ * podatkiATCvetKode("QJ01CA04");
238
+ * // [
239
+ * // { nivo: 0, pomenNivoja: "veterinarska uporaba", opisNivoja: "Veterinarska zdravila" },
240
+ * // { nivo: 1, pomenNivoja: "anatomska glavna skupina", opisNivoja: "ZDRAVILA ZA SISTEMSKO ZDRAVLJENJE INFEKCIJ" },
241
+ * // { nivo: 2, pomenNivoja: "terapevtska podskupina", opisNivoja: "ZDRAVILA ZA SISTEMSKO ZDRAVLJENJE BAKTERIJSKIH INFEKCIJ" },
242
+ * // { nivo: 3, pomenNivoja: "farmakološka podskupina", opisNivoja: "Betalaktamski antibiotiki, penicilini" },
243
+ * // { nivo: 4, pomenNivoja: "kemijska podskupina", opisNivoja: "Širokospektralni penicilini" },
244
+ * // { nivo: 5, pomenNivoja: "kemijska učinkovina", opisNivoja: "amoksicilin" }
245
+ * // ]
246
+ * ```
247
+ */
248
+ export { podatkiATCvetKode } from "./atcvet/podatkiATCvetKode";
249
+
250
+ /**
251
+ * Vrne opis posamezne ATCvet kode (najvišji nivo)
252
+ *
253
+ * @param koda - ATCvet koda
254
+ * @returns Opis za najvišji nivo kode ali null če koda ne obstaja
255
+ * @example
256
+ * ```typescript
257
+ * opisATCvetKode("QJ01CA04");
258
+ * // { nivo: 5, pomenNivoja: "kemijska učinkovina", opisNivoja: "amoksicilin" }
259
+ * ```
260
+ */
261
+ export { opisATCvetKode } from "./atcvet/opisATCvetKode";
262
+
263
+ /**
264
+ * Seznam pomenov nivojev ATCvet klasifikacije
265
+ * @example
266
+ * ```typescript
267
+ * // [
268
+ * // [0, "veterinarska uporaba"],
269
+ * // [1, "anatomska glavna skupina"],
270
+ * // [2, "terapevtska podskupina"],
271
+ * // [3, "farmakološka podskupina"],
272
+ * // [4, "kemijska podskupina"],
273
+ * // [5, "kemijska učinkovina"]
274
+ * // ]
275
+ * ```
276
+ */
277
+ export { pomeniNivojevATCvet } from "./atcvet/pomeniNivojevATCvet";
278
+
279
+ // ============================================================================
280
+ // TIPI
281
+ // ============================================================================
282
+
283
+ export type { Zdravilo } from "./register/types/Zdravilo";
284
+ export type { RazlagaATCvetKode } from "./atcvet/opisATCvetKode";
285
+ export type { AtcvetRow } from "./atcvet/types/AtcvetFile";
286
+ export type { RegisterZdravil } from "./register/types/RegisterZdravil";
287
+ export type { UganiZdraviloOpts } from "./register/uganiZdravilo";
288
+ export type { RazclenjeniNaziv } from "./register/helper/normalizirajNaziv";
289
+ export type { UtemeljitevOcene } from "./register/helper/oceniPodobnost";