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.
- package/.claude/settings.local.json +17 -0
- package/CLAUDE.md +82 -0
- package/LICENSE.md +16 -0
- package/README.md +376 -0
- package/a.txt +1643 -0
- package/bun.lock +197 -0
- package/dist/atcvet/opisATCvetKode.d.ts +23 -0
- package/dist/atcvet/podatkiATCvetKode.d.ts +20 -0
- package/dist/atcvet/pomeniNivojevATCvet.d.ts +1 -0
- package/dist/atcvet/types/AtcvetFile.d.ts +19 -0
- package/dist/generated/AtcVet.d.ts +9 -0
- package/dist/generated/RegisterZdravil.d.ts +8 -0
- package/dist/generated/seznamZdravil.d.ts +8 -0
- package/dist/index.d.ts +244 -0
- package/dist/index.js +141786 -0
- package/dist/register/MIN_OCENA_PODOBNOSTI.d.ts +2 -0
- package/dist/register/helper/normalizirajNaziv.d.ts +176 -0
- package/dist/register/helper/oblikujRezultatIskanja.d.ts +8 -0
- package/dist/register/helper/oceniPodobnost.d.ts +37 -0
- package/dist/register/helper/poisciZivalskoVrsto.d.ts +33 -0
- package/dist/register/helper/razcleniNaziv.d.ts +2 -0
- package/dist/register/podobnaZdravilaPoATC.d.ts +16 -0
- package/dist/register/podobnaZdravilaPoUcinkovinah.d.ts +18 -0
- package/dist/register/registerZdravil.d.ts +9 -0
- package/dist/register/types/KarencaZdravila.d.ts +24 -0
- package/dist/register/types/PotUporabeZdravila.d.ts +21 -0
- package/dist/register/types/RazclembaZdravila.d.ts +9 -0
- package/dist/register/types/RegisterZdravil.d.ts +2 -0
- package/dist/register/types/UcinkovinaZdravila.d.ts +20 -0
- package/dist/register/types/Zdravilo.d.ts +65 -0
- package/dist/register/types/ZdraviloZUtemeljitvijo.d.ts +9 -0
- package/dist/register/types/ZivalskeVrste.d.ts +158 -0
- package/dist/register/uganiZdravilo.d.ts +43 -0
- package/dist/register/zdravilaZaAtcVetKodo.d.ts +8 -0
- package/dist/register/zdraviloJeVakcinaZa.d.ts +18 -0
- package/docs/vakcine.md +195 -0
- package/package.json +39 -0
- package/src/atcvet/CLAUDE.md +18 -0
- package/src/atcvet/downloadLatestAtcvetPdf.ts +107 -0
- package/src/atcvet/opisATCvetKode.ts +116 -0
- package/src/atcvet/parseAtcvetPdf.ts +215 -0
- package/src/atcvet/podatkiATCvetKode.ts +34 -0
- package/src/atcvet/pomeniNivojevATCvet.ts +8 -0
- package/src/atcvet/types/AtcvetFile.ts +22 -0
- package/src/generate.ts +111 -0
- package/src/generated/AtcVet.ts +56704 -0
- package/src/generated/seznamZdravil.ts +44833 -0
- package/src/importParseAndBuildAll.ts +97 -0
- package/src/index.ts +289 -0
- package/src/interactive.ts +428 -0
- package/src/register/CLAUDE.md +230 -0
- package/src/register/MIN_OCENA_PODOBNOSTI.ts +3 -0
- package/src/register/downloadRegister.ts +148 -0
- package/src/register/helper/analizaVakcin.ts +90 -0
- package/src/register/helper/checkVrste.ts +72 -0
- package/src/register/helper/hashString.ts +27 -0
- package/src/register/helper/normalizirajNaziv.ts +493 -0
- package/src/register/helper/oblikujRezultatIskanja.ts +15 -0
- package/src/register/helper/oceniPodobnost.ts +194 -0
- package/src/register/helper/poisciZivalskoVrsto.ts +100 -0
- package/src/register/helper/razcleniNaziv.ts +105 -0
- package/src/register/helper/testNormalizacije.ts +89 -0
- package/src/register/helper/testPodobnosti.ts +238 -0
- package/src/register/helper/testVakcin.ts +103 -0
- package/src/register/parseRegister.ts +464 -0
- package/src/register/podobnaZdravilaPoATC.ts +71 -0
- package/src/register/podobnaZdravilaPoUcinkovinah.ts +136 -0
- package/src/register/registerZdravil.ts +22 -0
- package/src/register/stats.ts +114 -0
- package/src/register/types/KarencaZdravila.ts +26 -0
- package/src/register/types/PotUporabeZdravila.ts +21 -0
- package/src/register/types/RazclembaZdravila.ts +10 -0
- package/src/register/types/RegisterRaw.ts +23 -0
- package/src/register/types/RegisterZdravil.ts +3 -0
- package/src/register/types/UcinkovinaZdravila.ts +21 -0
- package/src/register/types/Zdravilo.ts +84 -0
- package/src/register/types/ZdraviloZUtemeljitvijo.ts +11 -0
- package/src/register/types/ZivalskeVrste.ts +7 -0
- package/src/register/uganiZdravilo.ts +142 -0
- package/src/register/zdravilaZaAtcVetKodo.ts +28 -0
- package/src/register/zdraviloJeVakcinaZa.ts +202 -0
- package/src/test/testPodobnosti.test.ts +126 -0
- package/src/test/zdravila.json +38693 -0
- 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
|
+
|