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,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";
|