fhir-dosage-utils 1.9.0 → 1.10.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/dist/main.js CHANGED
@@ -29,22 +29,30 @@ function $1c57f108974f2805$export$b1a6aed91fad1636({ quantity: quantity }) {
29
29
  }
30
30
 
31
31
 
32
+ // Functions
33
+ function $7642ff4865ae4b0f$export$d9ff4a623e416a11(array) {
34
+ return array === undefined || array.length === 0;
35
+ }
36
+
37
+
32
38
  function $a6c648898dc8c3b6$export$f478f96b98da13a4({ code: code }) {
33
39
  // If no code, skip it
34
40
  if (code === undefined) return undefined;
35
41
  // Take text first
36
42
  if (code.text !== undefined) return code.text;
37
43
  // If empty, skip it
38
- if (code.coding === undefined || code.coding.length === 0) return undefined;
44
+ if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(code.coding)) return undefined;
39
45
  // Take first coding; display first then code
40
46
  let firstCode = code.coding[0];
41
47
  return firstCode.display || firstCode.code;
42
48
  }
43
49
 
44
50
 
51
+ // Functions
52
+
45
53
  function $34ebae8ac5b52fcd$export$30c337e25ab8e95b({ extensions: extensions }) {
46
54
  // If no extensions, skip it
47
- if (extensions === undefined || extensions.length === 0) return undefined;
55
+ if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(extensions)) return undefined;
48
56
  // KIS implementation : print it as provided, without doing anything
49
57
  // Extensions have so many cases btw, that having a basic function does the trick
50
58
  return extensions.map((extension)=>JSON.stringify(extension)).join(" ");
@@ -107,7 +115,8 @@ class $868b4eaa4f62b9f7$export$f807d9a22ff8372d {
107
115
  "common",
108
116
  "daysOfWeek",
109
117
  "eventTiming",
110
- "unitsOfTime"
118
+ "unitsOfTime",
119
+ "quantityComparator"
111
120
  ],
112
121
  defaultNS: "common",
113
122
  // attributes set by user
@@ -206,13 +215,19 @@ function $6ce94eb09701f53d$export$e9106be159f8c977({ quantity: quantity, config:
206
215
  });
207
216
  let value = quantity.value || 1;
208
217
  // If no unit is present (in other words ""), we don't put it
209
- if (unit.length === 0) return i18next.t("amount.quantity.withoutUnit", {
218
+ let quantityString = unit.length === 0 ? i18next.t("amount.quantity.withoutUnit", {
210
219
  quantity: value
211
- });
212
- else return i18next.t("amount.quantity.withUnit", {
220
+ }) : i18next.t("amount.quantity.withUnit", {
213
221
  quantity: value,
214
222
  unit: unit
215
223
  });
224
+ // Compute the comparator
225
+ let comparatorCode = quantity.comparator;
226
+ let comparatorString = comparatorCode !== undefined ? i18next.t(`quantityComparator:${comparatorCode}`) : undefined;
227
+ // If no comparator, print it
228
+ if (comparatorString === undefined) return quantityString;
229
+ else // concatenate comparator and quantity
230
+ return `${comparatorString} ${quantityString}`;
216
231
  }
217
232
 
218
233
 
@@ -241,7 +256,8 @@ function $9ee880701f47723b$var$transformQuantityUnitToString(i18next, quantity,
241
256
  return i18next.t(`unitsOfTime:withoutCount.${code}`, {
242
257
  count: quantityValue
243
258
  });
244
- } else // otherwise, it is UCUM, ... so let the user do the job
259
+ }
260
+ // otherwise, it is UCUM, ... so let the user do the job
245
261
  return config.fromFHIRQuantityUnitToString({
246
262
  language: config.language,
247
263
  quantity: quantity
@@ -339,50 +355,68 @@ function $703b645b55481398$export$d3dd7d3522271dba({ dos: dos, config: config, i
339
355
  }
340
356
 
341
357
 
358
+ // Functions
359
+
342
360
  // Quantity has an unit ?
343
361
  function $7895e9944cc835ce$var$hasUnit(quantity) {
344
- return (quantity?.unit || quantity?.code) !== undefined;
362
+ return [
363
+ quantity?.unit,
364
+ quantity?.code
365
+ ].some((field)=>field !== undefined);
366
+ }
367
+ // To cover all nasty cases of denominator
368
+ function $7895e9944cc835ce$var$fromDenominatorToString({ config: config, i18next: i18next, quantity: quantity }) {
369
+ let hasUnitDenominator = $7895e9944cc835ce$var$hasUnit(quantity);
370
+ let value = quantity.value;
371
+ // If no unit, it is quite simple
372
+ if (!hasUnitDenominator) return `:${value}`;
373
+ // Get correct linkword (depending of the quantity value)
374
+ let linkword = i18next.t("amount.ratio.denominatorLinkword", {
375
+ count: value
376
+ });
377
+ // Get quantity text (depending of the quantity value)
378
+ let quantityText = value !== 1 ? (0, $6ce94eb09701f53d$export$e9106be159f8c977)({
379
+ quantity: quantity,
380
+ config: config,
381
+ i18next: i18next
382
+ }) : config.fromFHIRQuantityUnitToString({
383
+ quantity: quantity,
384
+ language: config.language
385
+ });
386
+ // Concatenate all computed parts
387
+ // The space before is intentional so that numerator and denominator are well printed regardless of situation
388
+ return ` ${linkword} ${quantityText}`;
345
389
  }
346
390
  function $7895e9944cc835ce$export$fdc6e9cbd31555fb({ ratio: ratio, config: config, i18next: i18next }) {
347
391
  // Extract params
348
392
  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
393
  // quantity
359
394
  let quantityNumerator = numerator?.value;
360
395
  let quantityDenominator = denominator?.value;
361
396
  // Collect results
362
397
  const parts = [];
363
- let noUnits = numeratorUnit === undefined && denominatorUnit === undefined;
364
- let separator = noUnits ? "" : " ";
365
398
  // Deal with numerator first
366
399
  if (quantityNumerator !== undefined) {
367
- let technicalKey = numeratorUnit !== undefined ? "withUnit" : "withoutUnit";
368
- const numeratorString = i18next.t(`amount.ratio.${technicalKey}.numerator`, {
369
- count: quantityNumerator,
370
- numeratorUnit: numeratorUnit
400
+ // Reuse the quantity to string translation
401
+ const numeratorString = (0, $6ce94eb09701f53d$export$e9106be159f8c977)({
402
+ quantity: numerator,
403
+ config: config,
404
+ i18next: i18next
371
405
  });
372
406
  parts.push(numeratorString);
373
407
  }
374
408
  // Deal with denominator
375
409
  if (quantityDenominator !== undefined) {
376
- let technicalKey = denominatorUnit !== undefined ? "withUnit" : "withoutUnit";
377
- const denominatorString = i18next.t(`amount.ratio.${technicalKey}.denominator`, {
378
- count: quantityDenominator,
379
- denominatorUnit: denominatorUnit
410
+ // Several cases exist for that, let use a proper function for that
411
+ const denominatorString = $7895e9944cc835ce$var$fromDenominatorToString({
412
+ config: config,
413
+ i18next: i18next,
414
+ quantity: denominator
380
415
  });
381
416
  parts.push(denominatorString);
382
417
  }
383
418
  // Concatenate the result
384
- if (parts.length === 0) return undefined;
385
- else return parts.join(separator);
419
+ return parts.length > 0 ? parts.join("") : undefined;
386
420
  }
387
421
 
388
422
 
@@ -406,7 +440,7 @@ function $301791f33da707fa$export$b71cfd2510242de2({ dos: dos, config: config, i
406
440
 
407
441
  function $e8251a88ed398f12$export$1d3efc96e203aa6b(dos) {
408
442
  // If empty, return undefined
409
- if (dos.timing === undefined || dos.timing.repeat === undefined) return undefined;
443
+ if (dos.timing?.repeat === undefined) return undefined;
410
444
  return dos.timing.repeat;
411
445
  }
412
446
 
@@ -421,7 +455,7 @@ function $1270a8f06113f53a$export$675ae45fa2875f4a({ dos: dos, i18next: i18next
421
455
  let unit = repeat.durationUnit;
422
456
  // Do nothing if no unit, I am not a wizard
423
457
  if (unit === undefined) return undefined;
424
- else return [
458
+ return [
425
459
  // duration
426
460
  duration !== undefined && i18next.t("fields.duration", {
427
461
  durationText: i18next.t(`unitsOfTime:withCount.${unit}`, {
@@ -448,22 +482,20 @@ function $bc43734b944260d2$export$d663412e0c469ce2({ dos: dos, i18next: i18next
448
482
  let max = repeat.frequencyMax;
449
483
  // Do nothing if no frequency / frequencyMax, I am not a wizard
450
484
  if (frequency === undefined && max === undefined) return undefined;
451
- else {
452
- // Three cases
453
- // 1. Frequency and frequencyMax are present
454
- if (frequency !== undefined && max !== undefined) return i18next.t("fields.frequency.withfrequencyMax", {
455
- count: max,
456
- frequency: frequency
457
- });
458
- // 2. Only frequencyMax is present
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
- }
485
+ // Three cases
486
+ // 1. Frequency and frequencyMax are present
487
+ if (frequency !== undefined && max !== undefined) return i18next.t("fields.frequency.withfrequencyMax", {
488
+ count: max,
489
+ frequency: frequency
490
+ });
491
+ // 2. Only frequencyMax is present
492
+ if (max !== undefined) return i18next.t("fields.frequencyMax.frequencyMax", {
493
+ count: max
494
+ });
495
+ // 3. Only frequency is present
496
+ return i18next.t("fields.frequency.onlyFrequency", {
497
+ count: frequency
498
+ });
467
499
  }
468
500
 
469
501
 
@@ -478,31 +510,29 @@ function $b9825dd9e0a2e687$export$aa31b783699f637({ dos: dos, i18next: i18next }
478
510
  let unit = repeat.periodUnit;
479
511
  // Do nothing if no unit, I am not a wizard
480
512
  if (unit === undefined) return undefined;
481
- else {
482
- // Three cases
483
- // 1. period and periodMax are present
484
- if (period !== undefined && max !== undefined) return i18next.t("fields.periodMax.withPeriod", {
485
- period: period,
486
- count: max,
487
- unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
488
- count: max
489
- })
490
- });
491
- // 2. Only periodMax is present
492
- if (max !== undefined) return i18next.t("fields.periodMax.onlyPeriodMax", {
493
- count: max,
494
- unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
495
- count: max
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
- }
513
+ // Three cases
514
+ // 1. period and periodMax are present
515
+ if (period !== undefined && max !== undefined) return i18next.t("fields.periodMax.withPeriod", {
516
+ period: period,
517
+ count: max,
518
+ unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
519
+ count: max
520
+ })
521
+ });
522
+ // 2. Only periodMax is present
523
+ if (max !== undefined) return i18next.t("fields.periodMax.onlyPeriodMax", {
524
+ count: max,
525
+ unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
526
+ count: max
527
+ })
528
+ });
529
+ // 3. Only period present
530
+ return i18next.t("fields.period.period", {
531
+ count: period,
532
+ unit: i18next.t(`unitsOfTime:withoutCount.${unit}`, {
533
+ count: period
534
+ })
535
+ });
506
536
  }
507
537
 
508
538
 
@@ -524,6 +554,7 @@ function $93b58b7d2ead3b95$export$826742c1df3eca39(i18next, arr, linkWord = "and
524
554
 
525
555
 
526
556
 
557
+
527
558
  // Function to extract times
528
559
  function $7a065f861a4b61f2$var$extractTime(minutes) {
529
560
  let days = Math.floor(minutes / 1440);
@@ -560,11 +591,10 @@ function $7a065f861a4b61f2$var$transformOffset(i18next, offset) {
560
591
  // Function to transform when[] into a string
561
592
  function $7a065f861a4b61f2$var$transformWhen(i18next, when) {
562
593
  // Only run when array is not empty
563
- if (when === undefined || when.length === 0) return undefined;
594
+ if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(when)) return undefined;
564
595
  // Turn it into a string
565
596
  const whens = when.map((whenCode)=>i18next.t(`eventTiming:${whenCode}`));
566
- const finalString = (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, whens);
567
- return finalString;
597
+ return (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, whens);
568
598
  }
569
599
  function $7a065f861a4b61f2$export$433fa514f44031f3({ dos: dos, i18next: i18next }) {
570
600
  let repeat = (0, $e8251a88ed398f12$export$1d3efc96e203aa6b)(dos);
@@ -587,6 +617,7 @@ function $7a065f861a4b61f2$export$433fa514f44031f3({ dos: dos, i18next: i18next
587
617
  // Function
588
618
 
589
619
 
620
+
590
621
  function $46f2142e76cf7e45$export$f6325e43097e9543({ dos: dos, i18next: i18next }) {
591
622
  let repeat = (0, $e8251a88ed398f12$export$1d3efc96e203aa6b)(dos);
592
623
  // If empty, return undefined
@@ -594,22 +625,21 @@ function $46f2142e76cf7e45$export$f6325e43097e9543({ dos: dos, i18next: i18next
594
625
  // Pickup the repeat interesting attributes
595
626
  let dayOfWeek = repeat.dayOfWeek;
596
627
  // If empty, skip it
597
- if (dayOfWeek === undefined || dayOfWeek.length === 0) return undefined;
598
- else {
599
- // Turn it into a string
600
- const dayOfWeeks = dayOfWeek.map((dayCode)=>i18next.t(`daysOfWeek:${dayCode}`));
601
- const dayOfWeeksAsString = (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, dayOfWeeks);
602
- return i18next.t("fields.dayOfWeek.dayOfWeek", {
603
- count: dayOfWeek.length,
604
- dayOfWeek: dayOfWeeksAsString
605
- });
606
- }
628
+ if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(dayOfWeek)) return undefined;
629
+ // Turn it into a string
630
+ const dayOfWeeks = dayOfWeek.map((dayCode)=>i18next.t(`daysOfWeek:${dayCode}`));
631
+ const dayOfWeeksAsString = (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, dayOfWeeks);
632
+ return i18next.t("fields.dayOfWeek.dayOfWeek", {
633
+ count: dayOfWeek.length,
634
+ dayOfWeek: dayOfWeeksAsString
635
+ });
607
636
  }
608
637
 
609
638
 
610
639
  // Functions
611
640
 
612
641
 
642
+
613
643
  /**
614
644
  * time during the day, in the format hh:mm:ss (a subset of [ISO8601] icon).
615
645
  * There is no date specified. Seconds must be provided due to schema type constraints but may be zero-filled
@@ -629,16 +659,14 @@ function $a846209a7dd119d4$export$ee205fa48981886d({ dos: dos, i18next: i18next
629
659
  // Pickup the repeat interesting attributes
630
660
  let timeOfDay = repeat.timeOfDay;
631
661
  // If empty, skip it
632
- if (timeOfDay === undefined || timeOfDay.length === 0) return undefined;
633
- else {
634
- // Turn it into a string
635
- const timeOfDays = timeOfDay.map($a846209a7dd119d4$var$formatString);
636
- const timeOfDaysAsString = (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, timeOfDays);
637
- return i18next.t("fields.timeOfDay", {
638
- timeOfDay: timeOfDaysAsString,
639
- count: timeOfDays.length
640
- });
641
- }
662
+ if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(timeOfDay)) return undefined;
663
+ // Turn it into a string
664
+ const timeOfDays = timeOfDay.map($a846209a7dd119d4$var$formatString);
665
+ const timeOfDaysAsString = (0, $93b58b7d2ead3b95$export$826742c1df3eca39)(i18next, timeOfDays);
666
+ return i18next.t("fields.timeOfDay", {
667
+ timeOfDay: timeOfDaysAsString,
668
+ count: timeOfDays.length
669
+ });
642
670
  }
643
671
 
644
672
 
@@ -665,12 +693,12 @@ function $ee04e2a8ed39962f$export$5c69a2202525487a({ dos: dos, config: config, i
665
693
  if (codeableList.length > 0) return i18next.t("fields.asNeededFor", {
666
694
  reasons: $ee04e2a8ed39962f$var$fromCodeableConceptArrayToString(i18next, codeableList, config)
667
695
  });
668
- else {
669
- // merge boolean to make it simpler
670
- let booleanValue = asNeededBoolean || asNeeded || false;
671
- if (booleanValue) return i18next.t("fields.asNeeded");
672
- else return undefined;
673
- }
696
+ // merge boolean to make it simpler
697
+ let booleanValue = [
698
+ asNeededBoolean,
699
+ asNeeded
700
+ ].includes(true);
701
+ return booleanValue ? i18next.t("fields.asNeeded") : undefined;
674
702
  }
675
703
 
676
704
 
@@ -702,12 +730,10 @@ function $9d632517596957df$export$b927a06bc51aea32({ dos: dos, config: config, i
702
730
  let boundsDuration = repeat.boundsDuration;
703
731
  // Do nothing if no boundsDuration, I am not a wizard
704
732
  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
- }
733
+ let durationText = $9d632517596957df$var$transformDurationToString(i18next, boundsDuration, config);
734
+ return i18next.t("fields.boundsDuration", {
735
+ durationText: durationText
736
+ });
711
737
  }
712
738
 
713
739
 
@@ -722,20 +748,18 @@ function $2da391a8a8345a3d$export$8c667cbf7bebaa93({ dos: dos, config: config, i
722
748
  let boundsRange = repeat.boundsRange;
723
749
  // Do nothing if no boundsRange, I am not a wizard
724
750
  if (boundsRange === undefined) return undefined;
725
- else {
726
- // Turn range into a text
727
- const rangeText = (0, $9ee880701f47723b$export$be17d167ed50d870)({
728
- range: boundsRange,
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
- }
751
+ // Turn range into a text
752
+ const rangeText = (0, $9ee880701f47723b$export$be17d167ed50d870)({
753
+ range: boundsRange,
754
+ config: config,
755
+ i18next: i18next
756
+ });
757
+ // Reject if empty
758
+ if (rangeText === undefined) return undefined;
759
+ // return the final string
760
+ return i18next.t("fields.boundsRange", {
761
+ rangeText: rangeText
762
+ });
739
763
  }
740
764
 
741
765
 
@@ -749,22 +773,20 @@ function $39470eb799331038$export$498ca7f558a02e67({ dos: dos, i18next: i18next
749
773
  let countMax = repeat.countMax;
750
774
  // Do nothing if no count, I am not a wizard
751
775
  if (count === undefined && countMax === undefined) return undefined;
752
- else {
753
- // Three cases
754
- // 1. Both count & countMax are present
755
- if (count !== undefined && countMax !== undefined) return i18next.t("fields.countMax.countMax", {
756
- count: countMax,
757
- low: count
758
- });
759
- // 2. Only countMax is present
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
- }
776
+ // Three cases
777
+ // 1. Both count & countMax are present
778
+ if (count !== undefined && countMax !== undefined) return i18next.t("fields.countMax.countMax", {
779
+ count: countMax,
780
+ low: count
781
+ });
782
+ // 2. Only countMax is present
783
+ if (countMax !== undefined) return i18next.t("fields.count.count", {
784
+ count: countMax
785
+ });
786
+ // 3. Only count is present
787
+ return i18next.t("fields.count.count", {
788
+ count: count
789
+ });
768
790
  }
769
791
 
770
792
 
@@ -775,19 +797,32 @@ function $39470eb799331038$export$498ca7f558a02e67({ dos: dos, i18next: i18next
775
797
  // Note: dateStyle and timeStyle can be used with each other,
776
798
  // but not with other date-time component options (e.g. weekday, hour, month, etc.).
777
799
  function $208be5279f5e6c65$var$generateDateStyleFormatOptions(options) {
800
+ if (options.dateStyle !== undefined) return {
801
+ dateStyle: options.dateStyle
802
+ };
803
+ const defaults = {
804
+ year: "numeric",
805
+ month: "2-digit",
806
+ day: "2-digit"
807
+ };
778
808
  return {
779
- year: options.dateStyle === undefined ? options.year || "numeric" : undefined,
780
- month: options.dateStyle === undefined ? options.month || "2-digit" : undefined,
781
- day: options.dateStyle === undefined ? options.day || "2-digit" : undefined,
782
- weekday: options.dateStyle === undefined ? options.weekday : undefined
809
+ ...options,
810
+ ...defaults
783
811
  };
784
812
  }
785
813
  // Function to clean up the params for timeStyle situation
786
814
  function $208be5279f5e6c65$var$generateTimeStyleFormatOptions(options) {
815
+ if (options.timeStyle !== undefined) return {
816
+ timeStyle: options.timeStyle
817
+ };
818
+ const defaults = {
819
+ hour: "2-digit",
820
+ minute: "2-digit",
821
+ second: "2-digit"
822
+ };
787
823
  return {
788
- hour: options.timeStyle === undefined ? options.hour || "2-digit" : undefined,
789
- minute: options.timeStyle === undefined ? options.minute || "2-digit" : undefined,
790
- second: options.timeStyle === undefined ? options.second || "2-digit" : undefined
824
+ ...options,
825
+ ...defaults
791
826
  };
792
827
  }
793
828
  function $208be5279f5e6c65$export$a77f8869772ffca4({ config: config, datetimes: datetimes }) {
@@ -829,8 +864,7 @@ function $208be5279f5e6c65$export$a77f8869772ffca4({ config: config, datetimes:
829
864
  if (!hasTimePart) {
830
865
  let df3 = new Intl.DateTimeFormat(config.language, {
831
866
  // retrieve value from user
832
- dateStyle: options.dateStyle,
833
- // fallback if dateStyle is not defined
867
+ // and fallback if dateStyle is not defined
834
868
  ...$208be5279f5e6c65$var$generateDateStyleFormatOptions(options)
835
869
  });
836
870
  return df3.format(date);
@@ -838,9 +872,7 @@ function $208be5279f5e6c65$export$a77f8869772ffca4({ config: config, datetimes:
838
872
  // Otherwise, we have a full datetime
839
873
  let df4 = new Intl.DateTimeFormat(config.language, {
840
874
  // retrieve value from user
841
- dateStyle: options.dateStyle,
842
- timeStyle: options.timeStyle,
843
- // fallback if dateStyle / timeStyle is not defined
875
+ // and fallback if dateStyle / timeStyle is not defined
844
876
  ...$208be5279f5e6c65$var$generateDateStyleFormatOptions(options),
845
877
  ...$208be5279f5e6c65$var$generateTimeStyleFormatOptions(options)
846
878
  });
@@ -862,11 +894,11 @@ function $208be5279f5e6c65$export$4699e913d5b6ffeb({ config: config, datetime: d
862
894
  }
863
895
 
864
896
 
897
+
865
898
  function $3bceb6a4d7bec96e$export$3c2848bc0f0e3783({ dos: dos, config: config, i18next: i18next }) {
866
899
  // If empty, return undefined
867
- if (dos.timing === undefined || dos.timing.event === undefined || dos.timing.event.length === 0) return undefined;
868
- // Generate the string version of them
869
- let events = dos.timing.event;
900
+ let events = dos.timing?.event;
901
+ if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(events)) return undefined;
870
902
  // List to string
871
903
  let eventList = (0, $208be5279f5e6c65$export$a77f8869772ffca4)({
872
904
  config: config,
@@ -882,9 +914,10 @@ function $3bceb6a4d7bec96e$export$3c2848bc0f0e3783({ dos: dos, config: config, i
882
914
 
883
915
  // Function
884
916
 
917
+
885
918
  function $6c156f35df44ca41$export$21e3522d6e713036({ dos: dos, config: config, i18next: i18next }) {
886
919
  // If empty, return undefined
887
- if (dos.additionalInstruction === undefined || dos.additionalInstruction.length === 0) return undefined;
920
+ if ((0, $7642ff4865ae4b0f$export$d9ff4a623e416a11)(dos.additionalInstruction)) return undefined;
888
921
  // Turn it into strings
889
922
  let additionalInstructions = dos.additionalInstruction.map((instruction)=>config.fromCodeableConceptToString({
890
923
  code: instruction,
@@ -930,7 +963,7 @@ function $9ad44f2c84a9bdf4$export$58c8a9e040283a66({ dos: dos, config: config, i
930
963
 
931
964
  function $45256d2a188dcbd7$export$75a89431d80a701a({ dos: dos, config: config, i18next: i18next }) {
932
965
  // If empty, return undefined
933
- if (dos.timing === undefined || dos.timing.repeat === undefined || dos.timing.repeat.boundsPeriod === undefined) return undefined;
966
+ if (dos.timing?.repeat?.boundsPeriod === undefined) return undefined;
934
967
  // Generate the string version of them
935
968
  const boundsPeriod = dos.timing.repeat.boundsPeriod;
936
969
  let start = (0, $208be5279f5e6c65$export$4699e913d5b6ffeb)({