fhir-dosage-utils 1.9.0 → 1.10.1
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/dist/locales/de/common.json +1 -1
- package/dist/locales/de/quantityComparator.json +1 -0
- package/dist/locales/en/common.json +1 -1
- package/dist/locales/en/quantityComparator.json +1 -0
- package/dist/locales/fr/common.json +1 -1
- package/dist/locales/fr/quantityComparator.json +1 -0
- package/dist/locales/nl/common.json +1 -1
- package/dist/locales/nl/quantityComparator.json +1 -0
- package/dist/main.js +281 -396
- package/dist/main.js.map +1 -1
- package/dist/module.js +281 -396
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +1 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
@@ -18,33 +18,45 @@ function $parcel$interopDefault(a) {
|
|
18
18
|
$parcel$defineInteropFlag(module.exports);
|
19
19
|
|
20
20
|
$parcel$export(module.exports, "default", () => $882b6d93070905b3$export$2e2bcd8739ae039);
|
21
|
-
// Classe(s)
|
22
21
|
|
23
22
|
|
24
|
-
|
23
|
+
function $3d60081b7152576d$export$e7321bf46d18757f(val) {
|
24
|
+
return val !== undefined;
|
25
|
+
}
|
26
|
+
function $3d60081b7152576d$export$3b3497187fd4cc1a(...args) {
|
27
|
+
return args.every($3d60081b7152576d$export$e7321bf46d18757f);
|
28
|
+
}
|
29
|
+
function $3d60081b7152576d$export$cbff5d1bcc7ff30a(...args) {
|
30
|
+
return !args.some($3d60081b7152576d$export$e7321bf46d18757f);
|
31
|
+
}
|
32
|
+
|
33
|
+
|
25
34
|
function $1c57f108974f2805$export$b1a6aed91fad1636({ quantity: quantity }) {
|
26
|
-
if (quantity.code
|
27
|
-
if (quantity.unit
|
35
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(quantity.code)) return quantity.code;
|
36
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(quantity.unit)) return quantity.unit;
|
28
37
|
return "";
|
29
38
|
}
|
30
39
|
|
31
40
|
|
41
|
+
|
42
|
+
function $7642ff4865ae4b0f$export$d9ff4a623e416a11(array) {
|
43
|
+
return !(0, $3d60081b7152576d$export$e7321bf46d18757f)(array) || array.length === 0;
|
44
|
+
}
|
45
|
+
|
46
|
+
|
47
|
+
|
32
48
|
function $a6c648898dc8c3b6$export$f478f96b98da13a4({ code: code }) {
|
33
|
-
|
34
|
-
if (
|
35
|
-
|
36
|
-
if (code.text !== undefined) return code.text;
|
37
|
-
// If empty, skip it
|
38
|
-
if (code.coding === undefined || code.coding.length === 0) return undefined;
|
39
|
-
// Take first coding; display first then code
|
49
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(code)) return undefined;
|
50
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(code.text)) return code.text;
|
51
|
+
if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(code.coding)) return undefined;
|
40
52
|
let firstCode = code.coding[0];
|
41
53
|
return firstCode.display || firstCode.code;
|
42
54
|
}
|
43
55
|
|
44
56
|
|
57
|
+
|
45
58
|
function $34ebae8ac5b52fcd$export$30c337e25ab8e95b({ extensions: extensions }) {
|
46
|
-
|
47
|
-
if (extensions === undefined || extensions.length === 0) return undefined;
|
59
|
+
if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(extensions)) return undefined;
|
48
60
|
// KIS implementation : print it as provided, without doing anything
|
49
61
|
// Extensions have so many cases btw, that having a basic function does the trick
|
50
62
|
return extensions.map((extension)=>JSON.stringify(extension)).join(" ");
|
@@ -89,28 +101,22 @@ const $99ea7fa882fd33ad$export$38cd8db2db178f58 = {
|
|
89
101
|
|
90
102
|
|
91
103
|
class $868b4eaa4f62b9f7$export$f807d9a22ff8372d {
|
92
|
-
// Set up lib, according provided parameters
|
93
104
|
constructor(userConfig, i18nConfig){
|
94
|
-
// User config
|
95
105
|
this.config = {
|
96
|
-
// default attributes
|
97
106
|
...(0, $99ea7fa882fd33ad$export$38cd8db2db178f58),
|
98
|
-
// attributes set by user
|
99
107
|
...userConfig
|
100
108
|
};
|
101
|
-
// I18N config
|
102
109
|
this.i18nConfig = {
|
103
|
-
// default attributes
|
104
110
|
fallbackLng: "en",
|
105
111
|
lng: this.config.language,
|
106
112
|
ns: [
|
107
113
|
"common",
|
108
114
|
"daysOfWeek",
|
109
115
|
"eventTiming",
|
110
|
-
"unitsOfTime"
|
116
|
+
"unitsOfTime",
|
117
|
+
"quantityComparator"
|
111
118
|
],
|
112
119
|
defaultNS: "common",
|
113
|
-
// attributes set by user
|
114
120
|
...i18nConfig
|
115
121
|
};
|
116
122
|
this.i18nInstance = (0, ($parcel$interopDefault($8zHUo$i18next))).createInstance();
|
@@ -178,49 +184,41 @@ class $868b4eaa4f62b9f7$export$f807d9a22ff8372d {
|
|
178
184
|
}
|
179
185
|
|
180
186
|
|
181
|
-
|
182
|
-
// To avoid circular dependancies issue, let's have a single place for exports and imports
|
183
|
-
// Functions
|
184
|
-
// Types
|
187
|
+
|
185
188
|
function $5461d5c8b4bc074f$export$76d408d587da5203(dos, key) {
|
186
|
-
|
187
|
-
if (dos.doseAndRate === undefined) return undefined;
|
189
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(dos.doseAndRate)) return undefined;
|
188
190
|
// Find the first entry that match criteria
|
189
|
-
let doseAndRate = dos.doseAndRate.find((s)=>s[key]
|
190
|
-
|
191
|
-
if (doseAndRate === undefined) return undefined;
|
192
|
-
// return property
|
191
|
+
let doseAndRate = dos.doseAndRate.find((s)=>(0, $3d60081b7152576d$export$e7321bf46d18757f)(s[key]));
|
192
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(doseAndRate)) return undefined;
|
193
193
|
return doseAndRate[key];
|
194
194
|
}
|
195
195
|
|
196
196
|
|
197
|
-
|
198
|
-
// Type
|
197
|
+
|
199
198
|
function $6ce94eb09701f53d$export$e9106be159f8c977({ quantity: quantity, config: config, i18next: i18next }) {
|
200
|
-
// extract function for the unit display from config
|
201
199
|
const { fromFHIRQuantityUnitToString: fromFHIRQuantityUnitToString, language: language } = config;
|
202
|
-
// Compute the result
|
203
200
|
let unit = fromFHIRQuantityUnitToString({
|
204
201
|
language: language,
|
205
202
|
quantity: quantity
|
206
203
|
});
|
207
204
|
let value = quantity.value || 1;
|
208
|
-
|
209
|
-
if (unit.length === 0) return i18next.t("amount.quantity.withoutUnit", {
|
205
|
+
let quantityString = unit.length === 0 ? i18next.t("amount.quantity.withoutUnit", {
|
210
206
|
quantity: value
|
211
|
-
})
|
212
|
-
else return i18next.t("amount.quantity.withUnit", {
|
207
|
+
}) : i18next.t("amount.quantity.withUnit", {
|
213
208
|
quantity: value,
|
214
209
|
unit: unit
|
215
210
|
});
|
211
|
+
let comparatorCode = quantity.comparator;
|
212
|
+
let comparatorString = (0, $3d60081b7152576d$export$e7321bf46d18757f)(comparatorCode) ? i18next.t(`quantityComparator:${comparatorCode}`) : undefined;
|
213
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(comparatorString)) return quantityString;
|
214
|
+
return `${comparatorString} ${quantityString}`;
|
216
215
|
}
|
217
216
|
|
218
217
|
|
218
|
+
|
219
219
|
function $5ab57a471c359130$export$7de3722258b87db9({ config: config, dos: dos, i18next: i18next }) {
|
220
220
|
let doseQuantity = (0, $5461d5c8b4bc074f$export$76d408d587da5203)(dos, "doseQuantity");
|
221
|
-
|
222
|
-
if (doseQuantity === undefined) return undefined;
|
223
|
-
// Otherwise rendering it
|
221
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(doseQuantity)) return undefined;
|
224
222
|
return i18next.t("fields.doseQuantity", {
|
225
223
|
quantityText: (0, $6ce94eb09701f53d$export$e9106be159f8c977)({
|
226
224
|
quantity: doseQuantity,
|
@@ -231,49 +229,51 @@ function $5ab57a471c359130$export$7de3722258b87db9({ config: config, dos: dos, i
|
|
231
229
|
}
|
232
230
|
|
233
231
|
|
234
|
-
|
235
|
-
|
232
|
+
|
233
|
+
function $c3b3b5857aef7d44$export$aace639f4c93bb3d(quantity) {
|
234
|
+
return [
|
235
|
+
quantity?.unit,
|
236
|
+
quantity?.code
|
237
|
+
].some((0, $3d60081b7152576d$export$e7321bf46d18757f));
|
238
|
+
}
|
239
|
+
|
240
|
+
|
241
|
+
|
236
242
|
function $9ee880701f47723b$var$transformQuantityUnitToString(i18next, quantity, config) {
|
237
243
|
let quantityValue = quantity.value;
|
238
|
-
// If common units from HL7, do the job
|
239
244
|
if (quantity.system === "http://hl7.org/fhir/ValueSet/duration-units") {
|
240
245
|
let code = quantity.code;
|
241
246
|
return i18next.t(`unitsOfTime:withoutCount.${code}`, {
|
242
247
|
count: quantityValue
|
243
248
|
});
|
244
|
-
}
|
249
|
+
}
|
245
250
|
return config.fromFHIRQuantityUnitToString({
|
246
251
|
language: config.language,
|
247
252
|
quantity: quantity
|
248
253
|
});
|
249
254
|
}
|
250
255
|
function $9ee880701f47723b$export$be17d167ed50d870({ range: range, config: config, i18next: i18next }) {
|
251
|
-
// Extract params
|
252
256
|
const { low: low, high: high } = range;
|
253
257
|
const lowValue = low?.value;
|
254
258
|
const highValue = high?.value;
|
255
|
-
// prepare unit display
|
256
259
|
let quantityUnit = high || low;
|
257
|
-
let
|
258
|
-
// Four cases
|
260
|
+
let hasQuantityUnit = (0, $c3b3b5857aef7d44$export$aace639f4c93bb3d)(quantityUnit);
|
259
261
|
// 1. If we have a empty object, return undefined
|
260
|
-
if (lowValue
|
261
|
-
|
262
|
-
let
|
263
|
-
let technicalKey = hasUnit ? "withUnit" : "withoutUnit";
|
262
|
+
if ((0, $3d60081b7152576d$export$cbff5d1bcc7ff30a)(lowValue, highValue)) return undefined;
|
263
|
+
let unit = hasQuantityUnit ? $9ee880701f47723b$var$transformQuantityUnitToString(i18next, quantityUnit, config) : "";
|
264
|
+
let technicalKey = hasQuantityUnit ? "withUnit" : "withoutUnit";
|
264
265
|
// 2. Both low & high are present
|
265
|
-
if (lowValue
|
266
|
+
if ((0, $3d60081b7152576d$export$3b3497187fd4cc1a)(lowValue, highValue)) return i18next.t(`amount.range.${technicalKey}.lowAndHigh`, {
|
266
267
|
low: lowValue,
|
267
268
|
high: highValue,
|
268
269
|
unit: unit
|
269
270
|
});
|
270
271
|
// 3. Only high is present
|
271
|
-
if (
|
272
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(highValue)) return i18next.t(`amount.range.${technicalKey}.onlyHigh`, {
|
272
273
|
high: highValue,
|
273
274
|
unit: unit
|
274
275
|
});
|
275
276
|
// 4. Only low is present
|
276
|
-
// Warning, this case is kind dangerous and clinically unsafe so minimal effort on this ...
|
277
277
|
return i18next.t(`amount.range.${technicalKey}.onlyLow`, {
|
278
278
|
low: lowValue,
|
279
279
|
unit: unit
|
@@ -282,31 +282,28 @@ function $9ee880701f47723b$export$be17d167ed50d870({ range: range, config: confi
|
|
282
282
|
|
283
283
|
|
284
284
|
|
285
|
+
|
285
286
|
function $9a073aa5b09aa778$export$4cd16590995531a9({ dos: dos, config: config, i18next: i18next }) {
|
286
287
|
let doseRange = (0, $5461d5c8b4bc074f$export$76d408d587da5203)(dos, "doseRange");
|
287
|
-
|
288
|
-
if (doseRange === undefined) return undefined;
|
289
|
-
// Turn range into a text
|
288
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(doseRange)) return undefined;
|
290
289
|
const text = (0, $9ee880701f47723b$export$be17d167ed50d870)({
|
291
290
|
range: doseRange,
|
292
291
|
config: config,
|
293
292
|
i18next: i18next
|
294
293
|
});
|
295
|
-
|
296
|
-
if (text === undefined) return undefined;
|
294
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(text)) return undefined;
|
297
295
|
return i18next.t("fields.doseRange", {
|
298
296
|
rangeText: text
|
299
297
|
});
|
300
298
|
}
|
301
299
|
|
302
300
|
|
303
|
-
|
301
|
+
|
304
302
|
|
305
303
|
|
306
304
|
function $052c79abb28cba29$export$4e24ef8c7997cc56({ dos: dos, config: config, i18next: i18next }) {
|
307
305
|
let rateQuantity = (0, $5461d5c8b4bc074f$export$76d408d587da5203)(dos, "rateQuantity");
|
308
|
-
|
309
|
-
if (rateQuantity === undefined) return undefined;
|
306
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(rateQuantity)) return undefined;
|
310
307
|
return i18next.t("fields.rateQuantity", {
|
311
308
|
quantityText: (0, $6ce94eb09701f53d$export$e9106be159f8c977)({
|
312
309
|
quantity: rateQuantity,
|
@@ -317,119 +314,108 @@ function $052c79abb28cba29$export$4e24ef8c7997cc56({ dos: dos, config: config, i
|
|
317
314
|
}
|
318
315
|
|
319
316
|
|
320
|
-
|
317
|
+
|
321
318
|
|
322
319
|
|
323
320
|
function $703b645b55481398$export$d3dd7d3522271dba({ dos: dos, config: config, i18next: i18next }) {
|
324
321
|
let rateRange = (0, $5461d5c8b4bc074f$export$76d408d587da5203)(dos, "rateRange");
|
325
|
-
|
326
|
-
if (rateRange === undefined) return undefined;
|
327
|
-
// Turn range into a text
|
322
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(rateRange)) return undefined;
|
328
323
|
const rangeText = (0, $9ee880701f47723b$export$be17d167ed50d870)({
|
329
324
|
range: rateRange,
|
330
325
|
config: config,
|
331
326
|
i18next: i18next
|
332
327
|
});
|
333
|
-
|
334
|
-
if (rangeText === undefined) return undefined;
|
335
|
-
// return the final string
|
328
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(rangeText)) return undefined;
|
336
329
|
return i18next.t("fields.rateRange", {
|
337
330
|
rangeText: rangeText
|
338
331
|
});
|
339
332
|
}
|
340
333
|
|
341
334
|
|
342
|
-
|
343
|
-
|
344
|
-
|
335
|
+
|
336
|
+
|
337
|
+
|
338
|
+
// To cover all nasty cases of denominator
|
339
|
+
function $7895e9944cc835ce$var$fromDenominatorToString({ config: config, i18next: i18next, quantity: quantity }) {
|
340
|
+
let hasUnitDenominator = (0, $c3b3b5857aef7d44$export$aace639f4c93bb3d)(quantity);
|
341
|
+
let value = quantity.value;
|
342
|
+
if (!hasUnitDenominator) return `:${value}`;
|
343
|
+
let linkword = i18next.t("amount.ratio.denominatorLinkword", {
|
344
|
+
count: value
|
345
|
+
});
|
346
|
+
let quantityText = value !== 1 ? (0, $6ce94eb09701f53d$export$e9106be159f8c977)({
|
347
|
+
quantity: quantity,
|
348
|
+
config: config,
|
349
|
+
i18next: i18next
|
350
|
+
}) : config.fromFHIRQuantityUnitToString({
|
351
|
+
quantity: quantity,
|
352
|
+
language: config.language
|
353
|
+
});
|
354
|
+
// The space before is intentional so that numerator and denominator are well printed regardless of situation
|
355
|
+
return ` ${linkword} ${quantityText}`;
|
345
356
|
}
|
346
357
|
function $7895e9944cc835ce$export$fdc6e9cbd31555fb({ ratio: ratio, config: config, i18next: i18next }) {
|
347
|
-
// Extract params
|
348
358
|
const { denominator: denominator, numerator: numerator } = ratio;
|
349
|
-
// units as text
|
350
|
-
let numeratorUnit = $7895e9944cc835ce$var$hasUnit(numerator) ? config.fromFHIRQuantityUnitToString({
|
351
|
-
language: config.language,
|
352
|
-
quantity: numerator
|
353
|
-
}) : undefined;
|
354
|
-
let denominatorUnit = $7895e9944cc835ce$var$hasUnit(denominator) ? config.fromFHIRQuantityUnitToString({
|
355
|
-
language: config.language,
|
356
|
-
quantity: denominator
|
357
|
-
}) : undefined;
|
358
|
-
// quantity
|
359
359
|
let quantityNumerator = numerator?.value;
|
360
360
|
let quantityDenominator = denominator?.value;
|
361
|
-
// Collect results
|
362
361
|
const parts = [];
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
const numeratorString = i18next.t(`amount.ratio.${technicalKey}.numerator`, {
|
369
|
-
count: quantityNumerator,
|
370
|
-
numeratorUnit: numeratorUnit
|
362
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(quantityNumerator)) {
|
363
|
+
const numeratorString = (0, $6ce94eb09701f53d$export$e9106be159f8c977)({
|
364
|
+
quantity: numerator,
|
365
|
+
config: config,
|
366
|
+
i18next: i18next
|
371
367
|
});
|
372
368
|
parts.push(numeratorString);
|
373
369
|
}
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
denominatorUnit: denominatorUnit
|
370
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(quantityDenominator)) {
|
371
|
+
const denominatorString = $7895e9944cc835ce$var$fromDenominatorToString({
|
372
|
+
config: config,
|
373
|
+
i18next: i18next,
|
374
|
+
quantity: denominator
|
380
375
|
});
|
381
376
|
parts.push(denominatorString);
|
382
377
|
}
|
383
|
-
|
384
|
-
if (parts.length === 0) return undefined;
|
385
|
-
else return parts.join(separator);
|
378
|
+
return parts.length > 0 ? parts.join("") : undefined;
|
386
379
|
}
|
387
380
|
|
388
381
|
|
389
382
|
|
383
|
+
|
390
384
|
function $301791f33da707fa$export$b71cfd2510242de2({ dos: dos, config: config, i18next: i18next }) {
|
391
385
|
let rateRatio = (0, $5461d5c8b4bc074f$export$76d408d587da5203)(dos, "rateRatio");
|
392
|
-
|
393
|
-
if (rateRatio === undefined) return undefined;
|
394
|
-
// Turn ratio to text
|
386
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(rateRatio)) return undefined;
|
395
387
|
const ratioText = (0, $7895e9944cc835ce$export$fdc6e9cbd31555fb)({
|
396
388
|
config: config,
|
397
389
|
i18next: i18next,
|
398
390
|
ratio: rateRatio
|
399
391
|
});
|
400
|
-
if (
|
392
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(ratioText)) return undefined;
|
401
393
|
return i18next.t("fields.rateRatio", {
|
402
394
|
ratioText: ratioText
|
403
395
|
});
|
404
396
|
}
|
405
397
|
|
406
398
|
|
407
|
-
|
408
|
-
|
409
|
-
if (
|
410
|
-
return dos.timing.repeat;
|
399
|
+
|
400
|
+
function $cc064cd9e69cf2cf$export$59de929dfa9e850b(dos, key) {
|
401
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(dos.timing?.repeat)) return undefined;
|
402
|
+
return dos.timing.repeat[key];
|
411
403
|
}
|
412
404
|
|
413
405
|
|
406
|
+
|
414
407
|
function $1270a8f06113f53a$export$675ae45fa2875f4a({ dos: dos, i18next: i18next }) {
|
415
|
-
let
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
let unit = repeat.durationUnit;
|
422
|
-
// Do nothing if no unit, I am not a wizard
|
423
|
-
if (unit === undefined) return undefined;
|
424
|
-
else return [
|
425
|
-
// duration
|
426
|
-
duration !== undefined && i18next.t("fields.duration", {
|
408
|
+
let duration = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "duration");
|
409
|
+
let max = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "durationMax");
|
410
|
+
let unit = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "durationUnit");
|
411
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(unit)) return undefined;
|
412
|
+
return [
|
413
|
+
(0, $3d60081b7152576d$export$e7321bf46d18757f)(duration) && i18next.t("fields.duration", {
|
427
414
|
durationText: i18next.t(`unitsOfTime:withCount.${unit}`, {
|
428
415
|
count: duration
|
429
416
|
})
|
430
417
|
}),
|
431
|
-
|
432
|
-
max !== undefined && i18next.t("fields.durationMax", {
|
418
|
+
(0, $3d60081b7152576d$export$e7321bf46d18757f)(max) && i18next.t("fields.durationMax", {
|
433
419
|
durationMaxText: i18next.t(`unitsOfTime:withCount.${unit}`, {
|
434
420
|
count: max
|
435
421
|
})
|
@@ -439,83 +425,66 @@ function $1270a8f06113f53a$export$675ae45fa2875f4a({ dos: dos, i18next: i18next
|
|
439
425
|
|
440
426
|
|
441
427
|
|
428
|
+
|
442
429
|
function $bc43734b944260d2$export$d663412e0c469ce2({ dos: dos, i18next: i18next }) {
|
443
|
-
let
|
444
|
-
|
445
|
-
if (
|
446
|
-
//
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
if (max !== undefined) return i18next.t("fields.frequencyMax.frequencyMax", {
|
460
|
-
count: max
|
461
|
-
});
|
462
|
-
// 3. Only frequency is present
|
463
|
-
return i18next.t("fields.frequency.onlyFrequency", {
|
464
|
-
count: frequency
|
465
|
-
});
|
466
|
-
}
|
430
|
+
let frequency = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "frequency");
|
431
|
+
let max = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "frequencyMax");
|
432
|
+
if ((0, $3d60081b7152576d$export$cbff5d1bcc7ff30a)(frequency, max)) return undefined;
|
433
|
+
// 1. Frequency and frequencyMax are present
|
434
|
+
if ((0, $3d60081b7152576d$export$3b3497187fd4cc1a)(frequency, max)) return i18next.t("fields.frequency.withfrequencyMax", {
|
435
|
+
count: max,
|
436
|
+
frequency: frequency
|
437
|
+
});
|
438
|
+
// 2. Only frequencyMax is present
|
439
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(max)) return i18next.t("fields.frequencyMax.frequencyMax", {
|
440
|
+
count: max
|
441
|
+
});
|
442
|
+
// 3. Only frequency is present
|
443
|
+
return i18next.t("fields.frequency.onlyFrequency", {
|
444
|
+
count: frequency
|
445
|
+
});
|
467
446
|
}
|
468
447
|
|
469
448
|
|
470
449
|
|
450
|
+
|
471
451
|
function $b9825dd9e0a2e687$export$aa31b783699f637({ dos: dos, i18next: i18next }) {
|
472
|
-
let
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
// 3. Only period present
|
499
|
-
return i18next.t("fields.period.period", {
|
500
|
-
count: period,
|
501
|
-
unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
|
502
|
-
count: period
|
503
|
-
})
|
504
|
-
});
|
505
|
-
}
|
452
|
+
let period = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "period");
|
453
|
+
let max = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "periodMax");
|
454
|
+
let unit = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "periodUnit");
|
455
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(unit)) return undefined;
|
456
|
+
// 1. period and periodMax are present
|
457
|
+
if ((0, $3d60081b7152576d$export$3b3497187fd4cc1a)(period, max)) return i18next.t("fields.periodMax.withPeriod", {
|
458
|
+
period: period,
|
459
|
+
count: max,
|
460
|
+
unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
|
461
|
+
count: max
|
462
|
+
})
|
463
|
+
});
|
464
|
+
// 2. Only periodMax is present
|
465
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(max)) return i18next.t("fields.periodMax.onlyPeriodMax", {
|
466
|
+
count: max,
|
467
|
+
unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
|
468
|
+
count: max
|
469
|
+
})
|
470
|
+
});
|
471
|
+
// 3. Only period present
|
472
|
+
return i18next.t("fields.period.period", {
|
473
|
+
count: period,
|
474
|
+
unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
|
475
|
+
count: period
|
476
|
+
})
|
477
|
+
});
|
506
478
|
}
|
507
479
|
|
508
480
|
|
509
|
-
// Functions
|
510
481
|
const $93b58b7d2ead3b95$var$linkworsdMap = {
|
511
482
|
and: "linkwords.and",
|
512
483
|
then: "linkwords.then"
|
513
484
|
};
|
514
485
|
function $93b58b7d2ead3b95$export$826742c1df3eca39(i18next, arr, linkWord = "and") {
|
515
|
-
// Split the array into two parts: all entries except the last one, and the last
|
516
486
|
const firstString = arr.slice(0, -1).join(", ");
|
517
487
|
const lastString = arr.slice(-1).join("");
|
518
|
-
// concatenate the result
|
519
488
|
const linkWordTechnicalKey = $93b58b7d2ead3b95$var$linkworsdMap[linkWord];
|
520
489
|
const linkWordAsString = arr.length > 1 ? ` ${i18next.t(linkWordTechnicalKey)} ` : "";
|
521
490
|
const finalString = firstString + linkWordAsString + lastString;
|
@@ -524,6 +493,8 @@ function $93b58b7d2ead3b95$export$826742c1df3eca39(i18next, arr, linkWord = "and
|
|
524
493
|
|
525
494
|
|
526
495
|
|
496
|
+
|
497
|
+
|
527
498
|
// Function to extract times
|
528
499
|
function $7a065f861a4b61f2$var$extractTime(minutes) {
|
529
500
|
let days = Math.floor(minutes / 1440);
|
@@ -535,79 +506,55 @@ function $7a065f861a4b61f2$var$extractTime(minutes) {
|
|
535
506
|
minutes: remainingMinutes
|
536
507
|
};
|
537
508
|
}
|
538
|
-
// Function to transform offset into a string
|
539
509
|
function $7a065f861a4b61f2$var$transformOffset(i18next, offset) {
|
540
|
-
if (offset
|
541
|
-
// extract days / hours / minutes from it
|
510
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(offset) || offset <= 0) return undefined;
|
542
511
|
let time = $7a065f861a4b61f2$var$extractTime(offset);
|
543
|
-
// generate part
|
544
512
|
let subParts = [
|
545
|
-
// days
|
546
513
|
time.days > 0 ? i18next.t("unitsOfTime:withCount.d", {
|
547
514
|
count: time.days
|
548
515
|
}) : undefined,
|
549
|
-
// hours
|
550
516
|
time.hours > 0 ? i18next.t("unitsOfTime:withCount.h", {
|
551
517
|
count: time.hours
|
552
518
|
}) : undefined,
|
553
|
-
// minutes
|
554
519
|
time.minutes > 0 ? i18next.t("unitsOfTime:withCount.min", {
|
555
520
|
count: time.minutes
|
556
521
|
}) : undefined
|
557
|
-
].filter((
|
522
|
+
].filter((0, $3d60081b7152576d$export$e7321bf46d18757f));
|
558
523
|
return subParts.join(" ");
|
559
524
|
}
|
560
|
-
// Function to transform when[] into a string
|
561
525
|
function $7a065f861a4b61f2$var$transformWhen(i18next, when) {
|
562
|
-
|
563
|
-
if (when === undefined || when.length === 0) return undefined;
|
564
|
-
// Turn it into a string
|
526
|
+
if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(when)) return undefined;
|
565
527
|
const whens = when.map((whenCode)=>i18next.t(`eventTiming:${whenCode}`));
|
566
|
-
|
567
|
-
return finalString;
|
528
|
+
return (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, whens);
|
568
529
|
}
|
569
530
|
function $7a065f861a4b61f2$export$433fa514f44031f3({ dos: dos, i18next: i18next }) {
|
570
|
-
let
|
571
|
-
|
572
|
-
if (
|
573
|
-
// Pickup the repeat interesting attributes
|
574
|
-
let offset = repeat.offset;
|
575
|
-
let when = repeat.when;
|
576
|
-
// If both are undefined, don't do anything
|
577
|
-
if (offset === undefined && when === undefined) return undefined;
|
531
|
+
let offset = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "offset");
|
532
|
+
let when = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "when");
|
533
|
+
if ((0, $3d60081b7152576d$export$cbff5d1bcc7ff30a)(offset, when)) return undefined;
|
578
534
|
return [
|
579
|
-
// offset part
|
580
535
|
$7a065f861a4b61f2$var$transformOffset(i18next, offset),
|
581
|
-
// when part
|
582
536
|
$7a065f861a4b61f2$var$transformWhen(i18next, when)
|
583
|
-
].filter((
|
537
|
+
].filter((0, $3d60081b7152576d$export$e7321bf46d18757f)).join(" ");
|
584
538
|
}
|
585
539
|
|
586
540
|
|
587
|
-
|
541
|
+
|
588
542
|
|
589
543
|
|
590
544
|
function $46f2142e76cf7e45$export$f6325e43097e9543({ dos: dos, i18next: i18next }) {
|
591
|
-
let
|
592
|
-
// If empty, return undefined
|
593
|
-
if (repeat === undefined) return undefined;
|
594
|
-
// Pickup the repeat interesting attributes
|
595
|
-
let dayOfWeek = repeat.dayOfWeek;
|
545
|
+
let dayOfWeek = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "dayOfWeek");
|
596
546
|
// If empty, skip it
|
597
|
-
if (
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
dayOfWeek: dayOfWeeksAsString
|
605
|
-
});
|
606
|
-
}
|
547
|
+
if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(dayOfWeek)) return undefined;
|
548
|
+
const dayOfWeeks = dayOfWeek.map((dayCode)=>i18next.t(`daysOfWeek:${dayCode}`));
|
549
|
+
const dayOfWeeksAsString = (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, dayOfWeeks);
|
550
|
+
return i18next.t("fields.dayOfWeek.dayOfWeek", {
|
551
|
+
count: dayOfWeek.length,
|
552
|
+
dayOfWeek: dayOfWeeksAsString
|
553
|
+
});
|
607
554
|
}
|
608
555
|
|
609
556
|
|
610
|
-
|
557
|
+
|
611
558
|
|
612
559
|
|
613
560
|
/**
|
@@ -615,45 +562,35 @@ function $46f2142e76cf7e45$export$f6325e43097e9543({ dos: dos, i18next: i18next
|
|
615
562
|
* There is no date specified. Seconds must be provided due to schema type constraints but may be zero-filled
|
616
563
|
* and may be ignored at receiver discretion
|
617
564
|
*/ function $a846209a7dd119d4$var$formatString(time) {
|
618
|
-
// Split the time string by ":"
|
619
565
|
var parts = time.split(":");
|
620
|
-
// Check if the last part (seconds) is "00", if so, remove it
|
621
566
|
if (parts.length > 2 && parts[2] === "00") parts.pop();
|
622
|
-
// Join the remaining parts with ":"
|
623
567
|
return parts.join(":");
|
624
568
|
}
|
625
569
|
function $a846209a7dd119d4$export$ee205fa48981886d({ dos: dos, i18next: i18next }) {
|
626
|
-
let
|
627
|
-
// If empty, return undefined
|
628
|
-
if (repeat === undefined) return undefined;
|
629
|
-
// Pickup the repeat interesting attributes
|
630
|
-
let timeOfDay = repeat.timeOfDay;
|
570
|
+
let timeOfDay = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "timeOfDay");
|
631
571
|
// If empty, skip it
|
632
|
-
if (
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
});
|
641
|
-
}
|
572
|
+
if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(timeOfDay)) return undefined;
|
573
|
+
// Turn it into a string
|
574
|
+
const timeOfDays = timeOfDay.map($a846209a7dd119d4$var$formatString);
|
575
|
+
const timeOfDaysAsString = (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, timeOfDays);
|
576
|
+
return i18next.t("fields.timeOfDay", {
|
577
|
+
timeOfDay: timeOfDaysAsString,
|
578
|
+
count: timeOfDays.length
|
579
|
+
});
|
642
580
|
}
|
643
581
|
|
644
582
|
|
645
|
-
|
583
|
+
|
646
584
|
|
647
585
|
// Turn a list of codeable concept into a string
|
648
586
|
function $ee04e2a8ed39962f$var$fromCodeableConceptArrayToString(i18next, codes, config) {
|
649
587
|
const codesAsString = codes.map((code)=>config.fromCodeableConceptToString({
|
650
588
|
code: code,
|
651
589
|
language: config.language
|
652
|
-
})).filter((
|
590
|
+
})).filter((0, $3d60081b7152576d$export$e7321bf46d18757f));
|
653
591
|
return (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, codesAsString);
|
654
592
|
}
|
655
593
|
function $ee04e2a8ed39962f$export$5c69a2202525487a({ dos: dos, config: config, i18next: i18next }) {
|
656
|
-
// Pickup the interesting attributes
|
657
594
|
let asNeededBoolean = dos.asNeededBoolean;
|
658
595
|
let asNeededCodeableConcept = dos.asNeededCodeableConcept;
|
659
596
|
let asNeededFor = dos.asNeededFor;
|
@@ -665,18 +602,16 @@ function $ee04e2a8ed39962f$export$5c69a2202525487a({ dos: dos, config: config, i
|
|
665
602
|
if (codeableList.length > 0) return i18next.t("fields.asNeededFor", {
|
666
603
|
reasons: $ee04e2a8ed39962f$var$fromCodeableConceptArrayToString(i18next, codeableList, config)
|
667
604
|
});
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
}
|
605
|
+
let booleanValue = [
|
606
|
+
asNeededBoolean,
|
607
|
+
asNeeded
|
608
|
+
].includes(true);
|
609
|
+
return booleanValue ? i18next.t("fields.asNeeded") : undefined;
|
674
610
|
}
|
675
611
|
|
676
612
|
|
677
|
-
// Functions
|
678
613
|
|
679
|
-
|
614
|
+
|
680
615
|
function $9d632517596957df$var$transformDurationToString(i18next, duration, config) {
|
681
616
|
let quantity = duration.value;
|
682
617
|
// If common units from HL7, do the job
|
@@ -685,118 +620,102 @@ function $9d632517596957df$var$transformDurationToString(i18next, duration, conf
|
|
685
620
|
return i18next.t(`unitsOfTime:withCount.${code}`, {
|
686
621
|
count: quantity
|
687
622
|
});
|
688
|
-
} else {
|
689
|
-
// otherwise, it is UCUM, ... so let the user do the job
|
690
|
-
let unit = config.fromFHIRQuantityUnitToString({
|
691
|
-
language: config.language,
|
692
|
-
quantity: duration
|
693
|
-
});
|
694
|
-
return `${quantity} ${unit}`;
|
695
623
|
}
|
624
|
+
// otherwise, it is UCUM, ... so let the user do the job
|
625
|
+
let unit = config.fromFHIRQuantityUnitToString({
|
626
|
+
language: config.language,
|
627
|
+
quantity: duration
|
628
|
+
});
|
629
|
+
return `${quantity} ${unit}`;
|
696
630
|
}
|
697
631
|
function $9d632517596957df$export$b927a06bc51aea32({ dos: dos, config: config, i18next: i18next }) {
|
698
|
-
let
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
if (boundsDuration === undefined) return undefined;
|
705
|
-
else {
|
706
|
-
let durationText = $9d632517596957df$var$transformDurationToString(i18next, boundsDuration, config);
|
707
|
-
return i18next.t("fields.boundsDuration", {
|
708
|
-
durationText: durationText
|
709
|
-
});
|
710
|
-
}
|
632
|
+
let boundsDuration = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "boundsDuration");
|
633
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(boundsDuration)) return undefined;
|
634
|
+
let durationText = $9d632517596957df$var$transformDurationToString(i18next, boundsDuration, config);
|
635
|
+
return i18next.t("fields.boundsDuration", {
|
636
|
+
durationText: durationText
|
637
|
+
});
|
711
638
|
}
|
712
639
|
|
713
640
|
|
714
|
-
|
641
|
+
|
715
642
|
|
716
643
|
|
717
644
|
function $2da391a8a8345a3d$export$8c667cbf7bebaa93({ dos: dos, config: config, i18next: i18next }) {
|
718
|
-
let
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
config: config,
|
730
|
-
i18next: i18next
|
731
|
-
});
|
732
|
-
// Reject if empty
|
733
|
-
if (rangeText === undefined) return undefined;
|
734
|
-
// return the final string
|
735
|
-
return i18next.t("fields.boundsRange", {
|
736
|
-
rangeText: rangeText
|
737
|
-
});
|
738
|
-
}
|
645
|
+
let boundsRange = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "boundsRange");
|
646
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(boundsRange)) return undefined;
|
647
|
+
const rangeText = (0, $9ee880701f47723b$export$be17d167ed50d870)({
|
648
|
+
range: boundsRange,
|
649
|
+
config: config,
|
650
|
+
i18next: i18next
|
651
|
+
});
|
652
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(rangeText)) return undefined;
|
653
|
+
return i18next.t("fields.boundsRange", {
|
654
|
+
rangeText: rangeText
|
655
|
+
});
|
739
656
|
}
|
740
657
|
|
741
658
|
|
742
659
|
|
660
|
+
|
743
661
|
function $39470eb799331038$export$498ca7f558a02e67({ dos: dos, i18next: i18next }) {
|
744
|
-
let
|
745
|
-
|
746
|
-
if (
|
747
|
-
//
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
if (countMax !== undefined) return i18next.t("fields.count.count", {
|
761
|
-
count: countMax
|
762
|
-
});
|
763
|
-
// 3. Only count is present
|
764
|
-
return i18next.t("fields.count.count", {
|
765
|
-
count: count
|
766
|
-
});
|
767
|
-
}
|
662
|
+
let count = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "count");
|
663
|
+
let countMax = (0, $cc064cd9e69cf2cf$export$59de929dfa9e850b)(dos, "countMax");
|
664
|
+
if ((0, $3d60081b7152576d$export$cbff5d1bcc7ff30a)(count, countMax)) return undefined;
|
665
|
+
// 1. Both count & countMax are present
|
666
|
+
if ((0, $3d60081b7152576d$export$3b3497187fd4cc1a)(count, countMax)) return i18next.t("fields.countMax.countMax", {
|
667
|
+
count: countMax,
|
668
|
+
low: count
|
669
|
+
});
|
670
|
+
// 2. Only countMax is present
|
671
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(countMax)) return i18next.t("fields.count.count", {
|
672
|
+
count: countMax
|
673
|
+
});
|
674
|
+
// 3. Only count is present
|
675
|
+
return i18next.t("fields.count.count", {
|
676
|
+
count: count
|
677
|
+
});
|
768
678
|
}
|
769
679
|
|
770
680
|
|
771
|
-
// Functions
|
772
681
|
|
773
|
-
|
682
|
+
|
774
683
|
// Function to clean up the params for dateStyle situation
|
775
684
|
// Note: dateStyle and timeStyle can be used with each other,
|
776
685
|
// but not with other date-time component options (e.g. weekday, hour, month, etc.).
|
777
686
|
function $208be5279f5e6c65$var$generateDateStyleFormatOptions(options) {
|
687
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(options.dateStyle)) return {
|
688
|
+
dateStyle: options.dateStyle
|
689
|
+
};
|
690
|
+
const defaults = {
|
691
|
+
year: "numeric",
|
692
|
+
month: "2-digit",
|
693
|
+
day: "2-digit"
|
694
|
+
};
|
778
695
|
return {
|
779
|
-
|
780
|
-
|
781
|
-
day: options.dateStyle === undefined ? options.day || "2-digit" : undefined,
|
782
|
-
weekday: options.dateStyle === undefined ? options.weekday : undefined
|
696
|
+
...options,
|
697
|
+
...defaults
|
783
698
|
};
|
784
699
|
}
|
785
700
|
// Function to clean up the params for timeStyle situation
|
786
701
|
function $208be5279f5e6c65$var$generateTimeStyleFormatOptions(options) {
|
702
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(options.timeStyle)) return {
|
703
|
+
timeStyle: options.timeStyle
|
704
|
+
};
|
705
|
+
const defaults = {
|
706
|
+
hour: "2-digit",
|
707
|
+
minute: "2-digit",
|
708
|
+
second: "2-digit"
|
709
|
+
};
|
787
710
|
return {
|
788
|
-
|
789
|
-
|
790
|
-
second: options.timeStyle === undefined ? options.second || "2-digit" : undefined
|
711
|
+
...options,
|
712
|
+
...defaults
|
791
713
|
};
|
792
714
|
}
|
793
715
|
function $208be5279f5e6c65$export$a77f8869772ffca4({ config: config, datetimes: datetimes }) {
|
794
716
|
let options = config.dateTimeFormatOptions;
|
795
|
-
// prepare data for algorithm below
|
796
717
|
const entries = datetimes.map((datetime)=>{
|
797
|
-
// Convert it to date
|
798
718
|
let date = new Date(datetime);
|
799
|
-
// other properties
|
800
719
|
let hasTimePart = datetime.includes("T");
|
801
720
|
let hyphensCount = datetime.split("-").length - 1;
|
802
721
|
let hasMonths = hyphensCount >= 1;
|
@@ -828,19 +747,12 @@ function $208be5279f5e6c65$export$a77f8869772ffca4({ config: config, datetimes:
|
|
828
747
|
// If only year / month and days are defined, print it according
|
829
748
|
if (!hasTimePart) {
|
830
749
|
let df3 = new Intl.DateTimeFormat(config.language, {
|
831
|
-
// retrieve value from user
|
832
|
-
dateStyle: options.dateStyle,
|
833
|
-
// fallback if dateStyle is not defined
|
834
750
|
...$208be5279f5e6c65$var$generateDateStyleFormatOptions(options)
|
835
751
|
});
|
836
752
|
return df3.format(date);
|
837
753
|
}
|
838
754
|
// Otherwise, we have a full datetime
|
839
755
|
let df4 = new Intl.DateTimeFormat(config.language, {
|
840
|
-
// retrieve value from user
|
841
|
-
dateStyle: options.dateStyle,
|
842
|
-
timeStyle: options.timeStyle,
|
843
|
-
// fallback if dateStyle / timeStyle is not defined
|
844
756
|
...$208be5279f5e6c65$var$generateDateStyleFormatOptions(options),
|
845
757
|
...$208be5279f5e6c65$var$generateTimeStyleFormatOptions(options)
|
846
758
|
});
|
@@ -849,9 +761,7 @@ function $208be5279f5e6c65$export$a77f8869772ffca4({ config: config, datetimes:
|
|
849
761
|
return result;
|
850
762
|
}
|
851
763
|
function $208be5279f5e6c65$export$4699e913d5b6ffeb({ config: config, datetime: datetime }) {
|
852
|
-
|
853
|
-
if (datetime === undefined) return undefined;
|
854
|
-
// Invoke previous function, and pick up the first entry
|
764
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(datetime)) return undefined;
|
855
765
|
const result = $208be5279f5e6c65$export$a77f8869772ffca4({
|
856
766
|
config: config,
|
857
767
|
datetimes: [
|
@@ -862,12 +772,10 @@ function $208be5279f5e6c65$export$4699e913d5b6ffeb({ config: config, datetime: d
|
|
862
772
|
}
|
863
773
|
|
864
774
|
|
775
|
+
|
865
776
|
function $3bceb6a4d7bec96e$export$3c2848bc0f0e3783({ dos: dos, config: config, i18next: i18next }) {
|
866
|
-
|
867
|
-
if (
|
868
|
-
// Generate the string version of them
|
869
|
-
let events = dos.timing.event;
|
870
|
-
// List to string
|
777
|
+
let events = dos.timing?.event;
|
778
|
+
if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(events)) return undefined;
|
871
779
|
let eventList = (0, $208be5279f5e6c65$export$a77f8869772ffca4)({
|
872
780
|
config: config,
|
873
781
|
datetimes: events
|
@@ -880,25 +788,23 @@ function $3bceb6a4d7bec96e$export$3c2848bc0f0e3783({ dos: dos, config: config, i
|
|
880
788
|
}
|
881
789
|
|
882
790
|
|
883
|
-
|
791
|
+
|
792
|
+
|
884
793
|
|
885
794
|
function $6c156f35df44ca41$export$21e3522d6e713036({ dos: dos, config: config, i18next: i18next }) {
|
886
|
-
|
887
|
-
if (dos.additionalInstruction === undefined || dos.additionalInstruction.length === 0) return undefined;
|
888
|
-
// Turn it into strings
|
795
|
+
if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(dos.additionalInstruction)) return undefined;
|
889
796
|
let additionalInstructions = dos.additionalInstruction.map((instruction)=>config.fromCodeableConceptToString({
|
890
797
|
code: instruction,
|
891
798
|
language: config.language
|
892
|
-
})).filter((
|
799
|
+
})).filter((0, $3d60081b7152576d$export$e7321bf46d18757f));
|
893
800
|
return (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, additionalInstructions);
|
894
801
|
}
|
895
802
|
|
896
803
|
|
897
|
-
|
804
|
+
|
898
805
|
|
899
806
|
function $e021f207f5cc63d0$export$6e78f21a88fc25ea({ dos: dos, config: config, i18next: i18next }) {
|
900
|
-
|
901
|
-
if (dos.maxDosePerLifetime === undefined) return undefined;
|
807
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(dos.maxDosePerLifetime)) return undefined;
|
902
808
|
const maxDosePerLifetime = dos.maxDosePerLifetime;
|
903
809
|
return i18next.t("fields.maxDosePerLifetime", {
|
904
810
|
quantityText: (0, $6ce94eb09701f53d$export$e9106be159f8c977)({
|
@@ -910,11 +816,10 @@ function $e021f207f5cc63d0$export$6e78f21a88fc25ea({ dos: dos, config: config, i
|
|
910
816
|
}
|
911
817
|
|
912
818
|
|
913
|
-
|
819
|
+
|
914
820
|
|
915
821
|
function $9ad44f2c84a9bdf4$export$58c8a9e040283a66({ dos: dos, config: config, i18next: i18next }) {
|
916
|
-
|
917
|
-
if (dos.maxDosePerAdministration === undefined) return undefined;
|
822
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(dos.maxDosePerAdministration)) return undefined;
|
918
823
|
const maxDosePerAdministration = dos.maxDosePerAdministration;
|
919
824
|
return i18next.t("fields.maxDosePerAdministration", {
|
920
825
|
quantityText: (0, $6ce94eb09701f53d$export$e9106be159f8c977)({
|
@@ -926,11 +831,10 @@ function $9ad44f2c84a9bdf4$export$58c8a9e040283a66({ dos: dos, config: config, i
|
|
926
831
|
}
|
927
832
|
|
928
833
|
|
929
|
-
|
834
|
+
|
930
835
|
|
931
836
|
function $45256d2a188dcbd7$export$75a89431d80a701a({ dos: dos, config: config, i18next: i18next }) {
|
932
|
-
|
933
|
-
if (dos.timing === undefined || dos.timing.repeat === undefined || dos.timing.repeat.boundsPeriod === undefined) return undefined;
|
837
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(dos.timing?.repeat?.boundsPeriod)) return undefined;
|
934
838
|
// Generate the string version of them
|
935
839
|
const boundsPeriod = dos.timing.repeat.boundsPeriod;
|
936
840
|
let start = (0, $208be5279f5e6c65$export$4699e913d5b6ffeb)({
|
@@ -941,14 +845,13 @@ function $45256d2a188dcbd7$export$75a89431d80a701a({ dos: dos, config: config, i
|
|
941
845
|
config: config,
|
942
846
|
datetime: boundsPeriod.end
|
943
847
|
});
|
944
|
-
// Three cases
|
945
848
|
// 1. Both start and end are present
|
946
|
-
if (start
|
849
|
+
if ((0, $3d60081b7152576d$export$3b3497187fd4cc1a)(start, end)) return i18next.t("fields.boundsPeriod.startAndEnd", {
|
947
850
|
start: start,
|
948
851
|
end: end
|
949
852
|
});
|
950
853
|
// 2. Only start is present
|
951
|
-
if (
|
854
|
+
if ((0, $3d60081b7152576d$export$e7321bf46d18757f)(start)) return i18next.t("fields.boundsPeriod.onlyStart", {
|
952
855
|
start: start
|
953
856
|
});
|
954
857
|
// 3. Only end is present
|
@@ -960,12 +863,11 @@ function $45256d2a188dcbd7$export$75a89431d80a701a({ dos: dos, config: config, i
|
|
960
863
|
|
961
864
|
|
962
865
|
|
866
|
+
|
963
867
|
function $39ffdeadc450f558$export$346b11a8cb220f02({ dos: dos, config: config, i18next: i18next }) {
|
964
|
-
|
965
|
-
if (dos.maxDosePerPeriod === undefined) return undefined;
|
868
|
+
if (!(0, $3d60081b7152576d$export$e7321bf46d18757f)(dos.maxDosePerPeriod)) return undefined;
|
966
869
|
const maxDosePerPeriod = dos.maxDosePerPeriod;
|
967
|
-
// In R4, it was a single object
|
968
|
-
// In R5, it is an array
|
870
|
+
// In R4, it was a single object / In R5, it is an array
|
969
871
|
// So better to have a generic approach
|
970
872
|
const values = Array.isArray(maxDosePerPeriod) ? maxDosePerPeriod : [
|
971
873
|
maxDosePerPeriod
|
@@ -979,7 +881,7 @@ function $39ffdeadc450f558$export$346b11a8cb220f02({ dos: dos, config: config, i
|
|
979
881
|
i18next: i18next,
|
980
882
|
ratio: period
|
981
883
|
});
|
982
|
-
}).filter((
|
884
|
+
}).filter((0, $3d60081b7152576d$export$e7321bf46d18757f));
|
983
885
|
const maxDosePerPeriodText = (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, valuesAsString);
|
984
886
|
return i18next.t("fields.maxDosePerPeriod", {
|
985
887
|
count: values.length,
|
@@ -990,7 +892,7 @@ function $39ffdeadc450f558$export$346b11a8cb220f02({ dos: dos, config: config, i
|
|
990
892
|
|
991
893
|
|
992
894
|
|
993
|
-
|
895
|
+
|
994
896
|
const $2c21ace90ecdbde6$var$displayOrders = {
|
995
897
|
additionalInstruction: (input)=>(0, $6c156f35df44ca41$export$21e3522d6e713036)(input),
|
996
898
|
asNeeded: (input)=>(0, $ee04e2a8ed39962f$export$5c69a2202525487a)(input),
|
@@ -1016,7 +918,7 @@ const $2c21ace90ecdbde6$var$displayOrders = {
|
|
1016
918
|
let subParts = [
|
1017
919
|
(0, $bc43734b944260d2$export$d663412e0c469ce2)(input),
|
1018
920
|
(0, $b9825dd9e0a2e687$export$aa31b783699f637)(input)
|
1019
|
-
].filter((
|
921
|
+
].filter((0, $3d60081b7152576d$export$e7321bf46d18757f));
|
1020
922
|
return subParts.length > 0 ? subParts.join(" ") : undefined;
|
1021
923
|
},
|
1022
924
|
maxDosePerAdministration: (input)=>(0, $9ad44f2c84a9bdf4$export$58c8a9e040283a66)(input),
|
@@ -1060,18 +962,17 @@ const $2c21ace90ecdbde6$var$displayOrders = {
|
|
1060
962
|
})
|
1061
963
|
};
|
1062
964
|
function $2c21ace90ecdbde6$export$9f330b4bf8c0975c({ entry: entry, ...args }) {
|
1063
|
-
// Use map to provide a result without iterate on each key
|
1064
965
|
return $2c21ace90ecdbde6$var$displayOrders[entry](args);
|
1065
966
|
}
|
1066
967
|
|
1067
968
|
|
1068
969
|
|
1069
970
|
|
971
|
+
|
1070
972
|
const $74b0cf9d3dbd5b46$var$defaultI18NConfig = {
|
1071
973
|
backend: {
|
1072
974
|
backends: [
|
1073
|
-
(0, ($parcel$interopDefault($8zHUo$i18nextresourcestobackend)))(
|
1074
|
-
async (lng, ns)=>import(`./locales/${lng}/${ns}.json`))
|
975
|
+
(0, ($parcel$interopDefault($8zHUo$i18nextresourcestobackend)))(async (lng, ns)=>import(`./locales/${lng}/${ns}.json`))
|
1075
976
|
]
|
1076
977
|
}
|
1077
978
|
};
|
@@ -1086,35 +987,22 @@ class $74b0cf9d3dbd5b46$export$1c191bca55f84a03 extends (0, $868b4eaa4f62b9f7$ex
|
|
1086
987
|
/**
|
1087
988
|
* Does this array of Dosage objects contains only "sequential" instructions ?
|
1088
989
|
*/ containsOnlySequentialInstructions(dosages) {
|
1089
|
-
|
1090
|
-
let sequencesNumbers = dosages.map((d)=>d.sequence).filter((s)=>s !== undefined);
|
1091
|
-
// 2. Convert it to a Set
|
990
|
+
let sequencesNumbers = dosages.map((d)=>d.sequence).filter((0, $3d60081b7152576d$export$e7321bf46d18757f));
|
1092
991
|
let encounteredSequenceNumbers = new Set(sequencesNumbers);
|
1093
|
-
// 3. We have a "sequential" situation in two cases
|
1094
|
-
// A) No sequence number were provided
|
1095
|
-
// B) All sequence numbers are different
|
1096
992
|
return encounteredSequenceNumbers.size === 0 || encounteredSequenceNumbers.size === dosages.length;
|
1097
993
|
}
|
1098
994
|
/**
|
1099
995
|
* Turn this array of Dosage objects into a data structure useful to handle "sequential" and "concurrent" instructions (cf. "sequence" property).
|
1100
996
|
* @returns {Dosage[][]} - A two-dimensional array where each inner array contains Dosage objects belonging to the same sequence numberr.
|
1101
997
|
*/ groupBySequence(dosages) {
|
1102
|
-
// Prepare variables
|
1103
998
|
let groups = {};
|
1104
999
|
let sequences = new Set();
|
1105
1000
|
for(let idx = 0; idx < dosages.length; idx++){
|
1106
|
-
// Get dosage object
|
1107
1001
|
const dosage = dosages[idx];
|
1108
|
-
// Get the sequence number (normally, in real world, it should be present in this case)
|
1109
|
-
// If no sequence number, assume it is idx + 1
|
1110
1002
|
let sequenceNr = dosage.sequence || idx + 1;
|
1111
|
-
// Retrieve of create previous entries for this sequence number
|
1112
1003
|
let localGroup = groups[sequenceNr] || [];
|
1113
|
-
// Add entry
|
1114
1004
|
localGroup.push(dosage);
|
1115
|
-
// Pushback result
|
1116
1005
|
groups[sequenceNr] = localGroup;
|
1117
|
-
// For reminder of the parsed sequence
|
1118
1006
|
sequences.add(sequenceNr);
|
1119
1007
|
}
|
1120
1008
|
// By using the Set values, we are sure it is returned in the way Dosages were written
|
@@ -1129,20 +1017,17 @@ class $74b0cf9d3dbd5b46$export$1c191bca55f84a03 extends (0, $868b4eaa4f62b9f7$ex
|
|
1129
1017
|
* From a single dosage, extract specific field(s) requested by user.
|
1130
1018
|
* Some use cases could request to split part of the object for given needs (quantity and timing separately)
|
1131
1019
|
*/ getFields(dos, ...order) {
|
1132
|
-
// iterate on each key and generate a string from each part
|
1133
1020
|
let parts = order.map((entry)=>(0, $2c21ace90ecdbde6$export$9f330b4bf8c0975c)({
|
1134
1021
|
config: this.config,
|
1135
1022
|
dos: dos,
|
1136
1023
|
entry: entry,
|
1137
1024
|
i18next: this.i18nInstance
|
1138
|
-
})).filter((
|
1139
|
-
// Join each part with a separator
|
1025
|
+
})).filter((0, $3d60081b7152576d$export$e7321bf46d18757f));
|
1140
1026
|
return parts.join(this.config.displaySeparator);
|
1141
1027
|
}
|
1142
1028
|
/**
|
1143
1029
|
* Turn a FHIR Dosage object into text
|
1144
1030
|
*/ fromDosageToText(dos) {
|
1145
|
-
// iterate on each key and generate a string from each part
|
1146
1031
|
let order = this.config.displayOrder;
|
1147
1032
|
return this.getFields(dos, ...order);
|
1148
1033
|
}
|