@medplum/agent 2.1.4 → 2.1.5
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/cjs/index.cjs +761 -514
- package/package.json +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -12,13 +12,13 @@ var __export = (target, all) => {
|
|
|
12
12
|
for (var name in all)
|
|
13
13
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
14
|
};
|
|
15
|
-
var __copyProps = (
|
|
15
|
+
var __copyProps = (to2, from, except, desc) => {
|
|
16
16
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
17
|
for (let key of __getOwnPropNames(from))
|
|
18
|
-
if (!__hasOwnProp.call(
|
|
19
|
-
__defProp(
|
|
18
|
+
if (!__hasOwnProp.call(to2, key) && key !== except)
|
|
19
|
+
__defProp(to2, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
20
20
|
}
|
|
21
|
-
return
|
|
21
|
+
return to2;
|
|
22
22
|
};
|
|
23
23
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
24
24
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
@@ -1294,9 +1294,9 @@ var require_receiver = __commonJS({
|
|
|
1294
1294
|
}
|
|
1295
1295
|
this._fragments.push(buf);
|
|
1296
1296
|
}
|
|
1297
|
-
const
|
|
1298
|
-
if (
|
|
1299
|
-
return cb(
|
|
1297
|
+
const er2 = this.dataMessage();
|
|
1298
|
+
if (er2)
|
|
1299
|
+
return cb(er2);
|
|
1300
1300
|
this.startLoop(cb);
|
|
1301
1301
|
});
|
|
1302
1302
|
}
|
|
@@ -2251,7 +2251,7 @@ var require_websocket = __commonJS({
|
|
|
2251
2251
|
var protocolVersions = [8, 13];
|
|
2252
2252
|
var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
|
|
2253
2253
|
var subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;
|
|
2254
|
-
var
|
|
2254
|
+
var WebSocket3 = class _WebSocket extends EventEmitter {
|
|
2255
2255
|
/**
|
|
2256
2256
|
* Create a new `WebSocket`.
|
|
2257
2257
|
*
|
|
@@ -2630,35 +2630,35 @@ var require_websocket = __commonJS({
|
|
|
2630
2630
|
}
|
|
2631
2631
|
}
|
|
2632
2632
|
};
|
|
2633
|
-
Object.defineProperty(
|
|
2633
|
+
Object.defineProperty(WebSocket3, "CONNECTING", {
|
|
2634
2634
|
enumerable: true,
|
|
2635
2635
|
value: readyStates.indexOf("CONNECTING")
|
|
2636
2636
|
});
|
|
2637
|
-
Object.defineProperty(
|
|
2637
|
+
Object.defineProperty(WebSocket3.prototype, "CONNECTING", {
|
|
2638
2638
|
enumerable: true,
|
|
2639
2639
|
value: readyStates.indexOf("CONNECTING")
|
|
2640
2640
|
});
|
|
2641
|
-
Object.defineProperty(
|
|
2641
|
+
Object.defineProperty(WebSocket3, "OPEN", {
|
|
2642
2642
|
enumerable: true,
|
|
2643
2643
|
value: readyStates.indexOf("OPEN")
|
|
2644
2644
|
});
|
|
2645
|
-
Object.defineProperty(
|
|
2645
|
+
Object.defineProperty(WebSocket3.prototype, "OPEN", {
|
|
2646
2646
|
enumerable: true,
|
|
2647
2647
|
value: readyStates.indexOf("OPEN")
|
|
2648
2648
|
});
|
|
2649
|
-
Object.defineProperty(
|
|
2649
|
+
Object.defineProperty(WebSocket3, "CLOSING", {
|
|
2650
2650
|
enumerable: true,
|
|
2651
2651
|
value: readyStates.indexOf("CLOSING")
|
|
2652
2652
|
});
|
|
2653
|
-
Object.defineProperty(
|
|
2653
|
+
Object.defineProperty(WebSocket3.prototype, "CLOSING", {
|
|
2654
2654
|
enumerable: true,
|
|
2655
2655
|
value: readyStates.indexOf("CLOSING")
|
|
2656
2656
|
});
|
|
2657
|
-
Object.defineProperty(
|
|
2657
|
+
Object.defineProperty(WebSocket3, "CLOSED", {
|
|
2658
2658
|
enumerable: true,
|
|
2659
2659
|
value: readyStates.indexOf("CLOSED")
|
|
2660
2660
|
});
|
|
2661
|
-
Object.defineProperty(
|
|
2661
|
+
Object.defineProperty(WebSocket3.prototype, "CLOSED", {
|
|
2662
2662
|
enumerable: true,
|
|
2663
2663
|
value: readyStates.indexOf("CLOSED")
|
|
2664
2664
|
});
|
|
@@ -2671,10 +2671,10 @@ var require_websocket = __commonJS({
|
|
|
2671
2671
|
"readyState",
|
|
2672
2672
|
"url"
|
|
2673
2673
|
].forEach((property) => {
|
|
2674
|
-
Object.defineProperty(
|
|
2674
|
+
Object.defineProperty(WebSocket3.prototype, property, { enumerable: true });
|
|
2675
2675
|
});
|
|
2676
2676
|
["open", "error", "close", "message"].forEach((method) => {
|
|
2677
|
-
Object.defineProperty(
|
|
2677
|
+
Object.defineProperty(WebSocket3.prototype, `on${method}`, {
|
|
2678
2678
|
enumerable: true,
|
|
2679
2679
|
get() {
|
|
2680
2680
|
for (const listener of this.listeners(method)) {
|
|
@@ -2698,9 +2698,9 @@ var require_websocket = __commonJS({
|
|
|
2698
2698
|
}
|
|
2699
2699
|
});
|
|
2700
2700
|
});
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
module2.exports =
|
|
2701
|
+
WebSocket3.prototype.addEventListener = addEventListener;
|
|
2702
|
+
WebSocket3.prototype.removeEventListener = removeEventListener;
|
|
2703
|
+
module2.exports = WebSocket3;
|
|
2704
2704
|
function initAsClient(websocket, address, protocols, options) {
|
|
2705
2705
|
const opts = {
|
|
2706
2706
|
protocolVersion: protocolVersions[1],
|
|
@@ -2886,7 +2886,7 @@ var require_websocket = __commonJS({
|
|
|
2886
2886
|
});
|
|
2887
2887
|
req.on("upgrade", (res, socket, head) => {
|
|
2888
2888
|
websocket.emit("upgrade", res);
|
|
2889
|
-
if (websocket.readyState !==
|
|
2889
|
+
if (websocket.readyState !== WebSocket3.CONNECTING)
|
|
2890
2890
|
return;
|
|
2891
2891
|
req = websocket._req = null;
|
|
2892
2892
|
if (res.headers.upgrade.toLowerCase() !== "websocket") {
|
|
@@ -2958,7 +2958,7 @@ var require_websocket = __commonJS({
|
|
|
2958
2958
|
}
|
|
2959
2959
|
}
|
|
2960
2960
|
function emitErrorAndClose(websocket, err) {
|
|
2961
|
-
websocket._readyState =
|
|
2961
|
+
websocket._readyState = WebSocket3.CLOSING;
|
|
2962
2962
|
websocket.emit("error", err);
|
|
2963
2963
|
websocket.emitClose();
|
|
2964
2964
|
}
|
|
@@ -2974,7 +2974,7 @@ var require_websocket = __commonJS({
|
|
|
2974
2974
|
return tls.connect(options);
|
|
2975
2975
|
}
|
|
2976
2976
|
function abortHandshake(websocket, stream, message) {
|
|
2977
|
-
websocket._readyState =
|
|
2977
|
+
websocket._readyState = WebSocket3.CLOSING;
|
|
2978
2978
|
const err = new Error(message);
|
|
2979
2979
|
Error.captureStackTrace(err, abortHandshake);
|
|
2980
2980
|
if (stream.setHeader) {
|
|
@@ -3055,7 +3055,7 @@ var require_websocket = __commonJS({
|
|
|
3055
3055
|
this.removeListener("close", socketOnClose);
|
|
3056
3056
|
this.removeListener("data", socketOnData);
|
|
3057
3057
|
this.removeListener("end", socketOnEnd);
|
|
3058
|
-
websocket._readyState =
|
|
3058
|
+
websocket._readyState = WebSocket3.CLOSING;
|
|
3059
3059
|
let chunk;
|
|
3060
3060
|
if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk = websocket._socket.read()) !== null) {
|
|
3061
3061
|
websocket._receiver.write(chunk);
|
|
@@ -3077,7 +3077,7 @@ var require_websocket = __commonJS({
|
|
|
3077
3077
|
}
|
|
3078
3078
|
function socketOnEnd() {
|
|
3079
3079
|
const websocket = this[kWebSocket];
|
|
3080
|
-
websocket._readyState =
|
|
3080
|
+
websocket._readyState = WebSocket3.CLOSING;
|
|
3081
3081
|
websocket._receiver.end();
|
|
3082
3082
|
this.end();
|
|
3083
3083
|
}
|
|
@@ -3086,7 +3086,7 @@ var require_websocket = __commonJS({
|
|
|
3086
3086
|
this.removeListener("error", socketOnError);
|
|
3087
3087
|
this.on("error", NOOP);
|
|
3088
3088
|
if (websocket) {
|
|
3089
|
-
websocket._readyState =
|
|
3089
|
+
websocket._readyState = WebSocket3.CLOSING;
|
|
3090
3090
|
this.destroy();
|
|
3091
3091
|
}
|
|
3092
3092
|
}
|
|
@@ -3152,7 +3152,7 @@ var require_websocket_server = __commonJS({
|
|
|
3152
3152
|
var extension = require_extension();
|
|
3153
3153
|
var PerMessageDeflate = require_permessage_deflate();
|
|
3154
3154
|
var subprotocol = require_subprotocol();
|
|
3155
|
-
var
|
|
3155
|
+
var WebSocket3 = require_websocket();
|
|
3156
3156
|
var { GUID, kWebSocket } = require_constants();
|
|
3157
3157
|
var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
|
|
3158
3158
|
var RUNNING = 0;
|
|
@@ -3201,7 +3201,7 @@ var require_websocket_server = __commonJS({
|
|
|
3201
3201
|
host: null,
|
|
3202
3202
|
path: null,
|
|
3203
3203
|
port: null,
|
|
3204
|
-
WebSocket:
|
|
3204
|
+
WebSocket: WebSocket3,
|
|
3205
3205
|
...options
|
|
3206
3206
|
};
|
|
3207
3207
|
if (options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer) {
|
|
@@ -3513,7 +3513,7 @@ var require_websocket_server = __commonJS({
|
|
|
3513
3513
|
socket.once("finish", socket.destroy);
|
|
3514
3514
|
socket.end(
|
|
3515
3515
|
`HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\r
|
|
3516
|
-
` + Object.keys(headers).map((
|
|
3516
|
+
` + Object.keys(headers).map((h2) => `${h2}: ${headers[h2]}`).join("\r\n") + "\r\n\r\n" + message
|
|
3517
3517
|
);
|
|
3518
3518
|
}
|
|
3519
3519
|
function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
|
|
@@ -3542,192 +3542,450 @@ var Ze = "ok";
|
|
|
3542
3542
|
var et = "created";
|
|
3543
3543
|
var rt = "not-modified";
|
|
3544
3544
|
var nt = "not-found";
|
|
3545
|
-
var
|
|
3546
|
-
var
|
|
3547
|
-
function
|
|
3545
|
+
var he = "accepted";
|
|
3546
|
+
var Ht = { resourceType: "OperationOutcome", id: nt, issue: [{ severity: "error", code: "not-found", details: { text: "Not found" } }] };
|
|
3547
|
+
function O(r4, e) {
|
|
3548
3548
|
return { resourceType: "OperationOutcome", issue: [{ severity: "error", code: "invalid", details: { text: r4 }, expression: e ? [e] : void 0 }] };
|
|
3549
3549
|
}
|
|
3550
|
-
function
|
|
3550
|
+
function h(r4) {
|
|
3551
|
+
return { resourceType: "OperationOutcome", issue: [{ severity: "error", code: "structure", details: { text: r4 } }] };
|
|
3552
|
+
}
|
|
3553
|
+
function ye(r4) {
|
|
3551
3554
|
return typeof r4 == "object" && r4 !== null && r4.resourceType === "OperationOutcome";
|
|
3552
3555
|
}
|
|
3553
3556
|
function it(r4) {
|
|
3554
|
-
return r4.id === Ze || r4.id === et || r4.id === rt || r4.id ===
|
|
3557
|
+
return r4.id === Ze || r4.id === et || r4.id === rt || r4.id === he;
|
|
3555
3558
|
}
|
|
3556
|
-
var
|
|
3559
|
+
var d = class extends Error {
|
|
3557
3560
|
constructor(t, n) {
|
|
3558
3561
|
super(Wt(t));
|
|
3559
3562
|
this.outcome = t, this.cause = n;
|
|
3560
3563
|
}
|
|
3561
3564
|
};
|
|
3562
3565
|
function ot(r4) {
|
|
3563
|
-
return r4 instanceof
|
|
3566
|
+
return r4 instanceof d ? r4.outcome : ye(r4) ? r4 : O(un(r4));
|
|
3564
3567
|
}
|
|
3565
|
-
function
|
|
3566
|
-
return r4 ? typeof r4 == "string" ? r4 : r4 instanceof Error ? r4.message :
|
|
3568
|
+
function un(r4) {
|
|
3569
|
+
return r4 ? typeof r4 == "string" ? r4 : r4 instanceof Error ? r4.message : ye(r4) ? Wt(r4) : typeof r4 == "object" && "code" in r4 && typeof r4.code == "string" ? r4.code : JSON.stringify(r4) : "Unknown error";
|
|
3567
3570
|
}
|
|
3568
3571
|
function Wt(r4) {
|
|
3569
|
-
let e = r4.issue?.map(
|
|
3572
|
+
let e = r4.issue?.map(ln) ?? [];
|
|
3570
3573
|
return e.length > 0 ? e.join("; ") : "Unknown error";
|
|
3571
3574
|
}
|
|
3572
|
-
function
|
|
3573
|
-
let e
|
|
3574
|
-
return r4.expression?.length && (e += ` (${r4.expression.join(", ")})`), e;
|
|
3575
|
-
}
|
|
3576
|
-
var Kt = { types: { Element: { display: "Element", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] } } }, BackboneElement: { display: "BackboneElement", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] } } }, Address: { display: "Address", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, use: { type: [{ code: "code" }] }, type: { type: [{ code: "code" }] }, text: { type: [{ code: "string" }] }, line: { max: "*", type: [{ code: "string" }] }, city: { type: [{ code: "string" }] }, district: { type: [{ code: "string" }] }, state: { type: [{ code: "string" }] }, postalCode: { type: [{ code: "string" }] }, country: { type: [{ code: "string" }] }, period: { type: [{ code: "Period" }] } } }, Age: { display: "Age", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, Annotation: { display: "Annotation", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, "author[x]": { type: [{ code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Practitioner", "http://hl7.org/fhir/StructureDefinition/Patient", "http://hl7.org/fhir/StructureDefinition/RelatedPerson", "http://hl7.org/fhir/StructureDefinition/Organization"] }, { code: "string" }] }, time: { type: [{ code: "dateTime" }] }, text: { min: 1, type: [{ code: "markdown" }] } } }, Attachment: { display: "Attachment", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, contentType: { type: [{ code: "code" }] }, language: { type: [{ code: "code" }] }, data: { type: [{ code: "base64Binary" }] }, url: { type: [{ code: "url" }] }, size: { type: [{ code: "unsignedInt" }] }, hash: { type: [{ code: "base64Binary" }] }, title: { type: [{ code: "string" }] }, creation: { type: [{ code: "dateTime" }] } } }, CodeableConcept: { display: "CodeableConcept", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, coding: { max: "*", type: [{ code: "Coding" }] }, text: { type: [{ code: "string" }] } } }, Coding: { display: "Coding", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, system: { type: [{ code: "uri" }] }, version: { type: [{ code: "string" }] }, code: { type: [{ code: "code" }] }, display: { type: [{ code: "string" }] }, userSelected: { type: [{ code: "boolean" }] } } }, ContactDetail: { display: "ContactDetail", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, name: { type: [{ code: "string" }] }, telecom: { max: "*", type: [{ code: "ContactPoint" }] } } }, ContactPoint: { display: "ContactPoint", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, system: { type: [{ code: "code" }] }, value: { type: [{ code: "string" }] }, use: { type: [{ code: "code" }] }, rank: { type: [{ code: "positiveInt" }] }, period: { type: [{ code: "Period" }] } } }, Contributor: { display: "Contributor", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, name: { min: 1, type: [{ code: "string" }] }, contact: { max: "*", type: [{ code: "ContactDetail" }] } } }, Count: { display: "Count", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, DataRequirement: { display: "DataRequirement", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, profile: { max: "*", type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] }] }, "subject[x]": { type: [{ code: "CodeableConcept" }, { code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Group"] }] }, mustSupport: { max: "*", type: [{ code: "string" }] }, codeFilter: { max: "*", type: [{ code: "Element" }] }, dateFilter: { max: "*", type: [{ code: "Element" }] }, limit: { type: [{ code: "positiveInt" }] }, sort: { max: "*", type: [{ code: "Element" }] } } }, DataRequirementCodeFilter: { display: "DataRequirementCodeFilter", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, path: { type: [{ code: "string" }] }, searchParam: { type: [{ code: "string" }] }, valueSet: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/ValueSet"] }] }, code: { max: "*", type: [{ code: "Coding" }] } } }, DataRequirementDateFilter: { display: "DataRequirementDateFilter", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, path: { type: [{ code: "string" }] }, searchParam: { type: [{ code: "string" }] }, "value[x]": { type: [{ code: "dateTime" }, { code: "Period" }, { code: "Duration" }] } } }, DataRequirementSort: { display: "DataRequirementSort", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, path: { min: 1, type: [{ code: "string" }] }, direction: { min: 1, type: [{ code: "code" }] } } }, Distance: { display: "Distance", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, Dosage: { display: "Dosage", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, sequence: { type: [{ code: "integer" }] }, text: { type: [{ code: "string" }] }, additionalInstruction: { max: "*", type: [{ code: "CodeableConcept" }] }, patientInstruction: { type: [{ code: "string" }] }, timing: { type: [{ code: "Timing" }] }, "asNeeded[x]": { type: [{ code: "boolean" }, { code: "CodeableConcept" }] }, site: { type: [{ code: "CodeableConcept" }] }, route: { type: [{ code: "CodeableConcept" }] }, method: { type: [{ code: "CodeableConcept" }] }, doseAndRate: { max: "*", type: [{ code: "Element" }] }, maxDosePerPeriod: { type: [{ code: "Ratio" }] }, maxDosePerAdministration: { type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] }, maxDosePerLifetime: { type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] } } }, DosageDoseAndRate: { display: "DosageDoseAndRate", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, type: { type: [{ code: "CodeableConcept" }] }, "dose[x]": { type: [{ code: "Range" }, { code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] }, "rate[x]": { type: [{ code: "Ratio" }, { code: "Range" }, { code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] } } }, Duration: { display: "Duration", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, ElementDefinition: { display: "ElementDefinition", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, path: { min: 1, type: [{ code: "string" }] }, representation: { max: "*", type: [{ code: "code" }] }, sliceName: { type: [{ code: "string" }] }, sliceIsConstraining: { type: [{ code: "boolean" }] }, label: { type: [{ code: "string" }] }, code: { max: "*", type: [{ code: "Coding" }] }, slicing: { type: [{ code: "Element" }] }, short: { type: [{ code: "string" }] }, definition: { type: [{ code: "markdown" }] }, comment: { type: [{ code: "markdown" }] }, requirements: { type: [{ code: "markdown" }] }, alias: { max: "*", type: [{ code: "string" }] }, min: { type: [{ code: "unsignedInt" }] }, max: { type: [{ code: "string" }] }, base: { type: [{ code: "Element" }] }, contentReference: { type: [{ code: "uri" }] }, type: { max: "*", type: [{ code: "Element" }] }, "defaultValue[x]": { type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] }, meaningWhenMissing: { type: [{ code: "markdown" }] }, orderMeaning: { type: [{ code: "string" }] }, "fixed[x]": { type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] }, "pattern[x]": { type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] }, example: { max: "*", type: [{ code: "Element" }] }, "minValue[x]": { type: [{ code: "date" }, { code: "dateTime" }, { code: "instant" }, { code: "time" }, { code: "decimal" }, { code: "integer" }, { code: "positiveInt" }, { code: "unsignedInt" }, { code: "Quantity" }] }, "maxValue[x]": { type: [{ code: "date" }, { code: "dateTime" }, { code: "instant" }, { code: "time" }, { code: "decimal" }, { code: "integer" }, { code: "positiveInt" }, { code: "unsignedInt" }, { code: "Quantity" }] }, maxLength: { type: [{ code: "integer" }] }, condition: { max: "*", type: [{ code: "id" }] }, constraint: { max: "*", type: [{ code: "Element" }] }, mustSupport: { type: [{ code: "boolean" }] }, isModifier: { type: [{ code: "boolean" }] }, isModifierReason: { type: [{ code: "string" }] }, isSummary: { type: [{ code: "boolean" }] }, binding: { type: [{ code: "Element" }] }, mapping: { max: "*", type: [{ code: "Element" }] } } }, ElementDefinitionSlicing: { display: "ElementDefinitionSlicing", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, discriminator: { max: "*", type: [{ code: "Element" }] }, description: { type: [{ code: "string" }] }, ordered: { type: [{ code: "boolean" }] }, rules: { min: 1, type: [{ code: "code" }] } } }, ElementDefinitionSlicingDiscriminator: { display: "ElementDefinitionSlicingDiscriminator", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, path: { min: 1, type: [{ code: "string" }] } } }, ElementDefinitionBase: { display: "ElementDefinitionBase", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, path: { min: 1, type: [{ code: "string" }] }, min: { min: 1, type: [{ code: "unsignedInt" }] }, max: { min: 1, type: [{ code: "string" }] } } }, ElementDefinitionType: { display: "ElementDefinitionType", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, code: { min: 1, type: [{ code: "uri" }] }, profile: { max: "*", type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition", "http://hl7.org/fhir/StructureDefinition/ImplementationGuide"] }] }, targetProfile: { max: "*", type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition", "http://hl7.org/fhir/StructureDefinition/ImplementationGuide"] }] }, aggregation: { max: "*", type: [{ code: "code" }] }, versioning: { type: [{ code: "code" }] } } }, ElementDefinitionExample: { display: "ElementDefinitionExample", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, label: { min: 1, type: [{ code: "string" }] }, "value[x]": { min: 1, type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] } } }, ElementDefinitionConstraint: { display: "ElementDefinitionConstraint", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, key: { min: 1, type: [{ code: "id" }] }, requirements: { type: [{ code: "string" }] }, severity: { min: 1, type: [{ code: "code" }] }, human: { min: 1, type: [{ code: "string" }] }, expression: { type: [{ code: "string" }] }, xpath: { type: [{ code: "string" }] }, source: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] }] } } }, ElementDefinitionBinding: { display: "ElementDefinitionBinding", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, strength: { min: 1, type: [{ code: "code" }] }, description: { type: [{ code: "string" }] }, valueSet: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/ValueSet"] }] } } }, ElementDefinitionMapping: { display: "ElementDefinitionMapping", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, identity: { min: 1, type: [{ code: "id" }] }, language: { type: [{ code: "code" }] }, map: { min: 1, type: [{ code: "string" }] }, comment: { type: [{ code: "string" }] } } }, Expression: { display: "Expression", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, description: { type: [{ code: "string" }] }, name: { type: [{ code: "id" }] }, language: { min: 1, type: [{ code: "code" }] }, expression: { type: [{ code: "string" }] }, reference: { type: [{ code: "uri" }] } } }, Extension: { display: "Extension", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, url: { min: 1, type: [{ code: "string" }] }, "value[x]": { type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] } } }, HumanName: { display: "HumanName", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, use: { type: [{ code: "code" }] }, text: { type: [{ code: "string" }] }, family: { type: [{ code: "string" }] }, given: { max: "*", type: [{ code: "string" }] }, prefix: { max: "*", type: [{ code: "string" }] }, suffix: { max: "*", type: [{ code: "string" }] }, period: { type: [{ code: "Period" }] } } }, Identifier: { display: "Identifier", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, use: { type: [{ code: "code" }] }, type: { type: [{ code: "CodeableConcept" }] }, system: { type: [{ code: "uri" }] }, value: { type: [{ code: "string" }] }, period: { type: [{ code: "Period" }] }, assigner: { type: [{ code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Organization"] }] } } }, MarketingStatus: { display: "MarketingStatus", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, country: { min: 1, type: [{ code: "CodeableConcept" }] }, jurisdiction: { type: [{ code: "CodeableConcept" }] }, status: { min: 1, type: [{ code: "CodeableConcept" }] }, dateRange: { min: 1, type: [{ code: "Period" }] }, restoreDate: { type: [{ code: "dateTime" }] } } }, Meta: { display: "Meta", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, versionId: { type: [{ code: "id" }] }, lastUpdated: { type: [{ code: "instant" }] }, source: { type: [{ code: "uri" }] }, profile: { max: "*", type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] }] }, security: { max: "*", type: [{ code: "Coding" }] }, tag: { max: "*", type: [{ code: "Coding" }] }, project: { type: [{ code: "uri" }] }, author: { type: [{ code: "Reference" }] }, account: { type: [{ code: "Reference" }] }, compartment: { max: "*", type: [{ code: "Reference" }] } } }, Money: { display: "Money", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, currency: { type: [{ code: "code" }] } } }, Narrative: { display: "Narrative", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, status: { min: 1, type: [{ code: "code" }] }, div: { min: 1, type: [{ code: "xhtml" }] } } }, ParameterDefinition: { display: "ParameterDefinition", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, name: { type: [{ code: "code" }] }, use: { min: 1, type: [{ code: "code" }] }, min: { type: [{ code: "integer" }] }, max: { type: [{ code: "string" }] }, documentation: { type: [{ code: "string" }] }, type: { min: 1, type: [{ code: "code" }] }, profile: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] }] } } }, Period: { display: "Period", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, start: { type: [{ code: "dateTime" }] }, end: { type: [{ code: "dateTime" }] } } }, Population: { display: "Population", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, "age[x]": { type: [{ code: "Range" }, { code: "CodeableConcept" }] }, gender: { type: [{ code: "CodeableConcept" }] }, race: { type: [{ code: "CodeableConcept" }] }, physiologicalCondition: { type: [{ code: "CodeableConcept" }] } } }, ProdCharacteristic: { display: "ProdCharacteristic", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, height: { type: [{ code: "Quantity" }] }, width: { type: [{ code: "Quantity" }] }, depth: { type: [{ code: "Quantity" }] }, weight: { type: [{ code: "Quantity" }] }, nominalVolume: { type: [{ code: "Quantity" }] }, externalDiameter: { type: [{ code: "Quantity" }] }, shape: { type: [{ code: "string" }] }, color: { max: "*", type: [{ code: "string" }] }, imprint: { max: "*", type: [{ code: "string" }] }, image: { max: "*", type: [{ code: "Attachment" }] }, scoring: { type: [{ code: "CodeableConcept" }] } } }, ProductShelfLife: { display: "ProductShelfLife", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, identifier: { type: [{ code: "Identifier" }] }, type: { min: 1, type: [{ code: "CodeableConcept" }] }, period: { min: 1, type: [{ code: "Quantity" }] }, specialPrecautionsForStorage: { max: "*", type: [{ code: "CodeableConcept" }] } } }, Quantity: { display: "Quantity", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { max: "0", type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, Range: { display: "Range", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, low: { type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] }, high: { type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] } } }, Ratio: { display: "Ratio", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, numerator: { type: [{ code: "Quantity" }] }, denominator: { type: [{ code: "Quantity" }] } } }, Reference: { display: "Reference", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, reference: { type: [{ code: "string" }] }, type: { type: [{ code: "uri" }] }, identifier: { type: [{ code: "Identifier" }] }, display: { type: [{ code: "string" }] } } }, RelatedArtifact: { display: "RelatedArtifact", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, label: { type: [{ code: "string" }] }, display: { type: [{ code: "string" }] }, citation: { type: [{ code: "markdown" }] }, url: { type: [{ code: "url" }] }, document: { type: [{ code: "Attachment" }] }, resource: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Resource"] }] } } }, SampledData: { display: "SampledData", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, origin: { min: 1, type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] }, period: { min: 1, type: [{ code: "decimal" }] }, factor: { type: [{ code: "decimal" }] }, lowerLimit: { type: [{ code: "decimal" }] }, upperLimit: { type: [{ code: "decimal" }] }, dimensions: { min: 1, type: [{ code: "positiveInt" }] }, data: { type: [{ code: "string" }] } } }, Signature: { display: "Signature", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, type: { min: 1, max: "*", type: [{ code: "Coding" }] }, when: { min: 1, type: [{ code: "instant" }] }, who: { min: 1, type: [{ code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Practitioner", "http://hl7.org/fhir/StructureDefinition/PractitionerRole", "http://hl7.org/fhir/StructureDefinition/RelatedPerson", "http://hl7.org/fhir/StructureDefinition/Patient", "http://hl7.org/fhir/StructureDefinition/Device", "http://hl7.org/fhir/StructureDefinition/Organization"] }] }, onBehalfOf: { type: [{ code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Practitioner", "http://hl7.org/fhir/StructureDefinition/PractitionerRole", "http://hl7.org/fhir/StructureDefinition/RelatedPerson", "http://hl7.org/fhir/StructureDefinition/Patient", "http://hl7.org/fhir/StructureDefinition/Device", "http://hl7.org/fhir/StructureDefinition/Organization"] }] }, targetFormat: { type: [{ code: "code" }] }, sigFormat: { type: [{ code: "code" }] }, data: { type: [{ code: "base64Binary" }] } } }, SubstanceAmount: { display: "SubstanceAmount", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, "amount[x]": { type: [{ code: "Quantity" }, { code: "Range" }, { code: "string" }] }, amountType: { type: [{ code: "CodeableConcept" }] }, amountText: { type: [{ code: "string" }] }, referenceRange: { type: [{ code: "Element" }] } } }, SubstanceAmountReferenceRange: { display: "SubstanceAmountReferenceRange", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, lowLimit: { type: [{ code: "Quantity" }] }, highLimit: { type: [{ code: "Quantity" }] } } }, Timing: { display: "Timing", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, event: { max: "*", type: [{ code: "dateTime" }] }, repeat: { type: [{ code: "Element" }] }, code: { type: [{ code: "CodeableConcept" }] } } }, TimingRepeat: { display: "TimingRepeat", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, "bounds[x]": { type: [{ code: "Duration" }, { code: "Range" }, { code: "Period" }] }, count: { type: [{ code: "positiveInt" }] }, countMax: { type: [{ code: "positiveInt" }] }, duration: { type: [{ code: "decimal" }] }, durationMax: { type: [{ code: "decimal" }] }, durationUnit: { type: [{ code: "code" }] }, frequency: { type: [{ code: "positiveInt" }] }, frequencyMax: { type: [{ code: "positiveInt" }] }, period: { type: [{ code: "decimal" }] }, periodMax: { type: [{ code: "decimal" }] }, periodUnit: { type: [{ code: "code" }] }, dayOfWeek: { max: "*", type: [{ code: "code" }] }, timeOfDay: { max: "*", type: [{ code: "time" }] }, when: { max: "*", type: [{ code: "code" }] }, offset: { type: [{ code: "unsignedInt" }] } } }, TriggerDefinition: { display: "TriggerDefinition", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, name: { type: [{ code: "string" }] }, "timing[x]": { type: [{ code: "Timing" }, { code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Schedule"] }, { code: "date" }, { code: "dateTime" }] }, data: { max: "*", type: [{ code: "DataRequirement" }] }, condition: { type: [{ code: "Expression" }] } } }, UsageContext: { display: "UsageContext", properties: { id: { type: [{ code: "string" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, code: { min: 1, type: [{ code: "Coding" }] }, "value[x]": { min: 1, type: [{ code: "CodeableConcept" }, { code: "Quantity" }, { code: "Range" }, { code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/PlanDefinition", "http://hl7.org/fhir/StructureDefinition/ResearchStudy", "http://hl7.org/fhir/StructureDefinition/InsurancePlan", "http://hl7.org/fhir/StructureDefinition/HealthcareService", "http://hl7.org/fhir/StructureDefinition/Group", "http://hl7.org/fhir/StructureDefinition/Location", "http://hl7.org/fhir/StructureDefinition/Organization"] }] } } }, MetadataResource: { display: "MetadataResource", properties: { id: { type: [{ code: "string" }] }, meta: { type: [{ code: "Meta" }] }, implicitRules: { type: [{ code: "uri" }] }, language: { type: [{ code: "code" }] }, text: { type: [{ code: "Narrative" }] }, contained: { max: "*", type: [{ code: "Resource" }] }, extension: { max: "*", type: [{ code: "Extension" }] }, modifierExtension: { max: "*", type: [{ code: "Extension" }] }, url: { type: [{ code: "uri" }] }, version: { type: [{ code: "string" }] }, name: { type: [{ code: "string" }] }, title: { type: [{ code: "string" }] }, status: { min: 1, type: [{ code: "code" }] }, experimental: { type: [{ code: "boolean" }] }, date: { type: [{ code: "dateTime" }] }, publisher: { type: [{ code: "string" }] }, contact: { max: "*", type: [{ code: "ContactDetail" }] }, description: { type: [{ code: "markdown" }] }, useContext: { max: "*", type: [{ code: "UsageContext" }] }, jurisdiction: { max: "*", type: [{ code: "CodeableConcept" }] } } }, IdentityProvider: { display: "IdentityProvider", properties: { authorizeUrl: { min: 1, type: [{ code: "string" }] }, tokenUrl: { min: 1, type: [{ code: "string" }] }, userInfoUrl: { min: 1, type: [{ code: "string" }] }, clientId: { min: 1, type: [{ code: "string" }] }, clientSecret: { min: 1, type: [{ code: "string" }] }, useSubject: { type: [{ code: "boolean" }] } } } } };
|
|
3577
|
-
function ve(r4, e) {
|
|
3578
|
-
let t = [];
|
|
3579
|
-
return r4.prefix && e?.prefix !== false && t.push(...r4.prefix), r4.given && t.push(...r4.given), r4.family && t.push(r4.family), r4.suffix && e?.suffix !== false && t.push(...r4.suffix), r4.use && (e?.all || e?.use) && t.push("[" + r4.use + "]"), t.join(" ").trim();
|
|
3575
|
+
function ln(r4) {
|
|
3576
|
+
let e;
|
|
3577
|
+
return r4.details?.text ? r4.diagnostics ? e = `${r4.details.text} (${r4.diagnostics})` : e = r4.details.text : r4.diagnostics ? e = r4.diagnostics : e = "Unknown error", r4.expression?.length && (e += ` (${r4.expression.join(", ")})`), e;
|
|
3580
3578
|
}
|
|
3581
|
-
function
|
|
3582
|
-
let e =
|
|
3579
|
+
function K(r4) {
|
|
3580
|
+
let e = Jt(r4), t = pn(r4);
|
|
3583
3581
|
return t === e ? { reference: e } : { reference: e, display: t };
|
|
3584
3582
|
}
|
|
3585
|
-
function
|
|
3583
|
+
function Jt(r4) {
|
|
3586
3584
|
return r4.resourceType + "/" + r4.id;
|
|
3587
3585
|
}
|
|
3588
|
-
function
|
|
3586
|
+
function _o(r4) {
|
|
3589
3587
|
return r4?.reference?.split("/")[1];
|
|
3590
3588
|
}
|
|
3591
|
-
function
|
|
3589
|
+
function dn(r4) {
|
|
3592
3590
|
return r4.resourceType === "Patient" || r4.resourceType === "Practitioner" || r4.resourceType === "RelatedPerson";
|
|
3593
3591
|
}
|
|
3594
|
-
function
|
|
3595
|
-
if (
|
|
3596
|
-
let e =
|
|
3592
|
+
function pn(r4) {
|
|
3593
|
+
if (dn(r4)) {
|
|
3594
|
+
let e = fn(r4);
|
|
3597
3595
|
if (e)
|
|
3598
3596
|
return e;
|
|
3599
3597
|
}
|
|
3600
3598
|
if (r4.resourceType === "Device") {
|
|
3601
|
-
let e =
|
|
3599
|
+
let e = mn(r4);
|
|
3602
3600
|
if (e)
|
|
3603
3601
|
return e;
|
|
3604
3602
|
}
|
|
3605
|
-
return r4.resourceType === "Observation" && "code" in r4 && r4.code?.text ? r4.code.text : r4.resourceType === "User" && r4.email ? r4.email : "name" in r4 && r4.name && typeof r4.name == "string" ? r4.name :
|
|
3603
|
+
return r4.resourceType === "Observation" && "code" in r4 && r4.code?.text ? r4.code.text : r4.resourceType === "User" && r4.email ? r4.email : "name" in r4 && r4.name && typeof r4.name == "string" ? r4.name : Jt(r4);
|
|
3606
3604
|
}
|
|
3607
|
-
function
|
|
3605
|
+
function fn(r4) {
|
|
3608
3606
|
let e = r4.name;
|
|
3609
3607
|
if (e && e.length > 0)
|
|
3610
|
-
return
|
|
3608
|
+
return be(e[0]);
|
|
3611
3609
|
}
|
|
3612
|
-
function
|
|
3610
|
+
function mn(r4) {
|
|
3613
3611
|
let e = r4.deviceName;
|
|
3614
3612
|
if (e && e.length > 0)
|
|
3615
3613
|
return e[0].name;
|
|
3616
3614
|
}
|
|
3617
|
-
function
|
|
3615
|
+
function ge(r4, e) {
|
|
3618
3616
|
let t = new Date(r4);
|
|
3619
3617
|
t.setUTCHours(0, 0, 0, 0);
|
|
3620
3618
|
let n = e ? new Date(e) : /* @__PURE__ */ new Date();
|
|
3621
3619
|
n.setUTCHours(0, 0, 0, 0);
|
|
3622
|
-
let i2 = t.getUTCFullYear(), o = t.getUTCMonth(), s = t.getUTCDate(), a = n.getUTCFullYear(), c2 = n.getUTCMonth(),
|
|
3623
|
-
(c2 < o || c2 === o &&
|
|
3624
|
-
let
|
|
3625
|
-
|
|
3626
|
-
let
|
|
3627
|
-
return { years:
|
|
3620
|
+
let i2 = t.getUTCFullYear(), o = t.getUTCMonth(), s = t.getUTCDate(), a = n.getUTCFullYear(), c2 = n.getUTCMonth(), m2 = n.getUTCDate(), p2 = a - i2;
|
|
3621
|
+
(c2 < o || c2 === o && m2 < s) && p2--;
|
|
3622
|
+
let q = a * 12 + c2 - (i2 * 12 + o);
|
|
3623
|
+
m2 < s && q--;
|
|
3624
|
+
let cn = Math.floor((n.getTime() - t.getTime()) / (1e3 * 60 * 60 * 24));
|
|
3625
|
+
return { years: p2, months: q, days: cn };
|
|
3628
3626
|
}
|
|
3629
|
-
function
|
|
3630
|
-
return JSON.stringify(r4,
|
|
3627
|
+
function Zt(r4, e) {
|
|
3628
|
+
return JSON.stringify(r4, hn, e ? 2 : void 0);
|
|
3631
3629
|
}
|
|
3632
|
-
function
|
|
3633
|
-
return !
|
|
3630
|
+
function hn(r4, e) {
|
|
3631
|
+
return !yn(r4) && b(e) ? void 0 : e;
|
|
3634
3632
|
}
|
|
3635
|
-
function
|
|
3633
|
+
function yn(r4) {
|
|
3636
3634
|
return !!/\d+$/.exec(r4);
|
|
3637
3635
|
}
|
|
3638
|
-
function
|
|
3636
|
+
function b(r4) {
|
|
3639
3637
|
if (r4 == null)
|
|
3640
3638
|
return true;
|
|
3641
3639
|
let e = typeof r4;
|
|
3642
3640
|
return e === "string" && r4 === "" || e === "object" && Object.keys(r4).length === 0;
|
|
3643
3641
|
}
|
|
3644
|
-
function
|
|
3642
|
+
function er(r4) {
|
|
3645
3643
|
return r4.every((e) => typeof e == "string");
|
|
3646
3644
|
}
|
|
3647
|
-
var
|
|
3645
|
+
var tr = [];
|
|
3648
3646
|
for (let r4 = 0; r4 < 256; r4++)
|
|
3649
|
-
|
|
3650
|
-
function
|
|
3647
|
+
tr.push(r4.toString(16).padStart(2, "0"));
|
|
3648
|
+
function rr(r4) {
|
|
3651
3649
|
let e = new Uint8Array(r4), t = new Array(e.length);
|
|
3652
3650
|
for (let n = 0; n < e.length; n++)
|
|
3653
|
-
t[n] =
|
|
3651
|
+
t[n] = tr[e[n]];
|
|
3654
3652
|
return t.join("");
|
|
3655
3653
|
}
|
|
3656
|
-
function
|
|
3654
|
+
function nr(r4) {
|
|
3657
3655
|
let e = new Uint8Array(r4), t = [];
|
|
3658
3656
|
for (let n = 0; n < e.length; n++)
|
|
3659
3657
|
t[n] = String.fromCharCode(e[n]);
|
|
3660
3658
|
return window.btoa(t.join(""));
|
|
3661
3659
|
}
|
|
3662
|
-
function
|
|
3660
|
+
function A(r4) {
|
|
3663
3661
|
return r4.charAt(0).toUpperCase() + r4.substring(1);
|
|
3664
3662
|
}
|
|
3665
|
-
var
|
|
3663
|
+
var ut = (r4) => new Promise((e) => {
|
|
3666
3664
|
setTimeout(e, r4);
|
|
3667
3665
|
});
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3666
|
+
function be(r4, e) {
|
|
3667
|
+
let t = [];
|
|
3668
|
+
return r4.prefix && e?.prefix !== false && t.push(...r4.prefix), r4.given && t.push(...r4.given), r4.family && t.push(r4.family), r4.suffix && e?.suffix !== false && t.push(...r4.suffix), r4.use && (e?.all || e?.use) && t.push("[" + r4.use + "]"), t.length === 0 && r4.text ? r4.text : t.join(" ").trim();
|
|
3669
|
+
}
|
|
3670
|
+
function Fn(r4) {
|
|
3671
|
+
let e = r4.max && r4.max === Number.MAX_SAFE_INTEGER ? Number.POSITIVE_INFINITY : r4.max;
|
|
3672
|
+
return { path: "", description: "", type: r4.type ?? [], min: r4.min ?? 0, max: e ?? 1, isArray: !!e && e > 1, constraints: [] };
|
|
3673
|
+
}
|
|
3674
|
+
function ar(r4) {
|
|
3675
|
+
let e = /* @__PURE__ */ Object.create(null);
|
|
3676
|
+
for (let [t, n] of Object.entries(r4))
|
|
3677
|
+
e[t] = { name: t, elements: Object.fromEntries(Object.entries(n.elements).map(([i2, o]) => [i2, Fn(o)])), constraints: [], innerTypes: [] };
|
|
3678
|
+
return e;
|
|
3679
|
+
}
|
|
3680
|
+
var cr = { Element: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] } } }, BackboneElement: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] } } }, Address: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, use: { type: [{ code: "code" }] }, type: { type: [{ code: "code" }] }, text: { type: [{ code: "string" }] }, line: { max: 9007199254740991, type: [{ code: "string" }] }, city: { type: [{ code: "string" }] }, district: { type: [{ code: "string" }] }, state: { type: [{ code: "string" }] }, postalCode: { type: [{ code: "string" }] }, country: { type: [{ code: "string" }] }, period: { type: [{ code: "Period" }] } } }, Age: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, Annotation: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, "author[x]": { type: [{ code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Practitioner", "http://hl7.org/fhir/StructureDefinition/Patient", "http://hl7.org/fhir/StructureDefinition/RelatedPerson", "http://hl7.org/fhir/StructureDefinition/Organization"] }, { code: "string" }] }, time: { type: [{ code: "dateTime" }] }, text: { min: 1, type: [{ code: "markdown" }] } } }, Attachment: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, contentType: { type: [{ code: "code" }] }, language: { type: [{ code: "code" }] }, data: { type: [{ code: "base64Binary" }] }, url: { type: [{ code: "url" }] }, size: { type: [{ code: "unsignedInt" }] }, hash: { type: [{ code: "base64Binary" }] }, title: { type: [{ code: "string" }] }, creation: { type: [{ code: "dateTime" }] } } }, CodeableConcept: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, coding: { max: 9007199254740991, type: [{ code: "Coding" }] }, text: { type: [{ code: "string" }] } } }, Coding: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, system: { type: [{ code: "uri" }] }, version: { type: [{ code: "string" }] }, code: { type: [{ code: "code" }] }, display: { type: [{ code: "string" }] }, userSelected: { type: [{ code: "boolean" }] } } }, ContactDetail: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, name: { type: [{ code: "string" }] }, telecom: { max: 9007199254740991, type: [{ code: "ContactPoint" }] } } }, ContactPoint: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, system: { type: [{ code: "code" }] }, value: { type: [{ code: "string" }] }, use: { type: [{ code: "code" }] }, rank: { type: [{ code: "positiveInt" }] }, period: { type: [{ code: "Period" }] } } }, Contributor: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, name: { min: 1, type: [{ code: "string" }] }, contact: { max: 9007199254740991, type: [{ code: "ContactDetail" }] } } }, Count: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, DataRequirement: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, profile: { max: 9007199254740991, type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] }] }, "subject[x]": { type: [{ code: "CodeableConcept" }, { code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Group"] }] }, mustSupport: { max: 9007199254740991, type: [{ code: "string" }] }, codeFilter: { max: 9007199254740991, type: [{ code: "DataRequirementCodeFilter" }] }, dateFilter: { max: 9007199254740991, type: [{ code: "DataRequirementDateFilter" }] }, limit: { type: [{ code: "positiveInt" }] }, sort: { max: 9007199254740991, type: [{ code: "DataRequirementSort" }] } } }, Distance: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, Dosage: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, sequence: { type: [{ code: "integer" }] }, text: { type: [{ code: "string" }] }, additionalInstruction: { max: 9007199254740991, type: [{ code: "CodeableConcept" }] }, patientInstruction: { type: [{ code: "string" }] }, timing: { type: [{ code: "Timing" }] }, "asNeeded[x]": { type: [{ code: "boolean" }, { code: "CodeableConcept" }] }, site: { type: [{ code: "CodeableConcept" }] }, route: { type: [{ code: "CodeableConcept" }] }, method: { type: [{ code: "CodeableConcept" }] }, doseAndRate: { max: 9007199254740991, type: [{ code: "DosageDoseAndRate" }] }, maxDosePerPeriod: { type: [{ code: "Ratio" }] }, maxDosePerAdministration: { type: [{ code: "Quantity" }] }, maxDosePerLifetime: { type: [{ code: "Quantity" }] } } }, Duration: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, ElementDefinition: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { min: 1, type: [{ code: "string" }] }, representation: { max: 9007199254740991, type: [{ code: "code" }] }, sliceName: { type: [{ code: "string" }] }, sliceIsConstraining: { type: [{ code: "boolean" }] }, label: { type: [{ code: "string" }] }, code: { max: 9007199254740991, type: [{ code: "Coding" }] }, slicing: { type: [{ code: "ElementDefinitionSlicing" }] }, short: { type: [{ code: "string" }] }, definition: { type: [{ code: "markdown" }] }, comment: { type: [{ code: "markdown" }] }, requirements: { type: [{ code: "markdown" }] }, alias: { max: 9007199254740991, type: [{ code: "string" }] }, min: { type: [{ code: "unsignedInt" }] }, max: { type: [{ code: "string" }] }, base: { type: [{ code: "ElementDefinitionBase" }] }, contentReference: { type: [{ code: "uri" }] }, type: { max: 9007199254740991, type: [{ code: "ElementDefinitionType" }] }, "defaultValue[x]": { type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] }, meaningWhenMissing: { type: [{ code: "markdown" }] }, orderMeaning: { type: [{ code: "string" }] }, "fixed[x]": { type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] }, "pattern[x]": { type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] }, example: { max: 9007199254740991, type: [{ code: "ElementDefinitionExample" }] }, "minValue[x]": { type: [{ code: "date" }, { code: "dateTime" }, { code: "instant" }, { code: "time" }, { code: "decimal" }, { code: "integer" }, { code: "positiveInt" }, { code: "unsignedInt" }, { code: "Quantity" }] }, "maxValue[x]": { type: [{ code: "date" }, { code: "dateTime" }, { code: "instant" }, { code: "time" }, { code: "decimal" }, { code: "integer" }, { code: "positiveInt" }, { code: "unsignedInt" }, { code: "Quantity" }] }, maxLength: { type: [{ code: "integer" }] }, condition: { max: 9007199254740991, type: [{ code: "id" }] }, constraint: { max: 9007199254740991, type: [{ code: "ElementDefinitionConstraint" }] }, mustSupport: { type: [{ code: "boolean" }] }, isModifier: { type: [{ code: "boolean" }] }, isModifierReason: { type: [{ code: "string" }] }, isSummary: { type: [{ code: "boolean" }] }, binding: { type: [{ code: "ElementDefinitionBinding" }] }, mapping: { max: 9007199254740991, type: [{ code: "ElementDefinitionMapping" }] } } }, Expression: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, description: { type: [{ code: "string" }] }, name: { type: [{ code: "id" }] }, language: { min: 1, type: [{ code: "code" }] }, expression: { type: [{ code: "string" }] }, reference: { type: [{ code: "uri" }] } } }, Extension: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, url: { min: 1, type: [{ code: "string" }] }, "value[x]": { type: [{ code: "base64Binary" }, { code: "boolean" }, { code: "canonical" }, { code: "code" }, { code: "date" }, { code: "dateTime" }, { code: "decimal" }, { code: "id" }, { code: "instant" }, { code: "integer" }, { code: "markdown" }, { code: "oid" }, { code: "positiveInt" }, { code: "string" }, { code: "time" }, { code: "unsignedInt" }, { code: "uri" }, { code: "url" }, { code: "uuid" }, { code: "Address" }, { code: "Age" }, { code: "Annotation" }, { code: "Attachment" }, { code: "CodeableConcept" }, { code: "Coding" }, { code: "ContactPoint" }, { code: "Count" }, { code: "Distance" }, { code: "Duration" }, { code: "HumanName" }, { code: "Identifier" }, { code: "Money" }, { code: "Period" }, { code: "Quantity" }, { code: "Range" }, { code: "Ratio" }, { code: "Reference" }, { code: "SampledData" }, { code: "Signature" }, { code: "Timing" }, { code: "ContactDetail" }, { code: "Contributor" }, { code: "DataRequirement" }, { code: "Expression" }, { code: "ParameterDefinition" }, { code: "RelatedArtifact" }, { code: "TriggerDefinition" }, { code: "UsageContext" }, { code: "Dosage" }, { code: "Meta" }] } } }, HumanName: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, use: { type: [{ code: "code" }] }, text: { type: [{ code: "string" }] }, family: { type: [{ code: "string" }] }, given: { max: 9007199254740991, type: [{ code: "string" }] }, prefix: { max: 9007199254740991, type: [{ code: "string" }] }, suffix: { max: 9007199254740991, type: [{ code: "string" }] }, period: { type: [{ code: "Period" }] } } }, Identifier: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, use: { type: [{ code: "code" }] }, type: { type: [{ code: "CodeableConcept" }] }, system: { type: [{ code: "uri" }] }, value: { type: [{ code: "string" }] }, period: { type: [{ code: "Period" }] }, assigner: { type: [{ code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Organization"] }] } } }, MarketingStatus: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, country: { min: 1, type: [{ code: "CodeableConcept" }] }, jurisdiction: { type: [{ code: "CodeableConcept" }] }, status: { min: 1, type: [{ code: "CodeableConcept" }] }, dateRange: { min: 1, type: [{ code: "Period" }] }, restoreDate: { type: [{ code: "dateTime" }] } } }, Meta: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, versionId: { type: [{ code: "id" }] }, lastUpdated: { type: [{ code: "instant" }] }, source: { type: [{ code: "uri" }] }, profile: { max: 9007199254740991, type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] }] }, security: { max: 9007199254740991, type: [{ code: "Coding" }] }, tag: { max: 9007199254740991, type: [{ code: "Coding" }] }, project: { type: [{ code: "uri" }] }, author: { type: [{ code: "Reference" }] }, account: { type: [{ code: "Reference" }] }, compartment: { max: 9007199254740991, type: [{ code: "Reference" }] } } }, Money: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, currency: { type: [{ code: "code" }] } } }, Narrative: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, status: { min: 1, type: [{ code: "code" }] }, div: { min: 1, type: [{ code: "xhtml" }] } } }, ParameterDefinition: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, name: { type: [{ code: "code" }] }, use: { min: 1, type: [{ code: "code" }] }, min: { type: [{ code: "integer" }] }, max: { type: [{ code: "string" }] }, documentation: { type: [{ code: "string" }] }, type: { min: 1, type: [{ code: "code" }] }, profile: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] }] } } }, Period: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, start: { type: [{ code: "dateTime" }] }, end: { type: [{ code: "dateTime" }] } } }, Population: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, "age[x]": { type: [{ code: "Range" }, { code: "CodeableConcept" }] }, gender: { type: [{ code: "CodeableConcept" }] }, race: { type: [{ code: "CodeableConcept" }] }, physiologicalCondition: { type: [{ code: "CodeableConcept" }] } } }, ProdCharacteristic: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, height: { type: [{ code: "Quantity" }] }, width: { type: [{ code: "Quantity" }] }, depth: { type: [{ code: "Quantity" }] }, weight: { type: [{ code: "Quantity" }] }, nominalVolume: { type: [{ code: "Quantity" }] }, externalDiameter: { type: [{ code: "Quantity" }] }, shape: { type: [{ code: "string" }] }, color: { max: 9007199254740991, type: [{ code: "string" }] }, imprint: { max: 9007199254740991, type: [{ code: "string" }] }, image: { max: 9007199254740991, type: [{ code: "Attachment" }] }, scoring: { type: [{ code: "CodeableConcept" }] } } }, ProductShelfLife: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, identifier: { type: [{ code: "Identifier" }] }, type: { min: 1, type: [{ code: "CodeableConcept" }] }, period: { min: 1, type: [{ code: "Quantity" }] }, specialPrecautionsForStorage: { max: 9007199254740991, type: [{ code: "CodeableConcept" }] } } }, Quantity: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, Range: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, low: { type: [{ code: "Quantity" }] }, high: { type: [{ code: "Quantity" }] } } }, Ratio: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, numerator: { type: [{ code: "Quantity" }] }, denominator: { type: [{ code: "Quantity" }] } } }, Reference: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, reference: { type: [{ code: "string" }] }, type: { type: [{ code: "uri" }] }, identifier: { type: [{ code: "Identifier" }] }, display: { type: [{ code: "string" }] } } }, RelatedArtifact: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, label: { type: [{ code: "string" }] }, display: { type: [{ code: "string" }] }, citation: { type: [{ code: "markdown" }] }, url: { type: [{ code: "url" }] }, document: { type: [{ code: "Attachment" }] }, resource: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Resource"] }] } } }, SampledData: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, origin: { min: 1, type: [{ code: "Quantity" }] }, period: { min: 1, type: [{ code: "decimal" }] }, factor: { type: [{ code: "decimal" }] }, lowerLimit: { type: [{ code: "decimal" }] }, upperLimit: { type: [{ code: "decimal" }] }, dimensions: { min: 1, type: [{ code: "positiveInt" }] }, data: { type: [{ code: "string" }] } } }, Signature: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, type: { min: 1, max: 9007199254740991, type: [{ code: "Coding" }] }, when: { min: 1, type: [{ code: "instant" }] }, who: { min: 1, type: [{ code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Practitioner", "http://hl7.org/fhir/StructureDefinition/PractitionerRole", "http://hl7.org/fhir/StructureDefinition/RelatedPerson", "http://hl7.org/fhir/StructureDefinition/Patient", "http://hl7.org/fhir/StructureDefinition/Device", "http://hl7.org/fhir/StructureDefinition/Organization"] }] }, onBehalfOf: { type: [{ code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Practitioner", "http://hl7.org/fhir/StructureDefinition/PractitionerRole", "http://hl7.org/fhir/StructureDefinition/RelatedPerson", "http://hl7.org/fhir/StructureDefinition/Patient", "http://hl7.org/fhir/StructureDefinition/Device", "http://hl7.org/fhir/StructureDefinition/Organization"] }] }, targetFormat: { type: [{ code: "code" }] }, sigFormat: { type: [{ code: "code" }] }, data: { type: [{ code: "base64Binary" }] } } }, SubstanceAmount: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, "amount[x]": { type: [{ code: "Quantity" }, { code: "Range" }, { code: "string" }] }, amountType: { type: [{ code: "CodeableConcept" }] }, amountText: { type: [{ code: "string" }] }, referenceRange: { type: [{ code: "SubstanceAmountReferenceRange" }] } } }, Timing: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, event: { max: 9007199254740991, type: [{ code: "dateTime" }] }, repeat: { type: [{ code: "TimingRepeat" }] }, code: { type: [{ code: "CodeableConcept" }] } } }, TriggerDefinition: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, name: { type: [{ code: "string" }] }, "timing[x]": { type: [{ code: "Timing" }, { code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/Schedule"] }, { code: "date" }, { code: "dateTime" }] }, data: { max: 9007199254740991, type: [{ code: "DataRequirement" }] }, condition: { type: [{ code: "Expression" }] } } }, UsageContext: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, code: { min: 1, type: [{ code: "Coding" }] }, "value[x]": { min: 1, type: [{ code: "CodeableConcept" }, { code: "Quantity" }, { code: "Range" }, { code: "Reference", targetProfile: ["http://hl7.org/fhir/StructureDefinition/PlanDefinition", "http://hl7.org/fhir/StructureDefinition/ResearchStudy", "http://hl7.org/fhir/StructureDefinition/InsurancePlan", "http://hl7.org/fhir/StructureDefinition/HealthcareService", "http://hl7.org/fhir/StructureDefinition/Group", "http://hl7.org/fhir/StructureDefinition/Location", "http://hl7.org/fhir/StructureDefinition/Organization"] }] } } }, MoneyQuantity: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, SimpleQuantity: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, value: { type: [{ code: "decimal" }] }, comparator: { max: 0, type: [{ code: "code" }] }, unit: { type: [{ code: "string" }] }, system: { type: [{ code: "uri" }] }, code: { type: [{ code: "code" }] } } }, MetadataResource: { elements: { id: { type: [{ code: "string" }] }, meta: { type: [{ code: "Meta" }] }, implicitRules: { type: [{ code: "uri" }] }, language: { type: [{ code: "code" }] }, text: { type: [{ code: "Narrative" }] }, contained: { max: 9007199254740991, type: [{ code: "Resource" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, modifierExtension: { max: 9007199254740991, type: [{ code: "Extension" }] }, url: { type: [{ code: "uri" }] }, version: { type: [{ code: "string" }] }, name: { type: [{ code: "string" }] }, title: { type: [{ code: "string" }] }, status: { min: 1, type: [{ code: "code" }] }, experimental: { type: [{ code: "boolean" }] }, date: { type: [{ code: "dateTime" }] }, publisher: { type: [{ code: "string" }] }, contact: { max: 9007199254740991, type: [{ code: "ContactDetail" }] }, description: { type: [{ code: "markdown" }] }, useContext: { max: 9007199254740991, type: [{ code: "UsageContext" }] }, jurisdiction: { max: 9007199254740991, type: [{ code: "CodeableConcept" }] } } }, IdentityProvider: { elements: { authorizeUrl: { min: 1, type: [{ code: "string" }] }, tokenUrl: { min: 1, type: [{ code: "string" }] }, userInfoUrl: { min: 1, type: [{ code: "string" }] }, clientId: { min: 1, type: [{ code: "string" }] }, clientSecret: { min: 1, type: [{ code: "string" }] }, useSubject: { type: [{ code: "boolean" }] } } } };
|
|
3681
|
+
function l(r4) {
|
|
3682
|
+
return [{ type: u.boolean, value: r4 }];
|
|
3683
|
+
}
|
|
3684
|
+
function T(r4) {
|
|
3685
|
+
return r4 == null ? { type: "undefined", value: void 0 } : Number.isSafeInteger(r4) ? { type: u.integer, value: r4 } : typeof r4 == "number" ? { type: u.decimal, value: r4 } : typeof r4 == "boolean" ? { type: u.boolean, value: r4 } : typeof r4 == "string" ? { type: u.string, value: r4 } : R(r4) ? { type: u.Quantity, value: r4 } : _(r4) ? { type: r4.resourceType, value: r4 } : { type: u.BackboneElement, value: r4 };
|
|
3686
|
+
}
|
|
3687
|
+
function N(r4) {
|
|
3688
|
+
return r4.length === 0 ? false : !!r4[0].value;
|
|
3689
|
+
}
|
|
3690
|
+
function V(r4, e) {
|
|
3691
|
+
if (r4.length !== 0) {
|
|
3692
|
+
if (r4.length === 1 && (!e || r4[0].type === e))
|
|
3693
|
+
return r4[0];
|
|
3694
|
+
throw new Error(`Expected singleton of type ${e}, but found ${JSON.stringify(r4)}`);
|
|
3678
3695
|
}
|
|
3679
3696
|
}
|
|
3680
|
-
function
|
|
3681
|
-
|
|
3682
|
-
if (n !== void 0 && n !== "Element" && n !== "BackboneElement")
|
|
3697
|
+
function w(r4, e) {
|
|
3698
|
+
if (!r4.value)
|
|
3683
3699
|
return;
|
|
3684
|
-
let
|
|
3685
|
-
|
|
3686
|
-
let o = ce(i2), s = y.types[o];
|
|
3687
|
-
s || (y.types[o] = s = {}), s.parentType = s.parentType ?? ce(i2.slice(0, i2.length - 1)), s.display = s.display ?? o, s.structureDefinition = s.structureDefinition ?? r4, s.elementDefinition = s.elementDefinition ?? e, s.description = s.description ?? e.definition, s.properties = s.properties ?? {};
|
|
3700
|
+
let t = Ae(r4.type, e);
|
|
3701
|
+
return t ? Mn(r4, e, t) : Bn(r4, e);
|
|
3688
3702
|
}
|
|
3689
|
-
function
|
|
3690
|
-
let n =
|
|
3691
|
-
if (n.length ===
|
|
3703
|
+
function Mn(r4, e, t) {
|
|
3704
|
+
let n = t.type;
|
|
3705
|
+
if (!n || n.length === 0)
|
|
3692
3706
|
return;
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3707
|
+
let i2, o = "undefined";
|
|
3708
|
+
if (n.length === 1)
|
|
3709
|
+
i2 = r4.value[e], o = n[0].code;
|
|
3710
|
+
else
|
|
3711
|
+
for (let a of n) {
|
|
3712
|
+
let c2 = e.replace("[x]", "") + A(a.code);
|
|
3713
|
+
if (c2 in r4.value) {
|
|
3714
|
+
i2 = r4.value[c2], o = a.code;
|
|
3715
|
+
break;
|
|
3716
|
+
}
|
|
3717
|
+
}
|
|
3718
|
+
let s = r4.value["_" + e];
|
|
3719
|
+
if (s && (Array.isArray(i2) ? i2 = i2.map((a, c2) => s[c2] ? pr(a ?? {}, s[c2]) : a) : i2 = pr(i2 ?? {}, s)), !b(i2))
|
|
3720
|
+
return (o === "Element" || o === "BackboneElement") && (o = t.type[0].code), Array.isArray(i2) ? i2.map((a) => ur(a, o)) : ur(i2, o);
|
|
3721
|
+
}
|
|
3722
|
+
function ur(r4, e) {
|
|
3723
|
+
return e === "Resource" && _(r4) && (e = r4.resourceType), { type: e, value: r4 };
|
|
3724
|
+
}
|
|
3725
|
+
function Bn(r4, e) {
|
|
3726
|
+
let t = r4.value;
|
|
3727
|
+
if (!t || typeof t != "object")
|
|
3696
3728
|
return;
|
|
3697
|
-
let
|
|
3698
|
-
|
|
3729
|
+
let n;
|
|
3730
|
+
if (e in t)
|
|
3731
|
+
n = t[e];
|
|
3732
|
+
else
|
|
3733
|
+
for (let i2 in u) {
|
|
3734
|
+
let o = e + A(i2);
|
|
3735
|
+
if (o in t) {
|
|
3736
|
+
n = t[o];
|
|
3737
|
+
break;
|
|
3738
|
+
}
|
|
3739
|
+
}
|
|
3740
|
+
if (!b(n))
|
|
3741
|
+
return Array.isArray(n) ? n.map(T) : T(n);
|
|
3699
3742
|
}
|
|
3700
|
-
function
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3743
|
+
function Re(r4) {
|
|
3744
|
+
let e = [];
|
|
3745
|
+
for (let t of r4) {
|
|
3746
|
+
let n = false;
|
|
3747
|
+
for (let i2 of e)
|
|
3748
|
+
if (N(fr(t, i2))) {
|
|
3749
|
+
n = true;
|
|
3750
|
+
break;
|
|
3751
|
+
}
|
|
3752
|
+
n || e.push(t);
|
|
3704
3753
|
}
|
|
3754
|
+
return e;
|
|
3705
3755
|
}
|
|
3706
|
-
function
|
|
3707
|
-
|
|
3708
|
-
return e === "BackboneElement" || e === "Element" ? ce((r4.base?.path ?? r4.path)?.split(".")) : e;
|
|
3756
|
+
function pt(r4) {
|
|
3757
|
+
return l(!N(r4));
|
|
3709
3758
|
}
|
|
3710
|
-
function
|
|
3711
|
-
return r4.length ===
|
|
3759
|
+
function ft(r4, e) {
|
|
3760
|
+
return r4.length === 0 || e.length === 0 ? [] : r4.length !== e.length ? l(false) : l(r4.every((t, n) => N(fr(t, e[n]))));
|
|
3712
3761
|
}
|
|
3713
|
-
function
|
|
3714
|
-
let t =
|
|
3715
|
-
|
|
3762
|
+
function fr(r4, e) {
|
|
3763
|
+
let t = r4.value?.valueOf(), n = e.value?.valueOf();
|
|
3764
|
+
return typeof t == "number" && typeof n == "number" ? l(Math.abs(t - n) < 1e-8) : R(t) && R(n) ? l(mr(t, n)) : l(typeof t == "object" && typeof n == "object" ? ht(r4, e) : t === n);
|
|
3765
|
+
}
|
|
3766
|
+
function mt(r4, e) {
|
|
3767
|
+
return r4.length === 0 && e.length === 0 ? l(true) : r4.length !== e.length ? l(false) : (r4.sort(lr), e.sort(lr), l(r4.every((t, n) => N(qn(t, e[n])))));
|
|
3768
|
+
}
|
|
3769
|
+
function qn(r4, e) {
|
|
3770
|
+
let { type: t, value: n } = r4, { type: i2, value: o } = e, s = n?.valueOf(), a = o?.valueOf();
|
|
3771
|
+
return typeof s == "number" && typeof a == "number" ? l(Math.abs(s - a) < 0.01) : R(s) && R(a) ? l(mr(s, a)) : l(t === "Coding" && i2 === "Coding" ? typeof s != "object" || typeof a != "object" ? false : s.code === a.code && s.system === a.system : typeof s == "object" && typeof a == "object" ? ht({ ...s, id: void 0 }, { ...a, id: void 0 }) : typeof s == "string" && typeof a == "string" ? s.toLowerCase() === a.toLowerCase() : s === a);
|
|
3772
|
+
}
|
|
3773
|
+
function lr(r4, e) {
|
|
3774
|
+
let t = r4.value?.valueOf(), n = e.value?.valueOf();
|
|
3775
|
+
return typeof t == "number" && typeof n == "number" ? t - n : typeof t == "string" && typeof n == "string" ? t.localeCompare(n) : 0;
|
|
3776
|
+
}
|
|
3777
|
+
function Ee(r4, e) {
|
|
3778
|
+
let { value: t } = r4;
|
|
3779
|
+
if (t == null)
|
|
3780
|
+
return false;
|
|
3781
|
+
switch (e) {
|
|
3782
|
+
case "Boolean":
|
|
3783
|
+
return typeof t == "boolean";
|
|
3784
|
+
case "Decimal":
|
|
3785
|
+
case "Integer":
|
|
3786
|
+
return typeof t == "number";
|
|
3787
|
+
case "Date":
|
|
3788
|
+
return typeof t == "string" && !!/^\d{4}(-\d{2}(-\d{2})?)?/.exec(t);
|
|
3789
|
+
case "DateTime":
|
|
3790
|
+
return typeof t == "string" && !!/^\d{4}(-\d{2}(-\d{2})?)?T/.exec(t);
|
|
3791
|
+
case "Time":
|
|
3792
|
+
return typeof t == "string" && !!/^T\d/.exec(t);
|
|
3793
|
+
case "Period":
|
|
3794
|
+
return $n(t);
|
|
3795
|
+
case "Quantity":
|
|
3796
|
+
return R(t);
|
|
3797
|
+
default:
|
|
3798
|
+
return typeof t == "object" && t?.resourceType === e;
|
|
3799
|
+
}
|
|
3800
|
+
}
|
|
3801
|
+
function $n(r4) {
|
|
3802
|
+
return !!(r4 && typeof r4 == "object" && "start" in r4);
|
|
3803
|
+
}
|
|
3804
|
+
function R(r4) {
|
|
3805
|
+
return !!(r4 && typeof r4 == "object" && "value" in r4 && typeof r4.value == "number");
|
|
3806
|
+
}
|
|
3807
|
+
function mr(r4, e) {
|
|
3808
|
+
return Math.abs(r4.value - e.value) < 0.01 && (r4.unit === e.unit || r4.code === e.code || r4.unit === e.code || r4.code === e.unit);
|
|
3809
|
+
}
|
|
3810
|
+
function ht(r4, e) {
|
|
3811
|
+
let t = Object.keys(r4), n = Object.keys(e);
|
|
3812
|
+
if (t.length !== n.length)
|
|
3813
|
+
return false;
|
|
3814
|
+
for (let i2 of t) {
|
|
3815
|
+
let o = r4[i2], s = e[i2];
|
|
3816
|
+
if (dr(o) && dr(s)) {
|
|
3817
|
+
if (!ht(o, s))
|
|
3818
|
+
return false;
|
|
3819
|
+
} else if (o !== s)
|
|
3820
|
+
return false;
|
|
3821
|
+
}
|
|
3822
|
+
return true;
|
|
3823
|
+
}
|
|
3824
|
+
function dr(r4) {
|
|
3825
|
+
return r4 !== null && typeof r4 == "object";
|
|
3826
|
+
}
|
|
3827
|
+
function pr(r4, e) {
|
|
3828
|
+
return delete e.__proto__, delete e.constructor, Object.assign(r4, e);
|
|
3829
|
+
}
|
|
3830
|
+
function Tt(r4) {
|
|
3831
|
+
return new gt(r4).parse();
|
|
3832
|
+
}
|
|
3833
|
+
var j = ar(cr);
|
|
3834
|
+
function xr(r4) {
|
|
3835
|
+
let e = Array.isArray(r4) ? r4 : r4.entry?.map((t) => t.resource) ?? [];
|
|
3836
|
+
for (let t of e)
|
|
3837
|
+
jn(t);
|
|
3838
|
+
}
|
|
3839
|
+
function jn(r4) {
|
|
3840
|
+
if (!r4?.name)
|
|
3841
|
+
throw new Error("Failed loading StructureDefinition from bundle");
|
|
3842
|
+
if (r4.resourceType !== "StructureDefinition")
|
|
3716
3843
|
return;
|
|
3717
|
-
let
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3844
|
+
let e = Tt(r4);
|
|
3845
|
+
j[r4.name] = e;
|
|
3846
|
+
for (let t of e.innerTypes)
|
|
3847
|
+
t.parentType = e, j[t.name] = t;
|
|
3848
|
+
}
|
|
3849
|
+
function vr(r4) {
|
|
3850
|
+
return !!j[r4];
|
|
3851
|
+
}
|
|
3852
|
+
function Sr(r4) {
|
|
3853
|
+
return j[r4];
|
|
3854
|
+
}
|
|
3855
|
+
var gt = class {
|
|
3856
|
+
constructor(e) {
|
|
3857
|
+
if (!e.snapshot?.element || e.snapshot.element.length === 0)
|
|
3858
|
+
throw new Error(`No snapshot defined for StructureDefinition '${e.name}'`);
|
|
3859
|
+
this.root = e.snapshot.element[0], this.elements = e.snapshot.element.slice(1), this.elementIndex = /* @__PURE__ */ Object.create(null), this.index = 0, this.resourceSchema = { name: e.name, url: e.url, kind: e.kind, description: e.description, elements: {}, constraints: this.parseElementDefinition(this.root).constraints, innerTypes: [], summaryProperties: /* @__PURE__ */ new Set(), mandatoryProperties: /* @__PURE__ */ new Set() }, this.innerTypes = [];
|
|
3860
|
+
}
|
|
3861
|
+
parse() {
|
|
3862
|
+
let e = this.next();
|
|
3863
|
+
for (; e; ) {
|
|
3864
|
+
if (e.sliceName)
|
|
3865
|
+
this.parseSliceStart(e);
|
|
3866
|
+
else if (e.id?.includes(":")) {
|
|
3867
|
+
if (this.slicingContext?.current) {
|
|
3868
|
+
let t = yt(e, this.slicingContext.path);
|
|
3869
|
+
this.slicingContext.current.elements[t] = this.parseElementDefinition(e);
|
|
3870
|
+
}
|
|
3871
|
+
} else {
|
|
3872
|
+
let t = this.parseElementDefinition(e);
|
|
3873
|
+
this.checkFieldEnter(e, t);
|
|
3874
|
+
let n = this.backboneContext;
|
|
3875
|
+
for (; n; ) {
|
|
3876
|
+
if (e.path?.startsWith(n.path + ".")) {
|
|
3877
|
+
n.type.elements[yt(e, n.path)] = t;
|
|
3878
|
+
break;
|
|
3879
|
+
}
|
|
3880
|
+
n = n.parent;
|
|
3881
|
+
}
|
|
3882
|
+
if (!n) {
|
|
3883
|
+
let i2 = yt(e, this.root.path);
|
|
3884
|
+
e.isSummary && this.resourceSchema.summaryProperties?.add(i2.replace("[x]", "")), t.min > 0 && this.resourceSchema.mandatoryProperties?.add(i2.replace("[x]", "")), this.resourceSchema.elements[i2] = t;
|
|
3885
|
+
}
|
|
3886
|
+
this.checkFieldExit(e);
|
|
3887
|
+
}
|
|
3888
|
+
e = this.next();
|
|
3889
|
+
}
|
|
3890
|
+
return this.checkFieldExit(), this.innerTypes.length > 0 && (this.resourceSchema.innerTypes = this.innerTypes), this.resourceSchema;
|
|
3891
|
+
}
|
|
3892
|
+
checkFieldEnter(e, t) {
|
|
3893
|
+
this.isInnerType(e) && this.enterInnerType(e), e.slicing && !this.slicingContext && this.enterSlice(e, t);
|
|
3894
|
+
}
|
|
3895
|
+
enterInnerType(e) {
|
|
3896
|
+
for (; this.backboneContext && !ee(this.backboneContext?.path, e.path); )
|
|
3897
|
+
this.innerTypes.push(this.backboneContext.type), this.backboneContext = this.backboneContext.parent;
|
|
3898
|
+
this.backboneContext = { type: { name: xt(e), description: e.definition, elements: {}, constraints: this.parseElementDefinition(e).constraints, innerTypes: [] }, path: e.path ?? "", parent: ee(this.backboneContext?.path, e.path) ? this.backboneContext : this.backboneContext?.parent };
|
|
3899
|
+
}
|
|
3900
|
+
enterSlice(e, t) {
|
|
3901
|
+
Wn(e) && !this.peek()?.sliceName || (t.slicing = { discriminator: (e.slicing?.discriminator ?? []).map((n) => {
|
|
3902
|
+
if (n.type !== "value" && n.type !== "pattern" && n.type !== "type")
|
|
3903
|
+
throw new Error(`Unsupported slicing discriminator type: ${n.type}`);
|
|
3904
|
+
return { path: n.path, type: n.type };
|
|
3905
|
+
}), slices: [], ordered: e.slicing?.ordered ?? false, rule: e.slicing?.rules }, this.slicingContext = { field: t.slicing, path: e.path ?? "" });
|
|
3906
|
+
}
|
|
3907
|
+
checkFieldExit(e = void 0) {
|
|
3908
|
+
if (this.backboneContext && !ee(this.backboneContext.path, e?.path))
|
|
3909
|
+
if (this.backboneContext.parent)
|
|
3910
|
+
do
|
|
3911
|
+
this.innerTypes.push(this.backboneContext.type), this.backboneContext = this.backboneContext.parent;
|
|
3912
|
+
while (this.backboneContext && !ee(this.backboneContext.path, e?.path));
|
|
3913
|
+
else
|
|
3914
|
+
this.innerTypes.push(this.backboneContext.type), delete this.backboneContext;
|
|
3915
|
+
this.slicingContext && !ee(this.slicingContext.path, e?.path) && (this.slicingContext?.current && this.slicingContext.field.slices.push(this.slicingContext.current), delete this.slicingContext);
|
|
3916
|
+
}
|
|
3917
|
+
next() {
|
|
3918
|
+
let e = this.peek();
|
|
3919
|
+
if (e)
|
|
3920
|
+
return this.index++, e;
|
|
3921
|
+
}
|
|
3922
|
+
peek() {
|
|
3923
|
+
let e = this.elements[this.index];
|
|
3924
|
+
if (e) {
|
|
3925
|
+
if (this.elementIndex[e.path ?? ""] = e, e.contentReference) {
|
|
3926
|
+
let t = this.elementIndex[e.contentReference.slice(e.contentReference.indexOf("#") + 1)];
|
|
3927
|
+
return t ? { ...t, id: e.id, path: e.path, min: e.min ?? t.min, max: e.max ?? t.max, contentReference: e.contentReference, definition: e.definition } : void 0;
|
|
3928
|
+
}
|
|
3929
|
+
return e;
|
|
3722
3930
|
}
|
|
3723
|
-
return n;
|
|
3724
3931
|
}
|
|
3932
|
+
isInnerType(e) {
|
|
3933
|
+
let t = this.peek();
|
|
3934
|
+
return !!(ee(e?.path, t?.path) && e.type?.some((n) => ["BackboneElement", "Element"].includes(n.code)));
|
|
3935
|
+
}
|
|
3936
|
+
parseSliceStart(e) {
|
|
3937
|
+
if (!this.slicingContext)
|
|
3938
|
+
throw new Error("Invalid slice start before discriminator: " + e.sliceName);
|
|
3939
|
+
this.slicingContext.current && this.slicingContext.field.slices.push(this.slicingContext.current), this.slicingContext.current = { name: e.sliceName ?? "", type: e.type?.map((t) => ({ code: t.code ?? "", targetProfile: t.targetProfile })), elements: {}, min: e.min ?? 0, max: e.max === "*" ? Number.POSITIVE_INFINITY : Number.parseInt(e.max, 10) };
|
|
3940
|
+
}
|
|
3941
|
+
parseElementDefinition(e) {
|
|
3942
|
+
let t = yr(e.max), n = e.base?.max ? yr(e.base.max) : t, i2 = { type: "ElementDefinition", value: e };
|
|
3943
|
+
return { description: e.definition || "", path: e.path || e.base?.path || "", min: e.min ?? 0, max: t, isArray: n > 1, constraints: (e.constraint ?? []).map((o) => ({ key: o.key ?? "", severity: o.severity ?? "error", expression: o.expression ?? "", description: o.human ?? "" })), type: (e.type ?? []).map((o) => ({ code: ["BackboneElement", "Element"].includes(o.code) ? xt(e) : o.code ?? "", targetProfile: o.targetProfile })), fixed: gr(w(i2, "fixed")), pattern: gr(w(i2, "pattern")), binding: e.binding };
|
|
3944
|
+
}
|
|
3945
|
+
};
|
|
3946
|
+
function yr(r4) {
|
|
3947
|
+
return r4 === "*" ? Number.POSITIVE_INFINITY : Number.parseInt(r4, 10);
|
|
3948
|
+
}
|
|
3949
|
+
function yt(r4, e = "") {
|
|
3950
|
+
return Qn(r4.path, e);
|
|
3951
|
+
}
|
|
3952
|
+
function Qn(r4, e) {
|
|
3953
|
+
return r4 ? e && r4.startsWith(e) ? r4.substring(e.length + 1) : r4 : "";
|
|
3954
|
+
}
|
|
3955
|
+
function ee(r4, e) {
|
|
3956
|
+
return !r4 || !e ? false : e.startsWith(r4 + ".") || e === r4;
|
|
3957
|
+
}
|
|
3958
|
+
function gr(r4) {
|
|
3959
|
+
return Array.isArray(r4) && r4.length > 0 ? r4[0] : b(r4) ? void 0 : r4;
|
|
3960
|
+
}
|
|
3961
|
+
function Wn(r4) {
|
|
3962
|
+
let e = r4.slicing?.discriminator;
|
|
3963
|
+
return !!(r4.type?.some((t) => t.code === "Extension") && e?.length === 1 && e[0].type === "value" && e[0].path === "url");
|
|
3725
3964
|
}
|
|
3726
|
-
|
|
3965
|
+
var u = { Address: "Address", Age: "Age", Annotation: "Annotation", Attachment: "Attachment", BackboneElement: "BackboneElement", CodeableConcept: "CodeableConcept", Coding: "Coding", ContactDetail: "ContactDetail", ContactPoint: "ContactPoint", Contributor: "Contributor", Count: "Count", DataRequirement: "DataRequirement", Distance: "Distance", Dosage: "Dosage", Duration: "Duration", Expression: "Expression", Extension: "Extension", HumanName: "HumanName", Identifier: "Identifier", MarketingStatus: "MarketingStatus", Meta: "Meta", Money: "Money", Narrative: "Narrative", ParameterDefinition: "ParameterDefinition", Period: "Period", Population: "Population", ProdCharacteristic: "ProdCharacteristic", ProductShelfLife: "ProductShelfLife", Quantity: "Quantity", Range: "Range", Ratio: "Ratio", Reference: "Reference", RelatedArtifact: "RelatedArtifact", SampledData: "SampledData", Signature: "Signature", SubstanceAmount: "SubstanceAmount", SystemString: "http://hl7.org/fhirpath/System.String", Timing: "Timing", TriggerDefinition: "TriggerDefinition", UsageContext: "UsageContext", base64Binary: "base64Binary", boolean: "boolean", canonical: "canonical", code: "code", date: "date", dateTime: "dateTime", decimal: "decimal", id: "id", instant: "instant", integer: "integer", markdown: "markdown", oid: "oid", positiveInt: "positiveInt", string: "string", time: "time", unsignedInt: "unsignedInt", uri: "uri", url: "url", uuid: "uuid" };
|
|
3966
|
+
function St(r4) {
|
|
3967
|
+
for (let e of r4.base ?? []) {
|
|
3968
|
+
let t = I.types[e];
|
|
3969
|
+
t || (t = { searchParamsDetails: {} }, I.types[e] = t), t.searchParams || (t.searchParams = { _id: { base: [e], code: "_id", type: "token", expression: e + ".id" }, _lastUpdated: { base: [e], code: "_lastUpdated", type: "date", expression: e + ".meta.lastUpdated" }, _compartment: { base: [e], code: "_compartment", type: "reference", expression: e + ".meta.compartment" }, _profile: { base: [e], code: "_profile", type: "uri", expression: e + ".meta.profile" }, _security: { base: [e], code: "_security", type: "token", expression: e + ".meta.security" }, _source: { base: [e], code: "_source", type: "uri", expression: e + ".meta.source" }, _tag: { base: [e], code: "_tag", type: "token", expression: e + ".meta.tag" } }), t.searchParams[r4.code] = r4;
|
|
3970
|
+
}
|
|
3971
|
+
}
|
|
3972
|
+
function xt(r4) {
|
|
3973
|
+
let e = r4.type?.[0]?.code;
|
|
3974
|
+
return e === "BackboneElement" || e === "Element" ? Gn((r4.base?.path ?? r4.path)?.split(".")) : e;
|
|
3975
|
+
}
|
|
3976
|
+
function Gn(r4) {
|
|
3977
|
+
return r4.length === 1 ? r4[0] : r4.map(A).join("");
|
|
3978
|
+
}
|
|
3979
|
+
function Ae(r4, e) {
|
|
3980
|
+
let t = Sr(r4);
|
|
3981
|
+
if (t)
|
|
3982
|
+
return t.elements[e] ?? t.elements[e + "[x]"];
|
|
3983
|
+
}
|
|
3984
|
+
function _(r4) {
|
|
3727
3985
|
return !!(r4 && typeof r4 == "object" && "resourceType" in r4);
|
|
3728
3986
|
}
|
|
3729
|
-
var
|
|
3730
|
-
var
|
|
3987
|
+
var I = { types: {} };
|
|
3988
|
+
var Pe = class {
|
|
3731
3989
|
constructor(e, t) {
|
|
3732
3990
|
this.operator = e;
|
|
3733
3991
|
this.child = t;
|
|
@@ -3736,7 +3994,7 @@ var Ee = class {
|
|
|
3736
3994
|
return `${this.operator}(${this.child.toString()})`;
|
|
3737
3995
|
}
|
|
3738
3996
|
};
|
|
3739
|
-
var
|
|
3997
|
+
var H = class {
|
|
3740
3998
|
constructor(e, t, n) {
|
|
3741
3999
|
this.operator = e;
|
|
3742
4000
|
this.left = t;
|
|
@@ -3746,7 +4004,7 @@ var j = class {
|
|
|
3746
4004
|
return `${this.left.toString()} ${this.operator} ${this.right.toString()}`;
|
|
3747
4005
|
}
|
|
3748
4006
|
};
|
|
3749
|
-
var
|
|
4007
|
+
var Ce = class {
|
|
3750
4008
|
constructor() {
|
|
3751
4009
|
this.prefixParselets = {};
|
|
3752
4010
|
this.infixParselets = {};
|
|
@@ -3770,10 +4028,10 @@ var Pe = class {
|
|
|
3770
4028
|
}, precedence: t });
|
|
3771
4029
|
}
|
|
3772
4030
|
construct(e) {
|
|
3773
|
-
return new
|
|
4031
|
+
return new bt(e, this.prefixParselets, this.infixParselets);
|
|
3774
4032
|
}
|
|
3775
4033
|
};
|
|
3776
|
-
var
|
|
4034
|
+
var bt = class {
|
|
3777
4035
|
constructor(e, t, n) {
|
|
3778
4036
|
this.tokens = e, this.prefixParselets = t, this.infixParselets = n;
|
|
3779
4037
|
}
|
|
@@ -3835,182 +4093,33 @@ function re(r4) {
|
|
|
3835
4093
|
return r4;
|
|
3836
4094
|
}
|
|
3837
4095
|
}
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
}
|
|
3841
|
-
function x(r4) {
|
|
3842
|
-
return r4 == null ? { type: "undefined", value: void 0 } : Number.isSafeInteger(r4) ? { type: "integer", value: r4 } : typeof r4 == "number" ? { type: "decimal", value: r4 } : typeof r4 == "boolean" ? { type: "boolean", value: r4 } : typeof r4 == "string" ? { type: "string", value: r4 } : A(r4) ? { type: "Quantity", value: r4 } : O(r4) ? { type: r4.resourceType, value: r4 } : { type: "BackboneElement", value: r4 };
|
|
3843
|
-
}
|
|
3844
|
-
function _(r4) {
|
|
3845
|
-
return r4.length === 0 ? false : !!r4[0].value;
|
|
3846
|
-
}
|
|
3847
|
-
function V(r4, e) {
|
|
3848
|
-
if (r4.length !== 0) {
|
|
3849
|
-
if (r4.length === 1 && (!e || r4[0].type === e))
|
|
3850
|
-
return r4[0];
|
|
3851
|
-
throw new Error(`Expected singleton of type ${e}, but found ${JSON.stringify(r4)}`);
|
|
3852
|
-
}
|
|
3853
|
-
}
|
|
3854
|
-
function E(r4, e) {
|
|
3855
|
-
if (!r4.value)
|
|
3856
|
-
return;
|
|
3857
|
-
let t = ue(r4.type, e);
|
|
3858
|
-
return t ? Ln(r4, e, t) : _n(r4, e);
|
|
3859
|
-
}
|
|
3860
|
-
function Ln(r4, e, t) {
|
|
3861
|
-
let n = t.type;
|
|
3862
|
-
if (!n || n.length === 0)
|
|
3863
|
-
return;
|
|
3864
|
-
let i2, o = "undefined";
|
|
3865
|
-
if (n.length === 1)
|
|
3866
|
-
i2 = r4.value[e], o = n[0].code;
|
|
3867
|
-
else
|
|
3868
|
-
for (let a of n) {
|
|
3869
|
-
let c2 = e.replace("[x]", "") + b(a.code);
|
|
3870
|
-
if (c2 in r4.value) {
|
|
3871
|
-
i2 = r4.value[c2], o = a.code;
|
|
3872
|
-
break;
|
|
3873
|
-
}
|
|
3874
|
-
}
|
|
3875
|
-
let s = r4.value["_" + e];
|
|
3876
|
-
if (s && (Array.isArray(i2) ? i2 = i2.map((a, c2) => s[c2] ? hr(a ?? {}, s[c2]) : a) : i2 = hr(i2 ?? {}, s)), !R(i2))
|
|
3877
|
-
return (o === "Element" || o === "BackboneElement") && (o = K(t)), Array.isArray(i2) ? i2.map((a) => pr(a, o)) : pr(i2, o);
|
|
3878
|
-
}
|
|
3879
|
-
function pr(r4, e) {
|
|
3880
|
-
return e === "Resource" && O(r4) && (e = r4.resourceType), { type: e, value: r4 };
|
|
3881
|
-
}
|
|
3882
|
-
function _n(r4, e) {
|
|
3883
|
-
let t = r4.value;
|
|
3884
|
-
if (!t || typeof t != "object")
|
|
3885
|
-
return;
|
|
3886
|
-
let n;
|
|
3887
|
-
if (e in t)
|
|
3888
|
-
n = t[e];
|
|
3889
|
-
else
|
|
3890
|
-
for (let i2 in z) {
|
|
3891
|
-
let o = e + b(i2);
|
|
3892
|
-
if (o in t) {
|
|
3893
|
-
n = t[o];
|
|
3894
|
-
break;
|
|
3895
|
-
}
|
|
3896
|
-
}
|
|
3897
|
-
if (!R(n))
|
|
3898
|
-
return Array.isArray(n) ? n.map(x) : x(n);
|
|
3899
|
-
}
|
|
3900
|
-
function Ce(r4) {
|
|
3901
|
-
let e = [];
|
|
3902
|
-
for (let t of r4) {
|
|
3903
|
-
let n = false;
|
|
3904
|
-
for (let i2 of e)
|
|
3905
|
-
if (_(yr(t, i2))) {
|
|
3906
|
-
n = true;
|
|
3907
|
-
break;
|
|
3908
|
-
}
|
|
3909
|
-
n || e.push(t);
|
|
3910
|
-
}
|
|
3911
|
-
return e;
|
|
3912
|
-
}
|
|
3913
|
-
function ht(r4) {
|
|
3914
|
-
return d(!_(r4));
|
|
3915
|
-
}
|
|
3916
|
-
function yt(r4, e) {
|
|
3917
|
-
return r4.length === 0 || e.length === 0 ? [] : r4.length !== e.length ? d(false) : d(r4.every((t, n) => _(yr(t, e[n]))));
|
|
3918
|
-
}
|
|
3919
|
-
function yr(r4, e) {
|
|
3920
|
-
let t = r4.value?.valueOf(), n = e.value?.valueOf();
|
|
3921
|
-
return typeof t == "number" && typeof n == "number" ? d(Math.abs(t - n) < 1e-8) : A(t) && A(n) ? d(gr(t, n)) : d(typeof t == "object" && typeof n == "object" ? xt(r4, e) : t === n);
|
|
3922
|
-
}
|
|
3923
|
-
function gt(r4, e) {
|
|
3924
|
-
return r4.length === 0 && e.length === 0 ? d(true) : r4.length !== e.length ? d(false) : (r4.sort(fr), e.sort(fr), d(r4.every((t, n) => _(Nn(t, e[n])))));
|
|
3925
|
-
}
|
|
3926
|
-
function Nn(r4, e) {
|
|
3927
|
-
let { type: t, value: n } = r4, { type: i2, value: o } = e, s = n?.valueOf(), a = o?.valueOf();
|
|
3928
|
-
return typeof s == "number" && typeof a == "number" ? d(Math.abs(s - a) < 0.01) : A(s) && A(a) ? d(gr(s, a)) : d(t === "Coding" && i2 === "Coding" ? typeof s != "object" || typeof a != "object" ? false : s.code === a.code && s.system === a.system : typeof s == "object" && typeof a == "object" ? xt({ ...s, id: void 0 }, { ...a, id: void 0 }) : typeof s == "string" && typeof a == "string" ? s.toLowerCase() === a.toLowerCase() : s === a);
|
|
3929
|
-
}
|
|
3930
|
-
function fr(r4, e) {
|
|
3931
|
-
let t = r4.value?.valueOf(), n = e.value?.valueOf();
|
|
3932
|
-
return typeof t == "number" && typeof n == "number" ? t - n : typeof t == "string" && typeof n == "string" ? t.localeCompare(n) : 0;
|
|
3933
|
-
}
|
|
3934
|
-
function we(r4, e) {
|
|
3935
|
-
let { value: t } = r4;
|
|
3936
|
-
if (t == null)
|
|
3937
|
-
return false;
|
|
3938
|
-
switch (e) {
|
|
3939
|
-
case "Boolean":
|
|
3940
|
-
return typeof t == "boolean";
|
|
3941
|
-
case "Decimal":
|
|
3942
|
-
case "Integer":
|
|
3943
|
-
return typeof t == "number";
|
|
3944
|
-
case "Date":
|
|
3945
|
-
return typeof t == "string" && !!/^\d{4}(-\d{2}(-\d{2})?)?/.exec(t);
|
|
3946
|
-
case "DateTime":
|
|
3947
|
-
return typeof t == "string" && !!/^\d{4}(-\d{2}(-\d{2})?)?T/.exec(t);
|
|
3948
|
-
case "Time":
|
|
3949
|
-
return typeof t == "string" && !!/^T\d/.exec(t);
|
|
3950
|
-
case "Period":
|
|
3951
|
-
return Mn(t);
|
|
3952
|
-
case "Quantity":
|
|
3953
|
-
return A(t);
|
|
3954
|
-
default:
|
|
3955
|
-
return typeof t == "object" && t?.resourceType === e;
|
|
3956
|
-
}
|
|
3957
|
-
}
|
|
3958
|
-
function Mn(r4) {
|
|
3959
|
-
return !!(r4 && typeof r4 == "object" && "start" in r4);
|
|
3960
|
-
}
|
|
3961
|
-
function A(r4) {
|
|
3962
|
-
return !!(r4 && typeof r4 == "object" && "value" in r4 && typeof r4.value == "number");
|
|
3963
|
-
}
|
|
3964
|
-
function gr(r4, e) {
|
|
3965
|
-
return Math.abs(r4.value - e.value) < 0.01 && (r4.unit === e.unit || r4.code === e.code || r4.unit === e.code || r4.code === e.unit);
|
|
3966
|
-
}
|
|
3967
|
-
function xt(r4, e) {
|
|
3968
|
-
let t = Object.keys(r4), n = Object.keys(e);
|
|
3969
|
-
if (t.length !== n.length)
|
|
3970
|
-
return false;
|
|
3971
|
-
for (let i2 of t) {
|
|
3972
|
-
let o = r4[i2], s = e[i2];
|
|
3973
|
-
if (mr(o) && mr(s)) {
|
|
3974
|
-
if (!xt(o, s))
|
|
3975
|
-
return false;
|
|
3976
|
-
} else if (o !== s)
|
|
3977
|
-
return false;
|
|
3978
|
-
}
|
|
3979
|
-
return true;
|
|
3980
|
-
}
|
|
3981
|
-
function mr(r4) {
|
|
3982
|
-
return r4 !== null && typeof r4 == "object";
|
|
3983
|
-
}
|
|
3984
|
-
function hr(r4, e) {
|
|
3985
|
-
return delete e.__proto__, delete e.constructor, Object.assign(r4, e);
|
|
3986
|
-
}
|
|
3987
|
-
var de = () => [];
|
|
3988
|
-
var S = { empty: (r4, e) => d(e.length === 0), exists: (r4, e, t) => t ? d(e.filter((n) => _(t.eval(r4, [n]))).length > 0) : d(e.length > 0), all: (r4, e, t) => d(e.every((n) => _(t.eval(r4, [n])))), allTrue: (r4, e) => {
|
|
4096
|
+
var se = () => [];
|
|
4097
|
+
var S = { empty: (r4, e) => l(e.length === 0), exists: (r4, e, t) => t ? l(e.filter((n) => N(t.eval(r4, [n]))).length > 0) : l(e.length > 0), all: (r4, e, t) => l(e.every((n) => N(t.eval(r4, [n])))), allTrue: (r4, e) => {
|
|
3989
4098
|
for (let t of e)
|
|
3990
4099
|
if (!t.value)
|
|
3991
|
-
return
|
|
3992
|
-
return
|
|
4100
|
+
return l(false);
|
|
4101
|
+
return l(true);
|
|
3993
4102
|
}, anyTrue: (r4, e) => {
|
|
3994
4103
|
for (let t of e)
|
|
3995
4104
|
if (t.value)
|
|
3996
|
-
return
|
|
3997
|
-
return
|
|
4105
|
+
return l(true);
|
|
4106
|
+
return l(false);
|
|
3998
4107
|
}, allFalse: (r4, e) => {
|
|
3999
4108
|
for (let t of e)
|
|
4000
4109
|
if (t.value)
|
|
4001
|
-
return
|
|
4002
|
-
return
|
|
4110
|
+
return l(false);
|
|
4111
|
+
return l(true);
|
|
4003
4112
|
}, anyFalse: (r4, e) => {
|
|
4004
4113
|
for (let t of e)
|
|
4005
4114
|
if (!t.value)
|
|
4006
|
-
return
|
|
4007
|
-
return
|
|
4008
|
-
}, subsetOf:
|
|
4115
|
+
return l(true);
|
|
4116
|
+
return l(false);
|
|
4117
|
+
}, subsetOf: se, supersetOf: se, count: (r4, e) => [{ type: u.integer, value: e.length }], distinct: (r4, e) => {
|
|
4009
4118
|
let t = [];
|
|
4010
4119
|
for (let n of e)
|
|
4011
4120
|
t.some((i2) => i2.value === n.value) || t.push(n);
|
|
4012
4121
|
return t;
|
|
4013
|
-
}, isDistinct: (r4, e) =>
|
|
4122
|
+
}, isDistinct: (r4, e) => l(e.length === S.distinct(r4, e).length), where: (r4, e, t) => e.filter((n) => N(t.eval(r4, [n]))), select: (r4, e, t) => e.map((n) => t.eval(r4, [n])).flat(), repeat: se, ofType: (r4, e, t) => e.filter((n) => n.type === t.name), single: (r4, e) => {
|
|
4014
4123
|
if (e.length > 1)
|
|
4015
4124
|
throw new Error("Expected input length one for single()");
|
|
4016
4125
|
return e.length === 0 ? [] : e.slice(0, 1);
|
|
@@ -4042,77 +4151,77 @@ var S = { empty: (r4, e) => d(e.length === 0), exists: (r4, e, t) => t ? d(e.fil
|
|
|
4042
4151
|
if (!t)
|
|
4043
4152
|
return e;
|
|
4044
4153
|
let n = t.eval(r4, e);
|
|
4045
|
-
return
|
|
4154
|
+
return Re([...e, ...n]);
|
|
4046
4155
|
}, combine: (r4, e, t) => {
|
|
4047
4156
|
if (!t)
|
|
4048
4157
|
return e;
|
|
4049
4158
|
let n = t.eval(r4, e);
|
|
4050
4159
|
return [...e, ...n];
|
|
4051
|
-
}, htmlChecks: (r4, e, t) => [
|
|
4160
|
+
}, htmlChecks: (r4, e, t) => [T(true)], iif: (r4, e, t, n, i2) => {
|
|
4052
4161
|
let o = t.eval(r4, e);
|
|
4053
4162
|
if (o.length > 1 || o.length === 1 && typeof o[0].value != "boolean")
|
|
4054
4163
|
throw new Error("Expected criterion to evaluate to a Boolean");
|
|
4055
|
-
return
|
|
4164
|
+
return N(o) ? n.eval(r4, e) : i2 ? i2.eval(r4, e) : [];
|
|
4056
4165
|
}, toBoolean: (r4, e) => {
|
|
4057
4166
|
if (e.length === 0)
|
|
4058
4167
|
return [];
|
|
4059
4168
|
let [{ value: t }] = L(e, 1);
|
|
4060
4169
|
if (typeof t == "boolean")
|
|
4061
|
-
return [{ type:
|
|
4170
|
+
return [{ type: u.boolean, value: t }];
|
|
4062
4171
|
if (typeof t == "number" && (t === 0 || t === 1))
|
|
4063
|
-
return
|
|
4172
|
+
return l(!!t);
|
|
4064
4173
|
if (typeof t == "string") {
|
|
4065
4174
|
let n = t.toLowerCase();
|
|
4066
4175
|
if (["true", "t", "yes", "y", "1", "1.0"].includes(n))
|
|
4067
|
-
return
|
|
4176
|
+
return l(true);
|
|
4068
4177
|
if (["false", "f", "no", "n", "0", "0.0"].includes(n))
|
|
4069
|
-
return
|
|
4178
|
+
return l(false);
|
|
4070
4179
|
}
|
|
4071
4180
|
return [];
|
|
4072
|
-
}, convertsToBoolean: (r4, e) => e.length === 0 ? [] :
|
|
4181
|
+
}, convertsToBoolean: (r4, e) => e.length === 0 ? [] : l(S.toBoolean(r4, e).length === 1), toInteger: (r4, e) => {
|
|
4073
4182
|
if (e.length === 0)
|
|
4074
4183
|
return [];
|
|
4075
4184
|
let [{ value: t }] = L(e, 1);
|
|
4076
|
-
return typeof t == "number" ? [{ type:
|
|
4077
|
-
}, convertsToInteger: (r4, e) => e.length === 0 ? [] :
|
|
4185
|
+
return typeof t == "number" ? [{ type: u.integer, value: t }] : typeof t == "string" && /^[+-]?\d+$/.exec(t) ? [{ type: u.integer, value: parseInt(t, 10) }] : typeof t == "boolean" ? [{ type: u.integer, value: t ? 1 : 0 }] : [];
|
|
4186
|
+
}, convertsToInteger: (r4, e) => e.length === 0 ? [] : l(S.toInteger(r4, e).length === 1), toDate: (r4, e) => {
|
|
4078
4187
|
if (e.length === 0)
|
|
4079
4188
|
return [];
|
|
4080
4189
|
let [{ value: t }] = L(e, 1);
|
|
4081
|
-
return typeof t == "string" && /^\d{4}(-\d{2}(-\d{2})?)?/.exec(t) ? [{ type:
|
|
4082
|
-
}, convertsToDate: (r4, e) => e.length === 0 ? [] :
|
|
4190
|
+
return typeof t == "string" && /^\d{4}(-\d{2}(-\d{2})?)?/.exec(t) ? [{ type: u.date, value: re(t) }] : [];
|
|
4191
|
+
}, convertsToDate: (r4, e) => e.length === 0 ? [] : l(S.toDate(r4, e).length === 1), toDateTime: (r4, e) => {
|
|
4083
4192
|
if (e.length === 0)
|
|
4084
4193
|
return [];
|
|
4085
4194
|
let [{ value: t }] = L(e, 1);
|
|
4086
|
-
return typeof t == "string" && /^\d{4}(-\d{2}(-\d{2})?)?/.exec(t) ? [{ type:
|
|
4087
|
-
}, convertsToDateTime: (r4, e) => e.length === 0 ? [] :
|
|
4195
|
+
return typeof t == "string" && /^\d{4}(-\d{2}(-\d{2})?)?/.exec(t) ? [{ type: u.dateTime, value: re(t) }] : [];
|
|
4196
|
+
}, convertsToDateTime: (r4, e) => e.length === 0 ? [] : l(S.toDateTime(r4, e).length === 1), toDecimal: (r4, e) => {
|
|
4088
4197
|
if (e.length === 0)
|
|
4089
4198
|
return [];
|
|
4090
4199
|
let [{ value: t }] = L(e, 1);
|
|
4091
|
-
return typeof t == "number" ? [{ type:
|
|
4092
|
-
}, convertsToDecimal: (r4, e) => e.length === 0 ? [] :
|
|
4200
|
+
return typeof t == "number" ? [{ type: u.decimal, value: t }] : typeof t == "string" && /^-?\d{1,9}(\.\d{1,9})?$/.exec(t) ? [{ type: u.decimal, value: parseFloat(t) }] : typeof t == "boolean" ? [{ type: u.decimal, value: t ? 1 : 0 }] : [];
|
|
4201
|
+
}, convertsToDecimal: (r4, e) => e.length === 0 ? [] : l(S.toDecimal(r4, e).length === 1), toQuantity: (r4, e) => {
|
|
4093
4202
|
if (e.length === 0)
|
|
4094
4203
|
return [];
|
|
4095
4204
|
let [{ value: t }] = L(e, 1);
|
|
4096
|
-
return
|
|
4097
|
-
}, convertsToQuantity: (r4, e) => e.length === 0 ? [] :
|
|
4205
|
+
return R(t) ? [{ type: u.Quantity, value: t }] : typeof t == "number" ? [{ type: u.Quantity, value: { value: t, unit: "1" } }] : typeof t == "string" && /^-?\d{1,9}(\.\d{1,9})?/.exec(t) ? [{ type: u.Quantity, value: { value: parseFloat(t), unit: "1" } }] : typeof t == "boolean" ? [{ type: u.Quantity, value: { value: t ? 1 : 0, unit: "1" } }] : [];
|
|
4206
|
+
}, convertsToQuantity: (r4, e) => e.length === 0 ? [] : l(S.toQuantity(r4, e).length === 1), toString: (r4, e) => {
|
|
4098
4207
|
if (e.length === 0)
|
|
4099
4208
|
return [];
|
|
4100
4209
|
let [{ value: t }] = L(e, 1);
|
|
4101
|
-
return t == null ? [] :
|
|
4102
|
-
}, convertsToString: (r4, e) => e.length === 0 ? [] :
|
|
4210
|
+
return t == null ? [] : R(t) ? [{ type: u.string, value: `${t.value} '${t.unit}'` }] : [{ type: u.string, value: t.toString() }];
|
|
4211
|
+
}, convertsToString: (r4, e) => e.length === 0 ? [] : l(S.toString(r4, e).length === 1), toTime: (r4, e) => {
|
|
4103
4212
|
if (e.length === 0)
|
|
4104
4213
|
return [];
|
|
4105
4214
|
let [{ value: t }] = L(e, 1);
|
|
4106
4215
|
if (typeof t == "string") {
|
|
4107
4216
|
let n = /^T?(\d{2}(:\d{2}(:\d{2})?)?)/.exec(t);
|
|
4108
4217
|
if (n)
|
|
4109
|
-
return [{ type:
|
|
4218
|
+
return [{ type: u.time, value: re("T" + n[1]) }];
|
|
4110
4219
|
}
|
|
4111
4220
|
return [];
|
|
4112
|
-
}, convertsToTime: (r4, e) => e.length === 0 ? [] :
|
|
4221
|
+
}, convertsToTime: (r4, e) => e.length === 0 ? [] : l(S.toTime(r4, e).length === 1), indexOf: (r4, e, t) => P((n, i2) => n.indexOf(i2), r4, e, t), substring: (r4, e, t, n) => P((i2, o, s) => {
|
|
4113
4222
|
let a = o, c2 = s ? a + s : i2.length;
|
|
4114
4223
|
return a < 0 || a >= i2.length ? void 0 : i2.substring(a, c2);
|
|
4115
|
-
}, r4, e, t, n), startsWith: (r4, e, t) =>
|
|
4224
|
+
}, r4, e, t, n), startsWith: (r4, e, t) => P((n, i2) => n.startsWith(i2), r4, e, t), endsWith: (r4, e, t) => P((n, i2) => n.endsWith(i2), r4, e, t), contains: (r4, e, t) => P((n, i2) => n.includes(i2), r4, e, t), upper: (r4, e) => P((t) => t.toUpperCase(), r4, e), lower: (r4, e) => P((t) => t.toLowerCase(), r4, e), replace: (r4, e, t, n) => P((i2, o, s) => i2.replaceAll(o, s), r4, e, t, n), matches: (r4, e, t) => P((n, i2) => !!new RegExp(i2).exec(n), r4, e, t), replaceMatches: (r4, e, t, n) => P((i2, o, s) => i2.replaceAll(o, s), r4, e, t, n), length: (r4, e) => P((t) => t.length, r4, e), toChars: (r4, e) => P((t) => t ? t.split("") : void 0, r4, e), abs: (r4, e) => U(Math.abs, r4, e), ceiling: (r4, e) => U(Math.ceil, r4, e), exp: (r4, e) => U(Math.exp, r4, e), floor: (r4, e) => U(Math.floor, r4, e), ln: (r4, e) => U(Math.log, r4, e), log: (r4, e, t) => U((n, i2) => Math.log(n) / Math.log(i2), r4, e, t), power: (r4, e, t) => U(Math.pow, r4, e, t), round: (r4, e) => U(Math.round, r4, e), sqrt: (r4, e) => U(Math.sqrt, r4, e), truncate: (r4, e) => U((t) => t | 0, r4, e), children: se, descendants: se, trace: (r4, e, t) => (console.log("trace", e, t), e), now: () => [{ type: u.dateTime, value: (/* @__PURE__ */ new Date()).toISOString() }], timeOfDay: () => [{ type: u.time, value: (/* @__PURE__ */ new Date()).toISOString().substring(11) }], today: () => [{ type: u.date, value: (/* @__PURE__ */ new Date()).toISOString().substring(0, 10) }], between: (r4, e, t, n, i2) => {
|
|
4116
4225
|
let o = S.toDateTime(r4, t.eval(r4, e));
|
|
4117
4226
|
if (o.length === 0)
|
|
4118
4227
|
throw new Error("Invalid start date");
|
|
@@ -4122,19 +4231,19 @@ var S = { empty: (r4, e) => d(e.length === 0), exists: (r4, e, t) => t ? d(e.fil
|
|
|
4122
4231
|
let a = i2.eval(r4, e)[0]?.value;
|
|
4123
4232
|
if (a !== "years" && a !== "months" && a !== "days")
|
|
4124
4233
|
throw new Error("Invalid units");
|
|
4125
|
-
let c2 =
|
|
4126
|
-
return [{ type:
|
|
4234
|
+
let c2 = ge(o[0].value, s[0].value);
|
|
4235
|
+
return [{ type: u.Quantity, value: { value: c2[a], unit: a } }];
|
|
4127
4236
|
}, is: (r4, e, t) => {
|
|
4128
4237
|
let n = "";
|
|
4129
|
-
return t instanceof
|
|
4130
|
-
}, not: (r4, e) => S.toBoolean(r4, e).map((t) => ({ type:
|
|
4238
|
+
return t instanceof M ? n = t.name : t instanceof Q && (n = t.left.name + "." + t.right.name), n ? e.map((i2) => ({ type: u.boolean, value: Ee(i2, n) })) : [];
|
|
4239
|
+
}, not: (r4, e) => S.toBoolean(r4, e).map((t) => ({ type: u.boolean, value: !t.value })), resolve: (r4, e) => e.map((t) => {
|
|
4131
4240
|
let n = t.value, i2;
|
|
4132
4241
|
if (typeof n == "string")
|
|
4133
4242
|
i2 = n;
|
|
4134
4243
|
else if (typeof n == "object") {
|
|
4135
4244
|
let o = n;
|
|
4136
4245
|
if (o.resource)
|
|
4137
|
-
return
|
|
4246
|
+
return T(o.resource);
|
|
4138
4247
|
o.reference ? i2 = o.reference : o.type && o.identifier && (i2 = `${o.type}?identifier=${o.identifier.system}|${o.identifier.value}`);
|
|
4139
4248
|
}
|
|
4140
4249
|
if (i2?.includes("?")) {
|
|
@@ -4145,31 +4254,31 @@ var S = { empty: (r4, e) => d(e.length === 0), exists: (r4, e, t) => t ? d(e.fil
|
|
|
4145
4254
|
let [o, s] = i2.split("/");
|
|
4146
4255
|
return { type: o, value: { resourceType: o, id: s } };
|
|
4147
4256
|
}
|
|
4148
|
-
return { type:
|
|
4149
|
-
}).filter((t) => !!t.value), as: (r4, e) => e, type: (r4, e) => e.map(({ value: t }) => typeof t == "boolean" ? { type:
|
|
4257
|
+
return { type: u.BackboneElement, value: void 0 };
|
|
4258
|
+
}).filter((t) => !!t.value), as: (r4, e) => e, type: (r4, e) => e.map(({ value: t }) => typeof t == "boolean" ? { type: u.BackboneElement, value: { namespace: "System", name: "Boolean" } } : typeof t == "number" ? { type: u.BackboneElement, value: { namespace: "System", name: "Integer" } } : _(t) ? { type: u.BackboneElement, value: { namespace: "FHIR", name: t.resourceType } } : { type: u.BackboneElement, value: null }), conformsTo: (r4, e, t) => {
|
|
4150
4259
|
let n = t.eval(r4, e)[0].value;
|
|
4151
4260
|
if (!n.startsWith("http://hl7.org/fhir/StructureDefinition/"))
|
|
4152
4261
|
throw new Error("Expected a StructureDefinition URL");
|
|
4153
4262
|
let i2 = n.replace("http://hl7.org/fhir/StructureDefinition/", "");
|
|
4154
|
-
return e.map((o) => ({ type:
|
|
4263
|
+
return e.map((o) => ({ type: u.boolean, value: o.value?.resourceType === i2 }));
|
|
4155
4264
|
} };
|
|
4156
|
-
function
|
|
4265
|
+
function P(r4, e, t, ...n) {
|
|
4157
4266
|
if (t.length === 0)
|
|
4158
4267
|
return [];
|
|
4159
4268
|
let [{ value: i2 }] = L(t, 1);
|
|
4160
4269
|
if (typeof i2 != "string")
|
|
4161
4270
|
throw new Error("String function cannot be called with non-string");
|
|
4162
4271
|
let o = r4(i2, ...n.map((s) => s?.eval(e, t)[0]?.value));
|
|
4163
|
-
return o === void 0 ? [] : Array.isArray(o) ? o.map(
|
|
4272
|
+
return o === void 0 ? [] : Array.isArray(o) ? o.map(T) : [T(o)];
|
|
4164
4273
|
}
|
|
4165
4274
|
function U(r4, e, t, ...n) {
|
|
4166
4275
|
if (t.length === 0)
|
|
4167
4276
|
return [];
|
|
4168
|
-
let [{ value: i2 }] = L(t, 1), o =
|
|
4277
|
+
let [{ value: i2 }] = L(t, 1), o = R(i2), s = o ? i2.value : i2;
|
|
4169
4278
|
if (typeof s != "number")
|
|
4170
4279
|
throw new Error("Math function cannot be called with non-number");
|
|
4171
|
-
let a = r4(s, ...n.map((
|
|
4172
|
-
return [{ type: c2, value:
|
|
4280
|
+
let a = r4(s, ...n.map((p2) => p2.eval(e, t)[0]?.value)), c2 = o ? u.Quantity : t[0].type, m2 = o ? { ...i2, value: a } : a;
|
|
4281
|
+
return [{ type: c2, value: m2 }];
|
|
4173
4282
|
}
|
|
4174
4283
|
function L(r4, e) {
|
|
4175
4284
|
if (r4.length !== e)
|
|
@@ -4179,7 +4288,7 @@ function L(r4, e) {
|
|
|
4179
4288
|
throw new Error("Expected non-null argument");
|
|
4180
4289
|
return r4;
|
|
4181
4290
|
}
|
|
4182
|
-
var
|
|
4291
|
+
var k = class {
|
|
4183
4292
|
constructor(e) {
|
|
4184
4293
|
this.value = e;
|
|
4185
4294
|
}
|
|
@@ -4191,7 +4300,7 @@ var I = class {
|
|
|
4191
4300
|
return typeof e == "string" ? `'${e}'` : e.toString();
|
|
4192
4301
|
}
|
|
4193
4302
|
};
|
|
4194
|
-
var
|
|
4303
|
+
var M = class {
|
|
4195
4304
|
constructor(e) {
|
|
4196
4305
|
this.name = e;
|
|
4197
4306
|
}
|
|
@@ -4209,13 +4318,13 @@ var N = class {
|
|
|
4209
4318
|
evalValue(e) {
|
|
4210
4319
|
let t = e.value;
|
|
4211
4320
|
if (!(!t || typeof t != "object"))
|
|
4212
|
-
return
|
|
4321
|
+
return _(t) && t.resourceType === this.name ? e : w(e, this.name);
|
|
4213
4322
|
}
|
|
4214
4323
|
toString() {
|
|
4215
4324
|
return this.name;
|
|
4216
4325
|
}
|
|
4217
4326
|
};
|
|
4218
|
-
var
|
|
4327
|
+
var Ie = class {
|
|
4219
4328
|
eval() {
|
|
4220
4329
|
return [];
|
|
4221
4330
|
}
|
|
@@ -4223,7 +4332,7 @@ var ke = class {
|
|
|
4223
4332
|
return "{}";
|
|
4224
4333
|
}
|
|
4225
4334
|
};
|
|
4226
|
-
var
|
|
4335
|
+
var ke = class extends Pe {
|
|
4227
4336
|
constructor(t, n, i2) {
|
|
4228
4337
|
super(t, n);
|
|
4229
4338
|
this.impl = i2;
|
|
@@ -4235,7 +4344,7 @@ var De = class extends Ee {
|
|
|
4235
4344
|
return this.operator + this.child.toString();
|
|
4236
4345
|
}
|
|
4237
4346
|
};
|
|
4238
|
-
var J = class extends
|
|
4347
|
+
var J = class extends H {
|
|
4239
4348
|
constructor(e, t) {
|
|
4240
4349
|
super("as", e, t);
|
|
4241
4350
|
}
|
|
@@ -4243,9 +4352,9 @@ var J = class extends j {
|
|
|
4243
4352
|
return S.ofType(e, this.left.eval(e, t), this.right);
|
|
4244
4353
|
}
|
|
4245
4354
|
};
|
|
4246
|
-
var v = class extends
|
|
4355
|
+
var v = class extends H {
|
|
4247
4356
|
};
|
|
4248
|
-
var
|
|
4357
|
+
var E = class extends v {
|
|
4249
4358
|
constructor(t, n, i2, o) {
|
|
4250
4359
|
super(t, n, i2);
|
|
4251
4360
|
this.impl = o;
|
|
@@ -4257,38 +4366,38 @@ var P = class extends v {
|
|
|
4257
4366
|
let o = this.right.eval(t, n);
|
|
4258
4367
|
if (o.length !== 1)
|
|
4259
4368
|
return [];
|
|
4260
|
-
let s = i2[0].value, a = o[0].value, c2 =
|
|
4261
|
-
return typeof
|
|
4369
|
+
let s = i2[0].value, a = o[0].value, c2 = R(s) ? s.value : s, m2 = R(a) ? a.value : a, p2 = this.impl(c2, m2);
|
|
4370
|
+
return typeof p2 == "boolean" ? l(p2) : R(s) ? [{ type: u.Quantity, value: { ...s, value: p2 } }] : [T(p2)];
|
|
4262
4371
|
}
|
|
4263
4372
|
};
|
|
4264
|
-
var Oe = class extends
|
|
4373
|
+
var Oe = class extends H {
|
|
4265
4374
|
constructor(e, t) {
|
|
4266
4375
|
super("&", e, t);
|
|
4267
4376
|
}
|
|
4268
4377
|
eval(e, t) {
|
|
4269
4378
|
let n = this.left.eval(e, t), i2 = this.right.eval(e, t), o = [...n, ...i2];
|
|
4270
|
-
return o.length > 0 && o.every((s) => typeof s.value == "string") ? [{ type:
|
|
4379
|
+
return o.length > 0 && o.every((s) => typeof s.value == "string") ? [{ type: u.string, value: o.map((s) => s.value).join("") }] : o;
|
|
4271
4380
|
}
|
|
4272
4381
|
};
|
|
4273
|
-
var
|
|
4382
|
+
var De = class extends v {
|
|
4274
4383
|
constructor(e, t) {
|
|
4275
4384
|
super("contains", e, t);
|
|
4276
4385
|
}
|
|
4277
4386
|
eval(e, t) {
|
|
4278
4387
|
let n = this.left.eval(e, t), i2 = this.right.eval(e, t);
|
|
4279
|
-
return
|
|
4388
|
+
return l(n.some((o) => o.value === i2[0].value));
|
|
4280
4389
|
}
|
|
4281
4390
|
};
|
|
4282
|
-
var
|
|
4391
|
+
var Ve = class extends v {
|
|
4283
4392
|
constructor(e, t) {
|
|
4284
4393
|
super("in", e, t);
|
|
4285
4394
|
}
|
|
4286
4395
|
eval(e, t) {
|
|
4287
4396
|
let n = V(this.left.eval(e, t)), i2 = this.right.eval(e, t);
|
|
4288
|
-
return n ?
|
|
4397
|
+
return n ? l(i2.some((o) => o.value === n.value)) : [];
|
|
4289
4398
|
}
|
|
4290
4399
|
};
|
|
4291
|
-
var Q = class extends
|
|
4400
|
+
var Q = class extends H {
|
|
4292
4401
|
constructor(e, t) {
|
|
4293
4402
|
super(".", e, t);
|
|
4294
4403
|
}
|
|
@@ -4299,49 +4408,49 @@ var Q = class extends j {
|
|
|
4299
4408
|
return `${this.left.toString()}.${this.right.toString()}`;
|
|
4300
4409
|
}
|
|
4301
4410
|
};
|
|
4302
|
-
var ne = class extends
|
|
4411
|
+
var ne = class extends H {
|
|
4303
4412
|
constructor(e, t) {
|
|
4304
4413
|
super("|", e, t);
|
|
4305
4414
|
}
|
|
4306
4415
|
eval(e, t) {
|
|
4307
4416
|
let n = this.left.eval(e, t), i2 = this.right.eval(e, t);
|
|
4308
|
-
return
|
|
4417
|
+
return Re([...n, ...i2]);
|
|
4309
4418
|
}
|
|
4310
4419
|
};
|
|
4311
|
-
var
|
|
4420
|
+
var _e = class extends v {
|
|
4312
4421
|
constructor(e, t) {
|
|
4313
4422
|
super("=", e, t);
|
|
4314
4423
|
}
|
|
4315
4424
|
eval(e, t) {
|
|
4316
4425
|
let n = this.left.eval(e, t), i2 = this.right.eval(e, t);
|
|
4317
|
-
return
|
|
4426
|
+
return ft(n, i2);
|
|
4318
4427
|
}
|
|
4319
4428
|
};
|
|
4320
|
-
var
|
|
4429
|
+
var Ue = class extends v {
|
|
4321
4430
|
constructor(e, t) {
|
|
4322
4431
|
super("!=", e, t);
|
|
4323
4432
|
}
|
|
4324
4433
|
eval(e, t) {
|
|
4325
4434
|
let n = this.left.eval(e, t), i2 = this.right.eval(e, t);
|
|
4326
|
-
return
|
|
4435
|
+
return pt(ft(n, i2));
|
|
4327
4436
|
}
|
|
4328
4437
|
};
|
|
4329
|
-
var
|
|
4438
|
+
var Le = class extends v {
|
|
4330
4439
|
constructor(e, t) {
|
|
4331
4440
|
super("~", e, t);
|
|
4332
4441
|
}
|
|
4333
4442
|
eval(e, t) {
|
|
4334
4443
|
let n = this.left.eval(e, t), i2 = this.right.eval(e, t);
|
|
4335
|
-
return
|
|
4444
|
+
return mt(n, i2);
|
|
4336
4445
|
}
|
|
4337
4446
|
};
|
|
4338
|
-
var
|
|
4447
|
+
var Fe = class extends v {
|
|
4339
4448
|
constructor(e, t) {
|
|
4340
4449
|
super("!~", e, t);
|
|
4341
4450
|
}
|
|
4342
4451
|
eval(e, t) {
|
|
4343
4452
|
let n = this.left.eval(e, t), i2 = this.right.eval(e, t);
|
|
4344
|
-
return
|
|
4453
|
+
return pt(mt(n, i2));
|
|
4345
4454
|
}
|
|
4346
4455
|
};
|
|
4347
4456
|
var Y = class extends v {
|
|
@@ -4353,46 +4462,46 @@ var Y = class extends v {
|
|
|
4353
4462
|
if (n.length !== 1)
|
|
4354
4463
|
return [];
|
|
4355
4464
|
let i2 = this.right.name;
|
|
4356
|
-
return
|
|
4465
|
+
return l(Ee(n[0], i2));
|
|
4357
4466
|
}
|
|
4358
4467
|
};
|
|
4359
|
-
var
|
|
4468
|
+
var Ne = class extends v {
|
|
4360
4469
|
constructor(e, t) {
|
|
4361
4470
|
super("and", e, t);
|
|
4362
4471
|
}
|
|
4363
4472
|
eval(e, t) {
|
|
4364
4473
|
let n = V(this.left.eval(e, t), "boolean"), i2 = V(this.right.eval(e, t), "boolean");
|
|
4365
|
-
return n?.value === true && i2?.value === true ?
|
|
4474
|
+
return n?.value === true && i2?.value === true ? l(true) : n?.value === false || i2?.value === false ? l(false) : [];
|
|
4366
4475
|
}
|
|
4367
4476
|
};
|
|
4368
|
-
var
|
|
4477
|
+
var Me = class extends v {
|
|
4369
4478
|
constructor(e, t) {
|
|
4370
4479
|
super("or", e, t);
|
|
4371
4480
|
}
|
|
4372
4481
|
eval(e, t) {
|
|
4373
4482
|
let n = V(this.left.eval(e, t), "boolean"), i2 = V(this.right.eval(e, t), "boolean");
|
|
4374
|
-
return n?.value === false && i2?.value === false ?
|
|
4483
|
+
return n?.value === false && i2?.value === false ? l(false) : n?.value || i2?.value ? l(true) : [];
|
|
4375
4484
|
}
|
|
4376
4485
|
};
|
|
4377
|
-
var
|
|
4486
|
+
var Be = class extends v {
|
|
4378
4487
|
constructor(e, t) {
|
|
4379
4488
|
super("xor", e, t);
|
|
4380
4489
|
}
|
|
4381
4490
|
eval(e, t) {
|
|
4382
4491
|
let n = V(this.left.eval(e, t), "boolean"), i2 = V(this.right.eval(e, t), "boolean");
|
|
4383
|
-
return !n || !i2 ? [] :
|
|
4492
|
+
return !n || !i2 ? [] : l(n.value !== i2.value);
|
|
4384
4493
|
}
|
|
4385
4494
|
};
|
|
4386
|
-
var
|
|
4495
|
+
var qe = class extends v {
|
|
4387
4496
|
constructor(e, t) {
|
|
4388
4497
|
super("implies", e, t);
|
|
4389
4498
|
}
|
|
4390
4499
|
eval(e, t) {
|
|
4391
4500
|
let n = V(this.left.eval(e, t), "boolean"), i2 = V(this.right.eval(e, t), "boolean");
|
|
4392
|
-
return i2?.value === true || n?.value === false ?
|
|
4501
|
+
return i2?.value === true || n?.value === false ? l(true) : !n || !i2 ? [] : l(false);
|
|
4393
4502
|
}
|
|
4394
4503
|
};
|
|
4395
|
-
var
|
|
4504
|
+
var B = class {
|
|
4396
4505
|
constructor(e, t) {
|
|
4397
4506
|
this.name = e;
|
|
4398
4507
|
this.args = t;
|
|
@@ -4426,60 +4535,66 @@ var X = class {
|
|
|
4426
4535
|
return `${this.left.toString()}[${this.expr.toString()}]`;
|
|
4427
4536
|
}
|
|
4428
4537
|
};
|
|
4429
|
-
var
|
|
4430
|
-
var
|
|
4431
|
-
var
|
|
4538
|
+
var ce = ["!=", "!~", "<=", ">=", "{}", "->"];
|
|
4539
|
+
var f = { FunctionCall: 0, Dot: 1, Indexer: 2, UnaryAdd: 3, UnarySubtract: 3, Multiply: 4, Divide: 4, IntegerDivide: 4, Modulo: 4, Add: 5, Subtract: 5, Ampersand: 5, Is: 6, As: 6, Union: 7, GreaterThan: 8, GreaterThanOrEquals: 8, LessThan: 8, LessThanOrEquals: 8, Equals: 9, Equivalent: 9, NotEquals: 9, NotEquivalent: 9, In: 10, Contains: 10, And: 11, Xor: 12, Or: 12, Implies: 13, Arrow: 100, Semicolon: 200 };
|
|
4540
|
+
var Xn = { parse(r4) {
|
|
4432
4541
|
let e = r4.consumeAndParse();
|
|
4433
4542
|
if (!r4.match(")"))
|
|
4434
4543
|
throw new Error("Parse error: expected `)` got `" + r4.peek()?.value + "`");
|
|
4435
4544
|
return e;
|
|
4436
4545
|
} };
|
|
4437
|
-
var
|
|
4546
|
+
var Zn = { parse(r4, e) {
|
|
4438
4547
|
let t = r4.consumeAndParse();
|
|
4439
4548
|
if (!r4.match("]"))
|
|
4440
4549
|
throw new Error("Parse error: expected `]`");
|
|
4441
4550
|
return new X(e, t);
|
|
4442
|
-
}, precedence:
|
|
4443
|
-
var
|
|
4444
|
-
if (!(e instanceof
|
|
4551
|
+
}, precedence: f.Indexer };
|
|
4552
|
+
var ei = { parse(r4, e) {
|
|
4553
|
+
if (!(e instanceof M))
|
|
4445
4554
|
throw new Error("Unexpected parentheses");
|
|
4446
4555
|
let t = [];
|
|
4447
4556
|
for (; !r4.match(")"); )
|
|
4448
4557
|
t.push(r4.consumeAndParse()), r4.match(",");
|
|
4449
|
-
return new
|
|
4450
|
-
}, precedence:
|
|
4451
|
-
function
|
|
4558
|
+
return new B(e.name, t);
|
|
4559
|
+
}, precedence: f.FunctionCall };
|
|
4560
|
+
function ti(r4) {
|
|
4452
4561
|
let e = r4.split(" "), t = parseFloat(e[0]), n = e[1];
|
|
4453
4562
|
return n?.startsWith("'") && n.endsWith("'") ? n = n.substring(1, n.length - 1) : n = "{" + n + "}", { value: t, unit: n };
|
|
4454
4563
|
}
|
|
4455
|
-
function
|
|
4456
|
-
return new
|
|
4564
|
+
function ue() {
|
|
4565
|
+
return new Ce().registerPrefix("String", { parse: (r4, e) => new k({ type: u.string, value: e.value }) }).registerPrefix("DateTime", { parse: (r4, e) => new k({ type: u.dateTime, value: re(e.value) }) }).registerPrefix("Quantity", { parse: (r4, e) => new k({ type: u.Quantity, value: ti(e.value) }) }).registerPrefix("Number", { parse: (r4, e) => new k({ type: u.decimal, value: parseFloat(e.value) }) }).registerPrefix("true", { parse: () => new k({ type: u.boolean, value: true }) }).registerPrefix("false", { parse: () => new k({ type: u.boolean, value: false }) }).registerPrefix("Symbol", { parse: (r4, e) => new M(e.value) }).registerPrefix("{}", { parse: () => new Ie() }).registerPrefix("(", Xn).registerInfix("[", Zn).registerInfix("(", ei).prefix("+", f.UnaryAdd, (r4, e) => new ke("+", e, (t) => t)).prefix("-", f.UnarySubtract, (r4, e) => new E("-", e, e, (t, n) => -n)).infixLeft(".", f.Dot, (r4, e, t) => new Q(r4, t)).infixLeft("/", f.Divide, (r4, e, t) => new E("/", r4, t, (n, i2) => n / i2)).infixLeft("*", f.Multiply, (r4, e, t) => new E("*", r4, t, (n, i2) => n * i2)).infixLeft("+", f.Add, (r4, e, t) => new E("+", r4, t, (n, i2) => n + i2)).infixLeft("-", f.Subtract, (r4, e, t) => new E("-", r4, t, (n, i2) => n - i2)).infixLeft("|", f.Union, (r4, e, t) => new ne(r4, t)).infixLeft("=", f.Equals, (r4, e, t) => new _e(r4, t)).infixLeft("!=", f.NotEquals, (r4, e, t) => new Ue(r4, t)).infixLeft("~", f.Equivalent, (r4, e, t) => new Le(r4, t)).infixLeft("!~", f.NotEquivalent, (r4, e, t) => new Fe(r4, t)).infixLeft("<", f.LessThan, (r4, e, t) => new E("<", r4, t, (n, i2) => n < i2)).infixLeft("<=", f.LessThanOrEquals, (r4, e, t) => new E("<=", r4, t, (n, i2) => n <= i2)).infixLeft(">", f.GreaterThan, (r4, e, t) => new E(">", r4, t, (n, i2) => n > i2)).infixLeft(">=", f.GreaterThanOrEquals, (r4, e, t) => new E(">=", r4, t, (n, i2) => n >= i2)).infixLeft("&", f.Ampersand, (r4, e, t) => new Oe(r4, t)).infixLeft("and", f.And, (r4, e, t) => new Ne(r4, t)).infixLeft("as", f.As, (r4, e, t) => new J(r4, t)).infixLeft("contains", f.Contains, (r4, e, t) => new De(r4, t)).infixLeft("div", f.Divide, (r4, e, t) => new E("div", r4, t, (n, i2) => n / i2 | 0)).infixLeft("in", f.In, (r4, e, t) => new Ve(r4, t)).infixLeft("is", f.Is, (r4, e, t) => new Y(r4, t)).infixLeft("mod", f.Modulo, (r4, e, t) => new E("mod", r4, t, (n, i2) => n % i2)).infixLeft("or", f.Or, (r4, e, t) => new Me(r4, t)).infixLeft("xor", f.Xor, (r4, e, t) => new Be(r4, t)).infixLeft("implies", f.Implies, (r4, e, t) => new qe(r4, t));
|
|
4457
4566
|
}
|
|
4458
|
-
var
|
|
4459
|
-
var
|
|
4460
|
-
var
|
|
4461
|
-
var
|
|
4462
|
-
function
|
|
4567
|
+
var ri = ue();
|
|
4568
|
+
var ni = ((g) => (g.EQUALS = "eq", g.NOT_EQUALS = "ne", g.GREATER_THAN = "gt", g.LESS_THAN = "lt", g.GREATER_THAN_OR_EQUALS = "ge", g.LESS_THAN_OR_EQUALS = "le", g.STARTS_AFTER = "sa", g.ENDS_BEFORE = "eb", g.APPROXIMATELY = "ap", g.CONTAINS = "contains", g.EXACT = "exact", g.TEXT = "text", g.NOT = "not", g.ABOVE = "above", g.BELOW = "below", g.IN = "in", g.NOT_IN = "not-in", g.OF_TYPE = "of-type", g.MISSING = "missing", g.IDENTIFIER = "identifier", g.ITERATE = "iterate", g))(ni || {});
|
|
4569
|
+
var Dr = ((p2) => (p2.BOOLEAN = "BOOLEAN", p2.NUMBER = "NUMBER", p2.QUANTITY = "QUANTITY", p2.TEXT = "TEXT", p2.REFERENCE = "REFERENCE", p2.CANONICAL = "CANONICAL", p2.DATE = "DATE", p2.DATETIME = "DATETIME", p2.PERIOD = "PERIOD", p2.UUID = "UUID", p2))(Dr || {});
|
|
4570
|
+
var ki = ((x) => (x.READ = "read", x.VREAD = "vread", x.UPDATE = "update", x.PATCH = "patch", x.DELETE = "delete", x.HISTORY = "history", x.HISTORY_INSTANCE = "history-instance", x.HISTORY_TYPE = "history-type", x.HISTORY_SYSTEM = "history-system", x.CREATE = "create", x.SEARCH = "search", x.SEARCH_TYPE = "search-type", x.SEARCH_SYSTEM = "search-system", x.SEARCH_COMPARTMENT = "search-compartment", x.CAPABILITIES = "capabilities", x.TRANSACTION = "transaction", x.BATCH = "batch", x.OPERATION = "operation", x))(ki || {});
|
|
4571
|
+
function Mr(r4) {
|
|
4463
4572
|
if (typeof window < "u")
|
|
4464
4573
|
return window.atob(r4);
|
|
4465
4574
|
if (typeof Buffer < "u")
|
|
4466
4575
|
return Buffer.from(r4, "base64").toString("binary");
|
|
4467
4576
|
throw new Error("Unable to decode base64");
|
|
4468
4577
|
}
|
|
4469
|
-
function
|
|
4578
|
+
function Br(r4) {
|
|
4470
4579
|
if (typeof window < "u")
|
|
4471
4580
|
return window.btoa(r4);
|
|
4472
4581
|
if (typeof Buffer < "u")
|
|
4473
4582
|
return Buffer.from(r4, "binary").toString("base64");
|
|
4474
4583
|
throw new Error("Unable to encode base64");
|
|
4475
4584
|
}
|
|
4476
|
-
function
|
|
4585
|
+
function It() {
|
|
4477
4586
|
let r4 = new Uint32Array(28);
|
|
4478
|
-
return crypto.getRandomValues(r4),
|
|
4587
|
+
return crypto.getRandomValues(r4), rr(r4.buffer);
|
|
4479
4588
|
}
|
|
4480
|
-
async function
|
|
4589
|
+
async function qr(r4) {
|
|
4481
4590
|
return crypto.subtle.digest("SHA-256", new TextEncoder().encode(r4));
|
|
4482
4591
|
}
|
|
4592
|
+
function pe() {
|
|
4593
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (r4) => {
|
|
4594
|
+
let e = Math.random() * 16 | 0;
|
|
4595
|
+
return (r4 === "x" ? e : e & 3 | 8).toString(16);
|
|
4596
|
+
});
|
|
4597
|
+
}
|
|
4483
4598
|
var He = class {
|
|
4484
4599
|
constructor(e = 10) {
|
|
4485
4600
|
this.max = e, this.cache = /* @__PURE__ */ new Map();
|
|
@@ -4504,8 +4619,8 @@ var He = class {
|
|
|
4504
4619
|
return this.cache.keys().next().value;
|
|
4505
4620
|
}
|
|
4506
4621
|
};
|
|
4507
|
-
var
|
|
4508
|
-
var
|
|
4622
|
+
var F = { CSS: "text/css", FAVICON: "image/vnd.microsoft.icon", FHIR_JSON: "application/fhir+json", FORM_URL_ENCODED: "application/x-www-form-urlencoded", HL7_V2: "x-application/hl7-v2+er7", HTML: "text/html", JAVASCRIPT: "text/javascript", JSON: "application/json", JSON_PATCH: "application/json-patch+json", PNG: "image/png", SVG: "image/svg+xml", TEXT: "text/plain", TYPESCRIPT: "text/typescript" };
|
|
4623
|
+
var fe = class {
|
|
4509
4624
|
constructor() {
|
|
4510
4625
|
this.listeners = {};
|
|
4511
4626
|
}
|
|
@@ -4524,34 +4639,139 @@ var We = class {
|
|
|
4524
4639
|
}
|
|
4525
4640
|
dispatchEvent(e) {
|
|
4526
4641
|
let t = this.listeners[e.type];
|
|
4527
|
-
|
|
4642
|
+
if (t)
|
|
4643
|
+
for (let n of t)
|
|
4644
|
+
n.call(this, e);
|
|
4645
|
+
return !e.defaultPrevented;
|
|
4646
|
+
}
|
|
4647
|
+
};
|
|
4648
|
+
var Qe = class {
|
|
4649
|
+
constructor() {
|
|
4650
|
+
this.emitter = new fe();
|
|
4651
|
+
}
|
|
4652
|
+
dispatchEvent(e) {
|
|
4653
|
+
this.emitter.dispatchEvent(e);
|
|
4654
|
+
}
|
|
4655
|
+
addEventListener(e, t) {
|
|
4656
|
+
this.emitter.addEventListener(e, t);
|
|
4657
|
+
}
|
|
4658
|
+
removeEventListener(e, t) {
|
|
4659
|
+
this.emitter.removeEventListener(e, t);
|
|
4660
|
+
}
|
|
4661
|
+
};
|
|
4662
|
+
var kt = { "patient-open": "patient-open", "patient-close": "patient-close", "imagingstudy-open": "imagingstudy-open", "imagingstudy-close": "imagingstudy-close" };
|
|
4663
|
+
var Mi = ["Patient", "Encounter", "ImagingStudy"];
|
|
4664
|
+
var Bi = { "patient-open": ["Patient"], "patient-close": ["Patient"], "imagingstudy-open": ["Patient", "ImagingStudy"], "imagingstudy-close": ["Patient", "ImagingStudy"] };
|
|
4665
|
+
var qi = { "patient-open": ["Encounter"], "patient-close": ["Encounter"], "imagingstudy-open": [], "imagingstudy-close": [] };
|
|
4666
|
+
function $i(r4) {
|
|
4667
|
+
return Mi.includes(r4);
|
|
4668
|
+
}
|
|
4669
|
+
var ji = { ImagingStudy: "study", Patient: "patient", Encounter: "encounter" };
|
|
4670
|
+
function jr(r4) {
|
|
4671
|
+
return !!r4.endpoint;
|
|
4672
|
+
}
|
|
4673
|
+
function Ot(r4) {
|
|
4674
|
+
if (!Ge(r4))
|
|
4675
|
+
throw new d(h("subscriptionRequest must be an object conforming to SubscriptionRequest type."));
|
|
4676
|
+
let { channelType: e, mode: t, topic: n, events: i2 } = r4, o = { "hub.channel.type": e, "hub.mode": t, "hub.topic": n, "hub.events": i2.join(",") };
|
|
4677
|
+
return jr(r4) && (o.endpoint = r4.endpoint), new URLSearchParams(o).toString();
|
|
4678
|
+
}
|
|
4679
|
+
function Ge(r4) {
|
|
4680
|
+
if (typeof r4 != "object")
|
|
4681
|
+
return false;
|
|
4682
|
+
let { channelType: e, mode: t, topic: n, events: i2 } = r4;
|
|
4683
|
+
if (!(e && t && n && i2) || typeof n != "string" || typeof i2 != "object" || !Array.isArray(i2) || i2.length < 1 || e !== "websocket" || t !== "subscribe" && t !== "unsubscribe")
|
|
4684
|
+
return false;
|
|
4685
|
+
for (let o of i2)
|
|
4686
|
+
if (!kt[o])
|
|
4687
|
+
return false;
|
|
4688
|
+
return !(jr(r4) && !(typeof r4.endpoint == "string" && r4.endpoint.startsWith("ws")));
|
|
4689
|
+
}
|
|
4690
|
+
function Hi(r4, e, t, n) {
|
|
4691
|
+
if (!(e.key && typeof e.key == "string"))
|
|
4692
|
+
throw new d(h(`context[${t}] is invalid. Context must contain a key.`));
|
|
4693
|
+
if (n.has(e.key))
|
|
4694
|
+
throw new d(h(`context[${t}] is invalid. Key ${e.key} has already been used in a previous context.`));
|
|
4695
|
+
if (n.add(e.key), typeof e.resource != "object")
|
|
4696
|
+
throw new d(h(`context[${t}] is invalid. Context must contain a single valid FHIR resource! Resource is not an object.`));
|
|
4697
|
+
if (!(e.resource.id && typeof e.resource.id == "string"))
|
|
4698
|
+
throw new d(h(`context[${t}] is invalid. Resource must contain a valid string ID.`));
|
|
4699
|
+
if (!e.resource.resourceType)
|
|
4700
|
+
throw new d(h(`context[${t}] is invalid. Resource must contain a resource type. No resource type found.`));
|
|
4701
|
+
let i2 = e.resource.resourceType;
|
|
4702
|
+
if (!$i(i2))
|
|
4703
|
+
throw new d(h(`context[${t}] is invalid. Resource must contain a valid FHIRcast resource type. Resource type is not a known resource type.`));
|
|
4704
|
+
let o = Bi[r4], s = qi[r4], a;
|
|
4705
|
+
if (t < o.length ? a = o[t] : t - o.length < s.length && (a = s[t - o.length]), a && i2 !== a)
|
|
4706
|
+
throw new d(h(`context[${t}] is invalid. context[${t}] for the '${r4}' event should contain resource of type ${a}.`));
|
|
4707
|
+
let c2 = ji[i2];
|
|
4708
|
+
if (c2 !== e.key)
|
|
4709
|
+
throw new d(h(`context[${t}] is invalid. Context key for type ${i2} must be ${c2}.`));
|
|
4710
|
+
}
|
|
4711
|
+
function Qi(r4, e) {
|
|
4712
|
+
let t = /* @__PURE__ */ new Set();
|
|
4713
|
+
for (let n = 0; n < e.length; n++)
|
|
4714
|
+
Hi(r4, e[n], n, t);
|
|
4715
|
+
}
|
|
4716
|
+
function Hr(r4, e, t) {
|
|
4717
|
+
if (!(r4 && typeof r4 == "string"))
|
|
4718
|
+
throw new d(h("Must provide a topic."));
|
|
4719
|
+
if (!kt[e])
|
|
4720
|
+
throw new d(h(`Must provide a valid FHIRcast event name. Supported events: ${Object.keys(kt).join(", ")}`));
|
|
4721
|
+
if (typeof t != "object")
|
|
4722
|
+
throw new d(h("context must be a context object or array of context objects."));
|
|
4723
|
+
let n = Array.isArray(t) ? t : [t];
|
|
4724
|
+
return Qi(e, n), { timestamp: (/* @__PURE__ */ new Date()).toISOString(), id: pe(), event: { "hub.topic": r4, "hub.event": e, context: n } };
|
|
4725
|
+
}
|
|
4726
|
+
var We = class extends Qe {
|
|
4727
|
+
constructor(t) {
|
|
4728
|
+
super();
|
|
4729
|
+
if (this.subRequest = t, !t.endpoint)
|
|
4730
|
+
throw new d(h("Subscription request should contain an endpoint."));
|
|
4731
|
+
if (!Ge(t))
|
|
4732
|
+
throw new d(h("Subscription request failed validation."));
|
|
4733
|
+
let n = new WebSocket(t.endpoint);
|
|
4734
|
+
n.addEventListener("open", () => {
|
|
4735
|
+
this.dispatchEvent({ type: "connect" }), n.addEventListener("message", (i2) => {
|
|
4736
|
+
let o = JSON.parse(i2.data);
|
|
4737
|
+
if (o["hub.topic"])
|
|
4738
|
+
return;
|
|
4739
|
+
let s = o;
|
|
4740
|
+
this.dispatchEvent({ type: "message", payload: s }), n.send(JSON.stringify({ id: o?.id, timestamp: (/* @__PURE__ */ new Date()).toISOString() }));
|
|
4741
|
+
}), n.addEventListener("close", () => {
|
|
4742
|
+
this.dispatchEvent({ type: "disconnect" });
|
|
4743
|
+
});
|
|
4744
|
+
}), this.websocket = n;
|
|
4745
|
+
}
|
|
4746
|
+
disconnect() {
|
|
4747
|
+
this.websocket.close();
|
|
4528
4748
|
}
|
|
4529
4749
|
};
|
|
4530
|
-
function
|
|
4531
|
-
let e = r4.replace(/-/g, "+").replace(/_/g, "/"), t =
|
|
4750
|
+
function Wi(r4) {
|
|
4751
|
+
let e = r4.replace(/-/g, "+").replace(/_/g, "/"), t = Mr(e), n = Array.from(t).reduce((o, s) => {
|
|
4532
4752
|
let a = ("00" + s.charCodeAt(0).toString(16)).slice(-2);
|
|
4533
4753
|
return `${o}%${a}`;
|
|
4534
4754
|
}, ""), i2 = decodeURIComponent(n);
|
|
4535
4755
|
return JSON.parse(i2);
|
|
4536
4756
|
}
|
|
4537
|
-
function
|
|
4757
|
+
function Qr(r4) {
|
|
4538
4758
|
return r4.split(".").length === 3;
|
|
4539
4759
|
}
|
|
4540
|
-
function
|
|
4760
|
+
function Dt(r4) {
|
|
4541
4761
|
let [e, t, n] = r4.split(".");
|
|
4542
|
-
return
|
|
4762
|
+
return Wi(t);
|
|
4543
4763
|
}
|
|
4544
|
-
function
|
|
4764
|
+
function Wr(r4) {
|
|
4545
4765
|
try {
|
|
4546
|
-
return typeof
|
|
4766
|
+
return typeof Dt(r4).login_id == "string";
|
|
4547
4767
|
} catch {
|
|
4548
4768
|
return false;
|
|
4549
4769
|
}
|
|
4550
4770
|
}
|
|
4551
|
-
var
|
|
4552
|
-
var
|
|
4771
|
+
var Gi;
|
|
4772
|
+
var C = class {
|
|
4553
4773
|
constructor(e) {
|
|
4554
|
-
this[
|
|
4774
|
+
this[Gi] = "ReadablePromise";
|
|
4555
4775
|
this.status = "pending";
|
|
4556
4776
|
this.suspender = e.then((t) => (this.status = "success", this.response = t, t), (t) => {
|
|
4557
4777
|
throw this.status = "error", this.error = t, t;
|
|
@@ -4583,10 +4803,10 @@ var w = class {
|
|
|
4583
4803
|
return this.suspender.finally(e);
|
|
4584
4804
|
}
|
|
4585
4805
|
};
|
|
4586
|
-
|
|
4587
|
-
var
|
|
4806
|
+
Gi = Symbol.toStringTag;
|
|
4807
|
+
var Ke = class {
|
|
4588
4808
|
constructor() {
|
|
4589
|
-
this.storage = typeof localStorage < "u" ? localStorage : new
|
|
4809
|
+
this.storage = typeof localStorage < "u" ? localStorage : new Vt();
|
|
4590
4810
|
}
|
|
4591
4811
|
clear() {
|
|
4592
4812
|
this.storage.clear();
|
|
@@ -4602,10 +4822,10 @@ var Ge = class {
|
|
|
4602
4822
|
return t ? JSON.parse(t) : void 0;
|
|
4603
4823
|
}
|
|
4604
4824
|
setObject(e, t) {
|
|
4605
|
-
this.setString(e, t ?
|
|
4825
|
+
this.setString(e, t ? Zt(t) : void 0);
|
|
4606
4826
|
}
|
|
4607
4827
|
};
|
|
4608
|
-
var
|
|
4828
|
+
var Vt = class {
|
|
4609
4829
|
constructor() {
|
|
4610
4830
|
this.data = /* @__PURE__ */ new Map();
|
|
4611
4831
|
}
|
|
@@ -4628,20 +4848,20 @@ var wt = class {
|
|
|
4628
4848
|
return Array.from(this.data.keys())[e];
|
|
4629
4849
|
}
|
|
4630
4850
|
};
|
|
4631
|
-
var
|
|
4632
|
-
var
|
|
4633
|
-
var
|
|
4634
|
-
var
|
|
4635
|
-
var
|
|
4636
|
-
var
|
|
4637
|
-
var
|
|
4638
|
-
var
|
|
4639
|
-
var
|
|
4851
|
+
var Ki = "https://api.medplum.com/";
|
|
4852
|
+
var zi = 1e3;
|
|
4853
|
+
var Ji = 6e4;
|
|
4854
|
+
var Gr = "Binary/";
|
|
4855
|
+
var Kr = { resourceType: "Device", id: "system", deviceName: [{ name: "System" }] };
|
|
4856
|
+
var Yi = ((o) => (o.ClientCredentials = "client_credentials", o.AuthorizationCode = "authorization_code", o.RefreshToken = "refresh_token", o.JwtBearer = "urn:ietf:params:oauth:grant-type:jwt-bearer", o.TokenExchange = "urn:ietf:params:oauth:grant-type:token-exchange", o))(Yi || {});
|
|
4857
|
+
var Xi = ((o) => (o.AccessToken = "urn:ietf:params:oauth:token-type:access_token", o.RefreshToken = "urn:ietf:params:oauth:token-type:refresh_token", o.IdToken = "urn:ietf:params:oauth:token-type:id_token", o.Saml1Token = "urn:ietf:params:oauth:token-type:saml1", o.Saml2Token = "urn:ietf:params:oauth:token-type:saml2", o))(Xi || {});
|
|
4858
|
+
var Zi = ((e) => (e.JwtBearer = "urn:ietf:params:oauth:client-assertion-type:jwt-bearer", e))(Zi || {});
|
|
4859
|
+
var zr = class extends fe {
|
|
4640
4860
|
constructor(t) {
|
|
4641
4861
|
super();
|
|
4642
4862
|
if (t?.baseUrl && !t.baseUrl.startsWith("http"))
|
|
4643
4863
|
throw new Error("Base URL must start with http or https");
|
|
4644
|
-
this.options = t ?? {}, this.fetch = t?.fetch ??
|
|
4864
|
+
this.options = t ?? {}, this.fetch = t?.fetch ?? eo(), this.storage = t?.storage ?? new Ke(), this.createPdfImpl = t?.createPdf, this.baseUrl = Yr(t?.baseUrl ?? Ki), this.fhirBaseUrl = Yr(ze(this.baseUrl, t?.fhirUrlPath ?? "fhir/R4/")), this.authorizeUrl = ze(this.baseUrl, t?.authorizeUrl ?? "oauth2/authorize"), this.tokenUrl = ze(this.baseUrl, t?.tokenUrl ?? "oauth2/token"), this.logoutUrl = ze(this.baseUrl, t?.logoutUrl ?? "oauth2/logout"), this.clientId = t?.clientId ?? "", this.clientSecret = t?.clientSecret ?? "", this.onUnauthenticated = t?.onUnauthenticated, this.cacheTime = t?.cacheTime ?? Ji, this.cacheTime > 0 ? this.requestCache = new He(t?.resourceCacheSize ?? zi) : this.requestCache = void 0, t?.autoBatchTime ? (this.autoBatchTime = t.autoBatchTime, this.autoBatchQueue = []) : (this.autoBatchTime = 0, this.autoBatchQueue = void 0);
|
|
4645
4865
|
let n = this.getActiveLogin();
|
|
4646
4866
|
n && (this.setAccessToken(n.accessToken, n.refreshToken), this.refreshProfile().catch(console.log)), this.setupStorageListener();
|
|
4647
4867
|
}
|
|
@@ -4684,7 +4904,7 @@ var Br = class extends We {
|
|
|
4684
4904
|
t.startsWith(this.fhirBaseUrl) && this.autoBatchQueue ? o = new Promise((a, c2) => {
|
|
4685
4905
|
this.autoBatchQueue.push({ method: "GET", url: t.replace(this.fhirBaseUrl, ""), options: n, resolve: a, reject: c2 }), this.autoBatchTimerId || (this.autoBatchTimerId = setTimeout(() => this.executeAutoBatch(), this.autoBatchTime));
|
|
4686
4906
|
}) : o = this.request("GET", t, n);
|
|
4687
|
-
let s = new
|
|
4907
|
+
let s = new C(o);
|
|
4688
4908
|
return this.setCacheEntry(t, s), s;
|
|
4689
4909
|
}
|
|
4690
4910
|
post(t, n, i2, o = {}) {
|
|
@@ -4694,7 +4914,7 @@ var Br = class extends We {
|
|
|
4694
4914
|
return t = t.toString(), this.setRequestBody(o, n), i2 && this.setRequestContentType(o, i2), this.invalidateUrl(t), this.request("PUT", t, o);
|
|
4695
4915
|
}
|
|
4696
4916
|
patch(t, n, i2 = {}) {
|
|
4697
|
-
return t = t.toString(), this.setRequestBody(i2, n), this.setRequestContentType(i2,
|
|
4917
|
+
return t = t.toString(), this.setRequestBody(i2, n), this.setRequestContentType(i2, F.JSON_PATCH), this.invalidateUrl(t), this.request("PATCH", t, i2);
|
|
4698
4918
|
}
|
|
4699
4919
|
delete(t, n) {
|
|
4700
4920
|
return t = t.toString(), this.invalidateUrl(t), this.request("DELETE", t, n);
|
|
@@ -4760,12 +4980,12 @@ var Br = class extends We {
|
|
|
4760
4980
|
let o = this.fhirSearchUrl(t, n), s = o.toString() + "-search", a = this.getCacheEntry(s, i2);
|
|
4761
4981
|
if (a)
|
|
4762
4982
|
return a.value;
|
|
4763
|
-
let c2 = new
|
|
4764
|
-
let
|
|
4765
|
-
if (
|
|
4766
|
-
for (let
|
|
4767
|
-
this.cacheResource(
|
|
4768
|
-
return
|
|
4983
|
+
let c2 = new C((async () => {
|
|
4984
|
+
let m2 = await this.get(o, i2);
|
|
4985
|
+
if (m2.entry)
|
|
4986
|
+
for (let p2 of m2.entry)
|
|
4987
|
+
this.cacheResource(p2.resource);
|
|
4988
|
+
return m2;
|
|
4769
4989
|
})());
|
|
4770
4990
|
return this.setCacheEntry(s, c2), c2;
|
|
4771
4991
|
}
|
|
@@ -4775,23 +4995,23 @@ var Br = class extends We {
|
|
|
4775
4995
|
let s = o.toString() + "-searchOne", a = this.getCacheEntry(s, i2);
|
|
4776
4996
|
if (a)
|
|
4777
4997
|
return a.value;
|
|
4778
|
-
let c2 = new
|
|
4998
|
+
let c2 = new C(this.search(t, o.searchParams, i2).then((m2) => m2.entry?.[0]?.resource));
|
|
4779
4999
|
return this.setCacheEntry(s, c2), c2;
|
|
4780
5000
|
}
|
|
4781
5001
|
searchResources(t, n, i2) {
|
|
4782
5002
|
let s = this.fhirSearchUrl(t, n).toString() + "-searchResources", a = this.getCacheEntry(s, i2);
|
|
4783
5003
|
if (a)
|
|
4784
5004
|
return a.value;
|
|
4785
|
-
let c2 = new
|
|
5005
|
+
let c2 = new C(this.search(t, n, i2).then(Zr));
|
|
4786
5006
|
return this.setCacheEntry(s, c2), c2;
|
|
4787
5007
|
}
|
|
4788
5008
|
async *searchResourcePages(t, n, i2) {
|
|
4789
5009
|
let o = this.fhirSearchUrl(t, n);
|
|
4790
5010
|
for (; o; ) {
|
|
4791
|
-
let s = new URL(o).searchParams, a = await this.search(t, s, i2), c2 = a.link?.find((
|
|
5011
|
+
let s = new URL(o).searchParams, a = await this.search(t, s, i2), c2 = a.link?.find((m2) => m2.relation === "next");
|
|
4792
5012
|
if (!a.entry?.length && !c2)
|
|
4793
5013
|
break;
|
|
4794
|
-
yield
|
|
5014
|
+
yield Zr(a), o = c2?.url ? new URL(c2.url) : void 0;
|
|
4795
5015
|
}
|
|
4796
5016
|
}
|
|
4797
5017
|
searchValueSet(t, n, i2) {
|
|
@@ -4807,7 +5027,7 @@ var Br = class extends We {
|
|
|
4807
5027
|
if (!n)
|
|
4808
5028
|
return;
|
|
4809
5029
|
if (n === "system")
|
|
4810
|
-
return
|
|
5030
|
+
return Kr;
|
|
4811
5031
|
let [i2, o] = n.split("/");
|
|
4812
5032
|
if (!(!i2 || !o))
|
|
4813
5033
|
return this.getCached(i2, o);
|
|
@@ -4818,40 +5038,46 @@ var Br = class extends We {
|
|
|
4818
5038
|
readReference(t, n) {
|
|
4819
5039
|
let i2 = t.reference;
|
|
4820
5040
|
if (!i2)
|
|
4821
|
-
return new
|
|
5041
|
+
return new C(Promise.reject(new Error("Missing reference")));
|
|
4822
5042
|
if (i2 === "system")
|
|
4823
|
-
return new
|
|
5043
|
+
return new C(Promise.resolve(Kr));
|
|
4824
5044
|
let [o, s] = i2.split("/");
|
|
4825
|
-
return !o || !s ? new
|
|
4826
|
-
}
|
|
4827
|
-
getSchema() {
|
|
4828
|
-
return y;
|
|
5045
|
+
return !o || !s ? new C(Promise.reject(new Error("Invalid reference"))) : this.readResource(o, s, n);
|
|
4829
5046
|
}
|
|
4830
5047
|
requestSchema(t) {
|
|
4831
|
-
if (t
|
|
4832
|
-
return Promise.resolve(
|
|
5048
|
+
if (vr(t))
|
|
5049
|
+
return Promise.resolve();
|
|
4833
5050
|
let n = t + "-requestSchema", i2 = this.getCacheEntry(n, void 0);
|
|
4834
5051
|
if (i2)
|
|
4835
5052
|
return i2.value;
|
|
4836
|
-
let o = new
|
|
5053
|
+
let o = new C((async () => {
|
|
4837
5054
|
let s = `{
|
|
4838
5055
|
StructureDefinitionList(name: "${t}") {
|
|
5056
|
+
resourceType,
|
|
4839
5057
|
name,
|
|
5058
|
+
kind,
|
|
4840
5059
|
description,
|
|
4841
5060
|
snapshot {
|
|
4842
5061
|
element {
|
|
4843
5062
|
id,
|
|
4844
5063
|
path,
|
|
5064
|
+
definition,
|
|
4845
5065
|
min,
|
|
4846
5066
|
max,
|
|
5067
|
+
base {
|
|
5068
|
+
path,
|
|
5069
|
+
min,
|
|
5070
|
+
max
|
|
5071
|
+
},
|
|
5072
|
+
contentReference,
|
|
4847
5073
|
type {
|
|
4848
5074
|
code,
|
|
4849
5075
|
targetProfile
|
|
4850
5076
|
},
|
|
4851
5077
|
binding {
|
|
5078
|
+
strength,
|
|
4852
5079
|
valueSet
|
|
4853
|
-
}
|
|
4854
|
-
definition
|
|
5080
|
+
}
|
|
4855
5081
|
}
|
|
4856
5082
|
}
|
|
4857
5083
|
}
|
|
@@ -4863,11 +5089,9 @@ var Br = class extends We {
|
|
|
4863
5089
|
target
|
|
4864
5090
|
}
|
|
4865
5091
|
}`.replace(/\s+/g, " "), a = await this.graphql(s);
|
|
4866
|
-
|
|
4867
|
-
pt(c2);
|
|
5092
|
+
xr(a.data.StructureDefinitionList);
|
|
4868
5093
|
for (let c2 of a.data.SearchParameterList)
|
|
4869
|
-
|
|
4870
|
-
return y;
|
|
5094
|
+
St(c2);
|
|
4871
5095
|
})());
|
|
4872
5096
|
return this.setCacheEntry(n, o), o;
|
|
4873
5097
|
}
|
|
@@ -4899,7 +5123,7 @@ var Br = class extends We {
|
|
|
4899
5123
|
uploadwithProgress(t, n, i2, o) {
|
|
4900
5124
|
return new Promise((s, a) => {
|
|
4901
5125
|
let c2 = new XMLHttpRequest();
|
|
4902
|
-
c2.responseType = "json", c2.onabort = () => a(new Error("Request aborted")), c2.onerror = () => a(new Error("Request error")), o && (c2.upload.onprogress = (
|
|
5126
|
+
c2.responseType = "json", c2.onabort = () => a(new Error("Request aborted")), c2.onerror = () => a(new Error("Request error")), o && (c2.upload.onprogress = (m2) => o(m2), c2.upload.onload = (m2) => o(m2)), c2.onload = () => {
|
|
4903
5127
|
c2.status >= 200 && c2.status < 300 ? s(c2.response) : a(new Error(c2.statusText));
|
|
4904
5128
|
}, c2.open("POST", t), c2.withCredentials = true, c2.setRequestHeader("Authorization", "Bearer " + this.accessToken), c2.setRequestHeader("Cache-Control", "no-cache, no-store, max-age=0"), c2.setRequestHeader("Content-Type", i2), c2.setRequestHeader("X-Medplum", "extended"), c2.send(n);
|
|
4905
5129
|
});
|
|
@@ -4912,7 +5136,7 @@ var Br = class extends We {
|
|
|
4912
5136
|
}
|
|
4913
5137
|
createComment(t, n, i2) {
|
|
4914
5138
|
let o = this.getProfile(), s, a;
|
|
4915
|
-
return t.resourceType === "Encounter" && (s =
|
|
5139
|
+
return t.resourceType === "Encounter" && (s = K(t), a = t.subject), t.resourceType === "ServiceRequest" && (s = t.encounter, a = t.subject), t.resourceType === "Patient" && (a = K(t)), this.createResource({ resourceType: "Communication", basedOn: [K(t)], encounter: s, subject: a, sender: o ? K(o) : void 0, sent: (/* @__PURE__ */ new Date()).toISOString(), payload: [{ contentString: n }] }, i2);
|
|
4916
5140
|
}
|
|
4917
5141
|
async updateResource(t, n) {
|
|
4918
5142
|
if (!t.resourceType)
|
|
@@ -4947,10 +5171,10 @@ var Br = class extends We {
|
|
|
4947
5171
|
return this.post(this.fhirBaseUrl.slice(0, -1), t, void 0, n);
|
|
4948
5172
|
}
|
|
4949
5173
|
sendEmail(t, n) {
|
|
4950
|
-
return this.post("email/v1/send", t,
|
|
5174
|
+
return this.post("email/v1/send", t, F.JSON, n);
|
|
4951
5175
|
}
|
|
4952
5176
|
graphql(t, n, i2, o) {
|
|
4953
|
-
return this.post(this.fhirUrl("$graphql"), { query: t, operationName: n, variables: i2 },
|
|
5177
|
+
return this.post(this.fhirUrl("$graphql"), { query: t, operationName: n, variables: i2 }, F.JSON, o);
|
|
4954
5178
|
}
|
|
4955
5179
|
readResourceGraph(t, n, i2, o) {
|
|
4956
5180
|
return this.get(`${this.fhirUrl(t, n)}/$graph?graph=${i2}`, o);
|
|
@@ -4968,7 +5192,7 @@ var Br = class extends We {
|
|
|
4968
5192
|
return this.accessToken;
|
|
4969
5193
|
}
|
|
4970
5194
|
setAccessToken(t, n) {
|
|
4971
|
-
this.accessToken = t, this.refreshToken = n, this.sessionDetails = void 0, this.medplumServer =
|
|
5195
|
+
this.accessToken = t, this.refreshToken = n, this.sessionDetails = void 0, this.medplumServer = Wr(t);
|
|
4972
5196
|
}
|
|
4973
5197
|
getLogins() {
|
|
4974
5198
|
return this.storage.getObject("logins") ?? [];
|
|
@@ -5003,7 +5227,7 @@ var Br = class extends We {
|
|
|
5003
5227
|
return this.sessionDetails?.profile;
|
|
5004
5228
|
}
|
|
5005
5229
|
async getProfileAsync() {
|
|
5006
|
-
return this.profilePromise
|
|
5230
|
+
return this.profilePromise ? this.profilePromise : this.sessionDetails ? this.sessionDetails.profile : this.refreshProfile();
|
|
5007
5231
|
}
|
|
5008
5232
|
getUserConfiguration() {
|
|
5009
5233
|
return this.sessionDetails?.config;
|
|
@@ -5014,11 +5238,11 @@ var Br = class extends We {
|
|
|
5014
5238
|
async download(t, n = {}) {
|
|
5015
5239
|
this.refreshPromise && await this.refreshPromise;
|
|
5016
5240
|
let i2 = t.toString();
|
|
5017
|
-
return i2.startsWith(
|
|
5241
|
+
return i2.startsWith(Gr) && (t = this.fhirUrl(i2)), this.addFetchOptionsDefaults(n), (await this.fetchWithRetry(t.toString(), n)).blob();
|
|
5018
5242
|
}
|
|
5019
5243
|
async uploadMedia(t, n, i2, o, s) {
|
|
5020
5244
|
let a = await this.createBinary(t, i2, n);
|
|
5021
|
-
return this.createResource({ ...o, resourceType: "Media", content: { contentType: n, url:
|
|
5245
|
+
return this.createResource({ ...o, resourceType: "Media", content: { contentType: n, url: Gr + a.id, title: i2 } }, s);
|
|
5022
5246
|
}
|
|
5023
5247
|
async bulkExport(t = "", n, i2, o) {
|
|
5024
5248
|
let s = t && `${t}/`, a = this.fhirUrl(`${s}$export`);
|
|
@@ -5030,7 +5254,7 @@ var Br = class extends We {
|
|
|
5030
5254
|
i2.Prefer = "respond-async";
|
|
5031
5255
|
let o = await this.fetchWithRetry(t, n);
|
|
5032
5256
|
if (o.status === 202) {
|
|
5033
|
-
let s = await
|
|
5257
|
+
let s = await Xr(o);
|
|
5034
5258
|
if (s)
|
|
5035
5259
|
return this.pollStatus(s);
|
|
5036
5260
|
}
|
|
@@ -5047,7 +5271,7 @@ var Br = class extends We {
|
|
|
5047
5271
|
this.requestCache && this.requestCache.set(t, { requestTime: Date.now(), value: n });
|
|
5048
5272
|
}
|
|
5049
5273
|
cacheResource(t) {
|
|
5050
|
-
t?.id && !t.meta?.tag?.some((n) => n.code === "SUBSETTED") && this.setCacheEntry(this.fhirUrl(t.resourceType, t.id).toString(), new
|
|
5274
|
+
t?.id && !t.meta?.tag?.some((n) => n.code === "SUBSETTED") && this.setCacheEntry(this.fhirUrl(t.resourceType, t.id).toString(), new C(Promise.resolve(t)));
|
|
5051
5275
|
}
|
|
5052
5276
|
deleteCacheEntry(t) {
|
|
5053
5277
|
this.requestCache && this.requestCache.delete(t);
|
|
@@ -5064,22 +5288,22 @@ var Br = class extends We {
|
|
|
5064
5288
|
return;
|
|
5065
5289
|
let a = t.headers.get("content-type")?.includes("json");
|
|
5066
5290
|
if (t.status === 404 && !a)
|
|
5067
|
-
throw new
|
|
5068
|
-
let c2 = t.headers.get("content-location"),
|
|
5069
|
-
if (t.status === 201 && c2 &&
|
|
5291
|
+
throw new d(Ht);
|
|
5292
|
+
let c2 = t.headers.get("content-location"), m2 = o.redirect ?? this.options.redirect;
|
|
5293
|
+
if (t.status === 201 && c2 && m2 === "follow")
|
|
5070
5294
|
return this.request("GET", c2, { ...o, body: void 0 });
|
|
5071
|
-
let
|
|
5295
|
+
let p2;
|
|
5072
5296
|
if (a)
|
|
5073
5297
|
try {
|
|
5074
|
-
|
|
5075
|
-
} catch (
|
|
5076
|
-
throw console.error("Error parsing response", t.status,
|
|
5298
|
+
p2 = await t.json();
|
|
5299
|
+
} catch (q) {
|
|
5300
|
+
throw console.error("Error parsing response", t.status, q), q;
|
|
5077
5301
|
}
|
|
5078
5302
|
else
|
|
5079
|
-
|
|
5303
|
+
p2 = await t.text();
|
|
5080
5304
|
if (t.status >= 400)
|
|
5081
|
-
throw new
|
|
5082
|
-
return
|
|
5305
|
+
throw new d(ot(p2));
|
|
5306
|
+
return p2;
|
|
5083
5307
|
}
|
|
5084
5308
|
async fetchWithRetry(t, n) {
|
|
5085
5309
|
t.startsWith("http") || (t = new URL(t, this.baseUrl).href);
|
|
@@ -5091,7 +5315,7 @@ var Br = class extends We {
|
|
|
5091
5315
|
} catch (c2) {
|
|
5092
5316
|
this.retryCatch(a, i2, c2);
|
|
5093
5317
|
}
|
|
5094
|
-
await
|
|
5318
|
+
await ut(o);
|
|
5095
5319
|
}
|
|
5096
5320
|
return s;
|
|
5097
5321
|
}
|
|
@@ -5112,10 +5336,10 @@ var Br = class extends We {
|
|
|
5112
5336
|
this.addFetchOptionsDefaults(s);
|
|
5113
5337
|
let a = await this.fetchWithRetry(t, s);
|
|
5114
5338
|
if (a.status !== 202 && (n = false, i2 = a, a.status === 201)) {
|
|
5115
|
-
let c2 = await
|
|
5339
|
+
let c2 = await Xr(a);
|
|
5116
5340
|
c2 && (i2 = await this.fetchWithRetry(c2, s));
|
|
5117
5341
|
}
|
|
5118
|
-
await
|
|
5342
|
+
await ut(o);
|
|
5119
5343
|
}
|
|
5120
5344
|
return this.parseResponse(i2, "POST", t);
|
|
5121
5345
|
}
|
|
@@ -5126,19 +5350,19 @@ var Br = class extends We {
|
|
|
5126
5350
|
try {
|
|
5127
5351
|
o.resolve(await this.request(o.method, this.fhirBaseUrl + o.url, o.options));
|
|
5128
5352
|
} catch (s) {
|
|
5129
|
-
o.reject(new
|
|
5353
|
+
o.reject(new d(ot(s)));
|
|
5130
5354
|
}
|
|
5131
5355
|
return;
|
|
5132
5356
|
}
|
|
5133
5357
|
let n = { resourceType: "Bundle", type: "batch", entry: t.map((o) => ({ request: { method: o.method, url: o.url }, resource: o.options.body ? JSON.parse(o.options.body) : void 0 })) }, i2 = await this.post(this.fhirBaseUrl.slice(0, -1), n);
|
|
5134
5358
|
for (let o = 0; o < t.length; o++) {
|
|
5135
5359
|
let s = t[o], a = i2.entry?.[o];
|
|
5136
|
-
a?.response?.outcome && !it(a.response.outcome) ? s.reject(new
|
|
5360
|
+
a?.response?.outcome && !it(a.response.outcome) ? s.reject(new d(a.response.outcome)) : s.resolve(a?.resource);
|
|
5137
5361
|
}
|
|
5138
5362
|
}
|
|
5139
5363
|
addFetchOptionsDefaults(t) {
|
|
5140
5364
|
let n = t.headers;
|
|
5141
|
-
n || (n = {}, t.headers = n), n.Accept =
|
|
5365
|
+
n || (n = {}, t.headers = n), n.Accept = F.FHIR_JSON, n["X-Medplum"] = "extended", t.body && !n["Content-Type"] && (n["Content-Type"] = F.FHIR_JSON), this.accessToken ? n.Authorization = "Bearer " + this.accessToken : this.basicAuth && (n.Authorization = "Basic " + this.basicAuth), t.cache || (t.cache = "no-cache"), t.credentials || (t.credentials = "include");
|
|
5142
5366
|
}
|
|
5143
5367
|
setRequestContentType(t, n) {
|
|
5144
5368
|
t.headers || (t.headers = {});
|
|
@@ -5152,20 +5376,20 @@ var Br = class extends We {
|
|
|
5152
5376
|
return this.refresh() ? this.request(t, n, i2) : (this.clearActiveLogin(), this.onUnauthenticated && this.onUnauthenticated(), Promise.reject(new Error("Unauthenticated")));
|
|
5153
5377
|
}
|
|
5154
5378
|
async startPkce() {
|
|
5155
|
-
let t =
|
|
5379
|
+
let t = It();
|
|
5156
5380
|
sessionStorage.setItem("pkceState", t);
|
|
5157
|
-
let n =
|
|
5381
|
+
let n = It();
|
|
5158
5382
|
sessionStorage.setItem("codeVerifier", n);
|
|
5159
|
-
let i2 = await
|
|
5383
|
+
let i2 = await qr(n), o = nr(i2).replaceAll("+", "-").replaceAll("/", "_").replaceAll("=", "");
|
|
5160
5384
|
return sessionStorage.setItem("codeChallenge", o), { codeChallengeMethod: "S256", codeChallenge: o };
|
|
5161
5385
|
}
|
|
5162
5386
|
async requestAuthorization(t) {
|
|
5163
5387
|
let n = await this.ensureCodeChallenge(t ?? {}), i2 = new URL(this.authorizeUrl);
|
|
5164
|
-
i2.searchParams.set("response_type", "code"), i2.searchParams.set("state", sessionStorage.getItem("pkceState")), i2.searchParams.set("client_id", n.clientId ?? this.clientId), i2.searchParams.set("redirect_uri", n.redirectUri ??
|
|
5388
|
+
i2.searchParams.set("response_type", "code"), i2.searchParams.set("state", sessionStorage.getItem("pkceState")), i2.searchParams.set("client_id", n.clientId ?? this.clientId), i2.searchParams.set("redirect_uri", n.redirectUri ?? Jr()), i2.searchParams.set("code_challenge_method", n.codeChallengeMethod), i2.searchParams.set("code_challenge", n.codeChallenge), i2.searchParams.set("scope", n.scope ?? "openid profile"), window.location.assign(i2.toString());
|
|
5165
5389
|
}
|
|
5166
5390
|
processCode(t, n) {
|
|
5167
5391
|
let i2 = new URLSearchParams();
|
|
5168
|
-
if (i2.set("grant_type", "authorization_code"), i2.set("code", t), i2.set("client_id", n?.clientId ?? this.clientId), i2.set("redirect_uri", n?.redirectUri ??
|
|
5392
|
+
if (i2.set("grant_type", "authorization_code"), i2.set("code", t), i2.set("client_id", n?.clientId ?? this.clientId), i2.set("redirect_uri", n?.redirectUri ?? Jr()), typeof sessionStorage < "u") {
|
|
5169
5393
|
let o = sessionStorage.getItem("codeVerifier");
|
|
5170
5394
|
o && i2.set("code_verifier", o);
|
|
5171
5395
|
}
|
|
@@ -5196,22 +5420,45 @@ var Br = class extends We {
|
|
|
5196
5420
|
return n.append("grant_type", "client_credentials"), n.append("client_assertion_type", "urn:ietf:params:oauth:client-assertion-type:jwt-bearer"), n.append("client_assertion", t), this.fetchTokens(n);
|
|
5197
5421
|
}
|
|
5198
5422
|
setBasicAuth(t, n) {
|
|
5199
|
-
this.clientId = t, this.clientSecret = n, this.basicAuth =
|
|
5423
|
+
this.clientId = t, this.clientSecret = n, this.basicAuth = Br(t + ":" + n);
|
|
5424
|
+
}
|
|
5425
|
+
async fhircastSubscribe(t, n) {
|
|
5426
|
+
if (!(typeof t == "string" && t !== ""))
|
|
5427
|
+
throw new d(h("Invalid topic provided. Topic must be a valid string."));
|
|
5428
|
+
if (!(typeof n == "object" && Array.isArray(n) && n.length > 0))
|
|
5429
|
+
throw new d(h("Invalid events provided. Events must be an array of event names containing at least one event."));
|
|
5430
|
+
let i2 = { channelType: "websocket", mode: "subscribe", topic: t, events: n }, s = (await this.post("/fhircast/STU2", Ot(i2), F.FORM_URL_ENCODED))["hub.channel.endpoint"];
|
|
5431
|
+
if (!s)
|
|
5432
|
+
throw new Error("Invalid response!");
|
|
5433
|
+
return i2.endpoint = s, i2;
|
|
5434
|
+
}
|
|
5435
|
+
async fhircastUnsubscribe(t) {
|
|
5436
|
+
if (!Ge(t))
|
|
5437
|
+
throw new d(h("Invalid topic or subscriptionRequest. SubscriptionRequest must be an object."));
|
|
5438
|
+
if (!(t.endpoint && typeof t.endpoint == "string" && t.endpoint.startsWith("ws")))
|
|
5439
|
+
throw new d(h("Provided subscription request must have an endpoint in order to unsubscribe."));
|
|
5440
|
+
t.mode = "unsubscribe", await this.post("/fhircast/STU2", Ot(t), F.FORM_URL_ENCODED);
|
|
5441
|
+
}
|
|
5442
|
+
fhircastConnect(t) {
|
|
5443
|
+
return new We(t);
|
|
5444
|
+
}
|
|
5445
|
+
async fhircastPublish(t, n, i2) {
|
|
5446
|
+
return this.post(`/fhircast/STU2/${t}`, Hr(t, n, i2), F.JSON);
|
|
5200
5447
|
}
|
|
5201
5448
|
async invite(t, n) {
|
|
5202
5449
|
return this.post("admin/projects/" + t + "/invite", n);
|
|
5203
5450
|
}
|
|
5204
5451
|
async fetchTokens(t) {
|
|
5205
|
-
let n = { method: "POST", headers: { "Content-Type":
|
|
5452
|
+
let n = { method: "POST", headers: { "Content-Type": F.FORM_URL_ENCODED }, body: t.toString(), credentials: "include" }, i2 = n.headers;
|
|
5206
5453
|
this.basicAuth && (i2.Authorization = `Basic ${this.basicAuth}`);
|
|
5207
5454
|
let o = await this.fetchWithRetry(this.tokenUrl, n);
|
|
5208
5455
|
if (!o.ok) {
|
|
5209
5456
|
this.clearActiveLogin();
|
|
5210
5457
|
try {
|
|
5211
5458
|
let a = await o.json();
|
|
5212
|
-
throw new
|
|
5459
|
+
throw new d(O(a.error_description));
|
|
5213
5460
|
} catch (a) {
|
|
5214
|
-
throw new
|
|
5461
|
+
throw new d(O("Failed to fetch tokens"), a);
|
|
5215
5462
|
}
|
|
5216
5463
|
}
|
|
5217
5464
|
let s = await o.json();
|
|
@@ -5219,8 +5466,8 @@ var Br = class extends We {
|
|
|
5219
5466
|
}
|
|
5220
5467
|
async verifyTokens(t) {
|
|
5221
5468
|
let n = t.access_token;
|
|
5222
|
-
if (
|
|
5223
|
-
let i2 =
|
|
5469
|
+
if (Qr(n)) {
|
|
5470
|
+
let i2 = Dt(n);
|
|
5224
5471
|
if (Date.now() >= i2.exp * 1e3)
|
|
5225
5472
|
throw this.clearActiveLogin(), new Error("Token expired");
|
|
5226
5473
|
if (i2.cid) {
|
|
@@ -5244,21 +5491,21 @@ var Br = class extends We {
|
|
|
5244
5491
|
throw i2;
|
|
5245
5492
|
}
|
|
5246
5493
|
};
|
|
5247
|
-
function
|
|
5494
|
+
function eo() {
|
|
5248
5495
|
if (!globalThis.fetch)
|
|
5249
5496
|
throw new Error("Fetch not available in this environment");
|
|
5250
5497
|
return globalThis.fetch.bind(globalThis);
|
|
5251
5498
|
}
|
|
5252
|
-
function
|
|
5499
|
+
function Jr() {
|
|
5253
5500
|
return typeof window > "u" ? "" : window.location.protocol + "//" + window.location.host + "/";
|
|
5254
5501
|
}
|
|
5255
|
-
function
|
|
5502
|
+
function Yr(r4) {
|
|
5256
5503
|
return r4.endsWith("/") ? r4 : r4 + "/";
|
|
5257
5504
|
}
|
|
5258
5505
|
function ze(r4, e) {
|
|
5259
5506
|
return new URL(e, r4).toString();
|
|
5260
5507
|
}
|
|
5261
|
-
async function
|
|
5508
|
+
async function Xr(r4) {
|
|
5262
5509
|
let e = r4.headers.get("content-location");
|
|
5263
5510
|
if (e)
|
|
5264
5511
|
return e;
|
|
@@ -5266,18 +5513,18 @@ async function jr(r4) {
|
|
|
5266
5513
|
if (t)
|
|
5267
5514
|
return t;
|
|
5268
5515
|
let n = await r4.json();
|
|
5269
|
-
if (
|
|
5516
|
+
if (ye(n) && n.issue?.[0]?.diagnostics)
|
|
5270
5517
|
return n.issue[0].diagnostics;
|
|
5271
5518
|
}
|
|
5272
|
-
function
|
|
5519
|
+
function Zr(r4) {
|
|
5273
5520
|
let e = r4.entry?.map((t) => t.resource) ?? [];
|
|
5274
5521
|
return Object.assign(e, { bundle: r4 });
|
|
5275
5522
|
}
|
|
5276
|
-
var
|
|
5277
|
-
var
|
|
5278
|
-
var
|
|
5279
|
-
var
|
|
5280
|
-
var
|
|
5523
|
+
var to = [...ce, "->", "<<", ">>"];
|
|
5524
|
+
var ro = ue().registerInfix("->", { precedence: f.Arrow }).registerInfix(";", { precedence: f.Semicolon });
|
|
5525
|
+
var no = [...ce, "eq", "ne", "co"];
|
|
5526
|
+
var so = ue();
|
|
5527
|
+
var G = class {
|
|
5281
5528
|
constructor(e = "\r", t = "|", n = "^", i2 = "~", o = "\\", s = "&") {
|
|
5282
5529
|
this.segmentSeparator = e;
|
|
5283
5530
|
this.fieldSeparator = t;
|
|
@@ -5293,8 +5540,8 @@ var H = class {
|
|
|
5293
5540
|
return this.componentSeparator + this.repetitionSeparator + this.escapeCharacter + this.subcomponentSeparator;
|
|
5294
5541
|
}
|
|
5295
5542
|
};
|
|
5296
|
-
var
|
|
5297
|
-
constructor(e, t = new
|
|
5543
|
+
var nn = class r {
|
|
5544
|
+
constructor(e, t = new G()) {
|
|
5298
5545
|
this.context = t, this.segments = e;
|
|
5299
5546
|
}
|
|
5300
5547
|
get header() {
|
|
@@ -5317,7 +5564,7 @@ var Gr = class r {
|
|
|
5317
5564
|
}
|
|
5318
5565
|
buildAck() {
|
|
5319
5566
|
let e = /* @__PURE__ */ new Date(), t = this.getSegment("MSH"), n = t?.getField(3)?.toString() ?? "", i2 = t?.getField(4)?.toString() ?? "", o = t?.getField(5)?.toString() ?? "", s = t?.getField(6)?.toString() ?? "", a = t?.getField(10)?.toString() ?? "", c2 = t?.getField(12)?.toString() ?? "2.5.1";
|
|
5320
|
-
return new r([new
|
|
5567
|
+
return new r([new me(["MSH", this.context.getMsh2(), o, s, n, i2, co(e), "", this.buildAckMessageType(t), e.getTime().toString(), "P", c2], this.context), new me(["MSA", "AA", a, "OK"], this.context)]);
|
|
5321
5568
|
}
|
|
5322
5569
|
buildAckMessageType(e) {
|
|
5323
5570
|
let t = e?.getField(9), n = t?.getComponent(2), i2 = t?.getComponent(3), o = "ACK";
|
|
@@ -5328,13 +5575,13 @@ var Gr = class r {
|
|
|
5328
5575
|
let n = new Error("Invalid HL7 message");
|
|
5329
5576
|
throw n.type = "entity.parse.failed", n;
|
|
5330
5577
|
}
|
|
5331
|
-
let t = new
|
|
5332
|
-
return new r(e.split(/[\r\n]+/).map((n) =>
|
|
5578
|
+
let t = new G("\r", e.charAt(3), e.charAt(4), e.charAt(5), e.charAt(6), e.charAt(7));
|
|
5579
|
+
return new r(e.split(/[\r\n]+/).map((n) => me.parse(n, t)), t);
|
|
5333
5580
|
}
|
|
5334
5581
|
};
|
|
5335
|
-
var
|
|
5336
|
-
constructor(e, t = new
|
|
5337
|
-
this.context = t,
|
|
5582
|
+
var me = class r2 {
|
|
5583
|
+
constructor(e, t = new G()) {
|
|
5584
|
+
this.context = t, er(e) ? this.fields = e.map((n) => oe.parse(n, t)) : this.fields = e, this.name = this.fields[0].components[0][0];
|
|
5338
5585
|
}
|
|
5339
5586
|
get(e) {
|
|
5340
5587
|
return this.fields[e];
|
|
@@ -5356,12 +5603,12 @@ var ye = class r2 {
|
|
|
5356
5603
|
toString() {
|
|
5357
5604
|
return this.fields.map((e) => e.toString()).join(this.context.fieldSeparator);
|
|
5358
5605
|
}
|
|
5359
|
-
static parse(e, t = new
|
|
5606
|
+
static parse(e, t = new G()) {
|
|
5360
5607
|
return new r2(e.split(t.fieldSeparator).map((n) => oe.parse(n, t)), t);
|
|
5361
5608
|
}
|
|
5362
5609
|
};
|
|
5363
5610
|
var oe = class r3 {
|
|
5364
|
-
constructor(e, t = new
|
|
5611
|
+
constructor(e, t = new G()) {
|
|
5365
5612
|
this.context = t, this.components = e;
|
|
5366
5613
|
}
|
|
5367
5614
|
get(e, t, n = 0) {
|
|
@@ -5374,11 +5621,11 @@ var oe = class r3 {
|
|
|
5374
5621
|
toString() {
|
|
5375
5622
|
return this.components.map((e) => e.join(this.context.componentSeparator)).join(this.context.repetitionSeparator);
|
|
5376
5623
|
}
|
|
5377
|
-
static parse(e, t = new
|
|
5624
|
+
static parse(e, t = new G()) {
|
|
5378
5625
|
return new r3(e.split(t.repetitionSeparator).map((n) => n.split(t.componentSeparator)), t);
|
|
5379
5626
|
}
|
|
5380
5627
|
};
|
|
5381
|
-
function
|
|
5628
|
+
function co(r4) {
|
|
5382
5629
|
let e = r4 instanceof Date ? r4 : new Date(r4), n = e.toISOString().replace(/[-:T]/g, "").replace(/(\.\d+)?Z$/, ""), i2 = e.getUTCMilliseconds();
|
|
5383
5630
|
return i2 > 0 && (n += "." + i2.toString()), n;
|
|
5384
5631
|
}
|
|
@@ -5393,8 +5640,8 @@ var i = class extends EventTarget {
|
|
|
5393
5640
|
super.removeEventListener(n, e, t);
|
|
5394
5641
|
}
|
|
5395
5642
|
};
|
|
5396
|
-
var
|
|
5397
|
-
var
|
|
5643
|
+
var m = String.fromCharCode(11);
|
|
5644
|
+
var p = String.fromCharCode(28);
|
|
5398
5645
|
var v2 = String.fromCharCode(13);
|
|
5399
5646
|
var d2 = class extends Event {
|
|
5400
5647
|
constructor(e, t) {
|
|
@@ -5403,7 +5650,7 @@ var d2 = class extends Event {
|
|
|
5403
5650
|
this.message = t;
|
|
5404
5651
|
}
|
|
5405
5652
|
};
|
|
5406
|
-
var
|
|
5653
|
+
var l2 = class extends Event {
|
|
5407
5654
|
constructor(e) {
|
|
5408
5655
|
super("error");
|
|
5409
5656
|
this.error = e;
|
|
@@ -5417,19 +5664,19 @@ var c = class extends i {
|
|
|
5417
5664
|
let o = "";
|
|
5418
5665
|
e.on("data", (s) => {
|
|
5419
5666
|
try {
|
|
5420
|
-
if (o += s.toString(), o.endsWith(
|
|
5421
|
-
let r4 =
|
|
5667
|
+
if (o += s.toString(), o.endsWith(p + v2)) {
|
|
5668
|
+
let r4 = nn.parse(o.substring(1, o.length - 2));
|
|
5422
5669
|
this.dispatchEvent(new d2(this, r4)), o = "";
|
|
5423
5670
|
}
|
|
5424
5671
|
} catch (r4) {
|
|
5425
|
-
this.dispatchEvent(new
|
|
5672
|
+
this.dispatchEvent(new l2(r4));
|
|
5426
5673
|
}
|
|
5427
5674
|
}).setEncoding(t ?? "utf-8"), e.on("error", (s) => {
|
|
5428
|
-
o = "", this.dispatchEvent(new
|
|
5675
|
+
o = "", this.dispatchEvent(new l2(s));
|
|
5429
5676
|
});
|
|
5430
5677
|
}
|
|
5431
5678
|
send(e) {
|
|
5432
|
-
this.socket.write(
|
|
5679
|
+
this.socket.write(m + e.toString() + p + v2);
|
|
5433
5680
|
}
|
|
5434
5681
|
async sendAndWait(e) {
|
|
5435
5682
|
let t = new Promise((o) => {
|
|
@@ -5546,7 +5793,7 @@ var AgentHl7ChannelConnection = class {
|
|
|
5546
5793
|
type: "connect",
|
|
5547
5794
|
accessToken: medplum.getAccessToken(),
|
|
5548
5795
|
agentId: channel.app.agentId,
|
|
5549
|
-
botId:
|
|
5796
|
+
botId: _o(channel.definition.targetReference)
|
|
5550
5797
|
})
|
|
5551
5798
|
);
|
|
5552
5799
|
});
|
|
@@ -5562,7 +5809,7 @@ var AgentHl7ChannelConnection = class {
|
|
|
5562
5809
|
this.trySendToWebSocket();
|
|
5563
5810
|
break;
|
|
5564
5811
|
case "transmit":
|
|
5565
|
-
this.hl7ConnectionQueue.push(
|
|
5812
|
+
this.hl7ConnectionQueue.push(nn.parse(command.message));
|
|
5566
5813
|
this.trySendToHl7Connection();
|
|
5567
5814
|
break;
|
|
5568
5815
|
}
|
|
@@ -5616,7 +5863,7 @@ if (typeof require !== "undefined" && require.main === module) {
|
|
|
5616
5863
|
process.exit(1);
|
|
5617
5864
|
}
|
|
5618
5865
|
const [_node, _script, baseUrl, clientId, clientSecret, agentId] = process.argv;
|
|
5619
|
-
const medplum = new
|
|
5866
|
+
const medplum = new zr({ baseUrl, clientId });
|
|
5620
5867
|
medplum.startClientLogin(clientId, clientSecret).then(() => new App(medplum, agentId).start()).catch(console.error);
|
|
5621
5868
|
}
|
|
5622
5869
|
// Annotate the CommonJS export names for ESM import in node:
|