cry-klikvet-logic 1.0.262 → 1.0.263
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/.vscode/launch.json +6 -5
- package/a.txt +6 -98
- package/dist/pmzUpdate.d.mts +6 -1
- package/dist/pmzUpdate.d.mts.map +1 -1
- package/dist/pmzUpdate.mjs +126 -133
- package/dist/pmzUpdate.mjs.map +1 -1
- package/dist/razknjiziBlagovnico.d.mts +1 -1
- package/dist/smsMenjave.mjs +1 -1
- package/dist/smsMenjave.mjs.map +1 -1
- package/dist/types/obravnava.d.mts +1 -0
- package/dist/types/obravnava.d.mts.map +1 -1
- package/dist/types/obravnava.mjs.map +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/.vscode/launch.json
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
// Use IntelliSense to learn about possible attributes.
|
3
3
|
// Hover to view descriptions of existing attributes.
|
4
4
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
5
|
-
"version": "
|
5
|
+
"version": "2.0.0",
|
6
6
|
"configurations": [
|
7
7
|
|
8
|
-
|
8
|
+
|
9
9
|
{
|
10
10
|
"type": "node",
|
11
11
|
"request": "launch",
|
@@ -51,9 +51,10 @@
|
|
51
51
|
{
|
52
52
|
"type": "node",
|
53
53
|
"request": "launch",
|
54
|
-
"name": "
|
55
|
-
"
|
54
|
+
"name": "pmzIpdate",
|
55
|
+
"preLaunchTask": "npm: build",
|
56
|
+
"program": "${workspaceFolder}/dist/pmzUpdate.mjs",
|
56
57
|
"pauseForSourceMap": true
|
57
|
-
}
|
58
|
+
}
|
58
59
|
]
|
59
60
|
}
|
package/a.txt
CHANGED
@@ -1,98 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
dni 554
|
8
|
-
po starosti Govedo pitovno -> Govedo pitovno
|
9
|
-
dni 46
|
10
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
11
|
-
dni 2055
|
12
|
-
po starosti Govedo pitovno -> Govedo pitovno
|
13
|
-
dni 12
|
14
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
15
|
-
dni 2058
|
16
|
-
po starosti Govedo pitovno -> Govedo pitovno
|
17
|
-
dni 89
|
18
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
19
|
-
dni 30
|
20
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
21
|
-
dni 30
|
22
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
23
|
-
dni 122
|
24
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
25
|
-
dni 90
|
26
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
27
|
-
dni 90
|
28
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
29
|
-
dni 1086
|
30
|
-
po starosti Govedo pitovno -> Govedo pitovno
|
31
|
-
dni 75
|
32
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
33
|
-
dni 75
|
34
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
35
|
-
dni 630
|
36
|
-
po starosti Govedo pitovno -> Govedo pitovno
|
37
|
-
dni 3385
|
38
|
-
po starosti Govedo pitovno -> Govedo pitovno
|
39
|
-
dni 1792
|
40
|
-
po starosti Govedo pitovno -> Govedo pitovno
|
41
|
-
dni 2510
|
42
|
-
po starosti Govedo pitovno -> Govedo pitovno
|
43
|
-
dni 328
|
44
|
-
po starosti Govedo pitovno<1leto -> Govedo pitovno<1leto
|
45
|
-
finished PMZ update mozirje 2025 - terapije: 207/207
|
46
|
-
starting PMZ update mozirje 2025 - osemenitevGoveda
|
47
|
-
finished PMZ update mozirje 2025 - osemenitevGoveda: 0/0
|
48
|
-
starting PMZ update mozirje 2025 - obiski
|
49
|
-
finished PMZ update mozirje 2025 - obiski: 0/0
|
50
|
-
starting PMZ update mozirje 2025 - racuni
|
51
|
-
postavka.pmzZa,novaVrsta ostalo -> undefined
|
52
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
53
|
-
postavka.pmzZa,novaVrsta drobnica -> undefined
|
54
|
-
postavka.pmzZa,novaVrsta drobnica -> undefined
|
55
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
56
|
-
postavka.pmzZa,novaVrsta drobnica -> undefined
|
57
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
58
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
59
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
60
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
61
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
62
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
63
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
64
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
65
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
66
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
67
|
-
postavka.pmzZa,novaVrsta null -> undefined
|
68
|
-
finished PMZ update mozirje 2025 - racuni: 251/251
|
69
|
-
starting PMZ update mozirje 2025 - dobavnice
|
70
|
-
postavka.pmzZa,novaVrsta ostalo -> undefined
|
71
|
-
finished PMZ update mozirje 2025 - dobavnice: 137/137
|
72
|
-
terapije 207
|
73
|
-
osemenitevGoveda 0
|
74
|
-
obiski 0
|
75
|
-
racuni 251
|
76
|
-
dobavnice 137
|
77
|
-
collection, written.length terapije 207
|
78
|
-
collection, written.length osemenitevGoveda 0
|
79
|
-
collection, written.length obiski 0
|
80
|
-
collection, written.length racuni 251
|
81
|
-
collection, written.length dobavnice 137
|
82
|
-
pmzUpdateAllForYear mozirje 2025 errors [
|
83
|
-
'Manjka živalska vrsta za zdravilo CLAVASEPTIN, 250 MG (65f0b9e28d1e6937ccf27513).',
|
84
|
-
'Manjka živalska vrsta za zdravilo CLAVASEPTIN, 50 MG (65f0b9e28d1e6937ccf27514).',
|
85
|
-
'Manjka živalska vrsta za zdravilo CLAVASEPTIN, 500 MG (65f0b9e28d1e6937ccf27512).',
|
86
|
-
'Manjka živalska vrsta za zdravilo CLAVASEPTIN, 62,5 MG (65f0b9e28d1e6937ccf2762a).',
|
87
|
-
'Manjka živalska vrsta za zdravilo CONVENIA SOL.INJ.10 ML (65f0b9e28d1e6937ccf27248).',
|
88
|
-
'Manjka živalska vrsta za zdravilo CYLANIC TBL 250 MG + 62,5 MG ZA PSE (65f0b9e28d1e6937ccf271a1).',
|
89
|
-
'Manjka živalska vrsta za zdravilo CYLANIC TBL 500 MG + 125 MG ZA PSE (65f0b9e28d1e6937ccf271a3).',
|
90
|
-
'Manjka živalska vrsta za zdravilo ENROXIL TBL.FLAVOUR 100*150 MG (65f0b9e28d1e6937ccf2740b).',
|
91
|
-
'Manjka živalska vrsta za zdravilo INFECTOGENTA UNG. 15 GR. (65f0b9e28d1e6937ccf27239).',
|
92
|
-
'Manjka živalska vrsta za zdravilo METROVIS 250 MG.,TBL., PSI IN MAČKE, 100X (667f899cc525d321c2fb77f6).',
|
93
|
-
'Manjka živalska vrsta za zdravilo MITEX, GTT. ZA UHO,PSI IN MAČKE (65f0b9e28d1e6937ccf2758e).',
|
94
|
-
'Manjka živalska vrsta za zdravilo NEPTRA KAPLJICE ZA UHO PSI, 1 ML,10X (66669e6a02fb0b643ef48455).',
|
95
|
-
'Manjka živalska vrsta za zdravilo OPHTOCYCLINE, 10 MG/G., MAST.OKO, 5 GR (666295719734ef2ac0acff35).',
|
96
|
-
'Manjka živalska vrsta za zdravilo TOBRADEX, KAPLJ.ZA OKO, 5 ML (65f0b9e28d1e6937ccf276e7).',
|
97
|
-
'Manjka živalska vrsta za zdravilo TOBREX MAZILO 3,5 GR.0,3 % (65f0b9e28d1e6937ccf271d8).'
|
98
|
-
]
|
1
|
+
pmzUpdate mozirje 2025 terapije 207
|
2
|
+
pmzUpdate mozirje 2025 osemenitevGoveda 0
|
3
|
+
pmzUpdate mozirje 2025 obiski 0
|
4
|
+
pmzUpdate mozirje 2025 racuni 251
|
5
|
+
pmzUpdate mozirje 2025 dobavnice 137
|
6
|
+
pmzUpdate mozirje 2025 obravnave 0
|
package/dist/pmzUpdate.d.mts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Mongo } from "cry-db";
|
2
|
-
import { Dobavnica, Obisk, OsemenitevGoveda, Racun, Terapija, Zdravilo } from "./index.mjs";
|
2
|
+
import { Dobavnica, Obisk, Obravnava, OsemenitevGoveda, Pacient, Racun, Terapija, Zdravilo } from "./index.mjs";
|
3
3
|
import { RejnaZival } from "./types/stranka.mjs";
|
4
4
|
interface Pogostnost {
|
5
5
|
vrsta: string;
|
@@ -7,6 +7,7 @@ interface Pogostnost {
|
|
7
7
|
prc: number;
|
8
8
|
}
|
9
9
|
type ArtikliPmz = Pick<Zdravilo, "pmzKodaZdravila" | "_id" | "naziv">;
|
10
|
+
type PacientVrsteObj = Record<string, Pick<Pacient, "vrsta">>;
|
10
11
|
type ArtikliPmzMap = Record<string, ArtikliPmz>;
|
11
12
|
interface VrsteZivaliZaZdravilo {
|
12
13
|
zdravilo_id: string;
|
@@ -32,6 +33,9 @@ export declare function pmzUpdateRacuni(mongo: Mongo, tenant: string, year: numb
|
|
32
33
|
export declare function pmzUpdateDobavnice(mongo: Mongo, tenant: string, year: number, artikli: ArtikliPmzMap, zivali: RejnaZival[], znaneVrsteZivali: Record<string, string>, vrsteZivaliZaZdravilo: VrsteZivaliZaZdravilo[], errors: string[]): Promise<{
|
33
34
|
dobavnice: Partial<Dobavnica>[];
|
34
35
|
}>;
|
36
|
+
export declare function pmzUpdateObravnave(mongo: Mongo, tenant: string, year: number, artikli: ArtikliPmzMap, vrsteZivaliZaZdravilo: VrsteZivaliZaZdravilo[], pacientiVrsteObj: PacientVrsteObj, errors: string[]): Promise<{
|
37
|
+
obravnave: Partial<Obravnava>[];
|
38
|
+
}>;
|
35
39
|
export declare function pmzUpdateAllForYear({ mongo, tenant, year, writeToDb }: {
|
36
40
|
tenant: string;
|
37
41
|
year: number;
|
@@ -39,6 +43,7 @@ export declare function pmzUpdateAllForYear({ mongo, tenant, year, writeToDb }:
|
|
39
43
|
writeToDb: boolean;
|
40
44
|
}): Promise<{
|
41
45
|
updates: {
|
46
|
+
obravnave: Partial<Obravnava>[];
|
42
47
|
dobavnice: Partial<Dobavnica>[];
|
43
48
|
racuni: Partial<Racun>[];
|
44
49
|
obiski: Partial<Obisk>[];
|
package/dist/pmzUpdate.d.mts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pmzUpdate.d.mts","sourceRoot":"","sources":["../src/pmzUpdate.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAkB,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"pmzUpdate.d.mts","sourceRoot":"","sources":["../src/pmzUpdate.mts"],"names":[],"mappings":"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"}
|
package/dist/pmzUpdate.mjs
CHANGED
@@ -3,12 +3,8 @@ import dayjs from "dayjs";
|
|
3
3
|
import { jeVeljavnaPmzVrsta, pmzVrstaGledeNaStarost, pmzVrstaOdvisnaOdStarosti, poisciPmzVrstoZivali } from "cry-pmz";
|
4
4
|
import { arrayToObject, dedup, jn, leftOfFirst } from "cry-helpers";
|
5
5
|
import { dolociMesnostAliRejnostPasmeGoveda } from "./dolociMesnostAliRejnostPasmeGoveda.mjs";
|
6
|
-
|
7
|
-
|
8
|
-
// dayjs(`${year}-06-06`).startOf("year"),
|
9
|
-
// dayjs(`${year}-06-06`).endOf("year"),
|
10
|
-
// ];
|
11
|
-
// };
|
6
|
+
;
|
7
|
+
const DEBUG = !!process.dev;
|
12
8
|
function wholeYearQ(year) {
|
13
9
|
return {
|
14
10
|
$gt: dayjs(`${year}-06-06`).startOf("year").toDate(),
|
@@ -16,7 +12,19 @@ function wholeYearQ(year) {
|
|
16
12
|
};
|
17
13
|
}
|
18
14
|
;
|
19
|
-
|
15
|
+
function starostZivaliDni(stZivali, zivali, naDan) {
|
16
|
+
if (!naDan || !(stZivali === null || stZivali === void 0 ? void 0 : stZivali.length) || !zivali)
|
17
|
+
return undefined;
|
18
|
+
for (let zival of stZivali || []) {
|
19
|
+
let animal = zivali === null || zivali === void 0 ? void 0 : zivali.find(z => jn(z.state, z.idAnimal) === zival);
|
20
|
+
if (animal === null || animal === void 0 ? void 0 : animal.DBirth) {
|
21
|
+
let dni = dayjs(naDan).diff(animal.DBirth, "days");
|
22
|
+
if (dni)
|
23
|
+
return dni;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
return undefined;
|
27
|
+
}
|
20
28
|
/**
|
21
29
|
* Iz vseh obstoječih terapij pridobi PMZ vrste živali za vse živali, kjer je bila vpisana
|
22
30
|
* @param mongo
|
@@ -26,7 +34,7 @@ async function pridobiVrsteZivaliIzTerapij(mongo) {
|
|
26
34
|
var _a, _b, _c;
|
27
35
|
try {
|
28
36
|
let temp = await mongo.aggregate("terapije", [
|
29
|
-
{ $match: { "postavke.pmzZa": { $exists: 1 } } },
|
37
|
+
{ $match: { "postavke.pmzZa": { $exists: 1 }, } },
|
30
38
|
{ $unwind: "$postavke" },
|
31
39
|
{ $match: { "postavke.pmzZa": { $exists: true } } },
|
32
40
|
{ $set: { "postavke.stZivali": { $ifNull: ["$postavke.karencaZa", "$stevilkeZivali"] } } },
|
@@ -52,31 +60,11 @@ async function pridobiVrsteZivaliIzTerapij(mongo) {
|
|
52
60
|
;
|
53
61
|
return {};
|
54
62
|
}
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
// async function pripisManjkajociGmidTerapijam(mongo: Mongo, year: number) {
|
59
|
-
// let manjkajoce = await mongo.find<Terapija & { _gmids?: string[] }>("terapije", {
|
60
|
-
// datumTerapije: wholeYearQ(year),
|
61
|
-
// gmid: { $exists: false }
|
62
|
-
// }, { project: { _gmids: true, obisk_id: true } });
|
63
|
-
// console.log(`manjkajoce.length`,manjkajoce.length);
|
64
|
-
// let obiskiTerapij: Obisk[] = await mongo.find<Obisk>("obiski", {
|
65
|
-
// _id: { $in: manjkajoce.map(a => a.obisk_id?.toString()).filter(a => !!a) },
|
66
|
-
// gmid: { $exists: true }
|
67
|
-
// }, { project: { gmid: 1 } });
|
68
|
-
// console.log(`obiskiTerapij`,obiskiTerapij);
|
69
|
-
// let obiskiTerapijObj = arrayToObject(obiskiTerapij, "_id");
|
70
|
-
// let updates: { _id: string, gmid: string }[] = []
|
71
|
-
// for (let terapija of manjkajoce) {
|
72
|
-
// let gmid = (terapija.obisk_id && obiskiTerapijObj[terapija.obisk_id]?.gmid) ||
|
73
|
-
// (terapija._gmids?.length === 1 && terapija._gmids[0]);
|
74
|
-
// if (gmid) updates.push({ _id: terapija._id, gmid });
|
75
|
-
// }
|
76
|
-
// console.log(`TERAPIUE updates`,updates);
|
77
|
-
// }
|
63
|
+
async function pacientiZivalskeVrste(mongo) {
|
64
|
+
return arrayToObject(await mongo.find("pacienti", { _deleted: { $ne: "hack" } }), "_id");
|
65
|
+
}
|
78
66
|
async function pridobiPMZArtikle(mongo) {
|
79
|
-
let pmzArtikli = (await mongo.find("artikli", { skupine: "PMZ" }, { project: { _id: true, pmzKodaZdravila: true, naziv: true } })).filter(a => a);
|
67
|
+
let pmzArtikli = (await mongo.find("artikli", { skupine: "PMZ", _deleted: { $ne: "hack" } }, { project: { _id: true, pmzKodaZdravila: true, naziv: true } })).filter(a => a);
|
80
68
|
pmzArtikli.forEach(a => a._id = a._id.toString());
|
81
69
|
pmzArtikli = pmzArtikli.filter(a => a.pmzKodaZdravila && typeof a.pmzKodaZdravila === "number");
|
82
70
|
let pmzArtikliMap = arrayToObject(pmzArtikli, "_id");
|
@@ -133,7 +121,7 @@ function zdraviluPrimernaVrsta(vrsteZivaliZaZdravilo, zdravilo_id) {
|
|
133
121
|
if (!moznosti)
|
134
122
|
return;
|
135
123
|
let prva = (_a = moznosti.za.sort((a, b) => b.n - a.n)) === null || _a === void 0 ? void 0 : _a[0];
|
136
|
-
return (prva === null || prva === void 0 ? void 0 : prva.pmzZa) || prva.vrsta;
|
124
|
+
return poisciPmzVrstoZivali((prva === null || prva === void 0 ? void 0 : prva.pmzZa) || prva.vrsta);
|
137
125
|
}
|
138
126
|
function vrstaUstrezaZdravilu(vrsteZivaliZaZdravilo, vrsta, zdravilo_id) {
|
139
127
|
var _a, _b, _c, _d;
|
@@ -181,36 +169,45 @@ async function poisciNovoVrstoZivali(pmzZa, gmid, stZivali, zivali, znaneVrsteZi
|
|
181
169
|
let primerna = zdraviluPrimernaVrsta(vrsteZivaliZaZdravilo, zdravilo_id);
|
182
170
|
if (primerna)
|
183
171
|
return primerna;
|
184
|
-
errors.push(`Manjka živalska vrsta za zdravilo ${artikli[zdravilo_id].naziv} (${zdravilo_id}).`);
|
172
|
+
errors.push(`Manjka živalska vrsta za zdravilo na terenu ${artikli[zdravilo_id].naziv} (${zdravilo_id}).`);
|
185
173
|
return undefined;
|
186
174
|
}
|
187
175
|
;
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
//
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
//
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
176
|
+
function mogocePopraviPostavkoKoraka(artikli, postavka, pacient_id, pacientiVrsteObj, vrsteZivaliZaZdravilo, errors) {
|
177
|
+
var _a, _b;
|
178
|
+
if (!postavka)
|
179
|
+
return true;
|
180
|
+
const pmzKodaZdravilaNova = (_a = artikli[postavka.artikel_id]) === null || _a === void 0 ? void 0 : _a.pmzKodaZdravila;
|
181
|
+
if (!pmzKodaZdravilaNova)
|
182
|
+
return false;
|
183
|
+
let updated = false;
|
184
|
+
let update = {};
|
185
|
+
let novaVrsta = poisciPmzVrstoZivali(postavka.pmzZa_izvorna || postavka.pmzZa || ((_b = pacientiVrsteObj[pacient_id]) === null || _b === void 0 ? void 0 : _b.vrsta) || "");
|
186
|
+
// sicer vrni vrsto, primerno za to zdravilo
|
187
|
+
let primerna = zdraviluPrimernaVrsta(vrsteZivaliZaZdravilo, postavka.artikel_id);
|
188
|
+
if (primerna)
|
189
|
+
novaVrsta = primerna;
|
190
|
+
else
|
191
|
+
errors.push(`Manjka živalska vrsta za zdravilo na terenu ${artikli[postavka.artikel_id].naziv} (${postavka.artikel_id}).`);
|
192
|
+
if (postavka.pmzZa !== novaVrsta) {
|
193
|
+
update.pmzZa_izvorna = postavka.pmzZa;
|
194
|
+
update.pmzZaAuto = novaVrsta;
|
195
|
+
}
|
196
|
+
if (postavka.pmzKodaZdravila !== pmzKodaZdravilaNova) {
|
197
|
+
// console.log(`novo zdravilo`,pmzKodaZdravilaNova, update.pmzZaAuto);
|
198
|
+
update.pmzKodaZdravila_izvorna = postavka.pmzKodaZdravila;
|
199
|
+
update.pmzKodaZdravila = pmzKodaZdravilaNova;
|
200
|
+
}
|
201
|
+
if (Object.keys(update).length > 0) {
|
202
|
+
update.pmz_popravek = new Date();
|
203
|
+
updated = true;
|
204
|
+
}
|
205
|
+
if (updated) {
|
206
|
+
for (let key in update)
|
207
|
+
postavka[key] = update[key];
|
208
|
+
}
|
209
|
+
return updated;
|
210
|
+
}
|
214
211
|
async function mogocePopraviPostavko(artikli, postavka, gmid, stZivali, zivali, znaneVrsteZivali, mongo, tenant, year, vrsteZivaliZaZdravilo, errors, naDan) {
|
215
212
|
var _a;
|
216
213
|
if (!postavka)
|
@@ -246,8 +243,8 @@ async function mogocePopraviPostavko(artikli, postavka, gmid, stZivali, zivali,
|
|
246
243
|
update.pmz_popravek = new Date();
|
247
244
|
updated = true;
|
248
245
|
}
|
249
|
-
if (!jeVeljavnaPmzVrsta(
|
250
|
-
console.
|
246
|
+
if (!jeVeljavnaPmzVrsta(update.pmzZa) && update.pmzZa !== undefined) {
|
247
|
+
console.error(`mogocePopraviPostavko: vrsta ni veljavna`, postavka.pmzZa, "->", update.pmzZa);
|
251
248
|
}
|
252
249
|
if (updated) {
|
253
250
|
for (let key in update)
|
@@ -271,7 +268,8 @@ async function gmidZapisa(zapis, mongo) {
|
|
271
268
|
//#region VRSTE DOKUMENTOV
|
272
269
|
export async function pmzUpdateTerapije(mongo, tenant, year, artikli, zivali, znaneVrsteZivali, vrsteZivaliZaZdravilo, errors) {
|
273
270
|
const collection = "terapije";
|
274
|
-
|
271
|
+
if (DEBUG)
|
272
|
+
console.log(`starting PMZ update ${tenant} ${year} - ${collection}`);
|
275
273
|
let updates = [];
|
276
274
|
try {
|
277
275
|
const terapije = (await mongo.find(collection, {
|
@@ -292,7 +290,8 @@ export async function pmzUpdateTerapije(mongo, tenant, year, artikli, zivali, zn
|
|
292
290
|
});
|
293
291
|
}
|
294
292
|
}
|
295
|
-
|
293
|
+
if (DEBUG)
|
294
|
+
console.log(`finished PMZ update ${tenant} ${year} - ${collection}: ${updates.length}/${terapije.length}`);
|
296
295
|
}
|
297
296
|
catch (err) {
|
298
297
|
console.error(`pmzUpdateTerapije ${tenant} ${year}: ${err.message || err}`);
|
@@ -304,7 +303,8 @@ export async function pmzUpdateTerapije(mongo, tenant, year, artikli, zivali, zn
|
|
304
303
|
;
|
305
304
|
export async function pmzUpdateOsemenitevGoveda(mongo, tenant, year, artikli, zivali, znaneVrsteZivali, vrsteZivaliZaZdravilo, errors) {
|
306
305
|
const collection = "osemenitevGoveda";
|
307
|
-
|
306
|
+
if (DEBUG)
|
307
|
+
console.log(`starting PMZ update ${tenant} ${year} - ${collection}`);
|
308
308
|
let updates = [];
|
309
309
|
try {
|
310
310
|
const osemenitve = (await mongo.find(collection, {
|
@@ -325,7 +325,8 @@ export async function pmzUpdateOsemenitevGoveda(mongo, tenant, year, artikli, zi
|
|
325
325
|
});
|
326
326
|
}
|
327
327
|
}
|
328
|
-
|
328
|
+
if (DEBUG)
|
329
|
+
console.log(`finished PMZ update ${tenant} ${year} - ${collection}: ${updates.length}/${osemenitve.length}`);
|
329
330
|
}
|
330
331
|
catch (err) {
|
331
332
|
console.error(`pmzUpdateOsemenitevGoveda ${tenant} ${year}: ${err.message || err}`);
|
@@ -337,7 +338,8 @@ export async function pmzUpdateOsemenitevGoveda(mongo, tenant, year, artikli, zi
|
|
337
338
|
;
|
338
339
|
export async function pmzUpdateObiski(mongo, tenant, year, artikli, zivali, znaneVrsteZivali, vrsteZivaliZaZdravilo, errors) {
|
339
340
|
const collection = "obiski";
|
340
|
-
|
341
|
+
if (DEBUG)
|
342
|
+
console.log(`starting PMZ update ${tenant} ${year} - ${collection}`);
|
341
343
|
let updates = [];
|
342
344
|
try {
|
343
345
|
const obiski = (await mongo.find(collection, {
|
@@ -358,7 +360,8 @@ export async function pmzUpdateObiski(mongo, tenant, year, artikli, zivali, znan
|
|
358
360
|
});
|
359
361
|
}
|
360
362
|
}
|
361
|
-
|
363
|
+
if (DEBUG)
|
364
|
+
console.log(`finished PMZ update ${tenant} ${year} - ${collection}: ${updates.length}/${obiski.length}`);
|
362
365
|
}
|
363
366
|
catch (err) {
|
364
367
|
console.error(`pmzUpdateObiski ${tenant} ${year}: ${err.message || err}`);
|
@@ -369,7 +372,8 @@ export async function pmzUpdateObiski(mongo, tenant, year, artikli, zivali, znan
|
|
369
372
|
;
|
370
373
|
export async function pmzUpdateRacuni(mongo, tenant, year, artikli, zivali, znaneVrsteZivali, vrsteZivaliZaZdravilo, errors) {
|
371
374
|
const collection = "racuni";
|
372
|
-
|
375
|
+
if (DEBUG)
|
376
|
+
console.log(`starting PMZ update ${tenant} ${year} - ${collection}`);
|
373
377
|
let updates = [];
|
374
378
|
try {
|
375
379
|
const racuni = (await mongo.find(collection, {
|
@@ -390,7 +394,8 @@ export async function pmzUpdateRacuni(mongo, tenant, year, artikli, zivali, znan
|
|
390
394
|
});
|
391
395
|
}
|
392
396
|
}
|
393
|
-
|
397
|
+
if (DEBUG)
|
398
|
+
console.log(`finished PMZ update ${tenant} ${year} - ${collection}: ${updates.length}/${racuni.length}`);
|
394
399
|
}
|
395
400
|
catch (err) {
|
396
401
|
console.error(`pmzUpdateRacuni ${tenant} ${year}: ${err.message || err}`);
|
@@ -401,7 +406,8 @@ export async function pmzUpdateRacuni(mongo, tenant, year, artikli, zivali, znan
|
|
401
406
|
;
|
402
407
|
export async function pmzUpdateDobavnice(mongo, tenant, year, artikli, zivali, znaneVrsteZivali, vrsteZivaliZaZdravilo, errors) {
|
403
408
|
const collection = "dobavnice";
|
404
|
-
|
409
|
+
if (DEBUG)
|
410
|
+
console.log(`starting PMZ update ${tenant} ${year} - ${collection}`);
|
405
411
|
let updates = [];
|
406
412
|
try {
|
407
413
|
const dobavnice = (await mongo.find(collection, {
|
@@ -422,7 +428,8 @@ export async function pmzUpdateDobavnice(mongo, tenant, year, artikli, zivali, z
|
|
422
428
|
});
|
423
429
|
}
|
424
430
|
}
|
425
|
-
|
431
|
+
if (DEBUG)
|
432
|
+
console.log(`finished PMZ update ${tenant} ${year} - ${collection}: ${updates.length}/${dobavnice.length}`);
|
426
433
|
}
|
427
434
|
catch (err) {
|
428
435
|
console.error(`pmzUpdateDobavnice ${tenant} ${year}: ${err.message || err}`);
|
@@ -431,48 +438,50 @@ export async function pmzUpdateDobavnice(mongo, tenant, year, artikli, zivali, z
|
|
431
438
|
return { dobavnice: updates };
|
432
439
|
}
|
433
440
|
;
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
441
|
+
export async function pmzUpdateObravnave(mongo, tenant, year, artikli, vrsteZivaliZaZdravilo, pacientiVrsteObj, errors) {
|
442
|
+
const collection = "obravnave";
|
443
|
+
if (DEBUG)
|
444
|
+
console.log(`starting PMZ update ${tenant} ${year} - ${collection}`);
|
445
|
+
let updates = [];
|
446
|
+
try {
|
447
|
+
const obravnave = (await mongo.find(collection, {
|
448
|
+
datum: wholeYearQ(year),
|
449
|
+
"koraki.postavke.artikel_id": { $in: Object.values(artikli).map(a => a._id) }
|
450
|
+
}, { project: { _id: true, postavke: true, stevilkeZivali: true, pacient_id: true, gmid: true } }));
|
451
|
+
for (let obravnava of obravnave) {
|
452
|
+
let updated = false;
|
453
|
+
for (let korak of obravnava.koraki || []) {
|
454
|
+
for (let postavka of korak.postavke || []) {
|
455
|
+
updated || (updated = mogocePopraviPostavkoKoraka(artikli, postavka, obravnava.pacient_id, pacientiVrsteObj, vrsteZivaliZaZdravilo, errors));
|
456
|
+
}
|
457
|
+
korak.postavke = (korak.postavke || []).filter(a => !!a);
|
458
|
+
}
|
459
|
+
if (updates) {
|
460
|
+
updates.push({
|
461
|
+
_id: obravnava._id,
|
462
|
+
pmzAutoUpdated: new Date(),
|
463
|
+
koraki: obravnava.koraki.filter(a => !!a)
|
464
|
+
});
|
465
|
+
}
|
466
|
+
}
|
467
|
+
if (DEBUG)
|
468
|
+
console.log(`finished PMZ update ${tenant} ${year} - ${collection}: ${updates.length}/${obravnave.length}`);
|
469
|
+
}
|
470
|
+
catch (err) {
|
471
|
+
console.error(`pmzUpdateObravnave ${tenant} ${year}: ${err.message || err}`);
|
472
|
+
console.error(`err`, err);
|
473
|
+
}
|
474
|
+
;
|
475
|
+
return { obravnave: updates };
|
476
|
+
}
|
477
|
+
;
|
470
478
|
//#region
|
471
479
|
export async function pmzUpdateAllForYear({ mongo, tenant, year, writeToDb }) {
|
472
480
|
var _a;
|
473
481
|
mongo || (mongo = new Mongo(tenant));
|
474
482
|
let pmzArtikliMap = await pridobiPMZArtikle(mongo);
|
475
483
|
let zdraviloZaVrste = await vrsteZivaliZaZdravilo(mongo);
|
484
|
+
let pacientiVrsteObj = await pacientiZivalskeVrste(mongo);
|
476
485
|
// console.log(await pmzPogostnostVrstZivali(mongo, tenant, year, pmzArtikliMap));
|
477
486
|
// if (1===1) process.exit(0)
|
478
487
|
let zivali = await mongo.find("zivali", {});
|
@@ -483,17 +492,17 @@ export async function pmzUpdateAllForYear({ mongo, tenant, year, writeToDb }) {
|
|
483
492
|
let obiski = await pmzUpdateObiski(mongo, tenant, year, pmzArtikliMap, zivali, znaneVrsteZivali, zdraviloZaVrste, errors);
|
484
493
|
let racuni = await pmzUpdateRacuni(mongo, tenant, year, pmzArtikliMap, zivali, znaneVrsteZivali, zdraviloZaVrste, errors);
|
485
494
|
let dobavnice = await pmzUpdateDobavnice(mongo, tenant, year, pmzArtikliMap, zivali, znaneVrsteZivali, zdraviloZaVrste, errors);
|
486
|
-
|
495
|
+
let obravnave = await pmzUpdateObravnave(mongo, tenant, year, pmzArtikliMap, zdraviloZaVrste, pacientiVrsteObj, errors);
|
487
496
|
let updates = {
|
488
497
|
...terapije,
|
489
498
|
...osemenitevGoveda,
|
490
499
|
...obiski,
|
491
500
|
...racuni,
|
492
501
|
...dobavnice,
|
493
|
-
|
502
|
+
...obravnave,
|
494
503
|
};
|
495
504
|
for (let collection in updates) {
|
496
|
-
console.log(collection, (_a = updates[collection]) === null || _a === void 0 ? void 0 : _a.length);
|
505
|
+
console.log("pmzUpdate", tenant, year, collection, (_a = updates[collection]) === null || _a === void 0 ? void 0 : _a.length);
|
497
506
|
}
|
498
507
|
if (writeToDb) {
|
499
508
|
for await (let collection of Object.keys(updates)) {
|
@@ -504,31 +513,15 @@ export async function pmzUpdateAllForYear({ mongo, tenant, year, writeToDb }) {
|
|
504
513
|
delete update._id;
|
505
514
|
return { query, update };
|
506
515
|
});
|
507
|
-
|
508
|
-
console.log(`collection, written.length`, collection, written.length);
|
516
|
+
await mongo.upsertBatch(collection, batch);
|
509
517
|
}
|
510
518
|
}
|
511
519
|
errors = dedup(errors).sort();
|
512
|
-
console.log(`pmzUpdateAllForYear ${tenant} ${year} errors`, errors);
|
513
520
|
return { updates, errors };
|
514
521
|
}
|
515
|
-
function
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
if (animal === null || animal === void 0 ? void 0 : animal.DBirth) {
|
521
|
-
let dni = dayjs(naDan).diff(animal.DBirth, "days");
|
522
|
-
console.log(`dni`, dni);
|
523
|
-
if (dni)
|
524
|
-
return dni;
|
525
|
-
}
|
526
|
-
}
|
527
|
-
return undefined;
|
528
|
-
}
|
529
|
-
// (async function () {
|
530
|
-
// await pmzUpdateAllForYear({ tenant: "mozirje", year: 2025, writeToDb: true });
|
531
|
-
// // console.dir(res, { depth:4});
|
532
|
-
// process.exit(0)
|
533
|
-
// })();
|
522
|
+
(async function () {
|
523
|
+
await pmzUpdateAllForYear({ tenant: "mozirje", year: 2025, writeToDb: true });
|
524
|
+
// console.dir(res, { depth:4});
|
525
|
+
process.exit(0);
|
526
|
+
})();
|
534
527
|
//# sourceMappingURL=pmzUpdate.mjs.map
|