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,17 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(curl:*)",
5
+ "Bash(bun install)",
6
+ "Bash(bun -e:*)",
7
+ "Bash(bun run:*)",
8
+ "Bash(bun test:*)",
9
+ "Bash(ls:*)",
10
+ "Bash(npm view:*)",
11
+ "Bash(bun update:*)",
12
+ "Bash(bun build:*)",
13
+ "Bash(bun --eval:*)",
14
+ "Bash(bun:*)"
15
+ ]
16
+ }
17
+ }
package/CLAUDE.md ADDED
@@ -0,0 +1,82 @@
1
+ # Namen projekta
2
+
3
+ 1. Podpora za seznam vseh zdravil, registriranih za veterinarsko rabo v Sloveniji.
4
+ 1. Bazo vseh teh zdravil imenujemo register.
5
+ 2. Register vsebuje seznam zdravil in funkcijo, ki za neko ime zdravila poišče najverjetnejše zadetke iz registra.
6
+ 2. Podpora za šifrant ATC Vet (Anatomical Therapeutic Chemical classification system for Veterinarians)
7
+
8
+ ## Struktura datotek
9
+
10
+ 1. mapa **data** vsebuje
11
+ 1. datoteke, ki jih strojno prenesemo s spleta
12
+ 1. register.xlsx - register zdravil
13
+ 2. atcvet.pdf - ATCVet klasifikacija
14
+ 2. in jih sparsamo v rezultat
15
+ 1. register.json
16
+ 2. atcvet.json
17
+ 2. direktorij **src** vsebuje
18
+ 1. index.ts - glavni izvoz knjižnice
19
+ 2. importParseAndBuildAll.ts
20
+ 1. prenese register in atcvet s spleta
21
+ 2. sparsa register in atcvet v json datoteki v data
22
+ 3. generate.ts
23
+ 1. generira ts skripti v direktoriju src/generated
24
+ 2. prepiše vsebino iz json datotek v ts datoteke
25
+ 4. poddirektorij **atcvet** - ATCVet klasifikacija
26
+ 1. downloadLatestAtcvetPdf.ts - naloži atcvet.pdf s spleta
27
+ 2. parseAtcvetPdf.ts - sparsa atcvet.pdf v data/atcvet.json
28
+ 3. types/AtcvetFile.ts - tipi za ATCVet datoteko
29
+ 5. poddirektorij **register** - register zdravil
30
+ 1. downloadRegister.ts - naloži register.xlsx s spleta
31
+ 2. parseRegister.ts - sparsa register.xlsx v data/register.json
32
+ 3. uganiZdravilo.ts - iskanje zdravil po imenu
33
+ 4. stats.ts - statistika registra
34
+ 5. helper/ - pomožne funkcije
35
+ 1. normalizirajNaziv.ts - normalizacija imen zdravil
36
+ 2. poisciZivalskoVrsto.ts - iskanje živalskih vrst
37
+ 3. testNormalizacije.ts - testiranje normalizacije
38
+ 4. analizaVakcin.ts - analiza vakcin
39
+ 5. checkVrste.ts - preverjanje živalskih vrst
40
+ 6. types/ - tipi
41
+ 1. Register.ts - tip registra
42
+ 2. Zdravilo.ts - tip zdravila
43
+ 3. ZivalskeVrste.ts - seznam živalskih vrst
44
+ 4. KarencaZdravila.ts - tip karence
45
+ 5. PotUporabeZdravila.ts - tip poti uporabe
46
+ 6. UcinkovinaZdravila.ts - tip učinkovine
47
+ 6. poddirektorij **test** - testi
48
+ 1. uganiZdravilo.test.ts - test iskanja zdravil
49
+ 2. uganiZdraviloFull.test.ts - polni test iskanja
50
+ 3. zdravila.json - testni podatki
51
+ 3. mapa **dist** vsebuje datoteke za izvoz v npm
52
+ 4. mapa **docs** vsebuje dokumentacijo
53
+ 1. vakcine.md - dokumentacija o vakcinah
54
+ 5. mapa **generated** vsebuje datoteki
55
+ 1. registerZdravil.ts: export const registerZdravil : RegisterZdravil = ...
56
+ 2. seznamZdravil.ts: export const seznamZdravil: Zdravilo[] = ...
57
+ 3. ActVet.ts: export const AtcVet : AtcvetRow[] = ...
58
+
59
+ ## Način dela
60
+
61
+ 1. Kodo izvajamo preko bun interpreterja.
62
+ 2. Koda je v typescriptu.
63
+ 3. Pred objavo kodo prevedemo v jscript v mapo dist.
64
+
65
+
66
+ ## Izvoz - zunanji API
67
+
68
+ Zunanji API je izvožen v src/index.ts in vsebuje
69
+ 1. uganiZdravilo
70
+ 2. uganiZdraviloInUtemelji
71
+ 3. normalizirajNaziv
72
+ 4. razcleniNaziv
73
+ 5. oceniPodobnost
74
+ 6. zdraviloJeVakcinaZa
75
+ 7. podobnaZdravilaPoUcinkovinah
76
+ 8. podobnaZdravilaPoATC
77
+ 9. podatkiATCvetKode
78
+ 10. opisATCvetKode
79
+ 11. pomeniNivojevATCvet
80
+ 12. AtcVet
81
+ 13. registerZdravil
82
+ 14. seznamZdravil
package/LICENSE.md ADDED
@@ -0,0 +1,16 @@
1
+ Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
2
+
3
+ Copyright (c) 2026 Primož Krajnik
4
+
5
+ This work is licensed under the Creative Commons
6
+ Attribution-NonCommercial-NoDerivatives 4.0 International License.
7
+
8
+ You may:
9
+ - Share the unmodified material for non-commercial purposes only
10
+
11
+ You may not:
12
+ - Use the material for commercial purposes
13
+ - Modify, adapt, translate, or create derivative works
14
+
15
+ Full license text:
16
+ https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode
package/README.md ADDED
@@ -0,0 +1,376 @@
1
+ # cry-vetzdravila
2
+
3
+ Knjižnica veterinarskih zdravil registriranih v Sloveniji in šifrant ATCvet.
4
+
5
+ - [cry-vetzdravila](#cry-vetzdravila)
6
+ - [Namestitev](#namestitev)
7
+ - [Nadgradnja](#nadgradnja)
8
+ - [Interaktivno iskanje](#interaktivno-iskanje)
9
+ - [Uporaba](#uporaba)
10
+ - [API](#api)
11
+ - [Surovi podatki](#surovi-podatki)
12
+ - [`registerZdravil: Map<number, Zdravilo>`](#registerzdravil-mapnumber-zdravilo)
13
+ - [`AtcVet: AtcvetRow[]`](#atcvet-atcvetrow)
14
+ - [Iskanje zdravil](#iskanje-zdravil)
15
+ - [`uganiZdravilo(ime: string, opts?: UganiZdraviloOpts)`](#uganizdraviloime-string-opts-uganizdraviloopts)
16
+ - [`uganiZdraviloInUtemelji(ime: string, opts?: UganiZdraviloOpts)`](#uganizdraviloinutemeljiime-string-opts-uganizdraviloopts)
17
+ - [`oblikujRezultatIskanja(rezultati)`](#oblikujrezultatiskanjarezultati)
18
+ - [`zdravilaZaAtcVetKodo(atcVetKoda: string)`](#zdravilazaatcvetkodoatcvetkoda-string)
19
+ - [Normalizacija in analiza imen](#normalizacija-in-analiza-imen)
20
+ - [`normalizirajNaziv(naziv: string)`](#normalizirajnazivnaziv-string)
21
+ - [`razcleniNaziv(naziv: string)`](#razcleninazivnaziv-string)
22
+ - [`oceniPodobnost(razclembaVhoda, razclembaRegistra)`](#ocenipodobnostrazclembavhoda-razclembaregistra)
23
+ - [Vakcine](#vakcine)
24
+ - [`zdraviloJeVakcinaZa(zdravilo, zival)`](#zdravilojevakcinazazdravilo-zival)
25
+ - [Podobna zdravila](#podobna-zdravila)
26
+ - [`podobnaZdravilaPoATC(zdravilo, nivo?)`](#podobnazdravilapoatczdravilo-nivo)
27
+ - [`podobnaZdravilaPoUcinkovinah(zdravilo)`](#podobnazdravilapoucinkovinahzdravilo)
28
+ - [ATCvet klasifikacija](#atcvet-klasifikacija)
29
+ - [`podatkiATCvetKode(koda: string)`](#podatkiatcvetkodekoda-string)
30
+ - [`opisATCvetKode(koda: string)`](#opisatcvetkodekoda-string)
31
+ - [`pomeniNivojevATCvet`](#pomeninivojevatcvet)
32
+ - [Tipi](#tipi)
33
+ - [Licenca](#licenca)
34
+
35
+
36
+ ## Namestitev
37
+
38
+ ```bash
39
+ npm install cry-vetzdravila
40
+ # ali
41
+ bun add cry-vetzdravila
42
+ ```
43
+
44
+ ## Nadgradnja
45
+
46
+ ```bash
47
+ bun run src/importParseAndBuildAll.ts
48
+ ```
49
+
50
+ ## Interaktivno iskanje
51
+
52
+ ```bash
53
+ bun run interactive
54
+ ```
55
+
56
+ Ukazi:
57
+ - **1-20**: nastavi limit rezultatov
58
+ - **200-2000**: nastavi minimalno oceno
59
+ - **u**: vklopi/izklopi prikaz utemeljitev
60
+ - **r**: vklopi/izklopi prikaz razčlemb
61
+ - **o**: izpiši opis ATCvet kode prvega zadetka
62
+ - **p**: izpiši vse podatke ATCvet kode prvega zadetka
63
+ - **=**: izpiši podobna zdravila (po ATCvet kodi)
64
+ - **+/-**: dvigni/spusti ATCvet nivo in izpiši podobna
65
+ - **f**: izpiši podobna zdravila (po učinkovinah)
66
+ - **Qxxxx**: prikaži nivoje ATCvet kode (npr. QJ01CA04)
67
+ - **Qxxxx...**: prikaži zdravila z ATCvet kodo (npr. QJ01...)
68
+ - **Enter**: ponovi zadnje iskanje
69
+ - **q**: izhod
70
+
71
+
72
+ ## Uporaba
73
+
74
+ ```typescript
75
+ import {
76
+ // Podatki
77
+ registerZdravil,
78
+ AtcVet,
79
+ // Iskanje
80
+ uganiZdravilo,
81
+ uganiZdraviloInUtemelji,
82
+ oblikujRezultatIskanja,
83
+ zdravilaZaAtcVetKodo,
84
+ // Normalizacija
85
+ normalizirajNaziv,
86
+ razcleniNaziv,
87
+ oceniPodobnost,
88
+ // Vakcine
89
+ zdraviloJeVakcinaZa,
90
+ // Podobna zdravila
91
+ podobnaZdravilaPoATC,
92
+ podobnaZdravilaPoUcinkovinah,
93
+ // ATCvet
94
+ podatkiATCvetKode,
95
+ opisATCvetKode,
96
+ pomeniNivojevATCvet,
97
+ } from "cry-vetzdravila";
98
+ ```
99
+
100
+ ## API
101
+
102
+ ### Surovi podatki
103
+
104
+ #### `registerZdravil: Map<number, Zdravilo>`
105
+
106
+ Register vseh veterinarskih zdravil. Ključ je numerični ID zdravila.
107
+
108
+ ```typescript
109
+ // Pridobi zdravilo po ID-ju
110
+ const zdravilo = registerZdravil.get(123456);
111
+
112
+ // Iteriraj čez vsa zdravila
113
+ for (const [id, zdravilo] of registerZdravil) {
114
+ console.log(zdravilo.ime);
115
+ }
116
+ ```
117
+
118
+ #### `AtcVet: AtcvetRow[]`
119
+
120
+ Šifrant ATCvet klasifikacije.
121
+
122
+ ```typescript
123
+ const atc = AtcVet.find(a => a.code === "QJ01CA04");
124
+ // { code: "QJ01CA04", level: 5, desc_en: "amoxicillin", desc_si: "amoksicilin" }
125
+ ```
126
+
127
+ ### Iskanje zdravil
128
+
129
+ #### `uganiZdravilo(ime: string, opts?: UganiZdraviloOpts)`
130
+
131
+ Poišče zdravila po imenu. Vrne seznam zadetkov in najboljši zadetek (če je enolično določen).
132
+
133
+ ```typescript
134
+ const { zadetki, najboljsi } = uganiZdravilo("citramox 500");
135
+ // zadetki: { zdravilo: Zdravilo, ocena: number }[]
136
+ // najboljsi: Zdravilo | undefined
137
+
138
+ // Z opcijami
139
+ const { zadetki } = uganiZdravilo("baytril", { limit: 10, minOcena: 600 });
140
+ ```
141
+
142
+ Opcije (`UganiZdraviloOpts`):
143
+ - `limit`: maksimalno število rezultatov (privzeto 10)
144
+ - `minOcena`: minimalna ocena podobnosti (privzeto 500)
145
+ - `isciMed`: išči samo med zdravili s temi ID-ji
146
+
147
+ #### `uganiZdraviloInUtemelji(ime: string, opts?: UganiZdraviloOpts)`
148
+
149
+ Enako kot `uganiZdravilo`, vendar vrne polne utemeljitve za vsak zadetek.
150
+
151
+ ```typescript
152
+ const rezultati = uganiZdraviloInUtemelji("baytril 50", { limit: 5 });
153
+ for (const r of rezultati) {
154
+ console.log(r.zdravilo.ime, r.utemeljitev.ocena);
155
+ // Delne ocene: ocenaPrvihBesed, ocenaDoze, ocenaZivalskihVrst, ...
156
+ }
157
+ ```
158
+
159
+ #### `oblikujRezultatIskanja(rezultati)`
160
+
161
+ Pretvori rezultate iskanja v poenostavljeno obliko z določenim najboljšim zadetkom.
162
+
163
+ ```typescript
164
+ const rezultati = uganiZdraviloInUtemelji("citramox");
165
+ const { zadetki, najboljsi } = oblikujRezultatIskanja(rezultati);
166
+ ```
167
+
168
+ #### `zdravilaZaAtcVetKodo(atcVetKoda: string)`
169
+
170
+ Vrne seznam zdravil z dano ATCvet kodo ali prefiksom. Seznam je urejen po ATCvet kodah.
171
+
172
+ ```typescript
173
+ // Vsa zdravila z amoksicilinom
174
+ const zdravila = zdravilaZaAtcVetKodo("QJ01CA04");
175
+
176
+ // Vsa zdravila za sistemsko zdravljenje bakterijskih infekcij
177
+ const antibiotiki = zdravilaZaAtcVetKodo("QJ01");
178
+ ```
179
+
180
+ ### Normalizacija in analiza imen
181
+
182
+ #### `normalizirajNaziv(naziv: string)`
183
+
184
+ Normalizira ime zdravila za primerjavo (male črke, enote, teže, decimalne vejice...).
185
+
186
+ ```typescript
187
+ normalizirajNaziv("AMOXICILLIN 50,5 mg/ml za pse");
188
+ // "amoxicillin 50.5mg/ml pse"
189
+ ```
190
+
191
+ #### `razcleniNaziv(naziv: string)`
192
+
193
+ Razčleni ime zdravila na komponente.
194
+
195
+ ```typescript
196
+ razcleniNaziv("BAYTRIL 50 mg/ml za pse in mačke 7tbl");
197
+ // {
198
+ // izvorni_naziv: "BAYTRIL 50 mg/ml za pse in mačke 7tbl",
199
+ // normaliziran_naziv: "baytril 50mg/ml pse mačke 7tbl",
200
+ // besede: ["baytril"],
201
+ // doze: ["50mg/ml"],
202
+ // teza: null,
203
+ // kolicina: "7tbl",
204
+ // zivalskeVrste: ["pse", "mačke"]
205
+ // }
206
+ ```
207
+
208
+ #### `oceniPodobnost(razclembaVhoda, razclembaRegistra)`
209
+
210
+ Oceni podobnost med dvema razčlenjenima nazivoma zdravil.
211
+
212
+ ```typescript
213
+ const vhod = razcleniNaziv("baytril 50");
214
+ const register = razcleniNaziv("BAYTRIL 50 mg/ml raztopina za injiciranje");
215
+ const ocena = oceniPodobnost(vhod, register);
216
+ // ocena.ocena = skupna ocena podobnosti
217
+ // ocena.ocenaPrvihBesed, ocena.ocenaDoze, ocena.ocenaZivalskihVrst, ...
218
+ ```
219
+
220
+ ### Vakcine
221
+
222
+ #### `zdraviloJeVakcinaZa(zdravilo, zival)`
223
+
224
+ Preveri, ali je zdravilo vakcina za določeno živalsko vrsto. Vrne seznam bolezni ali `false`.
225
+
226
+ ```typescript
227
+ const rabisin = registerZdravil.get(123);
228
+ const bolezni = zdraviloJeVakcinaZa(rabisin, "psi");
229
+ if (bolezni) {
230
+ console.log(bolezni); // ["steklina"]
231
+ }
232
+ ```
233
+
234
+ ### Podobna zdravila
235
+
236
+ #### `podobnaZdravilaPoATC(zdravilo, nivo?)`
237
+
238
+ Vrne zdravila z enako ATCvet kodo na danem nivoju. Seznam je urejen po podobnosti z vhodnim zdravilom.
239
+
240
+ Nivoji ATCvet:
241
+ - 1: anatomska glavna skupina
242
+ - 2: terapevtska podskupina
243
+ - 3: farmakološka podskupina
244
+ - 4: kemijska podskupina
245
+ - 5: kemijska učinkovina (privzeto)
246
+
247
+ ```typescript
248
+ const zdravilo = registerZdravil.get(123);
249
+ const podobna = podobnaZdravilaPoATC(zdravilo, 4);
250
+ // Vrne zdravila z enako kemijsko podskupino
251
+ ```
252
+
253
+ #### `podobnaZdravilaPoUcinkovinah(zdravilo)`
254
+
255
+ Vrne zdravila, ki imajo vsaj eno skupno učinkovino. Seznam je urejen po podobnosti.
256
+
257
+ ```typescript
258
+ const baytril = registerZdravil.get(123);
259
+ const podobna = podobnaZdravilaPoUcinkovinah(baytril);
260
+ // Vrne zdravila z enrofloksacinom
261
+ ```
262
+
263
+ ### ATCvet klasifikacija
264
+
265
+ #### `podatkiATCvetKode(koda: string)`
266
+
267
+ Vrne opise vseh nivojev za dano ATCvet kodo.
268
+
269
+ ```typescript
270
+ podatkiATCvetKode("QJ01CA04");
271
+ // [
272
+ // { nivo: 0, pomenNivoja: "veterinarska uporaba", opisNivoja: "Veterinarska zdravila" },
273
+ // { nivo: 1, pomenNivoja: "anatomska glavna skupina", opisNivoja: "ZDRAVILA ZA SISTEMSKO ZDRAVLJENJE INFEKCIJ" },
274
+ // { nivo: 2, pomenNivoja: "terapevtska podskupina", opisNivoja: "ZDRAVILA ZA SISTEMSKO ZDRAVLJENJE BAKTERIJSKIH INFEKCIJ" },
275
+ // { nivo: 3, pomenNivoja: "farmakološka podskupina", opisNivoja: "Betalaktamski antibiotiki, penicilini" },
276
+ // { nivo: 4, pomenNivoja: "kemijska podskupina", opisNivoja: "Širokospektralni penicilini" },
277
+ // { nivo: 5, pomenNivoja: "kemijska učinkovina", opisNivoja: "amoksicilin" }
278
+ // ]
279
+ ```
280
+
281
+ #### `opisATCvetKode(koda: string)`
282
+
283
+ Vrne opis posamezne ATCvet kode (najvišji nivo).
284
+
285
+ ```typescript
286
+ opisATCvetKode("QJ01CA04");
287
+ // { nivo: 5, pomenNivoja: "kemijska učinkovina", opisNivoja: "amoksicilin" }
288
+ ```
289
+
290
+ #### `pomeniNivojevATCvet`
291
+
292
+ Seznam pomenov nivojev ATCvet klasifikacije.
293
+
294
+ ```typescript
295
+ // [
296
+ // [0, "veterinarska uporaba"],
297
+ // [1, "anatomska glavna skupina"],
298
+ // [2, "terapevtska podskupina"],
299
+ // [3, "farmakološka podskupina"],
300
+ // [4, "kemijska podskupina"],
301
+ // [5, "kemijska učinkovina"]
302
+ // ]
303
+ ```
304
+
305
+ ## Tipi
306
+
307
+ ```typescript
308
+ interface Zdravilo {
309
+ id: number; // ID zdravila (hash imena)
310
+ ime: string; // Ime zdravila
311
+ imetnikDovoljenja: string; // Imetnik dovoljenja za promet
312
+ sproscanjeZdravila: string; // Podatki o sproščanju
313
+ stevilkaDovoljenja: string; // Številka dovoljenja za promet
314
+ datumVeljavnosti: string | null; // Datum veljavnosti dovoljenja
315
+ rezimIzdaje: string; // Režim izdaje (npr. Rp)
316
+ atcKoda: string; // ATCvet koda
317
+ potiUporabe: PotUporabeZdravila[]; // Poti uporabe
318
+ farmacevtskaOblika: string; // Farmacevtska oblika
319
+ pakiranja: string; // Opis pakiranj
320
+ enotaKolicine: string; // Enota količine za sestavo
321
+ ucinkovine: UcinkovinaZdravila[]; // Seznam učinkovin
322
+ pomocneSnovi: string[]; // Pomožne snovi
323
+ ciljneVrste: string[]; // Ciljne živalske vrste
324
+ karence: KarencaZdravila[]; // Karenca po vrstah
325
+ vakcinaZa?: string[]; // Če je vakcina, proti čemu varuje
326
+ }
327
+
328
+ interface UganiZdraviloOpts {
329
+ limit?: number; // Maksimalno število rezultatov (privzeto 10)
330
+ minOcena?: number; // Minimalna ocena podobnosti (privzeto 500)
331
+ isciMed?: number[]; // Išči samo med temi ID-ji
332
+ }
333
+
334
+ interface RazclenjeniNaziv {
335
+ izvorni_naziv: string;
336
+ normaliziran_naziv: string;
337
+ besede: string[];
338
+ doze: string[];
339
+ teza: string | null;
340
+ kolicina: string | null;
341
+ zivalskeVrste: string[];
342
+ }
343
+
344
+ interface UtemeljitevOcene {
345
+ ocena: number;
346
+ ocenaPrvihBesed: number;
347
+ ocenaVelikosti: number;
348
+ ocenaDoze: number;
349
+ ocenaZivalskihVrst: number;
350
+ ocenaTeze: number;
351
+ ocenaKolicine: number;
352
+ ocenaBesed: number;
353
+ steviloBesed: number;
354
+ razclembaRegistra: RazclenjeniNaziv;
355
+ }
356
+
357
+ interface RazlagaATCvetKode {
358
+ nivo: number;
359
+ pomenNivoja: string;
360
+ opisNivoja: string;
361
+ }
362
+
363
+ interface AtcvetRow {
364
+ code: string;
365
+ level: number;
366
+ desc_en: string;
367
+ desc_si: string;
368
+ }
369
+
370
+ type RegisterZdravil = Map<number, Zdravilo>;
371
+ ```
372
+
373
+ ## Licenca
374
+
375
+ [CC-BY-NC-ND-4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode)
376
+