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,2 @@
1
+ /** Minimalna ocena za veljaven zadetek */
2
+ export declare const MIN_OCENA_PODOBNOSTI = 500;
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Normalizacija naziva zdravila
3
+ *
4
+ * Čiščenje in normalizacija imen zdravil za boljše iskanje.
5
+ */
6
+ /**
7
+ * 1. Pretvori v male črke za slovensko lokalizacijo
8
+ */
9
+ declare function toLowerCaseSL(text: string): string;
10
+ /**
11
+ * 2. Zamenjaj posebne znake + ( ) , ; * s presledki
12
+ */
13
+ declare function replaceSpecialChars(text: string): string;
14
+ /**
15
+ * 3. Zamenjaj decimalne vejice med dvema številkama z decimalno piko
16
+ * Primer: "50,5" → "50.5"
17
+ */
18
+ declare function replaceDecimalCommas(text: string): string;
19
+ /**
20
+ * 4. Zamenjaj i.e. z ie
21
+ */
22
+ declare function replaceIE(text: string): string;
23
+ /**
24
+ * 5. Zamenjaj tablete, tablet, tabl, tableta, tab → tbl
25
+ */
26
+ declare function normalizeTablete(text: string): string;
27
+ /**
28
+ * 5b. Zamenjaj cap, caps, kap, kaps, kapsula, kapsul → kps
29
+ */
30
+ declare function normalizeKapsule(text: string): string;
31
+ /**
32
+ * 5c. Zamenjaj deci → dl
33
+ */
34
+ declare function normalizeDeci(text: string): string;
35
+ /**
36
+ * 5d. Zamenjaj doza, doze → doz
37
+ */
38
+ declare function normalizeDoz(text: string): string;
39
+ /**
40
+ * 5d. Zamenjaj tube, tubi, tuba → tub
41
+ */
42
+ declare function normalizeTub(text: string): string;
43
+ /**
44
+ * 5e. Zamenjaj kosov, kosa, kosi → kos
45
+ */
46
+ declare function normalizeKos(text: string): string;
47
+ /**
48
+ * 5f. Zamenjaj kom, komad, komada, komadi, komadov → kos
49
+ */
50
+ declare function normalizeKom(text: string): string;
51
+ /**
52
+ * 6. Odstrani pike za enotami
53
+ * Primer: "100 gr." → "100 gr"
54
+ */
55
+ declare function removeDotsAfterUnits(text: string): string;
56
+ /**
57
+ * 5. Izbriši presledke med številko in enoto / enoto
58
+ * Primer: "100 mg / g" → "100mg/g", "160 mg/ml" → "160mg/ml", "330 mg / 100 mg" → "330mg/100mg"
59
+ */
60
+ declare function normalizeUnitSlash(text: string): string;
61
+ /**
62
+ * 6. Izbriši presledke med številko in enoto
63
+ * Primer: "50.5 mg" → "50.5mg", "200 mg 50 mg" → "200mg 50mg"
64
+ */
65
+ declare function normalizeUnitSpaces(text: string): string;
66
+ /**
67
+ * 7. Zamenjaj pike pred enoto s presledki
68
+ * Primer: "inj.100ml" → "inj 100ml"
69
+ * Ohrani decimalne pike (pika med dvema številkama)
70
+ */
71
+ declare function replaceDotsBeforeUnits(text: string): string;
72
+ /**
73
+ * 7b. Odstrani vse pike pred presledkom
74
+ * Primer: "inj. 100ml" → "inj 100ml"
75
+ */
76
+ declare function removeDotsBeforeSpaces(text: string): string;
77
+ /**
78
+ * 13. Odstrani vse pike za črkami
79
+ * Primer: "inj." → "inj", "sol." → "sol"
80
+ */
81
+ declare function removeDotsAfterLetters(text: string): string;
82
+ /**
83
+ * 15. Zamenjaj enoto gr z g
84
+ * Primer: "10gr" → "10g", "100gr/ml" → "100g/ml"
85
+ */
86
+ declare function normalizeGr(text: string): string;
87
+ /**
88
+ * 7. Strni teže živali v kg
89
+ * Primeri:
90
+ * - "od 40,1 do 60,0 kg" → "40-60kg"
91
+ * - "od 40,1 kg do 60,0 kg" → "40-60kg"
92
+ * - "nad 40,1 kg" → "40kg-"
93
+ * - "vsaj 40 kg" → "40kg-"
94
+ * - "najmanj 5 kg" → "5kg-"
95
+ * - "pod 40,1 kg" → "-40kg"
96
+ * - "do 40,1 kg" → "-40kg"
97
+ * - "največ 40 kg" → "-40kg"
98
+ * - "od 40kg - 60kg" → "40-60kg"
99
+ * Decimalke se odstranijo za teže >= 1kg
100
+ */
101
+ declare function normalizeWeightRanges(text: string): string;
102
+ /**
103
+ * 17. Dodaj kg za vsako številko v teži
104
+ * Primer: "40-60kg" → "40kg-60kg", "-40kg" → "-40kg", "40kg-" → "40kg-"
105
+ */
106
+ declare function addKgToWeight(text: string): string;
107
+ /**
108
+ * 10. Odstrani " za "
109
+ */
110
+ declare function removeZa(text: string): string;
111
+ /**
112
+ * 19. Normalizira količine na koncu naziva
113
+ * - Odstrani presledke okrog x ali *
114
+ * - Zamenja a/á + številka → številka (brez a/á)
115
+ * - Odstrani začetni x pred številko
116
+ * - Če je številka "1", jo odstrani
117
+ * Primeri:
118
+ * - "zdravilo 10 x 5" → "zdravilo 10x5"
119
+ * - "zdravilo 5 * 10" → "zdravilo 5*10"
120
+ * - "zdravilo a 7 tbl" → "zdravilo 7tbl"
121
+ * - "zdravilo á7tbl" → "zdravilo 7tbl"
122
+ * - "ypozane 15mg x7tbl" → "ypozane 15mg 7tbl"
123
+ * - "1kom" → "kom"
124
+ */
125
+ declare function normalizeTrailingQuantity(text: string): string;
126
+ /**
127
+ * 12. Zamenjaj " / " s presledki
128
+ * Dodaj presledek na konec, nato zamenjaj vse " / " s presledki
129
+ * Primer: "zdravilo / oblika" → "zdravilo oblika"
130
+ */
131
+ declare function replaceSlashWithSpace(text: string): string;
132
+ /**
133
+ * 13. Zamenjaj živalske vrste
134
+ * psi, pse, psa → pse
135
+ * mačko, mačka, mačke → mačke
136
+ * krava, krave, telice → govedo
137
+ */
138
+ declare function normalizeAnimalSpecies(text: string): string;
139
+ /**
140
+ * 14. Odstrani vse znake / za presledkom
141
+ * Primer: "zdravilo / test" → "zdravilo test" (že urejeno z replaceSlashWithSpace)
142
+ * Primer: "zdravilo /" → "zdravilo"
143
+ */
144
+ declare function removeSlashAfterSpace(text: string): string;
145
+ /**
146
+ * Glavna funkcija za normalizacijo naziva
147
+ */
148
+ export declare function normalizirajNaziv(naziv: string): string;
149
+ /**
150
+ * Rezultat razčlenitve naziva zdravila
151
+ */
152
+ export interface RazclenjeniNaziv {
153
+ izvorni_naziv: string;
154
+ normaliziran_naziv: string;
155
+ teza: string | null;
156
+ kolicina: string | null;
157
+ doze: string[];
158
+ besede: string[];
159
+ zivalskeVrste: string[];
160
+ }
161
+ /**
162
+ * Vzorec za prepoznavanje doz (kombinacija številk, enot in "/")
163
+ * Primeri: 100mcg, 2mg/5ml, 2x3ml
164
+ */
165
+ declare const DOZA_PATTERN: RegExp;
166
+ /**
167
+ * Vzorec za prepoznavanje količine na koncu naziva
168
+ * Primeri: 7tbl, 10x5, 5*10, kos (brez mg, ml, g, kg, mcg, dl, ie)
169
+ */
170
+ declare const KOLICINA_PATTERN: RegExp;
171
+ /**
172
+ * Vzorec za prepoznavanje teže
173
+ * Primeri: 40kg-60kg, -40kg, 40kg-, 0.5kg
174
+ */
175
+ declare const TEZA_PATTERN: RegExp;
176
+ export { toLowerCaseSL, replaceSpecialChars, replaceDecimalCommas, replaceIE, normalizeTablete, normalizeKapsule, normalizeDeci, normalizeDoz, normalizeTub, normalizeKos, normalizeKom, removeDotsAfterUnits, normalizeUnitSlash, normalizeUnitSpaces, replaceDotsBeforeUnits, removeDotsBeforeSpaces, removeDotsAfterLetters, normalizeGr, normalizeWeightRanges, addKgToWeight, removeZa, normalizeTrailingQuantity, replaceSlashWithSpace, removeSlashAfterSpace, normalizeAnimalSpecies, DOZA_PATTERN, KOLICINA_PATTERN, TEZA_PATTERN, };
@@ -0,0 +1,8 @@
1
+ import { ZdraviloZUtemeljitvijo } from "../types/ZdraviloZUtemeljitvijo";
2
+ export declare function oblikujRezultatIskanja(rezultati: ZdraviloZUtemeljitvijo[]): {
3
+ zadetki: {
4
+ zdravilo: import("../..").Zdravilo;
5
+ ocena: number;
6
+ }[];
7
+ najboljsi: import("../..").Zdravilo | undefined;
8
+ };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Ocena podobnosti med dvema razčlenjenima nazivoma zdravil
3
+ */
4
+ import type { RazclenjeniNaziv } from "./normalizirajNaziv";
5
+ /**
6
+ * Utemeljitev ocene podobnosti
7
+ */
8
+ export interface UtemeljitevOcene {
9
+ /** Skupna ocena podobnosti */
10
+ ocena: number;
11
+ /** Ocena ujemanja prvih štirih besed v obe smeri (prva: 500, druga: 300, tretja: 200, četrta: 100) */
12
+ ocenaPrvihBesed: number;
13
+ /** Ocena ujemanja velikosti (male/mali, srednje/srednji, velike/veliki) - 70 za vsako */
14
+ ocenaVelikosti: number;
15
+ /** Ocena ujemanja doz (0-200) */
16
+ ocenaDoze: number;
17
+ /** Ocena ujemanja živalskih vrst (0-200) */
18
+ ocenaZivalskihVrst: number;
19
+ /** Ocena ujemanja teže (0 ali 300) */
20
+ ocenaTeze: number;
21
+ /** Ocena ujemanja količine (0 ali 200) */
22
+ ocenaKolicine: number;
23
+ /** Ocena ujemanja besed (0-200) */
24
+ ocenaBesed: number;
25
+ /** Kazen za razliko v številu besed (-10 * razlika) */
26
+ steviloBesed: number;
27
+ /** uporavljena razčlemba */
28
+ razclembaRegistra: RazclenjeniNaziv;
29
+ }
30
+ /**
31
+ * Oceni podobnost med dvema razčlenjenima nazivoma
32
+ *
33
+ * @param razclembaVhoda - Razčlenjen vhodni naziv (iskalni niz)
34
+ * @param razclembaRegistra - Razčlenjen naziv iz registra zdravil
35
+ * @returns Utemeljitev z delnimi ocenami in skupno oceno
36
+ */
37
+ export declare function oceniPodobnost(razclembaVhoda: RazclenjeniNaziv, razclembaRegistra: RazclenjeniNaziv): UtemeljitevOcene;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Iskanje živalskih vrst
3
+ *
4
+ * Funkcije za iskanje in ujemanje živalskih vrst iz registra.
5
+ * Uporablja _match regex iz skupneEntitete.vrsteZivali.
6
+ */
7
+ /**
8
+ * Rezultat iskanja živalske vrste
9
+ */
10
+ export interface RezultatIskanja {
11
+ /** Najdena vrsta (ključ iz ZivalskeVrste) */
12
+ vrsta: string;
13
+ /** Nadrejena vrsta, če obstaja */
14
+ nadrejenaVrsta: string | null;
15
+ }
16
+ /**
17
+ * Poišče nadrejeno živalsko vrsto za podano vrsto
18
+ * Primer: "krave v laktaciji" → "govedo", "kokoši nesnice" → "perutnina"
19
+ *
20
+ * Uporablja _match regex iz ZivalskeVrste
21
+ */
22
+ export declare function findNadrejenaVrsta(vrsta: string): string | null;
23
+ /**
24
+ * Poišče ustrezno živalsko vrsto za podani niz
25
+ *
26
+ * @param za - Niz za iskanje (npr. "psi", "krave v laktaciji", "kokoši nesnice")
27
+ * @returns Rezultat z najdeno vrsto in nadrejeno vrsto (če obstaja)
28
+ */
29
+ export declare function poisciZivalskoVrsto(za: string): RezultatIskanja | null;
30
+ /**
31
+ * Normalizacija imena živalske vrste
32
+ */
33
+ export declare function normalizeVrsta(vrsta: string): string;
@@ -0,0 +1,2 @@
1
+ import { RazclenjeniNaziv } from "./normalizirajNaziv";
2
+ export declare function razcleniNaziv(naziv: string): RazclenjeniNaziv;
@@ -0,0 +1,16 @@
1
+ import type { Zdravilo } from "./types/Zdravilo";
2
+ /**
3
+ * Vrne seznam zdravil, ki so na istem ATC nivoju `nivo` kot dano zdravilo.
4
+ *
5
+ * Vrnjeni seznam ne vsebuje zdravila samega.
6
+ *
7
+ * @param zdravilo Zdravilo, za katerega iščemo podobna zdravila
8
+ * @param nivo ATCvet nivo za primerjavo (1-5), privzeto 5 (kemijska učinkovina)
9
+ * @returns Seznam zdravil z enako ATCvet kodo na danem nivoju
10
+ * @example
11
+ * ```typescript
12
+ * // Poišči vsa zdravila z enako kemijsko podskupino (nivo 4)
13
+ * const podobna = podobnaZdravilaPoATC(mojeZdravilo, 4);
14
+ * ```
15
+ */
16
+ export declare function podobnaZdravilaPoATC(zdravilo: Zdravilo, nivo?: number): Zdravilo[];
@@ -0,0 +1,18 @@
1
+ import type { Zdravilo } from "./types/Zdravilo";
2
+ /**
3
+ * Vrne seznam zdravil, ki imajo vsaj eno učinkovino enako kot dano zdravilo.
4
+ *
5
+ * Podatek o učinkovinah pridobimo iz zdravila samega in mu dodamo učinkovine
6
+ * po nivoju 5 ATC tega zdravila. Enako storimo z vsemi zdravili Registra.
7
+ *
8
+ * Vrnjeni seznam ne vsebuje zdravila samega.
9
+ *
10
+ * @param zdravilo Zdravilo, za katerega iščemo zdravila s podobnimi učinkovinami.
11
+ * @returns Seznam zdravil z vsaj eno skupno učinkovino
12
+ * @example
13
+ * ```typescript
14
+ * // Poišči vsa zdravila z enako učinkovino
15
+ * const podobna = podobnaZdravilaPoUcinkovinah(mojeZdravilo);
16
+ * ```
17
+ */
18
+ export declare function podobnaZdravilaPoUcinkovinah(zdravilo: Zdravilo): Zdravilo[];
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Seznam veterinarskih zdravil registriranih v Sloveniji
3
+ *
4
+ * Generirano: 2026-01-02T17:40:16.336Z
5
+ * Število zdravil: 879
6
+ */
7
+ import type { RegisterZdravil } from "..";
8
+ declare const registerZdravil: RegisterZdravil;
9
+ export { registerZdravil };
@@ -0,0 +1,24 @@
1
+ import { ZivalskeVrste } from "./ZivalskeVrste";
2
+ import { MozneKarenceZa, PotiAplikacijeZdravila } from "cry-klikvet-logic";
3
+ /**
4
+ * Karance po živalskih vrsta in morebiti po poteh aplikacije
5
+ *
6
+ * primer 1:
7
+ * {
8
+ * 'prašiči': { meso: 20, 'not. organi': 20 },
9
+ * konji: { meso: 10, 'not. organi': 10 },
10
+ * govedo: {
11
+ * meso: 31,
12
+ * 'not. organi': 31,
13
+ * mleko: 2,
14
+ * pot: { IV: { meso: 10, 'not. organi': 10, mleko: 1 } }
15
+ * }
16
+ * }
17
+ */
18
+ type KarencaVrste = {
19
+ vrsta: keyof typeof ZivalskeVrste;
20
+ pot?: keyof typeof PotiAplikacijeZdravila;
21
+ karence: Partial<Record<MozneKarenceZa, number>>;
22
+ };
23
+ export type KarencaZdravila = KarencaVrste;
24
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Pot uporabe zdravila
3
+ * Na primer, za podatek v stolpcu xslx "-1081\Subkutana uporaba"
4
+ * const potUpora : PotUporabeZdravila = {
5
+ * sifra: 1081,
6
+ * opis: "Subkutana uporaba",
7
+ * koda: "SC"
8
+ * }
9
+ */
10
+ export interface PotUporabeZdravila {
11
+ /** numerična šifra poti uprabe
12
+ * primer: 1081
13
+ */
14
+ sifra: number;
15
+ /**
16
+ * opis uporabe
17
+ * primer: Subkutana uporaba
18
+ */
19
+ opis: string;
20
+ koda: string[];
21
+ }
@@ -0,0 +1,9 @@
1
+ import type { RazclenjeniNaziv } from "../helper/normalizirajNaziv";
2
+ import type { Zdravilo } from "./Zdravilo";
3
+ /**
4
+ * Predpripravljena razčlemba zdravila
5
+ */
6
+ export interface RazclembaZdravila {
7
+ zdravilo: Zdravilo;
8
+ razclemba: RazclenjeniNaziv;
9
+ }
@@ -0,0 +1,2 @@
1
+ import { Zdravilo } from "./Zdravilo";
2
+ export type RegisterZdravil = Map<number, Zdravilo>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Opisuje učinkovino zdravila in njeno količino v pakiranju.
3
+ * Primer: za stolpca v xslx
4
+ * - " -1\prokainijev benzilpenicilinat monohidrat -2\dihidrostreptomicinijev sulfat -3\vitamin A palmitat -4\kalcijev pantotenat"
5
+ * - " -1\ 1000000,0 IU -2\ 1000000,0 IU -3\ 10000,0 IU -4\ 100,0 mg"
6
+ * so ucinkovine
7
+ * const ucinkovine : UcinkovinaZdravila[] = [
8
+ * { ucinkovina: "prokainijev benzilpenicilinat monohidrat", kolicina: 1000000.0, enota: "IU" },
9
+ * { ucinkovina: "dihidrostreptomicinijev sulfat", kolicina: 1000000.0, enota: "IU" },
10
+ * { ucinkovina: "dihidrostreptomicinijev sulfat", kolicina: 1000000.0, enota: "IU" },
11
+ * { ucinkovina: "vitamin A palmitat", kolicina: 10000.0, enota: "IU" },
12
+ * { ucinkovina: "kalcijev pantotenat", kolicina: 100.0, enota: "mg" },
13
+ * ]
14
+ */
15
+ export interface UcinkovinaZdravila {
16
+ ucinkovina: string;
17
+ kolicina?: number;
18
+ enota: string;
19
+ dodatneInformacije?: string;
20
+ }
@@ -0,0 +1,65 @@
1
+ import { UcinkovinaZdravila } from "./UcinkovinaZdravila";
2
+ import { PotUporabeZdravila } from "./PotUporabeZdravila";
3
+ import { KarencaZdravila } from "./KarencaZdravila";
4
+ /**
5
+ * Podatki o veterinarskem zdravilu iz registra JAZMP
6
+ */
7
+ export interface Zdravilo {
8
+ /** id zdravila, izračunan kot hash */
9
+ id: number;
10
+ /** Ime zdravila */
11
+ ime: string;
12
+ /** Imetnik dovoljenja za promet z zdravilom */
13
+ imetnikDovoljenja: string;
14
+ /** Podatki o sproščanju zdravila */
15
+ sproscanjeZdravila: string;
16
+ /** Številka dovoljenja za promet */
17
+ stevilkaDovoljenja: string;
18
+ /** Datum veljavnosti dovoljenja */
19
+ datumVeljavnosti: string | null;
20
+ /** Režim izdaje (npr. Rp - na recept) */
21
+ rezimIzdaje: string;
22
+ /** ATC koda zdravila */
23
+ atcKoda: string;
24
+ /** Poti uporabe zdravila */
25
+ potiUporabe: PotUporabeZdravila[];
26
+ /** Farmacevtska oblika zdravila */
27
+ farmacevtskaOblika: string;
28
+ /** Opis pakiranj */
29
+ pakiranja: string;
30
+ /** Enota količine za sestavo */
31
+ enotaKolicine: string;
32
+ /** Seznam učinkovin in njihovih količin */
33
+ ucinkovine: UcinkovinaZdravila[];
34
+ /** Pomožne snovi v zdravilu */
35
+ pomocneSnovi: string[];
36
+ /** Ciljne živalske vrste */
37
+ ciljneVrste: string[];
38
+ /** Karenca zdravila po vrstah */
39
+ karence: KarencaZdravila[];
40
+ /** Če je zdravilo vakcina, proti čemu varuje */
41
+ vakcinaZa?: string[];
42
+ }
43
+ /**
44
+ * Stolpci v xlsx datoteki JAZMP registra
45
+ */
46
+ export declare const XLSX_COLUMNS: {
47
+ readonly IME_ZDRAVILA: 0;
48
+ readonly IMETNIK_DOVOLJENJA: 1;
49
+ readonly SPROSCANJE_ZDRAVILA: 2;
50
+ readonly STEVILKA_DZP: 3;
51
+ readonly DATUM_VELJAVNOSTI: 4;
52
+ readonly REZIM_IZDAJE: 5;
53
+ readonly ATC: 6;
54
+ readonly POTI_UPORABE: 7;
55
+ readonly FARMACEVTSKA_OBLIKA: 8;
56
+ readonly PAKIRANJA: 9;
57
+ readonly ENOTA_KOLICINE: 10;
58
+ readonly UCINKOVINE: 11;
59
+ readonly KOLICINE_UCINKOVIN: 12;
60
+ readonly UCINKOVINE_DODATNE_INFO: 13;
61
+ readonly POMOCNE_SNOVI: 14;
62
+ readonly CILJNE_VRSTE: 15;
63
+ readonly KARENCA_START: 16;
64
+ readonly KARENCA_END: 54;
65
+ };
@@ -0,0 +1,9 @@
1
+ import type { UtemeljitevOcene } from "../helper/oceniPodobnost";
2
+ import type { Zdravilo } from "./Zdravilo";
3
+ /**
4
+ * Rezultat iskanja zdravila z utemeljitvijo
5
+ */
6
+ export interface ZdraviloZUtemeljitvijo {
7
+ zdravilo: Zdravilo;
8
+ utemeljitev: UtemeljitevOcene;
9
+ }
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Širant živalskih vrst
3
+ */
4
+ export declare const ZivalskeVrste: {
5
+ psi: {
6
+ vrsta: string;
7
+ ikona: string;
8
+ _match: RegExp;
9
+ _protected: boolean;
10
+ };
11
+ mačke: {
12
+ vrsta: string;
13
+ ikona: string;
14
+ _match: RegExp;
15
+ _protected: boolean;
16
+ };
17
+ dihurji: {
18
+ vrsta: string;
19
+ ikona: string;
20
+ _match: RegExp;
21
+ _protected: boolean;
22
+ };
23
+ glodalci: {
24
+ vrsta: string;
25
+ ikona: string;
26
+ _match: RegExp;
27
+ _protected: boolean;
28
+ };
29
+ ptice: {
30
+ vrsta: string;
31
+ ikona: string;
32
+ _match: RegExp;
33
+ _protected: boolean;
34
+ };
35
+ plazilci: {
36
+ vrsta: string;
37
+ ikona: string;
38
+ _match: RegExp;
39
+ _protected: boolean;
40
+ };
41
+ kunci: {
42
+ vrsta: string;
43
+ ikona: string;
44
+ _match: RegExp;
45
+ _protected: boolean;
46
+ };
47
+ ribe: {
48
+ vrsta: string;
49
+ ikona: string;
50
+ _match: RegExp;
51
+ _protected: boolean;
52
+ };
53
+ eksoti: {
54
+ vrsta: string;
55
+ ikona: string;
56
+ _match: RegExp;
57
+ _protected: boolean;
58
+ };
59
+ drobnica: {
60
+ vrsta: string;
61
+ ikona: string;
62
+ _match: RegExp;
63
+ _protected: boolean;
64
+ mozneKarence: string[];
65
+ rejna: boolean;
66
+ };
67
+ prašiči: {
68
+ vrsta: string;
69
+ ikona: string;
70
+ _match: RegExp;
71
+ _protected: boolean;
72
+ mozneKarence: string[];
73
+ rejna: boolean;
74
+ };
75
+ "pra\u0161i\u010Di-dru\u017Eni": {
76
+ vrsta: string;
77
+ ikona: string;
78
+ _match: RegExp;
79
+ _protected: boolean;
80
+ rejna: boolean;
81
+ };
82
+ govedo: {
83
+ vrsta: string;
84
+ ikona: string;
85
+ _match: RegExp;
86
+ _protected: boolean;
87
+ mozneKarence: string[];
88
+ rejna: boolean;
89
+ };
90
+ divjad: {
91
+ vrsta: string;
92
+ ikona: string;
93
+ _match: RegExp;
94
+ _protected: boolean;
95
+ mozneKarence: string[];
96
+ rejna: boolean;
97
+ };
98
+ čebele: {
99
+ vrsta: string;
100
+ ikona: string;
101
+ _match: RegExp;
102
+ _protected: boolean;
103
+ mozneKarence: string[];
104
+ rejna: boolean;
105
+ };
106
+ činčile: {
107
+ vrsta: string;
108
+ ikona: string;
109
+ _match: RegExp;
110
+ _protected: boolean;
111
+ };
112
+ budre: {
113
+ vrsta: string;
114
+ ikona: string;
115
+ _match: RegExp;
116
+ _protected: boolean;
117
+ };
118
+ hrčki: {
119
+ vrsta: string;
120
+ ikona: string;
121
+ _match: RegExp;
122
+ _protected: boolean;
123
+ };
124
+ konji: {
125
+ vrsta: string;
126
+ ikona: string;
127
+ _match: RegExp;
128
+ _protected: boolean;
129
+ mozneKarence: string[];
130
+ rejna: boolean;
131
+ };
132
+ "konji-dru\u017Eni": {
133
+ vrsta: string;
134
+ ikona: string;
135
+ _match: RegExp;
136
+ _protected: boolean;
137
+ rejna: boolean;
138
+ };
139
+ ostale: {
140
+ vrsta: string;
141
+ ikona: string;
142
+ _match: RegExp;
143
+ _protected: boolean;
144
+ };
145
+ perutnina: {
146
+ vrsta: string;
147
+ ikona: string;
148
+ _match: RegExp;
149
+ mozneKarence: string[];
150
+ _protected: boolean;
151
+ rejna: boolean;
152
+ };
153
+ "morski pra\u0161i\u010Dki": {
154
+ vrsta: string;
155
+ _match: RegExp;
156
+ _protected: boolean;
157
+ };
158
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Iskanje zdravil po imenu
3
+ *
4
+ * Omogoča iskanje zdravil iz registra po podobnosti imena.
5
+ */
6
+ import type { Zdravilo } from "./types/Zdravilo";
7
+ import { ZdraviloZUtemeljitvijo } from "./types/ZdraviloZUtemeljitvijo";
8
+ /**
9
+ * Opcije za iskanje zdravil
10
+ */
11
+ export interface UganiZdraviloOpts {
12
+ /** Maksimalno število rezultatov (privzeto 10) */
13
+ limit?: number;
14
+ /** Minimalna ocena podobnosti (privzeto MIN_OCENA_PODOBNOSTI) */
15
+ minOcena?: number;
16
+ /** Išči samo med zdravili s temi ID-ji */
17
+ isciMed?: number[];
18
+ }
19
+ /**
20
+ * Poišči zdravila po podobnosti imena in vrni z utemeljitvami
21
+ *
22
+ * @param vhodniNaziv - Iskalni niz (ime zdravila)
23
+ * @param opts - Opcije iskanja (limit, minOcena, isciMed)
24
+ * @returns Seznam zdravil z utemeljitvami, sortirano po oceni padajoče
25
+ */
26
+ export declare function uganiZdraviloInUtemelji(vhodniNaziv: string, opts?: UganiZdraviloOpts): ZdraviloZUtemeljitvijo[];
27
+ /**
28
+ * Poišče zdravila v registru zdravil po podobnosti imena.
29
+ * Vrne seznam `limit` najboljših zadetkov in, če obstaja, najboljši zadetek.
30
+ *
31
+ * Zadetek je najboljši, če je edini ali če ima edini najvišjo oceno.
32
+ *
33
+ * @param vhodniNaziv - Iskalni niz (ime zdravila)
34
+ * @param opts - Opcije iskanja (limit, minOcena, isciMed)
35
+ * @returns { zadetki, najboljsi }
36
+ */
37
+ export declare function uganiZdravilo(vhodniNaziv: string, opts?: UganiZdraviloOpts): {
38
+ zadetki: {
39
+ zdravilo: Zdravilo;
40
+ ocena: number;
41
+ }[];
42
+ najboljsi: Zdravilo | undefined;
43
+ };
@@ -0,0 +1,8 @@
1
+ import type { Zdravilo } from "./types/Zdravilo";
2
+ /**
3
+ * Vrne seznam zdravil, ki se začnejo z dano atcVet kodo.
4
+ * Seznam je urejen po ATCvet kodah.
5
+ * @param atcVetKoda ATCvet koda ali njen prefiks (npr. "QJ01", "QJ01CA04")
6
+ * @returns Seznam zdravil z ustrezno ATCvet kodo, urejen po kodah
7
+ */
8
+ export declare function zdravilaZaAtcVetKodo(atcVetKoda: string): Zdravilo[];