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 | 
             
                }
         |