@medplum/agent 5.0.13 → 5.0.15

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.
Files changed (2) hide show
  1. package/dist/cjs/index.cjs +906 -879
  2. package/package.json +6 -6
@@ -8845,7 +8845,7 @@ var require_stream = __commonJS({
8845
8845
  this.emit("error", err);
8846
8846
  }
8847
8847
  }
8848
- function createWebSocketStream2(ws2, options) {
8848
+ function createWebSocketStream2(ws, options) {
8849
8849
  let terminateOnDestroy = true;
8850
8850
  const duplex = new Duplex({
8851
8851
  ...options,
@@ -8854,65 +8854,65 @@ var require_stream = __commonJS({
8854
8854
  objectMode: false,
8855
8855
  writableObjectMode: false
8856
8856
  });
8857
- ws2.on("message", function message(msg, isBinary) {
8857
+ ws.on("message", function message(msg, isBinary) {
8858
8858
  const data2 = !isBinary && duplex._readableState.objectMode ? msg.toString() : msg;
8859
- if (!duplex.push(data2)) ws2.pause();
8859
+ if (!duplex.push(data2)) ws.pause();
8860
8860
  });
8861
- ws2.once("error", function error(err) {
8861
+ ws.once("error", function error(err) {
8862
8862
  if (duplex.destroyed) return;
8863
8863
  terminateOnDestroy = false;
8864
8864
  duplex.destroy(err);
8865
8865
  });
8866
- ws2.once("close", function close() {
8866
+ ws.once("close", function close() {
8867
8867
  if (duplex.destroyed) return;
8868
8868
  duplex.push(null);
8869
8869
  });
8870
8870
  duplex._destroy = function(err, callback) {
8871
- if (ws2.readyState === ws2.CLOSED) {
8871
+ if (ws.readyState === ws.CLOSED) {
8872
8872
  callback(err);
8873
8873
  process.nextTick(emitClose, duplex);
8874
8874
  return;
8875
8875
  }
8876
8876
  let called = false;
8877
- ws2.once("error", function error(err2) {
8877
+ ws.once("error", function error(err2) {
8878
8878
  called = true;
8879
8879
  callback(err2);
8880
8880
  });
8881
- ws2.once("close", function close() {
8881
+ ws.once("close", function close() {
8882
8882
  if (!called) callback(err);
8883
8883
  process.nextTick(emitClose, duplex);
8884
8884
  });
8885
- if (terminateOnDestroy) ws2.terminate();
8885
+ if (terminateOnDestroy) ws.terminate();
8886
8886
  };
8887
8887
  duplex._final = function(callback) {
8888
- if (ws2.readyState === ws2.CONNECTING) {
8889
- ws2.once("open", function open() {
8888
+ if (ws.readyState === ws.CONNECTING) {
8889
+ ws.once("open", function open() {
8890
8890
  duplex._final(callback);
8891
8891
  });
8892
8892
  return;
8893
8893
  }
8894
- if (ws2._socket === null) return;
8895
- if (ws2._socket._writableState.finished) {
8894
+ if (ws._socket === null) return;
8895
+ if (ws._socket._writableState.finished) {
8896
8896
  callback();
8897
8897
  if (duplex._readableState.endEmitted) duplex.destroy();
8898
8898
  } else {
8899
- ws2._socket.once("finish", function finish() {
8899
+ ws._socket.once("finish", function finish() {
8900
8900
  callback();
8901
8901
  });
8902
- ws2.close();
8902
+ ws.close();
8903
8903
  }
8904
8904
  };
8905
8905
  duplex._read = function() {
8906
- if (ws2.isPaused) ws2.resume();
8906
+ if (ws.isPaused) ws.resume();
8907
8907
  };
8908
8908
  duplex._write = function(chunk, encoding, callback) {
8909
- if (ws2.readyState === ws2.CONNECTING) {
8910
- ws2.once("open", function open() {
8909
+ if (ws.readyState === ws.CONNECTING) {
8910
+ ws.once("open", function open() {
8911
8911
  duplex._write(chunk, encoding, callback);
8912
8912
  });
8913
8913
  return;
8914
8914
  }
8915
- ws2.send(chunk, callback);
8915
+ ws.send(chunk, callback);
8916
8916
  };
8917
8917
  duplex.on("end", duplexOnEnd);
8918
8918
  duplex.on("error", duplexOnError);
@@ -9282,12 +9282,12 @@ var require_websocket_server = __commonJS({
9282
9282
  "Connection: Upgrade",
9283
9283
  `Sec-WebSocket-Accept: ${digest}`
9284
9284
  ];
9285
- const ws2 = new this.options.WebSocket(null, void 0, this.options);
9285
+ const ws = new this.options.WebSocket(null, void 0, this.options);
9286
9286
  if (protocols.size) {
9287
9287
  const protocol = this.options.handleProtocols ? this.options.handleProtocols(protocols, req) : protocols.values().next().value;
9288
9288
  if (protocol) {
9289
9289
  headers.push(`Sec-WebSocket-Protocol: ${protocol}`);
9290
- ws2._protocol = protocol;
9290
+ ws._protocol = protocol;
9291
9291
  }
9292
9292
  }
9293
9293
  if (extensions[PerMessageDeflate.extensionName]) {
@@ -9296,26 +9296,26 @@ var require_websocket_server = __commonJS({
9296
9296
  [PerMessageDeflate.extensionName]: [params]
9297
9297
  });
9298
9298
  headers.push(`Sec-WebSocket-Extensions: ${value}`);
9299
- ws2._extensions = extensions;
9299
+ ws._extensions = extensions;
9300
9300
  }
9301
9301
  this.emit("headers", headers, req);
9302
9302
  socket.write(headers.concat("\r\n").join("\r\n"));
9303
9303
  socket.removeListener("error", socketOnError);
9304
- ws2.setSocket(socket, head, {
9304
+ ws.setSocket(socket, head, {
9305
9305
  allowSynchronousEvents: this.options.allowSynchronousEvents,
9306
9306
  maxPayload: this.options.maxPayload,
9307
9307
  skipUTF8Validation: this.options.skipUTF8Validation
9308
9308
  });
9309
9309
  if (this.clients) {
9310
- this.clients.add(ws2);
9311
- ws2.on("close", () => {
9312
- this.clients.delete(ws2);
9310
+ this.clients.add(ws);
9311
+ ws.on("close", () => {
9312
+ this.clients.delete(ws);
9313
9313
  if (this._shouldEmitClose && !this.clients.size) {
9314
9314
  process.nextTick(emitClose, this);
9315
9315
  }
9316
9316
  });
9317
9317
  }
9318
- cb(ws2, req);
9318
+ cb(ws, req);
9319
9319
  }
9320
9320
  };
9321
9321
  module2.exports = WebSocketServer2;
@@ -16094,8 +16094,8 @@ var require_dcmjs = __commonJS({
16094
16094
  key: "writeBytes",
16095
16095
  value: function writeBytes(stream, value, writeOptions) {
16096
16096
  var _this8 = this;
16097
- var val = Array.isArray(value) ? value.map(function(ds2) {
16098
- return _this8.convertToString(ds2);
16097
+ var val = Array.isArray(value) ? value.map(function(ds) {
16098
+ return _this8.convertToString(ds);
16099
16099
  }) : [this.convertToString(value)];
16100
16100
  return _get(_getPrototypeOf(DecimalString2.prototype), "writeBytes", this).call(this, stream, val, writeOptions);
16101
16101
  }
@@ -17128,8 +17128,8 @@ var require_dcmjs = __commonJS({
17128
17128
  if (keys1.length !== keys2.length) {
17129
17129
  return false;
17130
17130
  }
17131
- for (var _i2 = 0, _keys = keys1; _i2 < _keys.length; _i2++) {
17132
- var key = _keys[_i2];
17131
+ for (var _i = 0, _keys = keys1; _i < _keys.length; _i++) {
17132
+ var key = _keys[_i];
17133
17133
  if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
17134
17134
  return false;
17135
17135
  }
@@ -18408,8 +18408,8 @@ var require_dcmjs = __commonJS({
18408
18408
  }, {
18409
18409
  key: "isMultiframeDataset",
18410
18410
  value: function isMultiframeDataset() {
18411
- var ds2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.dataset;
18412
- var sopClassUID = ds2.SOPClassUID.replace(/[^0-9.]/g, "");
18411
+ var ds = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.dataset;
18412
+ var sopClassUID = ds.SOPClassUID.replace(/[^0-9.]/g, "");
18413
18413
  return Normalizer2.isMultiframeSOPClassUID(sopClassUID);
18414
18414
  }
18415
18415
  }, {
@@ -18449,16 +18449,16 @@ var require_dcmjs = __commonJS({
18449
18449
  }
18450
18450
  this.derivation = new DerivedImage(this.datasets);
18451
18451
  this.dataset = this.derivation.dataset;
18452
- var ds2 = this.dataset;
18452
+ var ds = this.dataset;
18453
18453
  var referenceDataset = this.datasets[0];
18454
- ds2.NumberOfFrames = this.datasets.length;
18455
- ds2.SOPClassUID = referenceDataset.SOPClassUID;
18456
- ds2.Rows = referenceDataset.Rows;
18457
- ds2.Columns = referenceDataset.Columns;
18458
- ds2.BitsAllocated = referenceDataset.BitsAllocated;
18459
- ds2.PixelRepresentation = referenceDataset.PixelRepresentation;
18460
- ds2.RescaleSlope = referenceDataset.RescaleSlope || "1";
18461
- ds2.RescaleIntercept = referenceDataset.RescaleIntercept || "0";
18454
+ ds.NumberOfFrames = this.datasets.length;
18455
+ ds.SOPClassUID = referenceDataset.SOPClassUID;
18456
+ ds.Rows = referenceDataset.Rows;
18457
+ ds.Columns = referenceDataset.Columns;
18458
+ ds.BitsAllocated = referenceDataset.BitsAllocated;
18459
+ ds.PixelRepresentation = referenceDataset.PixelRepresentation;
18460
+ ds.RescaleSlope = referenceDataset.RescaleSlope || "1";
18461
+ ds.RescaleIntercept = referenceDataset.RescaleIntercept || "0";
18462
18462
  var referencePosition = referenceDataset.ImagePositionPatient;
18463
18463
  var rowVector = referenceDataset.ImageOrientationPatient.slice(0, 3);
18464
18464
  var columnVector = referenceDataset.ImageOrientationPatient.slice(3, 6);
@@ -18473,43 +18473,43 @@ var require_dcmjs = __commonJS({
18473
18473
  distanceDatasetPairs.sort(function(a, b3) {
18474
18474
  return b3[0] - a[0];
18475
18475
  });
18476
- if (ds2.BitsAllocated !== 16) {
18476
+ if (ds.BitsAllocated !== 16) {
18477
18477
  log2.error("Only works with 16 bit data, not " + String(this.dataset.BitsAllocated));
18478
18478
  }
18479
18479
  if (referenceDataset._vrMap && !referenceDataset._vrMap.PixelData) {
18480
18480
  log2.warn("No vr map given for pixel data, using OW");
18481
- ds2._vrMap = {
18481
+ ds._vrMap = {
18482
18482
  PixelData: "OW"
18483
18483
  };
18484
18484
  } else {
18485
- ds2._vrMap = {
18485
+ ds._vrMap = {
18486
18486
  PixelData: referenceDataset._vrMap.PixelData
18487
18487
  };
18488
18488
  }
18489
18489
  var frameSize = referenceDataset.PixelData.byteLength;
18490
- ds2.PixelData = new ArrayBuffer(ds2.NumberOfFrames * frameSize);
18490
+ ds.PixelData = new ArrayBuffer(ds.NumberOfFrames * frameSize);
18491
18491
  var frame = 0;
18492
18492
  distanceDatasetPairs.forEach(function(pair) {
18493
18493
  var dataset = pair[1];
18494
18494
  var pixels = new Uint16Array(dataset.PixelData);
18495
- var frameView = new Uint16Array(ds2.PixelData, frame * frameSize, frameSize / 2);
18495
+ var frameView = new Uint16Array(ds.PixelData, frame * frameSize, frameSize / 2);
18496
18496
  try {
18497
18497
  frameView.set(pixels);
18498
18498
  } catch (e) {
18499
18499
  if (e instanceof RangeError) {
18500
- var message2 = "Error inserting pixels in PixelData\n" + "frameSize ".concat(frameSize, "\n") + "NumberOfFrames ".concat(ds2.NumberOfFrames, "\n") + "pair ".concat(pair, "\n") + "dataset PixelData size ".concat(dataset.PixelData.length);
18500
+ var message2 = "Error inserting pixels in PixelData\n" + "frameSize ".concat(frameSize, "\n") + "NumberOfFrames ".concat(ds.NumberOfFrames, "\n") + "pair ".concat(pair, "\n") + "dataset PixelData size ".concat(dataset.PixelData.length);
18501
18501
  log2.error(message2);
18502
18502
  }
18503
18503
  }
18504
18504
  frame++;
18505
18505
  });
18506
- if (ds2.NumberOfFrames < 2) {
18506
+ if (ds.NumberOfFrames < 2) {
18507
18507
  log2.error("Cannot populate shared groups uniquely without multiple frames");
18508
18508
  }
18509
18509
  var _distanceDatasetPairs = _slicedToArray(distanceDatasetPairs[0], 2), distance0 = _distanceDatasetPairs[0], dataset0 = _distanceDatasetPairs[1];
18510
18510
  var distance1 = distanceDatasetPairs[1][0];
18511
18511
  var SpacingBetweenSlices = Math.abs(distance1 - distance0);
18512
- ds2.SharedFunctionalGroupsSequence = {
18512
+ ds.SharedFunctionalGroupsSequence = {
18513
18513
  PlaneOrientationSequence: {
18514
18514
  ImageOrientationPatient: dataset0.ImageOrientationPatient
18515
18515
  },
@@ -18519,14 +18519,14 @@ var require_dcmjs = __commonJS({
18519
18519
  SliceThickness: SpacingBetweenSlices
18520
18520
  }
18521
18521
  };
18522
- ds2.ReferencedSeriesSequence = {
18522
+ ds.ReferencedSeriesSequence = {
18523
18523
  SeriesInstanceUID: dataset0.SeriesInstanceUID,
18524
18524
  ReferencedInstanceSequence: []
18525
18525
  };
18526
- ds2.PerFrameFunctionalGroupsSequence = [];
18526
+ ds.PerFrameFunctionalGroupsSequence = [];
18527
18527
  distanceDatasetPairs.forEach(function(pair) {
18528
18528
  var dataset = pair[1];
18529
- ds2.PerFrameFunctionalGroupsSequence.push({
18529
+ ds.PerFrameFunctionalGroupsSequence.push({
18530
18530
  PlanePositionSequence: {
18531
18531
  ImagePositionPatient: dataset.ImagePositionPatient
18532
18532
  },
@@ -18535,7 +18535,7 @@ var require_dcmjs = __commonJS({
18535
18535
  WindowWidth: dataset.WindowWidth
18536
18536
  }
18537
18537
  });
18538
- ds2.ReferencedSeriesSequence.ReferencedInstanceSequence.push({
18538
+ ds.ReferencedSeriesSequence.ReferencedInstanceSequence.push({
18539
18539
  ReferencedSOPClassUID: dataset.SOPClassUID,
18540
18540
  ReferencedSOPInstanceUID: dataset.SOPInstanceUID
18541
18541
  });
@@ -18555,29 +18555,29 @@ var require_dcmjs = __commonJS({
18555
18555
  }, {
18556
18556
  key: "normalizeMultiframe",
18557
18557
  value: function normalizeMultiframe() {
18558
- var ds2 = this.dataset;
18559
- if (!ds2.NumberOfFrames) {
18558
+ var ds = this.dataset;
18559
+ if (!ds.NumberOfFrames) {
18560
18560
  log2.error("Missing number or frames not supported");
18561
18561
  return;
18562
18562
  }
18563
- if (!ds2.PixelRepresentation) {
18564
- ds2.PixelRepresentation = 1;
18563
+ if (!ds.PixelRepresentation) {
18564
+ ds.PixelRepresentation = 1;
18565
18565
  }
18566
- if (!ds2.StudyID || ds2.StudyID === "") {
18567
- ds2.StudyID = "No Study ID";
18566
+ if (!ds.StudyID || ds.StudyID === "") {
18567
+ ds.StudyID = "No Study ID";
18568
18568
  }
18569
18569
  var validLateralities = ["R", "L"];
18570
- if (validLateralities.indexOf(ds2.Laterality) === -1) {
18571
- delete ds2.Laterality;
18570
+ if (validLateralities.indexOf(ds.Laterality) === -1) {
18571
+ delete ds.Laterality;
18572
18572
  }
18573
- if (!ds2.PresentationLUTShape) {
18574
- ds2.PresentationLUTShape = "IDENTITY";
18573
+ if (!ds.PresentationLUTShape) {
18574
+ ds.PresentationLUTShape = "IDENTITY";
18575
18575
  }
18576
- if (!ds2.SharedFunctionalGroupsSequence) {
18576
+ if (!ds.SharedFunctionalGroupsSequence) {
18577
18577
  log2.error("Can only process multiframe data with SharedFunctionalGroupsSequence");
18578
18578
  }
18579
- if (ds2.BodyPartExamined === "PROSTATE") {
18580
- ds2.SharedFunctionalGroupsSequence.FrameAnatomySequence = {
18579
+ if (ds.BodyPartExamined === "PROSTATE") {
18580
+ ds.SharedFunctionalGroupsSequence.FrameAnatomySequence = {
18581
18581
  AnatomicRegionSequence: {
18582
18582
  CodeValue: "T-9200B",
18583
18583
  CodingSchemeDesignator: "SRT",
@@ -18586,17 +18586,17 @@ var require_dcmjs = __commonJS({
18586
18586
  FrameLaterality: "U"
18587
18587
  };
18588
18588
  }
18589
- var rescaleIntercept = ds2.RescaleIntercept || 0;
18590
- var rescaleSlope = ds2.RescaleSlope || 1;
18591
- ds2.SharedFunctionalGroupsSequence.PixelValueTransformationSequence = {
18589
+ var rescaleIntercept = ds.RescaleIntercept || 0;
18590
+ var rescaleSlope = ds.RescaleSlope || 1;
18591
+ ds.SharedFunctionalGroupsSequence.PixelValueTransformationSequence = {
18592
18592
  RescaleIntercept: rescaleIntercept,
18593
18593
  RescaleSlope: rescaleSlope,
18594
18594
  RescaleType: "US"
18595
18595
  };
18596
18596
  var frameNumber = 1;
18597
18597
  this.datasets.forEach(function(dataset) {
18598
- if (ds2.NumberOfFrames === 1) ds2.PerFrameFunctionalGroupsSequence = [ds2.PerFrameFunctionalGroupsSequence];
18599
- ds2.PerFrameFunctionalGroupsSequence[frameNumber - 1].FrameContentSequence = {
18598
+ if (ds.NumberOfFrames === 1) ds.PerFrameFunctionalGroupsSequence = [ds.PerFrameFunctionalGroupsSequence];
18599
+ ds.PerFrameFunctionalGroupsSequence[frameNumber - 1].FrameContentSequence = {
18600
18600
  FrameAcquisitionDuration: 0,
18601
18601
  StackID: 1,
18602
18602
  InStackPositionNumber: frameNumber,
@@ -18604,30 +18604,30 @@ var require_dcmjs = __commonJS({
18604
18604
  };
18605
18605
  var frameTime = dataset.AcquisitionDate + dataset.AcquisitionTime;
18606
18606
  if (!isNaN(frameTime)) {
18607
- var frameContentSequence = ds2.PerFrameFunctionalGroupsSequence[frameNumber - 1].FrameContentSequence;
18607
+ var frameContentSequence = ds.PerFrameFunctionalGroupsSequence[frameNumber - 1].FrameContentSequence;
18608
18608
  frameContentSequence.FrameAcquisitionDateTime = frameTime;
18609
18609
  frameContentSequence.FrameReferenceDateTime = frameTime;
18610
18610
  }
18611
18611
  frameNumber++;
18612
18612
  });
18613
- if (ds2.WindowCenter && ds2.WindowWidth) {
18614
- if (!Array.isArray(ds2.WindowCenter)) {
18615
- ds2.WindowCenter = [ds2.WindowCenter];
18613
+ if (ds.WindowCenter && ds.WindowWidth) {
18614
+ if (!Array.isArray(ds.WindowCenter)) {
18615
+ ds.WindowCenter = [ds.WindowCenter];
18616
18616
  }
18617
- if (!Array.isArray(ds2.WindowWidth)) {
18618
- ds2.WindowWidth = [ds2.WindowWidth];
18617
+ if (!Array.isArray(ds.WindowWidth)) {
18618
+ ds.WindowWidth = [ds.WindowWidth];
18619
18619
  }
18620
18620
  }
18621
- if (!ds2.WindowCenter || !ds2.WindowWidth) {
18622
- ds2.WindowCenter = [];
18623
- ds2.WindowWidth = [];
18624
- if (ds2.PerFrameFunctionalGroupsSequence) {
18621
+ if (!ds.WindowCenter || !ds.WindowWidth) {
18622
+ ds.WindowCenter = [];
18623
+ ds.WindowWidth = [];
18624
+ if (ds.PerFrameFunctionalGroupsSequence) {
18625
18625
  var wcww = {
18626
18626
  center: 0,
18627
18627
  width: 0,
18628
18628
  count: 0
18629
18629
  };
18630
- ds2.PerFrameFunctionalGroupsSequence.forEach(function(functionalGroup) {
18630
+ ds.PerFrameFunctionalGroupsSequence.forEach(function(functionalGroup) {
18631
18631
  if (functionalGroup.FrameVOILUT) {
18632
18632
  var wc = functionalGroup.FrameVOILUTSequence.WindowCenter;
18633
18633
  var ww = functionalGroup.FrameVOILUTSequence.WindowWidth;
@@ -18645,16 +18645,16 @@ var require_dcmjs = __commonJS({
18645
18645
  }
18646
18646
  });
18647
18647
  if (wcww.count > 0) {
18648
- ds2.WindowCenter.push(String(wcww.center / wcww.count));
18649
- ds2.WindowWidth.push(String(wcww.width / wcww.count));
18648
+ ds.WindowCenter.push(String(wcww.center / wcww.count));
18649
+ ds.WindowWidth.push(String(wcww.width / wcww.count));
18650
18650
  }
18651
18651
  }
18652
18652
  }
18653
- if (ds2.WindowCenter.length === 0) {
18654
- ds2.WindowCenter = [300];
18653
+ if (ds.WindowCenter.length === 0) {
18654
+ ds.WindowCenter = [300];
18655
18655
  }
18656
- if (ds2.WindowWidth.length === 0) {
18657
- ds2.WindowWidth = [500];
18656
+ if (ds.WindowWidth.length === 0) {
18657
+ ds.WindowWidth = [500];
18658
18658
  }
18659
18659
  }
18660
18660
  }], [{
@@ -18700,12 +18700,12 @@ var require_dcmjs = __commonJS({
18700
18700
  key: "normalizeMultiframe",
18701
18701
  value: function normalizeMultiframe() {
18702
18702
  _get(_getPrototypeOf(MRImageNormalizer2.prototype), "normalizeMultiframe", this).call(this);
18703
- var ds2 = this.dataset;
18704
- if (!ds2.ImageType || !ds2.ImageType.constructor || ds2.ImageType.constructor.name != "Array" || ds2.ImageType.length != 4) {
18705
- ds2.ImageType = ["ORIGINAL", "PRIMARY", "OTHER", "NONE"];
18703
+ var ds = this.dataset;
18704
+ if (!ds.ImageType || !ds.ImageType.constructor || ds.ImageType.constructor.name != "Array" || ds.ImageType.length != 4) {
18705
+ ds.ImageType = ["ORIGINAL", "PRIMARY", "OTHER", "NONE"];
18706
18706
  }
18707
- ds2.SharedFunctionalGroupsSequence.MRImageFrameTypeSequence = {
18708
- FrameType: ds2.ImageType,
18707
+ ds.SharedFunctionalGroupsSequence.MRImageFrameTypeSequence = {
18708
+ FrameType: ds.ImageType,
18709
18709
  PixelPresentation: "MONOCHROME",
18710
18710
  VolumetricProperties: "VOLUME",
18711
18711
  VolumeBasedCalculationTechnique: "NONE",
@@ -18830,9 +18830,9 @@ var require_dcmjs = __commonJS({
18830
18830
  key: "normalize",
18831
18831
  value: function normalize3() {
18832
18832
  _get(_getPrototypeOf(PMImageNormalizer2.prototype), "normalize", this).call(this);
18833
- var ds2 = this.datasets[0];
18834
- if (ds2.BitsAllocated !== 32) {
18835
- log2.error("Only works with 32 bit data, not " + String(ds2.BitsAllocated));
18833
+ var ds = this.datasets[0];
18834
+ if (ds.BitsAllocated !== 32) {
18835
+ log2.error("Only works with 32 bit data, not " + String(ds.BitsAllocated));
18836
18836
  }
18837
18837
  }
18838
18838
  }]);
@@ -19636,8 +19636,8 @@ var require_dcmjs = __commonJS({
19636
19636
  return contentItem.ConceptNameCodeSequence.CodeMeaning === TRACKING_IDENTIFIER;
19637
19637
  });
19638
19638
  var TrackingIdentifierValue = TrackingIdentifierGroup.TextValue;
19639
- var toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(function(tc) {
19640
- return tc.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue);
19639
+ var toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(function(tc2) {
19640
+ return tc2.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue);
19641
19641
  });
19642
19642
  if (toolClass) {
19643
19643
  var measurement = toolClass.getMeasurementData(measurementGroup);
@@ -21149,9 +21149,9 @@ var require_dcmjs = __commonJS({
21149
21149
  NumberOfFrames += referencedFramesPerSegment[i].length;
21150
21150
  }
21151
21151
  seg.setNumberOfFrames(NumberOfFrames);
21152
- for (var _i2 = 0; _i2 < segmentIndicies.length; _i2++) {
21153
- var segmentIndex = segmentIndicies[_i2];
21154
- var referencedFrameIndicies = referencedFramesPerSegment[_i2];
21152
+ for (var _i = 0; _i < segmentIndicies.length; _i++) {
21153
+ var segmentIndex = segmentIndicies[_i];
21154
+ var referencedFrameIndicies = referencedFramesPerSegment[_i];
21155
21155
  var referencedFrameNumbers = referencedFrameIndicies.map(function(element) {
21156
21156
  return element + 1;
21157
21157
  });
@@ -21436,11 +21436,11 @@ var require_dcmjs = __commonJS({
21436
21436
  var bodyLength = rleArray.length % 2 === 0 ? rleArray.length : rleArray.length + 1;
21437
21437
  var encodedFrameBuffer = new ArrayBuffer(headerLength + bodyLength);
21438
21438
  var headerView = new Uint32Array(encodedFrameBuffer, 0, 16);
21439
- for (var _i2 = 0; _i2 < headerView.length; _i2++) {
21440
- headerView[_i2] = header[_i2];
21439
+ for (var _i = 0; _i < headerView.length; _i++) {
21440
+ headerView[_i] = header[_i];
21441
21441
  }
21442
- for (var _i22 = 0; _i22 < headerView.length; _i22++) {
21443
- rleArray.push(headerView[_i22]);
21442
+ for (var _i2 = 0; _i2 < headerView.length; _i2++) {
21443
+ rleArray.push(headerView[_i2]);
21444
21444
  }
21445
21445
  var bodyView = new Uint8Array(encodedFrameBuffer, 64);
21446
21446
  for (var _i3 = 0; _i3 < rleArray.length; _i3++) {
@@ -22138,20 +22138,20 @@ var require_dcmjs = __commonJS({
22138
22138
  referencedFramesPerSegment2[i] = [];
22139
22139
  }
22140
22140
  }
22141
- var _loop22 = function _loop23(_i3) {
22142
- var labelmap2D = labelmaps2D[_i3];
22143
- if (labelmaps2D[_i3]) {
22141
+ var _loop22 = function _loop23(_i2) {
22142
+ var labelmap2D = labelmaps2D[_i2];
22143
+ if (labelmaps2D[_i2]) {
22144
22144
  var segmentsOnLabelmap = labelmap2D.segmentsOnLabelmap;
22145
22145
  segmentsOnLabelmap.forEach(function(segmentIndex2) {
22146
22146
  if (segmentIndex2 !== 0) {
22147
- referencedFramesPerSegment2[segmentIndex2].push(_i3);
22147
+ referencedFramesPerSegment2[segmentIndex2].push(_i2);
22148
22148
  numberOfFrames++;
22149
22149
  }
22150
22150
  });
22151
22151
  }
22152
22152
  };
22153
- for (var _i2 = 0; _i2 < labelmaps2D.length; _i2++) {
22154
- _loop22(_i2);
22153
+ for (var _i = 0; _i < labelmaps2D.length; _i++) {
22154
+ _loop22(_i);
22155
22155
  }
22156
22156
  referencedFramesPerLabelmap[labelmapIndex] = referencedFramesPerSegment2;
22157
22157
  };
@@ -23110,8 +23110,8 @@ var require_dcmjs = __commonJS({
23110
23110
  value: function getCornerstoneLabelFromDefaultState(defaultState) {
23111
23111
  var _defaultState$finding = defaultState.findingSites, findingSites = _defaultState$finding === void 0 ? [] : _defaultState$finding, finding = defaultState.finding;
23112
23112
  var cornersoneFreeTextCodingValue = CodingScheme.codeValues.CORNERSTONEFREETEXT;
23113
- var freeTextLabel = findingSites.find(function(fs4) {
23114
- return fs4.CodeValue === cornersoneFreeTextCodingValue;
23113
+ var freeTextLabel = findingSites.find(function(fs3) {
23114
+ return fs3.CodeValue === cornersoneFreeTextCodingValue;
23115
23115
  });
23116
23116
  if (freeTextLabel) {
23117
23117
  return freeTextLabel.CodeMeaning;
@@ -23297,8 +23297,8 @@ var require_dcmjs = __commonJS({
23297
23297
  return contentItem.ConceptNameCodeSequence.CodeMeaning === TRACKING_IDENTIFIER;
23298
23298
  });
23299
23299
  var TrackingIdentifierValue = TrackingIdentifierGroup.TextValue;
23300
- var toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(function(tc) {
23301
- return tc.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue);
23300
+ var toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(function(tc2) {
23301
+ return tc2.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue);
23302
23302
  });
23303
23303
  if (toolClass) {
23304
23304
  var measurement = toolClass.getMeasurementData(measurementGroup, sopInstanceUIDToImageIdMap, imageToWorldCoords, metadata);
@@ -29040,8 +29040,8 @@ var require_util = __commonJS({
29040
29040
  };
29041
29041
  exports2.nearestCommonProto = nearestCommonProto;
29042
29042
  var hardMixProtos = (ingredients, constructor, exclude = []) => {
29043
- var _a;
29044
- const base = (_a = (0, exports2.nearestCommonProto)(...ingredients)) !== null && _a !== void 0 ? _a : Object.prototype;
29043
+ var _a2;
29044
+ const base = (_a2 = (0, exports2.nearestCommonProto)(...ingredients)) !== null && _a2 !== void 0 ? _a2 : Object.prototype;
29045
29045
  const mixedProto = Object.create(base);
29046
29046
  const visitedProtos = (0, exports2.protoChain)(base);
29047
29047
  for (let prototype of ingredients) {
@@ -29171,8 +29171,8 @@ var require_mixin_tracking = __commonJS({
29171
29171
  frontier.forEach((item) => visited.add(item));
29172
29172
  const newFrontier = /* @__PURE__ */ new Set();
29173
29173
  frontier.forEach((item) => {
29174
- var _a;
29175
- const itemConstituents = (_a = mixins.get(item)) !== null && _a !== void 0 ? _a : (0, util_1.protoChain)(item.prototype).map((proto) => proto.constructor).filter((item2) => item2 !== null);
29174
+ var _a2;
29175
+ const itemConstituents = (_a2 = mixins.get(item)) !== null && _a2 !== void 0 ? _a2 : (0, util_1.protoChain)(item.prototype).map((proto) => proto.constructor).filter((item2) => item2 !== null);
29176
29176
  if (itemConstituents)
29177
29177
  itemConstituents.forEach((constituent) => {
29178
29178
  if (!visited.has(constituent) && !frontier.has(constituent))
@@ -29196,37 +29196,37 @@ var require_decorator = __commonJS({
29196
29196
  var util_1 = require_util();
29197
29197
  var mixin_tracking_1 = require_mixin_tracking();
29198
29198
  var mergeObjectsOfDecorators = (o1, o2) => {
29199
- var _a, _b;
29199
+ var _a2, _b;
29200
29200
  const allKeys = (0, util_1.unique)([...Object.getOwnPropertyNames(o1), ...Object.getOwnPropertyNames(o2)]);
29201
29201
  const mergedObject = {};
29202
29202
  for (let key of allKeys)
29203
- mergedObject[key] = (0, util_1.unique)([...(_a = o1 === null || o1 === void 0 ? void 0 : o1[key]) !== null && _a !== void 0 ? _a : [], ...(_b = o2 === null || o2 === void 0 ? void 0 : o2[key]) !== null && _b !== void 0 ? _b : []]);
29203
+ mergedObject[key] = (0, util_1.unique)([...(_a2 = o1 === null || o1 === void 0 ? void 0 : o1[key]) !== null && _a2 !== void 0 ? _a2 : [], ...(_b = o2 === null || o2 === void 0 ? void 0 : o2[key]) !== null && _b !== void 0 ? _b : []]);
29204
29204
  return mergedObject;
29205
29205
  };
29206
29206
  var mergePropertyAndMethodDecorators = (d1, d2) => {
29207
- var _a, _b, _c2, _d;
29207
+ var _a2, _b, _c2, _d;
29208
29208
  return {
29209
- property: mergeObjectsOfDecorators((_a = d1 === null || d1 === void 0 ? void 0 : d1.property) !== null && _a !== void 0 ? _a : {}, (_b = d2 === null || d2 === void 0 ? void 0 : d2.property) !== null && _b !== void 0 ? _b : {}),
29209
+ property: mergeObjectsOfDecorators((_a2 = d1 === null || d1 === void 0 ? void 0 : d1.property) !== null && _a2 !== void 0 ? _a2 : {}, (_b = d2 === null || d2 === void 0 ? void 0 : d2.property) !== null && _b !== void 0 ? _b : {}),
29210
29210
  method: mergeObjectsOfDecorators((_c2 = d1 === null || d1 === void 0 ? void 0 : d1.method) !== null && _c2 !== void 0 ? _c2 : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.method) !== null && _d !== void 0 ? _d : {})
29211
29211
  };
29212
29212
  };
29213
29213
  var mergeDecorators = (d1, d2) => {
29214
- var _a, _b, _c2, _d, _e2, _f;
29214
+ var _a2, _b, _c2, _d, _e2, _f;
29215
29215
  return {
29216
- class: (0, util_1.unique)([...(_a = d1 === null || d1 === void 0 ? void 0 : d1.class) !== null && _a !== void 0 ? _a : [], ...(_b = d2 === null || d2 === void 0 ? void 0 : d2.class) !== null && _b !== void 0 ? _b : []]),
29216
+ class: (0, util_1.unique)([...(_a2 = d1 === null || d1 === void 0 ? void 0 : d1.class) !== null && _a2 !== void 0 ? _a2 : [], ...(_b = d2 === null || d2 === void 0 ? void 0 : d2.class) !== null && _b !== void 0 ? _b : []]),
29217
29217
  static: mergePropertyAndMethodDecorators((_c2 = d1 === null || d1 === void 0 ? void 0 : d1.static) !== null && _c2 !== void 0 ? _c2 : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.static) !== null && _d !== void 0 ? _d : {}),
29218
29218
  instance: mergePropertyAndMethodDecorators((_e2 = d1 === null || d1 === void 0 ? void 0 : d1.instance) !== null && _e2 !== void 0 ? _e2 : {}, (_f = d2 === null || d2 === void 0 ? void 0 : d2.instance) !== null && _f !== void 0 ? _f : {})
29219
29219
  };
29220
29220
  };
29221
29221
  var decorators = /* @__PURE__ */ new Map();
29222
29222
  var findAllConstituentClasses = (...classes) => {
29223
- var _a;
29223
+ var _a2;
29224
29224
  const allClasses = /* @__PURE__ */ new Set();
29225
29225
  const frontier = /* @__PURE__ */ new Set([...classes]);
29226
29226
  while (frontier.size > 0) {
29227
29227
  for (let clazz of frontier) {
29228
29228
  const protoChainClasses = (0, util_1.protoChain)(clazz.prototype).map((proto) => proto.constructor);
29229
- const mixinClasses = (_a = (0, mixin_tracking_1.getMixinsForClass)(clazz)) !== null && _a !== void 0 ? _a : [];
29229
+ const mixinClasses = (_a2 = (0, mixin_tracking_1.getMixinsForClass)(clazz)) !== null && _a2 !== void 0 ? _a2 : [];
29230
29230
  const potentiallyNewClasses = [...protoChainClasses, ...mixinClasses];
29231
29231
  const newClasses = potentiallyNewClasses.filter((c2) => !allClasses.has(c2));
29232
29232
  for (let newClass of newClasses)
@@ -29275,12 +29275,12 @@ var require_decorator = __commonJS({
29275
29275
  return decorator(clazz);
29276
29276
  });
29277
29277
  var decorateMember = (decorator) => ((object, key, ...otherArgs) => {
29278
- var _a, _b, _c2;
29278
+ var _a2, _b, _c2;
29279
29279
  const decoratorTargetType = typeof object === "function" ? "static" : "instance";
29280
29280
  const decoratorType = typeof object[key] === "function" ? "method" : "property";
29281
29281
  const clazz = decoratorTargetType === "static" ? object : object.constructor;
29282
29282
  const decoratorsForClass = (0, exports2.getDecoratorsForClass)(clazz);
29283
- const decoratorsForTargetType = (_a = decoratorsForClass === null || decoratorsForClass === void 0 ? void 0 : decoratorsForClass[decoratorTargetType]) !== null && _a !== void 0 ? _a : {};
29283
+ const decoratorsForTargetType = (_a2 = decoratorsForClass === null || decoratorsForClass === void 0 ? void 0 : decoratorsForClass[decoratorTargetType]) !== null && _a2 !== void 0 ? _a2 : {};
29284
29284
  decoratorsForClass[decoratorTargetType] = decoratorsForTargetType;
29285
29285
  let decoratorsForType = (_b = decoratorsForTargetType === null || decoratorsForTargetType === void 0 ? void 0 : decoratorsForTargetType[decoratorType]) !== null && _b !== void 0 ? _b : {};
29286
29286
  decoratorsForTargetType[decoratorType] = decoratorsForType;
@@ -29310,7 +29310,7 @@ var require_mixins = __commonJS({
29310
29310
  var decorator_1 = require_decorator();
29311
29311
  var mixin_tracking_1 = require_mixin_tracking();
29312
29312
  function Mixin(...constructors) {
29313
- var _a, _b, _c2;
29313
+ var _a2, _b, _c2;
29314
29314
  const prototypes = constructors.map((constructor) => constructor.prototype);
29315
29315
  const initFunctionName = settings_1.settings.initFunction;
29316
29316
  if (initFunctionName !== null) {
@@ -29333,7 +29333,7 @@ var require_mixins = __commonJS({
29333
29333
  let DecoratedMixedClass = MixedClass;
29334
29334
  if (settings_1.settings.decoratorInheritance !== "none") {
29335
29335
  const classDecorators = settings_1.settings.decoratorInheritance === "deep" ? (0, decorator_1.deepDecoratorSearch)(...constructors) : (0, decorator_1.directDecoratorSearch)(...constructors);
29336
- for (let decorator of (_a = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.class) !== null && _a !== void 0 ? _a : []) {
29336
+ for (let decorator of (_a2 = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.class) !== null && _a2 !== void 0 ? _a2 : []) {
29337
29337
  const result = decorator(DecoratedMixedClass);
29338
29338
  if (result) {
29339
29339
  DecoratedMixedClass = result;
@@ -35798,8 +35798,8 @@ var require_dcmjs2 = __commonJS({
35798
35798
  key: "writeBytes",
35799
35799
  value: function writeBytes(stream, value, writeOptions) {
35800
35800
  var _this8 = this;
35801
- var val = Array.isArray(value) ? value.map(function(ds2) {
35802
- return _this8.convertToString(ds2);
35801
+ var val = Array.isArray(value) ? value.map(function(ds) {
35802
+ return _this8.convertToString(ds);
35803
35803
  }) : [this.convertToString(value)];
35804
35804
  return _get(_getPrototypeOf(DecimalString2.prototype), "writeBytes", this).call(this, stream, val, writeOptions);
35805
35805
  }
@@ -36787,8 +36787,8 @@ var require_dcmjs2 = __commonJS({
36787
36787
  if (keys1.length !== keys2.length) {
36788
36788
  return false;
36789
36789
  }
36790
- for (var _i2 = 0, _keys = keys1; _i2 < _keys.length; _i2++) {
36791
- var key = _keys[_i2];
36790
+ for (var _i = 0, _keys = keys1; _i < _keys.length; _i++) {
36791
+ var key = _keys[_i];
36792
36792
  if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
36793
36793
  return false;
36794
36794
  }
@@ -37572,8 +37572,8 @@ var require_dcmjs2 = __commonJS({
37572
37572
  }, {
37573
37573
  key: "isMultiframeDataset",
37574
37574
  value: function isMultiframeDataset() {
37575
- var ds2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.dataset;
37576
- var sopClassUID = ds2.SOPClassUID.replace(/[^0-9.]/g, "");
37575
+ var ds = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.dataset;
37576
+ var sopClassUID = ds.SOPClassUID.replace(/[^0-9.]/g, "");
37577
37577
  return Normalizer2.isMultiframeSOPClassUID(sopClassUID);
37578
37578
  }
37579
37579
  }, {
@@ -37613,16 +37613,16 @@ var require_dcmjs2 = __commonJS({
37613
37613
  }
37614
37614
  this.derivation = new DerivedImage(this.datasets);
37615
37615
  this.dataset = this.derivation.dataset;
37616
- var ds2 = this.dataset;
37616
+ var ds = this.dataset;
37617
37617
  var referenceDataset = this.datasets[0];
37618
- ds2.NumberOfFrames = this.datasets.length;
37619
- ds2.SOPClassUID = referenceDataset.SOPClassUID;
37620
- ds2.Rows = referenceDataset.Rows;
37621
- ds2.Columns = referenceDataset.Columns;
37622
- ds2.BitsAllocated = referenceDataset.BitsAllocated;
37623
- ds2.PixelRepresentation = referenceDataset.PixelRepresentation;
37624
- ds2.RescaleSlope = referenceDataset.RescaleSlope || "1";
37625
- ds2.RescaleIntercept = referenceDataset.RescaleIntercept || "0";
37618
+ ds.NumberOfFrames = this.datasets.length;
37619
+ ds.SOPClassUID = referenceDataset.SOPClassUID;
37620
+ ds.Rows = referenceDataset.Rows;
37621
+ ds.Columns = referenceDataset.Columns;
37622
+ ds.BitsAllocated = referenceDataset.BitsAllocated;
37623
+ ds.PixelRepresentation = referenceDataset.PixelRepresentation;
37624
+ ds.RescaleSlope = referenceDataset.RescaleSlope || "1";
37625
+ ds.RescaleIntercept = referenceDataset.RescaleIntercept || "0";
37626
37626
  var referencePosition = referenceDataset.ImagePositionPatient;
37627
37627
  var rowVector = referenceDataset.ImageOrientationPatient.slice(0, 3);
37628
37628
  var columnVector = referenceDataset.ImageOrientationPatient.slice(3, 6);
@@ -37637,43 +37637,43 @@ var require_dcmjs2 = __commonJS({
37637
37637
  distanceDatasetPairs.sort(function(a, b3) {
37638
37638
  return b3[0] - a[0];
37639
37639
  });
37640
- if (ds2.BitsAllocated !== 16) {
37640
+ if (ds.BitsAllocated !== 16) {
37641
37641
  log2.error("Only works with 16 bit data, not " + String(this.dataset.BitsAllocated));
37642
37642
  }
37643
37643
  if (referenceDataset._vrMap && !referenceDataset._vrMap.PixelData) {
37644
37644
  log2.warn("No vr map given for pixel data, using OW");
37645
- ds2._vrMap = {
37645
+ ds._vrMap = {
37646
37646
  PixelData: "OW"
37647
37647
  };
37648
37648
  } else {
37649
- ds2._vrMap = {
37649
+ ds._vrMap = {
37650
37650
  PixelData: referenceDataset._vrMap.PixelData
37651
37651
  };
37652
37652
  }
37653
37653
  var frameSize = referenceDataset.PixelData.byteLength;
37654
- ds2.PixelData = new ArrayBuffer(ds2.NumberOfFrames * frameSize);
37654
+ ds.PixelData = new ArrayBuffer(ds.NumberOfFrames * frameSize);
37655
37655
  var frame = 0;
37656
37656
  distanceDatasetPairs.forEach(function(pair) {
37657
37657
  var dataset = pair[1];
37658
37658
  var pixels = new Uint16Array(dataset.PixelData);
37659
- var frameView = new Uint16Array(ds2.PixelData, frame * frameSize, frameSize / 2);
37659
+ var frameView = new Uint16Array(ds.PixelData, frame * frameSize, frameSize / 2);
37660
37660
  try {
37661
37661
  frameView.set(pixels);
37662
37662
  } catch (e) {
37663
37663
  if (e instanceof RangeError) {
37664
- var message2 = "Error inserting pixels in PixelData\n" + "frameSize ".concat(frameSize, "\n") + "NumberOfFrames ".concat(ds2.NumberOfFrames, "\n") + "pair ".concat(pair, "\n") + "dataset PixelData size ".concat(dataset.PixelData.length);
37664
+ var message2 = "Error inserting pixels in PixelData\n" + "frameSize ".concat(frameSize, "\n") + "NumberOfFrames ".concat(ds.NumberOfFrames, "\n") + "pair ".concat(pair, "\n") + "dataset PixelData size ".concat(dataset.PixelData.length);
37665
37665
  log2.error(message2);
37666
37666
  }
37667
37667
  }
37668
37668
  frame++;
37669
37669
  });
37670
- if (ds2.NumberOfFrames < 2) {
37670
+ if (ds.NumberOfFrames < 2) {
37671
37671
  log2.error("Cannot populate shared groups uniquely without multiple frames");
37672
37672
  }
37673
37673
  var _distanceDatasetPairs = _slicedToArray(distanceDatasetPairs[0], 2), distance0 = _distanceDatasetPairs[0], dataset0 = _distanceDatasetPairs[1];
37674
37674
  var distance1 = distanceDatasetPairs[1][0];
37675
37675
  var SpacingBetweenSlices = Math.abs(distance1 - distance0);
37676
- ds2.SharedFunctionalGroupsSequence = {
37676
+ ds.SharedFunctionalGroupsSequence = {
37677
37677
  PlaneOrientationSequence: {
37678
37678
  ImageOrientationPatient: dataset0.ImageOrientationPatient
37679
37679
  },
@@ -37683,14 +37683,14 @@ var require_dcmjs2 = __commonJS({
37683
37683
  SliceThickness: SpacingBetweenSlices
37684
37684
  }
37685
37685
  };
37686
- ds2.ReferencedSeriesSequence = {
37686
+ ds.ReferencedSeriesSequence = {
37687
37687
  SeriesInstanceUID: dataset0.SeriesInstanceUID,
37688
37688
  ReferencedInstanceSequence: []
37689
37689
  };
37690
- ds2.PerFrameFunctionalGroupsSequence = [];
37690
+ ds.PerFrameFunctionalGroupsSequence = [];
37691
37691
  distanceDatasetPairs.forEach(function(pair) {
37692
37692
  var dataset = pair[1];
37693
- ds2.PerFrameFunctionalGroupsSequence.push({
37693
+ ds.PerFrameFunctionalGroupsSequence.push({
37694
37694
  PlanePositionSequence: {
37695
37695
  ImagePositionPatient: dataset.ImagePositionPatient
37696
37696
  },
@@ -37699,7 +37699,7 @@ var require_dcmjs2 = __commonJS({
37699
37699
  WindowWidth: dataset.WindowWidth
37700
37700
  }
37701
37701
  });
37702
- ds2.ReferencedSeriesSequence.ReferencedInstanceSequence.push({
37702
+ ds.ReferencedSeriesSequence.ReferencedInstanceSequence.push({
37703
37703
  ReferencedSOPClassUID: dataset.SOPClassUID,
37704
37704
  ReferencedSOPInstanceUID: dataset.SOPInstanceUID
37705
37705
  });
@@ -37719,29 +37719,29 @@ var require_dcmjs2 = __commonJS({
37719
37719
  }, {
37720
37720
  key: "normalizeMultiframe",
37721
37721
  value: function normalizeMultiframe() {
37722
- var ds2 = this.dataset;
37723
- if (!ds2.NumberOfFrames) {
37722
+ var ds = this.dataset;
37723
+ if (!ds.NumberOfFrames) {
37724
37724
  log2.error("Missing number or frames not supported");
37725
37725
  return;
37726
37726
  }
37727
- if (!ds2.PixelRepresentation) {
37728
- ds2.PixelRepresentation = 1;
37727
+ if (!ds.PixelRepresentation) {
37728
+ ds.PixelRepresentation = 1;
37729
37729
  }
37730
- if (!ds2.StudyID || ds2.StudyID === "") {
37731
- ds2.StudyID = "No Study ID";
37730
+ if (!ds.StudyID || ds.StudyID === "") {
37731
+ ds.StudyID = "No Study ID";
37732
37732
  }
37733
37733
  var validLateralities = ["R", "L"];
37734
- if (validLateralities.indexOf(ds2.Laterality) === -1) {
37735
- delete ds2.Laterality;
37734
+ if (validLateralities.indexOf(ds.Laterality) === -1) {
37735
+ delete ds.Laterality;
37736
37736
  }
37737
- if (!ds2.PresentationLUTShape) {
37738
- ds2.PresentationLUTShape = "IDENTITY";
37737
+ if (!ds.PresentationLUTShape) {
37738
+ ds.PresentationLUTShape = "IDENTITY";
37739
37739
  }
37740
- if (!ds2.SharedFunctionalGroupsSequence) {
37740
+ if (!ds.SharedFunctionalGroupsSequence) {
37741
37741
  log2.error("Can only process multiframe data with SharedFunctionalGroupsSequence");
37742
37742
  }
37743
- if (ds2.BodyPartExamined === "PROSTATE") {
37744
- ds2.SharedFunctionalGroupsSequence.FrameAnatomySequence = {
37743
+ if (ds.BodyPartExamined === "PROSTATE") {
37744
+ ds.SharedFunctionalGroupsSequence.FrameAnatomySequence = {
37745
37745
  AnatomicRegionSequence: {
37746
37746
  CodeValue: "T-9200B",
37747
37747
  CodingSchemeDesignator: "SRT",
@@ -37750,17 +37750,17 @@ var require_dcmjs2 = __commonJS({
37750
37750
  FrameLaterality: "U"
37751
37751
  };
37752
37752
  }
37753
- var rescaleIntercept = ds2.RescaleIntercept || 0;
37754
- var rescaleSlope = ds2.RescaleSlope || 1;
37755
- ds2.SharedFunctionalGroupsSequence.PixelValueTransformationSequence = {
37753
+ var rescaleIntercept = ds.RescaleIntercept || 0;
37754
+ var rescaleSlope = ds.RescaleSlope || 1;
37755
+ ds.SharedFunctionalGroupsSequence.PixelValueTransformationSequence = {
37756
37756
  RescaleIntercept: rescaleIntercept,
37757
37757
  RescaleSlope: rescaleSlope,
37758
37758
  RescaleType: "US"
37759
37759
  };
37760
37760
  var frameNumber = 1;
37761
37761
  this.datasets.forEach(function(dataset) {
37762
- if (ds2.NumberOfFrames === 1) ds2.PerFrameFunctionalGroupsSequence = [ds2.PerFrameFunctionalGroupsSequence];
37763
- ds2.PerFrameFunctionalGroupsSequence[frameNumber - 1].FrameContentSequence = {
37762
+ if (ds.NumberOfFrames === 1) ds.PerFrameFunctionalGroupsSequence = [ds.PerFrameFunctionalGroupsSequence];
37763
+ ds.PerFrameFunctionalGroupsSequence[frameNumber - 1].FrameContentSequence = {
37764
37764
  FrameAcquisitionDuration: 0,
37765
37765
  StackID: 1,
37766
37766
  InStackPositionNumber: frameNumber,
@@ -37768,30 +37768,30 @@ var require_dcmjs2 = __commonJS({
37768
37768
  };
37769
37769
  var frameTime = dataset.AcquisitionDate + dataset.AcquisitionTime;
37770
37770
  if (!isNaN(frameTime)) {
37771
- var frameContentSequence = ds2.PerFrameFunctionalGroupsSequence[frameNumber - 1].FrameContentSequence;
37771
+ var frameContentSequence = ds.PerFrameFunctionalGroupsSequence[frameNumber - 1].FrameContentSequence;
37772
37772
  frameContentSequence.FrameAcquisitionDateTime = frameTime;
37773
37773
  frameContentSequence.FrameReferenceDateTime = frameTime;
37774
37774
  }
37775
37775
  frameNumber++;
37776
37776
  });
37777
- if (ds2.WindowCenter && ds2.WindowWidth) {
37778
- if (!Array.isArray(ds2.WindowCenter)) {
37779
- ds2.WindowCenter = [ds2.WindowCenter];
37777
+ if (ds.WindowCenter && ds.WindowWidth) {
37778
+ if (!Array.isArray(ds.WindowCenter)) {
37779
+ ds.WindowCenter = [ds.WindowCenter];
37780
37780
  }
37781
- if (!Array.isArray(ds2.WindowWidth)) {
37782
- ds2.WindowWidth = [ds2.WindowWidth];
37781
+ if (!Array.isArray(ds.WindowWidth)) {
37782
+ ds.WindowWidth = [ds.WindowWidth];
37783
37783
  }
37784
37784
  }
37785
- if (!ds2.WindowCenter || !ds2.WindowWidth) {
37786
- ds2.WindowCenter = [];
37787
- ds2.WindowWidth = [];
37788
- if (ds2.PerFrameFunctionalGroupsSequence) {
37785
+ if (!ds.WindowCenter || !ds.WindowWidth) {
37786
+ ds.WindowCenter = [];
37787
+ ds.WindowWidth = [];
37788
+ if (ds.PerFrameFunctionalGroupsSequence) {
37789
37789
  var wcww = {
37790
37790
  center: 0,
37791
37791
  width: 0,
37792
37792
  count: 0
37793
37793
  };
37794
- ds2.PerFrameFunctionalGroupsSequence.forEach(function(functionalGroup) {
37794
+ ds.PerFrameFunctionalGroupsSequence.forEach(function(functionalGroup) {
37795
37795
  if (functionalGroup.FrameVOILUT) {
37796
37796
  var wc = functionalGroup.FrameVOILUTSequence.WindowCenter;
37797
37797
  var ww = functionalGroup.FrameVOILUTSequence.WindowWidth;
@@ -37809,16 +37809,16 @@ var require_dcmjs2 = __commonJS({
37809
37809
  }
37810
37810
  });
37811
37811
  if (wcww.count > 0) {
37812
- ds2.WindowCenter.push(String(wcww.center / wcww.count));
37813
- ds2.WindowWidth.push(String(wcww.width / wcww.count));
37812
+ ds.WindowCenter.push(String(wcww.center / wcww.count));
37813
+ ds.WindowWidth.push(String(wcww.width / wcww.count));
37814
37814
  }
37815
37815
  }
37816
37816
  }
37817
- if (ds2.WindowCenter.length === 0) {
37818
- ds2.WindowCenter = [300];
37817
+ if (ds.WindowCenter.length === 0) {
37818
+ ds.WindowCenter = [300];
37819
37819
  }
37820
- if (ds2.WindowWidth.length === 0) {
37821
- ds2.WindowWidth = [500];
37820
+ if (ds.WindowWidth.length === 0) {
37821
+ ds.WindowWidth = [500];
37822
37822
  }
37823
37823
  }
37824
37824
  }], [{
@@ -37864,12 +37864,12 @@ var require_dcmjs2 = __commonJS({
37864
37864
  key: "normalizeMultiframe",
37865
37865
  value: function normalizeMultiframe() {
37866
37866
  _get(_getPrototypeOf(MRImageNormalizer2.prototype), "normalizeMultiframe", this).call(this);
37867
- var ds2 = this.dataset;
37868
- if (!ds2.ImageType || !ds2.ImageType.constructor || ds2.ImageType.constructor.name != "Array" || ds2.ImageType.length != 4) {
37869
- ds2.ImageType = ["ORIGINAL", "PRIMARY", "OTHER", "NONE"];
37867
+ var ds = this.dataset;
37868
+ if (!ds.ImageType || !ds.ImageType.constructor || ds.ImageType.constructor.name != "Array" || ds.ImageType.length != 4) {
37869
+ ds.ImageType = ["ORIGINAL", "PRIMARY", "OTHER", "NONE"];
37870
37870
  }
37871
- ds2.SharedFunctionalGroupsSequence.MRImageFrameTypeSequence = {
37872
- FrameType: ds2.ImageType,
37871
+ ds.SharedFunctionalGroupsSequence.MRImageFrameTypeSequence = {
37872
+ FrameType: ds.ImageType,
37873
37873
  PixelPresentation: "MONOCHROME",
37874
37874
  VolumetricProperties: "VOLUME",
37875
37875
  VolumeBasedCalculationTechnique: "NONE",
@@ -37994,9 +37994,9 @@ var require_dcmjs2 = __commonJS({
37994
37994
  key: "normalize",
37995
37995
  value: function normalize3() {
37996
37996
  _get(_getPrototypeOf(PMImageNormalizer2.prototype), "normalize", this).call(this);
37997
- var ds2 = this.datasets[0];
37998
- if (ds2.BitsAllocated !== 32) {
37999
- log2.error("Only works with 32 bit data, not " + String(ds2.BitsAllocated));
37997
+ var ds = this.datasets[0];
37998
+ if (ds.BitsAllocated !== 32) {
37999
+ log2.error("Only works with 32 bit data, not " + String(ds.BitsAllocated));
38000
38000
  }
38001
38001
  }
38002
38002
  }]);
@@ -38800,8 +38800,8 @@ var require_dcmjs2 = __commonJS({
38800
38800
  return contentItem.ConceptNameCodeSequence.CodeMeaning === TRACKING_IDENTIFIER;
38801
38801
  });
38802
38802
  var TrackingIdentifierValue = TrackingIdentifierGroup.TextValue;
38803
- var toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(function(tc) {
38804
- return tc.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue);
38803
+ var toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(function(tc2) {
38804
+ return tc2.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue);
38805
38805
  });
38806
38806
  if (toolClass) {
38807
38807
  var measurement = toolClass.getMeasurementData(measurementGroup);
@@ -40313,9 +40313,9 @@ var require_dcmjs2 = __commonJS({
40313
40313
  NumberOfFrames += referencedFramesPerSegment[i].length;
40314
40314
  }
40315
40315
  seg.setNumberOfFrames(NumberOfFrames);
40316
- for (var _i2 = 0; _i2 < segmentIndicies.length; _i2++) {
40317
- var segmentIndex = segmentIndicies[_i2];
40318
- var referencedFrameIndicies = referencedFramesPerSegment[_i2];
40316
+ for (var _i = 0; _i < segmentIndicies.length; _i++) {
40317
+ var segmentIndex = segmentIndicies[_i];
40318
+ var referencedFrameIndicies = referencedFramesPerSegment[_i];
40319
40319
  var referencedFrameNumbers = referencedFrameIndicies.map(function(element) {
40320
40320
  return element + 1;
40321
40321
  });
@@ -40600,11 +40600,11 @@ var require_dcmjs2 = __commonJS({
40600
40600
  var bodyLength = rleArray.length % 2 === 0 ? rleArray.length : rleArray.length + 1;
40601
40601
  var encodedFrameBuffer = new ArrayBuffer(headerLength + bodyLength);
40602
40602
  var headerView = new Uint32Array(encodedFrameBuffer, 0, 16);
40603
- for (var _i2 = 0; _i2 < headerView.length; _i2++) {
40604
- headerView[_i2] = header[_i2];
40603
+ for (var _i = 0; _i < headerView.length; _i++) {
40604
+ headerView[_i] = header[_i];
40605
40605
  }
40606
- for (var _i22 = 0; _i22 < headerView.length; _i22++) {
40607
- rleArray.push(headerView[_i22]);
40606
+ for (var _i2 = 0; _i2 < headerView.length; _i2++) {
40607
+ rleArray.push(headerView[_i2]);
40608
40608
  }
40609
40609
  var bodyView = new Uint8Array(encodedFrameBuffer, 64);
40610
40610
  for (var _i3 = 0; _i3 < rleArray.length; _i3++) {
@@ -41302,20 +41302,20 @@ var require_dcmjs2 = __commonJS({
41302
41302
  referencedFramesPerSegment2[i] = [];
41303
41303
  }
41304
41304
  }
41305
- var _loop22 = function _loop23(_i3) {
41306
- var labelmap2D = labelmaps2D[_i3];
41307
- if (labelmaps2D[_i3]) {
41305
+ var _loop22 = function _loop23(_i2) {
41306
+ var labelmap2D = labelmaps2D[_i2];
41307
+ if (labelmaps2D[_i2]) {
41308
41308
  var segmentsOnLabelmap = labelmap2D.segmentsOnLabelmap;
41309
41309
  segmentsOnLabelmap.forEach(function(segmentIndex2) {
41310
41310
  if (segmentIndex2 !== 0) {
41311
- referencedFramesPerSegment2[segmentIndex2].push(_i3);
41311
+ referencedFramesPerSegment2[segmentIndex2].push(_i2);
41312
41312
  numberOfFrames++;
41313
41313
  }
41314
41314
  });
41315
41315
  }
41316
41316
  };
41317
- for (var _i2 = 0; _i2 < labelmaps2D.length; _i2++) {
41318
- _loop22(_i2);
41317
+ for (var _i = 0; _i < labelmaps2D.length; _i++) {
41318
+ _loop22(_i);
41319
41319
  }
41320
41320
  referencedFramesPerLabelmap[labelmapIndex] = referencedFramesPerSegment2;
41321
41321
  };
@@ -42274,8 +42274,8 @@ var require_dcmjs2 = __commonJS({
42274
42274
  value: function getCornerstoneLabelFromDefaultState(defaultState) {
42275
42275
  var _defaultState$finding = defaultState.findingSites, findingSites = _defaultState$finding === void 0 ? [] : _defaultState$finding, finding = defaultState.finding;
42276
42276
  var cornersoneFreeTextCodingValue = CodingScheme.codeValues.CORNERSTONEFREETEXT;
42277
- var freeTextLabel = findingSites.find(function(fs4) {
42278
- return fs4.CodeValue === cornersoneFreeTextCodingValue;
42277
+ var freeTextLabel = findingSites.find(function(fs3) {
42278
+ return fs3.CodeValue === cornersoneFreeTextCodingValue;
42279
42279
  });
42280
42280
  if (freeTextLabel) {
42281
42281
  return freeTextLabel.CodeMeaning;
@@ -42461,8 +42461,8 @@ var require_dcmjs2 = __commonJS({
42461
42461
  return contentItem.ConceptNameCodeSequence.CodeMeaning === TRACKING_IDENTIFIER;
42462
42462
  });
42463
42463
  var TrackingIdentifierValue = TrackingIdentifierGroup.TextValue;
42464
- var toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(function(tc) {
42465
- return tc.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue);
42464
+ var toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(function(tc2) {
42465
+ return tc2.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue);
42466
42466
  });
42467
42467
  if (toolClass) {
42468
42468
  var measurement = toolClass.getMeasurementData(measurementGroup, sopInstanceUIDToImageIdMap, imageToWorldCoords, metadata);
@@ -53811,11 +53811,11 @@ var require_fecha_umd = __commonJS({
53811
53811
  };
53812
53812
  function assign(origObj) {
53813
53813
  var args = [];
53814
- for (var _i2 = 1; _i2 < arguments.length; _i2++) {
53815
- args[_i2 - 1] = arguments[_i2];
53814
+ for (var _i = 1; _i < arguments.length; _i++) {
53815
+ args[_i - 1] = arguments[_i];
53816
53816
  }
53817
- for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
53818
- var obj = args_1[_a];
53817
+ for (var _a2 = 0, args_1 = args; _a2 < args_1.length; _a2++) {
53818
+ var obj = args_1[_a2];
53819
53819
  for (var key in obj) {
53820
53820
  origObj[key] = obj[key];
53821
53821
  }
@@ -54136,7 +54136,7 @@ var require_fecha_umd = __commonJS({
54136
54136
  }
54137
54137
  var combinedI18nSettings = assign(assign({}, globalI18n), i18n);
54138
54138
  for (var i = 1; i < matches.length; i++) {
54139
- var _a = parseInfo[i - 1], field = _a[0], parser = _a[2];
54139
+ var _a2 = parseInfo[i - 1], field = _a2[0], parser = _a2[2];
54140
54140
  var value = parser ? parser(matches[i], combinedI18nSettings) : +matches[i];
54141
54141
  if (value == null) {
54142
54142
  return null;
@@ -56351,9 +56351,9 @@ var require_stream_readable = __commonJS({
56351
56351
  return from(Readable2, iterable, opts);
56352
56352
  };
56353
56353
  }
56354
- function indexOf(xs, x3) {
56355
- for (var i = 0, l2 = xs.length; i < l2; i++) {
56356
- if (xs[i] === x3) return i;
56354
+ function indexOf(xs2, x3) {
56355
+ for (var i = 0, l2 = xs2.length; i < l2; i++) {
56356
+ if (xs2[i] === x3) return i;
56357
56357
  }
56358
56358
  return -1;
56359
56359
  }
@@ -58250,27 +58250,27 @@ var require_index_cjs = __commonJS({
58250
58250
  reverseNames[cssKeywords[name]] = name;
58251
58251
  }
58252
58252
  }
58253
- var cs = {
58253
+ var cs2 = {
58254
58254
  to: {},
58255
58255
  get: {}
58256
58256
  };
58257
- cs.get = function(string) {
58257
+ cs2.get = function(string) {
58258
58258
  const prefix = string.slice(0, 3).toLowerCase();
58259
58259
  let value;
58260
58260
  let model;
58261
58261
  switch (prefix) {
58262
58262
  case "hsl": {
58263
- value = cs.get.hsl(string);
58263
+ value = cs2.get.hsl(string);
58264
58264
  model = "hsl";
58265
58265
  break;
58266
58266
  }
58267
58267
  case "hwb": {
58268
- value = cs.get.hwb(string);
58268
+ value = cs2.get.hwb(string);
58269
58269
  model = "hwb";
58270
58270
  break;
58271
58271
  }
58272
58272
  default: {
58273
- value = cs.get.rgb(string);
58273
+ value = cs2.get.rgb(string);
58274
58274
  model = "rgb";
58275
58275
  break;
58276
58276
  }
@@ -58280,7 +58280,7 @@ var require_index_cjs = __commonJS({
58280
58280
  }
58281
58281
  return { model, value };
58282
58282
  };
58283
- cs.get.rgb = function(string) {
58283
+ cs2.get.rgb = function(string) {
58284
58284
  if (!string) {
58285
58285
  return null;
58286
58286
  }
@@ -58345,7 +58345,7 @@ var require_index_cjs = __commonJS({
58345
58345
  rgb[3] = clamp(rgb[3], 0, 1);
58346
58346
  return rgb;
58347
58347
  };
58348
- cs.get.hsl = function(string) {
58348
+ cs2.get.hsl = function(string) {
58349
58349
  if (!string) {
58350
58350
  return null;
58351
58351
  }
@@ -58361,7 +58361,7 @@ var require_index_cjs = __commonJS({
58361
58361
  }
58362
58362
  return null;
58363
58363
  };
58364
- cs.get.hwb = function(string) {
58364
+ cs2.get.hwb = function(string) {
58365
58365
  if (!string) {
58366
58366
  return null;
58367
58367
  }
@@ -58377,29 +58377,29 @@ var require_index_cjs = __commonJS({
58377
58377
  }
58378
58378
  return null;
58379
58379
  };
58380
- cs.to.hex = function(...rgba) {
58380
+ cs2.to.hex = function(...rgba) {
58381
58381
  return "#" + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (rgba[3] < 1 ? hexDouble(Math.round(rgba[3] * 255)) : "");
58382
58382
  };
58383
- cs.to.rgb = function(...rgba) {
58383
+ cs2.to.rgb = function(...rgba) {
58384
58384
  return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ")" : "rgba(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ", " + rgba[3] + ")";
58385
58385
  };
58386
- cs.to.rgb.percent = function(...rgba) {
58386
+ cs2.to.rgb.percent = function(...rgba) {
58387
58387
  const r6 = Math.round(rgba[0] / 255 * 100);
58388
58388
  const g3 = Math.round(rgba[1] / 255 * 100);
58389
58389
  const b3 = Math.round(rgba[2] / 255 * 100);
58390
58390
  return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + r6 + "%, " + g3 + "%, " + b3 + "%)" : "rgba(" + r6 + "%, " + g3 + "%, " + b3 + "%, " + rgba[3] + ")";
58391
58391
  };
58392
- cs.to.hsl = function(...hsla) {
58392
+ cs2.to.hsl = function(...hsla) {
58393
58393
  return hsla.length < 4 || hsla[3] === 1 ? "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)" : "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, " + hsla[3] + ")";
58394
58394
  };
58395
- cs.to.hwb = function(...hwba) {
58395
+ cs2.to.hwb = function(...hwba) {
58396
58396
  let a = "";
58397
58397
  if (hwba.length >= 4 && hwba[3] !== 1) {
58398
58398
  a = ", " + hwba[3];
58399
58399
  }
58400
58400
  return "hwb(" + hwba[0] + ", " + hwba[1] + "%, " + hwba[2] + "%" + a + ")";
58401
58401
  };
58402
- cs.to.keyword = function(...rgb) {
58402
+ cs2.to.keyword = function(...rgb) {
58403
58403
  return reverseNames[rgb.slice(0, 3)];
58404
58404
  };
58405
58405
  function clamp(number_, min, max) {
@@ -58434,8 +58434,8 @@ var require_index_cjs = __commonJS({
58434
58434
  };
58435
58435
  var LAB_FT = (6 / 29) ** 3;
58436
58436
  function srgbNonlinearTransform(c2) {
58437
- const cc2 = c2 > 31308e-7 ? 1.055 * c2 ** (1 / 2.4) - 0.055 : c2 * 12.92;
58438
- return Math.min(Math.max(0, cc2), 1);
58437
+ const cc = c2 > 31308e-7 ? 1.055 * c2 ** (1 / 2.4) - 0.055 : c2 * 12.92;
58438
+ return Math.min(Math.max(0, cc), 1);
58439
58439
  }
58440
58440
  function srgbNonlinearTransformInv(c2) {
58441
58441
  return c2 > 0.04045 ? ((c2 + 0.055) / 1.055) ** 2.4 : c2 / 12.92;
@@ -58675,13 +58675,13 @@ var require_index_cjs = __commonJS({
58675
58675
  const h2 = hsv[0] / 60;
58676
58676
  const s = hsv[1] / 100;
58677
58677
  let v3 = hsv[2] / 100;
58678
- const hi2 = Math.floor(h2) % 6;
58678
+ const hi = Math.floor(h2) % 6;
58679
58679
  const f2 = h2 - Math.floor(h2);
58680
58680
  const p = 255 * v3 * (1 - s);
58681
58681
  const q2 = 255 * v3 * (1 - s * f2);
58682
58682
  const t = 255 * v3 * (1 - s * (1 - f2));
58683
58683
  v3 *= 255;
58684
- switch (hi2) {
58684
+ switch (hi) {
58685
58685
  case 0: {
58686
58686
  return [v3, t, p];
58687
58687
  }
@@ -59035,11 +59035,11 @@ var require_index_cjs = __commonJS({
59035
59035
  return [g3 * 255, g3 * 255, g3 * 255];
59036
59036
  }
59037
59037
  const pure = [0, 0, 0];
59038
- const hi2 = h2 % 1 * 6;
59039
- const v3 = hi2 % 1;
59038
+ const hi = h2 % 1 * 6;
59039
+ const v3 = hi % 1;
59040
59040
  const w3 = 1 - v3;
59041
59041
  let mg = 0;
59042
- switch (Math.floor(hi2)) {
59042
+ switch (Math.floor(hi)) {
59043
59043
  case 0: {
59044
59044
  pure[0] = 1;
59045
59045
  pure[1] = v3;
@@ -59303,7 +59303,7 @@ var require_index_cjs = __commonJS({
59303
59303
  this.color = [...object.color];
59304
59304
  this.valpha = object.valpha;
59305
59305
  } else if (typeof object === "string") {
59306
- const result = cs.get(object);
59306
+ const result = cs2.get(object);
59307
59307
  if (result === null) {
59308
59308
  throw new Error("Unable to parse color from string: " + object);
59309
59309
  }
@@ -59366,15 +59366,15 @@ var require_index_cjs = __commonJS({
59366
59366
  return this[this.model]();
59367
59367
  },
59368
59368
  string(places) {
59369
- let self2 = this.model in cs.to ? this : this.rgb();
59369
+ let self2 = this.model in cs2.to ? this : this.rgb();
59370
59370
  self2 = self2.round(typeof places === "number" ? places : 1);
59371
59371
  const arguments_ = self2.valpha === 1 ? self2.color : [...self2.color, this.valpha];
59372
- return cs.to[self2.model](...arguments_);
59372
+ return cs2.to[self2.model](...arguments_);
59373
59373
  },
59374
59374
  percentString(places) {
59375
59375
  const self2 = this.rgb().round(typeof places === "number" ? places : 1);
59376
59376
  const arguments_ = self2.valpha === 1 ? self2.color : [...self2.color, this.valpha];
59377
- return cs.to.rgb.percent(...arguments_);
59377
+ return cs2.to.rgb.percent(...arguments_);
59378
59378
  },
59379
59379
  array() {
59380
59380
  return this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];
@@ -59454,7 +59454,7 @@ var require_index_cjs = __commonJS({
59454
59454
  if (value !== void 0) {
59455
59455
  return new Color(value);
59456
59456
  }
59457
- return cs.to.hex(...this.rgb().round().color);
59457
+ return cs2.to.hex(...this.rgb().round().color);
59458
59458
  },
59459
59459
  hexa(value) {
59460
59460
  if (value !== void 0) {
@@ -59465,7 +59465,7 @@ var require_index_cjs = __commonJS({
59465
59465
  if (alphaHex.length === 1) {
59466
59466
  alphaHex = "0" + alphaHex;
59467
59467
  }
59468
- return cs.to.hex(...rgbArray) + alphaHex;
59468
+ return cs2.to.hex(...rgbArray) + alphaHex;
59469
59469
  },
59470
59470
  rgbNumber() {
59471
59471
  const rgb = this.rgb().color;
@@ -59836,7 +59836,7 @@ var require_node2 = __commonJS({
59836
59836
  var require_tail_file = __commonJS({
59837
59837
  "../../node_modules/winston/lib/winston/tail-file.js"(exports2, module2) {
59838
59838
  "use strict";
59839
- var fs4 = require("fs");
59839
+ var fs3 = require("fs");
59840
59840
  var { StringDecoder } = require("string_decoder");
59841
59841
  var { Stream } = require_readable();
59842
59842
  function noop() {
@@ -59857,7 +59857,7 @@ var require_tail_file = __commonJS({
59857
59857
  stream.emit("end");
59858
59858
  stream.emit("close");
59859
59859
  };
59860
- fs4.open(options.file, "a+", "0644", (err, fd) => {
59860
+ fs3.open(options.file, "a+", "0644", (err, fd) => {
59861
59861
  if (err) {
59862
59862
  if (!iter) {
59863
59863
  stream.emit("error", err);
@@ -59869,10 +59869,10 @@ var require_tail_file = __commonJS({
59869
59869
  }
59870
59870
  (function read() {
59871
59871
  if (stream.destroyed) {
59872
- fs4.close(fd, noop);
59872
+ fs3.close(fd, noop);
59873
59873
  return;
59874
59874
  }
59875
- return fs4.read(fd, buffer2, 0, buffer2.length, pos, (error, bytes) => {
59875
+ return fs3.read(fd, buffer2, 0, buffer2.length, pos, (error, bytes) => {
59876
59876
  if (error) {
59877
59877
  if (!iter) {
59878
59878
  stream.emit("error", error);
@@ -59931,7 +59931,7 @@ var require_tail_file = __commonJS({
59931
59931
  var require_file = __commonJS({
59932
59932
  "../../node_modules/winston/lib/winston/transports/file.js"(exports2, module2) {
59933
59933
  "use strict";
59934
- var fs4 = require("fs");
59934
+ var fs3 = require("fs");
59935
59935
  var path4 = require("path");
59936
59936
  var asyncSeries = require_series();
59937
59937
  var zlib = require("zlib");
@@ -60136,7 +60136,7 @@ var require_file = __commonJS({
60136
60136
  let buff = "";
60137
60137
  let results = [];
60138
60138
  let row = 0;
60139
- const stream = fs4.createReadStream(file, {
60139
+ const stream = fs3.createReadStream(file, {
60140
60140
  encoding: "utf8"
60141
60141
  });
60142
60142
  stream.on("error", (err) => {
@@ -60288,7 +60288,7 @@ var require_file = __commonJS({
60288
60288
  stat(callback) {
60289
60289
  const target = this._getFile();
60290
60290
  const fullpath = path4.join(this.dirname, target);
60291
- fs4.stat(fullpath, (err, stat) => {
60291
+ fs3.stat(fullpath, (err, stat) => {
60292
60292
  if (err && err.code === "ENOENT") {
60293
60293
  debug("ENOENT\xA0ok", fullpath);
60294
60294
  this.filename = target;
@@ -60393,7 +60393,7 @@ var require_file = __commonJS({
60393
60393
  _createStream(source) {
60394
60394
  const fullpath = path4.join(this.dirname, this.filename);
60395
60395
  debug("create stream start", fullpath, this.options);
60396
- const dest = fs4.createWriteStream(fullpath, this.options).on("error", (err) => debug(err)).on("close", () => debug("close", dest.path, dest.bytesWritten)).on("open", () => {
60396
+ const dest = fs3.createWriteStream(fullpath, this.options).on("error", (err) => debug(err)).on("close", () => debug("close", dest.path, dest.bytesWritten)).on("open", () => {
60397
60397
  debug("file open ok", fullpath);
60398
60398
  this.emit("open", fullpath);
60399
60399
  source.pipe(dest);
@@ -60472,7 +60472,7 @@ var require_file = __commonJS({
60472
60472
  const isZipped = this.zippedArchive ? ".gz" : "";
60473
60473
  const filePath = `${basename}${isOldest}${ext}${isZipped}`;
60474
60474
  const target = path4.join(this.dirname, filePath);
60475
- fs4.unlink(target, callback);
60475
+ fs3.unlink(target, callback);
60476
60476
  }
60477
60477
  /**
60478
60478
  * Roll files forward based on integer, up to maxFiles. e.g. if base if
@@ -60495,17 +60495,17 @@ var require_file = __commonJS({
60495
60495
  tasks.push(function(i, cb) {
60496
60496
  let fileName = `${basename}${i - 1}${ext}${isZipped}`;
60497
60497
  const tmppath = path4.join(this.dirname, fileName);
60498
- fs4.exists(tmppath, (exists) => {
60498
+ fs3.exists(tmppath, (exists) => {
60499
60499
  if (!exists) {
60500
60500
  return cb(null);
60501
60501
  }
60502
60502
  fileName = `${basename}${i}${ext}${isZipped}`;
60503
- fs4.rename(tmppath, path4.join(this.dirname, fileName), cb);
60503
+ fs3.rename(tmppath, path4.join(this.dirname, fileName), cb);
60504
60504
  });
60505
60505
  }.bind(this, x3));
60506
60506
  }
60507
60507
  asyncSeries(tasks, () => {
60508
- fs4.rename(
60508
+ fs3.rename(
60509
60509
  path4.join(this.dirname, `${basename}${ext}${isZipped}`),
60510
60510
  path4.join(this.dirname, `${basename}1${ext}${isZipped}`),
60511
60511
  callback
@@ -60521,22 +60521,22 @@ var require_file = __commonJS({
60521
60521
  * @private
60522
60522
  */
60523
60523
  _compressFile(src, dest, callback) {
60524
- fs4.access(src, fs4.F_OK, (err) => {
60524
+ fs3.access(src, fs3.F_OK, (err) => {
60525
60525
  if (err) {
60526
60526
  return callback();
60527
60527
  }
60528
60528
  var gzip = zlib.createGzip();
60529
- var inp = fs4.createReadStream(src);
60530
- var out = fs4.createWriteStream(dest);
60529
+ var inp = fs3.createReadStream(src);
60530
+ var out = fs3.createWriteStream(dest);
60531
60531
  out.on("finish", () => {
60532
- fs4.unlink(src, callback);
60532
+ fs3.unlink(src, callback);
60533
60533
  });
60534
60534
  inp.pipe(gzip).pipe(out);
60535
60535
  });
60536
60536
  }
60537
60537
  _createLogDirIfNotExist(dirPath) {
60538
- if (!fs4.existsSync(dirPath)) {
60539
- fs4.mkdirSync(dirPath, { recursive: true });
60538
+ if (!fs3.existsSync(dirPath)) {
60539
+ fs3.mkdirSync(dirPath, { recursive: true });
60540
60540
  }
60541
60541
  }
60542
60542
  };
@@ -60701,11 +60701,11 @@ var require_http = __commonJS({
60701
60701
  _doBatch(options, callback, auth, path4) {
60702
60702
  this.batchOptions.push(options);
60703
60703
  if (this.batchOptions.length === 1) {
60704
- const me2 = this;
60704
+ const me = this;
60705
60705
  this.batchCallback = callback;
60706
60706
  this.batchTimeoutID = setTimeout(function() {
60707
- me2.batchTimeoutID = -1;
60708
- me2._doBatchRequest(me2.batchCallback, auth, path4);
60707
+ me.batchTimeoutID = -1;
60708
+ me._doBatchRequest(me.batchCallback, auth, path4);
60709
60709
  }, this.batchInterval);
60710
60710
  }
60711
60711
  if (this.batchOptions.length === this.batchCount) {
@@ -63627,7 +63627,7 @@ var require_moment = __commonJS({
63627
63627
  return isArray(this._monthsShort) ? this._monthsShort[m3.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format2) ? "format" : "standalone"][m3.month()];
63628
63628
  }
63629
63629
  function handleStrictParse(monthName, format2, strict) {
63630
- var i, ii, mom, llc = monthName.toLocaleLowerCase();
63630
+ var i, ii2, mom, llc = monthName.toLocaleLowerCase();
63631
63631
  if (!this._monthsParse) {
63632
63632
  this._monthsParse = [];
63633
63633
  this._longMonthsParse = [];
@@ -63643,27 +63643,27 @@ var require_moment = __commonJS({
63643
63643
  }
63644
63644
  if (strict) {
63645
63645
  if (format2 === "MMM") {
63646
- ii = indexOf.call(this._shortMonthsParse, llc);
63647
- return ii !== -1 ? ii : null;
63646
+ ii2 = indexOf.call(this._shortMonthsParse, llc);
63647
+ return ii2 !== -1 ? ii2 : null;
63648
63648
  } else {
63649
- ii = indexOf.call(this._longMonthsParse, llc);
63650
- return ii !== -1 ? ii : null;
63649
+ ii2 = indexOf.call(this._longMonthsParse, llc);
63650
+ return ii2 !== -1 ? ii2 : null;
63651
63651
  }
63652
63652
  } else {
63653
63653
  if (format2 === "MMM") {
63654
- ii = indexOf.call(this._shortMonthsParse, llc);
63655
- if (ii !== -1) {
63656
- return ii;
63654
+ ii2 = indexOf.call(this._shortMonthsParse, llc);
63655
+ if (ii2 !== -1) {
63656
+ return ii2;
63657
63657
  }
63658
- ii = indexOf.call(this._longMonthsParse, llc);
63659
- return ii !== -1 ? ii : null;
63658
+ ii2 = indexOf.call(this._longMonthsParse, llc);
63659
+ return ii2 !== -1 ? ii2 : null;
63660
63660
  } else {
63661
- ii = indexOf.call(this._longMonthsParse, llc);
63662
- if (ii !== -1) {
63663
- return ii;
63661
+ ii2 = indexOf.call(this._longMonthsParse, llc);
63662
+ if (ii2 !== -1) {
63663
+ return ii2;
63664
63664
  }
63665
- ii = indexOf.call(this._shortMonthsParse, llc);
63666
- return ii !== -1 ? ii : null;
63665
+ ii2 = indexOf.call(this._shortMonthsParse, llc);
63666
+ return ii2 !== -1 ? ii2 : null;
63667
63667
  }
63668
63668
  }
63669
63669
  }
@@ -63952,8 +63952,8 @@ var require_moment = __commonJS({
63952
63952
  }
63953
63953
  return isNaN(input) ? null : input;
63954
63954
  }
63955
- function shiftWeekdays(ws2, n) {
63956
- return ws2.slice(n, 7).concat(ws2.slice(0, n));
63955
+ function shiftWeekdays(ws, n) {
63956
+ return ws.slice(n, 7).concat(ws.slice(0, n));
63957
63957
  }
63958
63958
  var defaultLocaleWeekdays = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), defaultLocaleWeekdaysShort = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), defaultLocaleWeekdaysMin = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), defaultWeekdaysRegex = matchWord, defaultWeekdaysShortRegex = matchWord, defaultWeekdaysMinRegex = matchWord;
63959
63959
  function localeWeekdays(m3, format2) {
@@ -63967,7 +63967,7 @@ var require_moment = __commonJS({
63967
63967
  return m3 === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m3 ? this._weekdaysMin[m3.day()] : this._weekdaysMin;
63968
63968
  }
63969
63969
  function handleStrictParse$1(weekdayName, format2, strict) {
63970
- var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
63970
+ var i, ii2, mom, llc = weekdayName.toLocaleLowerCase();
63971
63971
  if (!this._weekdaysParse) {
63972
63972
  this._weekdaysParse = [];
63973
63973
  this._shortWeekdaysParse = [];
@@ -63987,49 +63987,49 @@ var require_moment = __commonJS({
63987
63987
  }
63988
63988
  if (strict) {
63989
63989
  if (format2 === "dddd") {
63990
- ii = indexOf.call(this._weekdaysParse, llc);
63991
- return ii !== -1 ? ii : null;
63990
+ ii2 = indexOf.call(this._weekdaysParse, llc);
63991
+ return ii2 !== -1 ? ii2 : null;
63992
63992
  } else if (format2 === "ddd") {
63993
- ii = indexOf.call(this._shortWeekdaysParse, llc);
63994
- return ii !== -1 ? ii : null;
63993
+ ii2 = indexOf.call(this._shortWeekdaysParse, llc);
63994
+ return ii2 !== -1 ? ii2 : null;
63995
63995
  } else {
63996
- ii = indexOf.call(this._minWeekdaysParse, llc);
63997
- return ii !== -1 ? ii : null;
63996
+ ii2 = indexOf.call(this._minWeekdaysParse, llc);
63997
+ return ii2 !== -1 ? ii2 : null;
63998
63998
  }
63999
63999
  } else {
64000
64000
  if (format2 === "dddd") {
64001
- ii = indexOf.call(this._weekdaysParse, llc);
64002
- if (ii !== -1) {
64003
- return ii;
64001
+ ii2 = indexOf.call(this._weekdaysParse, llc);
64002
+ if (ii2 !== -1) {
64003
+ return ii2;
64004
64004
  }
64005
- ii = indexOf.call(this._shortWeekdaysParse, llc);
64006
- if (ii !== -1) {
64007
- return ii;
64005
+ ii2 = indexOf.call(this._shortWeekdaysParse, llc);
64006
+ if (ii2 !== -1) {
64007
+ return ii2;
64008
64008
  }
64009
- ii = indexOf.call(this._minWeekdaysParse, llc);
64010
- return ii !== -1 ? ii : null;
64009
+ ii2 = indexOf.call(this._minWeekdaysParse, llc);
64010
+ return ii2 !== -1 ? ii2 : null;
64011
64011
  } else if (format2 === "ddd") {
64012
- ii = indexOf.call(this._shortWeekdaysParse, llc);
64013
- if (ii !== -1) {
64014
- return ii;
64012
+ ii2 = indexOf.call(this._shortWeekdaysParse, llc);
64013
+ if (ii2 !== -1) {
64014
+ return ii2;
64015
64015
  }
64016
- ii = indexOf.call(this._weekdaysParse, llc);
64017
- if (ii !== -1) {
64018
- return ii;
64016
+ ii2 = indexOf.call(this._weekdaysParse, llc);
64017
+ if (ii2 !== -1) {
64018
+ return ii2;
64019
64019
  }
64020
- ii = indexOf.call(this._minWeekdaysParse, llc);
64021
- return ii !== -1 ? ii : null;
64020
+ ii2 = indexOf.call(this._minWeekdaysParse, llc);
64021
+ return ii2 !== -1 ? ii2 : null;
64022
64022
  } else {
64023
- ii = indexOf.call(this._minWeekdaysParse, llc);
64024
- if (ii !== -1) {
64025
- return ii;
64023
+ ii2 = indexOf.call(this._minWeekdaysParse, llc);
64024
+ if (ii2 !== -1) {
64025
+ return ii2;
64026
64026
  }
64027
- ii = indexOf.call(this._weekdaysParse, llc);
64028
- if (ii !== -1) {
64029
- return ii;
64027
+ ii2 = indexOf.call(this._weekdaysParse, llc);
64028
+ if (ii2 !== -1) {
64029
+ return ii2;
64030
64030
  }
64031
- ii = indexOf.call(this._shortWeekdaysParse, llc);
64032
- return ii !== -1 ? ii : null;
64031
+ ii2 = indexOf.call(this._shortWeekdaysParse, llc);
64032
+ return ii2 !== -1 ? ii2 : null;
64033
64033
  }
64034
64034
  }
64035
64035
  }
@@ -66551,7 +66551,7 @@ var require_moment = __commonJS({
66551
66551
  function monthsToDays(months2) {
66552
66552
  return months2 * 146097 / 4800;
66553
66553
  }
66554
- function as(units) {
66554
+ function as2(units) {
66555
66555
  if (!this.isValid()) {
66556
66556
  return NaN;
66557
66557
  }
@@ -66719,7 +66719,7 @@ var require_moment = __commonJS({
66719
66719
  proto$2.abs = abs;
66720
66720
  proto$2.add = add$1;
66721
66721
  proto$2.subtract = subtract$1;
66722
- proto$2.as = as;
66722
+ proto$2.as = as2;
66723
66723
  proto$2.asMilliseconds = asMilliseconds;
66724
66724
  proto$2.asSeconds = asSeconds;
66725
66725
  proto$2.asMinutes = asMinutes;
@@ -66820,7 +66820,7 @@ var require_moment = __commonJS({
66820
66820
  var require_FileStreamRotator = __commonJS({
66821
66821
  "../../node_modules/file-stream-rotator/FileStreamRotator.js"(exports2, module2) {
66822
66822
  "use strict";
66823
- var fs4 = require("fs");
66823
+ var fs3 = require("fs");
66824
66824
  var path4 = require("path");
66825
66825
  var moment = require_moment();
66826
66826
  var crypto2 = require("crypto");
@@ -66870,15 +66870,15 @@ var require_FileStreamRotator = __commonJS({
66870
66870
  };
66871
66871
  FileStreamRotator.parseFileSize = function(size) {
66872
66872
  if (size && typeof size == "string") {
66873
- var _s2 = size.toLowerCase().match(/^((?:0\.)?\d+)([kmg])$/);
66874
- if (_s2) {
66875
- switch (_s2[2]) {
66873
+ var _s = size.toLowerCase().match(/^((?:0\.)?\d+)([kmg])$/);
66874
+ if (_s) {
66875
+ switch (_s[2]) {
66876
66876
  case "k":
66877
- return _s2[1] * 1024;
66877
+ return _s[1] * 1024;
66878
66878
  case "m":
66879
- return _s2[1] * 1024 * 1024;
66879
+ return _s[1] * 1024 * 1024;
66880
66880
  case "g":
66881
- return _s2[1] * 1024 * 1024 * 1024;
66881
+ return _s[1] * 1024 * 1024 * 1024;
66882
66882
  }
66883
66883
  }
66884
66884
  }
@@ -66915,10 +66915,10 @@ var require_FileStreamRotator = __commonJS({
66915
66915
  try {
66916
66916
  if (audit_file) {
66917
66917
  var full_path = path4.resolve(audit_file);
66918
- _rtn = JSON.parse(fs4.readFileSync(full_path, { encoding: "utf-8" }));
66918
+ _rtn = JSON.parse(fs3.readFileSync(full_path, { encoding: "utf-8" }));
66919
66919
  } else {
66920
66920
  var full_path = path4.resolve(baseLog + "/.audit.json");
66921
- _rtn = JSON.parse(fs4.readFileSync(full_path, { encoding: "utf-8" }));
66921
+ _rtn = JSON.parse(fs3.readFileSync(full_path, { encoding: "utf-8" }));
66922
66922
  }
66923
66923
  } catch (e) {
66924
66924
  if (e.code !== "ENOENT") {
@@ -66944,7 +66944,7 @@ var require_FileStreamRotator = __commonJS({
66944
66944
  FileStreamRotator.writeAuditLog = function(audit, verbose) {
66945
66945
  try {
66946
66946
  mkDirForFile(audit.auditLog);
66947
- fs4.writeFileSync(audit.auditLog, JSON.stringify(audit, null, 4));
66947
+ fs3.writeFileSync(audit.auditLog, JSON.stringify(audit, null, 4));
66948
66948
  } catch (e) {
66949
66949
  if (verbose) {
66950
66950
  console.error(/* @__PURE__ */ new Date(), "[FileStreamRotator] Failed to store log audit at:", audit.auditLog, "Error:", e);
@@ -66954,8 +66954,8 @@ var require_FileStreamRotator = __commonJS({
66954
66954
  function removeFile(file, verbose) {
66955
66955
  if (file.hash === crypto2.createHash(file.hashType).update(file.name + "LOG_FILE" + file.date).digest("hex")) {
66956
66956
  try {
66957
- if (fs4.existsSync(file.name)) {
66958
- fs4.unlinkSync(file.name);
66957
+ if (fs3.existsSync(file.name)) {
66958
+ fs3.unlinkSync(file.name);
66959
66959
  }
66960
66960
  } catch (e) {
66961
66961
  if (verbose) {
@@ -66970,15 +66970,15 @@ var require_FileStreamRotator = __commonJS({
66970
66970
  let logfileName = path4.basename(logfile);
66971
66971
  let current = logPath + "/" + symLinkName;
66972
66972
  try {
66973
- let stats = fs4.lstatSync(current);
66973
+ let stats = fs3.lstatSync(current);
66974
66974
  if (stats.isSymbolicLink()) {
66975
- fs4.unlinkSync(current);
66976
- fs4.symlinkSync(logfileName, current);
66975
+ fs3.unlinkSync(current);
66976
+ fs3.symlinkSync(logfileName, current);
66977
66977
  }
66978
66978
  } catch (err) {
66979
66979
  if (err && err.code == "ENOENT") {
66980
66980
  try {
66981
- fs4.symlinkSync(logfileName, current);
66981
+ fs3.symlinkSync(logfileName, current);
66982
66982
  } catch (e) {
66983
66983
  if (verbose) {
66984
66984
  console.error(/* @__PURE__ */ new Date(), "[FileStreamRotator] Could not create symlink file: ", current, " -> ", logfileName);
@@ -66990,11 +66990,11 @@ var require_FileStreamRotator = __commonJS({
66990
66990
  function createLogWatcher(logfile, verbose, cb) {
66991
66991
  if (!logfile) return null;
66992
66992
  try {
66993
- let stats = fs4.lstatSync(logfile);
66994
- return fs4.watch(logfile, function(event, filename) {
66993
+ let stats = fs3.lstatSync(logfile);
66994
+ return fs3.watch(logfile, function(event, filename) {
66995
66995
  if (event == "rename") {
66996
66996
  try {
66997
- let stats2 = fs4.lstatSync(logfile);
66997
+ let stats2 = fs3.lstatSync(logfile);
66998
66998
  } catch (err) {
66999
66999
  cb(err, logfile);
67000
67000
  }
@@ -67110,13 +67110,13 @@ var require_FileStreamRotator = __commonJS({
67110
67110
  if (fileCount == 0 && t_log == logfile) {
67111
67111
  t_log += options.extension;
67112
67112
  }
67113
- while (f2 = fs4.existsSync(t_log)) {
67113
+ while (f2 = fs3.existsSync(t_log)) {
67114
67114
  lastLogFile = t_log;
67115
67115
  fileCount++;
67116
67116
  t_log = logfile + "." + fileCount + options.extension;
67117
67117
  }
67118
67118
  if (lastLogFile) {
67119
- var lastLogFileStats = fs4.statSync(lastLogFile);
67119
+ var lastLogFileStats = fs3.statSync(lastLogFile);
67120
67120
  if (lastLogFileStats.size < fileSize) {
67121
67121
  t_log = lastLogFile;
67122
67122
  fileCount--;
@@ -67132,7 +67132,7 @@ var require_FileStreamRotator = __commonJS({
67132
67132
  }
67133
67133
  mkDirForFile(logfile);
67134
67134
  var file_options = options.file_options || { flags: "a" };
67135
- var rotateStream = fs4.createWriteStream(logfile, file_options);
67135
+ var rotateStream = fs3.createWriteStream(logfile, file_options);
67136
67136
  if (curDate && frequencyMetaData && staticFrequency.indexOf(frequencyMetaData.type) > -1 || fileSize > 0) {
67137
67137
  if (self2.verbose) {
67138
67138
  console.log(/* @__PURE__ */ new Date(), "[FileStreamRotator] Rotating file: ", frequencyMetaData ? frequencyMetaData.type : "", fileSize ? "size: " + fileSize : "");
@@ -67171,12 +67171,12 @@ var require_FileStreamRotator = __commonJS({
67171
67171
  });
67172
67172
  stream.on("createLog", function(file) {
67173
67173
  try {
67174
- let stats = fs4.lstatSync(file);
67174
+ let stats = fs3.lstatSync(file);
67175
67175
  } catch (err) {
67176
67176
  if (rotateStream && rotateStream.end == "function") {
67177
67177
  rotateStream.end();
67178
67178
  }
67179
- rotateStream = fs4.createWriteStream(file, file_options);
67179
+ rotateStream = fs3.createWriteStream(file, file_options);
67180
67180
  stream.emit("new", file);
67181
67181
  BubbleEvents(rotateStream, stream);
67182
67182
  }
@@ -67208,7 +67208,7 @@ var require_FileStreamRotator = __commonJS({
67208
67208
  rotateStream.destroy();
67209
67209
  }
67210
67210
  mkDirForFile(logfile);
67211
- rotateStream = fs4.createWriteStream(newLogfile, file_options);
67211
+ rotateStream = fs3.createWriteStream(newLogfile, file_options);
67212
67212
  stream.emit("new", newLogfile);
67213
67213
  stream.emit("rotate", oldFile, newLogfile);
67214
67214
  BubbleEvents(rotateStream, stream);
@@ -67236,9 +67236,9 @@ var require_FileStreamRotator = __commonJS({
67236
67236
  _path.split(path4.sep).reduce(
67237
67237
  function(fullPath, folder) {
67238
67238
  fullPath += folder + path4.sep;
67239
- if (!fs4.existsSync(fullPath)) {
67239
+ if (!fs3.existsSync(fullPath)) {
67240
67240
  try {
67241
- fs4.mkdirSync(fullPath);
67241
+ fs3.mkdirSync(fullPath);
67242
67242
  } catch (e) {
67243
67243
  if (e.code !== "EEXIST") {
67244
67244
  throw e;
@@ -67271,7 +67271,7 @@ var require_FileStreamRotator = __commonJS({
67271
67271
  var require_daily_rotate_file = __commonJS({
67272
67272
  "../../node_modules/winston-daily-rotate-file/daily-rotate-file.js"(exports2, module2) {
67273
67273
  "use strict";
67274
- var fs4 = require("fs");
67274
+ var fs3 = require("fs");
67275
67275
  var os2 = require("os");
67276
67276
  var path4 = require("path");
67277
67277
  var util = require("util");
@@ -67363,7 +67363,7 @@ var require_daily_rotate_file = __commonJS({
67363
67363
  if (options.zippedArchive) {
67364
67364
  const gzName = params.name + ".gz";
67365
67365
  try {
67366
- fs4.unlinkSync(gzName);
67366
+ fs3.unlinkSync(gzName);
67367
67367
  } catch (err) {
67368
67368
  if (err.code !== "ENOENT") {
67369
67369
  err.message = `Error occurred while removing ${gzName}: ${err.message}`;
@@ -67379,7 +67379,7 @@ var require_daily_rotate_file = __commonJS({
67379
67379
  if (options.zippedArchive) {
67380
67380
  this.logStream.on("rotate", (oldFile) => {
67381
67381
  try {
67382
- if (!fs4.existsSync(oldFile)) {
67382
+ if (!fs3.existsSync(oldFile)) {
67383
67383
  return;
67384
67384
  }
67385
67385
  } catch (err) {
@@ -67388,7 +67388,7 @@ var require_daily_rotate_file = __commonJS({
67388
67388
  return;
67389
67389
  }
67390
67390
  try {
67391
- if (fs4.existsSync(`${oldFile}.gz`)) {
67391
+ if (fs3.existsSync(`${oldFile}.gz`)) {
67392
67392
  return;
67393
67393
  }
67394
67394
  } catch (err) {
@@ -67397,19 +67397,19 @@ var require_daily_rotate_file = __commonJS({
67397
67397
  return;
67398
67398
  }
67399
67399
  const gzip = zlib.createGzip();
67400
- const inp = fs4.createReadStream(oldFile);
67400
+ const inp = fs3.createReadStream(oldFile);
67401
67401
  inp.on("error", (err) => {
67402
67402
  err.message = `Error occurred while reading ${oldFile}: ${err.message}`;
67403
67403
  this.emit("error", err);
67404
67404
  });
67405
- const out = fs4.createWriteStream(oldFile + ".gz");
67405
+ const out = fs3.createWriteStream(oldFile + ".gz");
67406
67406
  out.on("error", (err) => {
67407
67407
  err.message = `Error occurred while writing ${oldFile}.gz: ${err.message}`;
67408
67408
  this.emit("error", err);
67409
67409
  });
67410
67410
  inp.pipe(gzip).pipe(out).on("finish", () => {
67411
67411
  try {
67412
- fs4.unlinkSync(oldFile);
67412
+ fs3.unlinkSync(oldFile);
67413
67413
  } catch (err) {
67414
67414
  if (err.code !== "ENOENT") {
67415
67415
  err.message = `Error occurred while removing ${oldFile}: ${err.message}`;
@@ -67474,7 +67474,7 @@ var require_daily_rotate_file = __commonJS({
67474
67474
  options.order = options.order || "desc";
67475
67475
  const logFiles = (() => {
67476
67476
  const fileRegex = new RegExp(this.filename.replace("%DATE%", ".*"), "i");
67477
- return fs4.readdirSync(this.dirname).filter((file) => path4.basename(file).match(fileRegex));
67477
+ return fs3.readdirSync(this.dirname).filter((file) => path4.basename(file).match(fileRegex));
67478
67478
  })();
67479
67479
  if (logFiles.length === 0 && callback) {
67480
67480
  callback(null, results);
@@ -67488,14 +67488,14 @@ var require_daily_rotate_file = __commonJS({
67488
67488
  let stream;
67489
67489
  if (file.endsWith(".gz")) {
67490
67490
  stream = new PassThrough();
67491
- const inp = fs4.createReadStream(logFile);
67491
+ const inp = fs3.createReadStream(logFile);
67492
67492
  inp.on("error", (err) => {
67493
67493
  err.message = `Error occurred while reading ${logFile}: ${err.message}`;
67494
67494
  stream.emit("error", err);
67495
67495
  });
67496
67496
  inp.pipe(zlib.createGunzip()).pipe(stream);
67497
67497
  } else {
67498
- stream = fs4.createReadStream(logFile, {
67498
+ stream = fs3.createReadStream(logFile, {
67499
67499
  encoding: "utf8"
67500
67500
  });
67501
67501
  }
@@ -67588,9 +67588,9 @@ __export(main_exports, {
67588
67588
  module.exports = __toCommonJS(main_exports);
67589
67589
 
67590
67590
  // ../core/dist/esm/index.mjs
67591
- var Eo = Object.defineProperty;
67592
- var Ro = (r6, e, t) => e in r6 ? Eo(r6, e, { enumerable: true, configurable: true, writable: true, value: t }) : r6[e] = t;
67593
- var c = (r6, e, t) => Ro(r6, typeof e != "symbol" ? e + "" : e, t);
67591
+ var Oo = Object.defineProperty;
67592
+ var Io = (r6, e, t) => e in r6 ? Oo(r6, e, { enumerable: true, configurable: true, writable: true, value: t }) : r6[e] = t;
67593
+ var c = (r6, e, t) => Io(r6, typeof e != "symbol" ? e + "" : e, t);
67594
67594
  var pt = class {
67595
67595
  constructor(e, t) {
67596
67596
  c(this, "operator");
@@ -67636,10 +67636,10 @@ var dt = class {
67636
67636
  }, precedence: t });
67637
67637
  }
67638
67638
  construct(e) {
67639
- return new pr(e, this.prefixParselets, this.infixParselets);
67639
+ return new dr(e, this.prefixParselets, this.infixParselets);
67640
67640
  }
67641
67641
  };
67642
- var pr = class {
67642
+ var dr = class {
67643
67643
  constructor(e, t, n) {
67644
67644
  c(this, "tokens");
67645
67645
  c(this, "prefixParselets");
@@ -67690,7 +67690,7 @@ var pr = class {
67690
67690
  return this.infixParselets[e.id === "Symbol" ? e.value : e.id];
67691
67691
  }
67692
67692
  };
67693
- var De = class {
67693
+ var Ve = class {
67694
67694
  constructor(e = 10) {
67695
67695
  c(this, "max");
67696
67696
  c(this, "cache");
@@ -67716,102 +67716,103 @@ var De = class {
67716
67716
  return this.cache.keys().next().value;
67717
67717
  }
67718
67718
  };
67719
- var ft = "created";
67720
- var fr = "not-modified";
67721
- var mr = "not-found";
67722
- var gr = "unauthorized";
67719
+ var ft = "http://hl7.org";
67720
+ var mt = "created";
67721
+ var mr = "not-modified";
67722
+ var yr = "not-found";
67723
+ var xr = "unauthorized";
67723
67724
  var ht = "accepted";
67724
- var On = { resourceType: "OperationOutcome", id: mr, issue: [{ severity: "error", code: "not-found", details: { text: "Not found" } }] };
67725
- var Me = { resourceType: "OperationOutcome", id: gr, issue: [{ severity: "error", code: "login", details: { text: "Unauthorized" } }] };
67726
- var In = { ...Me, issue: [...Me.issue, { severity: "error", code: "expired", details: { text: "Token expired" } }] };
67727
- var xr = { ...Me, issue: [...Me.issue, { severity: "error", code: "invalid", details: { text: "Token not issued for this audience" } }] };
67725
+ var Vn = { resourceType: "OperationOutcome", id: yr, issue: [{ severity: "error", code: "not-found", details: { text: "Not found" } }] };
67726
+ var Me = { resourceType: "OperationOutcome", id: xr, issue: [{ severity: "error", code: "login", details: { text: "Unauthorized" } }] };
67727
+ var Mn = { ...Me, issue: [...Me.issue, { severity: "error", code: "expired", details: { text: "Token expired" } }] };
67728
+ var vr = { ...Me, issue: [...Me.issue, { severity: "error", code: "invalid", details: { text: "Token not issued for this audience" } }] };
67728
67729
  function R(r6, e) {
67729
67730
  return { resourceType: "OperationOutcome", issue: [{ severity: "error", code: "invalid", details: { text: r6 }, ...e ? { expression: [e] } : void 0 }] };
67730
67731
  }
67731
67732
  function x(r6) {
67732
67733
  return { resourceType: "OperationOutcome", issue: [{ severity: "error", code: "structure", details: { text: r6 } }] };
67733
67734
  }
67734
- function kn(r6) {
67735
+ function _n(r6) {
67735
67736
  return { resourceType: "OperationOutcome", issue: [{ severity: "error", code: "exception", details: { text: "Internal server error" }, diagnostics: r6.toString() }] };
67736
67737
  }
67737
- function vr(r6) {
67738
+ function Tr(r6) {
67738
67739
  return !r6 || typeof r6 != "object" ? false : r6 instanceof Error || typeof DOMException < "u" && r6 instanceof DOMException ? true : Object.prototype.toString.call(r6) === "[object Error]";
67739
67740
  }
67740
67741
  function Ge(r6) {
67741
67742
  return typeof r6 == "object" && r6 !== null && r6.resourceType === "OperationOutcome";
67742
67743
  }
67743
- function Tr(r6) {
67744
- return r6.id === "ok" || r6.id === ft || r6.id === fr || r6.id === ht;
67744
+ function br(r6) {
67745
+ return r6.id === "ok" || r6.id === mt || r6.id === mr || r6.id === ht;
67745
67746
  }
67746
67747
  var f = class extends Error {
67747
67748
  constructor(t, n) {
67748
- super(Vn(t), n);
67749
+ super(Ln(t), n);
67749
67750
  c(this, "outcome");
67750
67751
  this.name = "OperationOutcomeError", this.outcome = t;
67751
67752
  }
67752
67753
  };
67753
- function mt(r6) {
67754
+ function yt(r6) {
67754
67755
  return r6 instanceof f ? r6.outcome : Ge(r6) ? r6 : R(_e(r6));
67755
67756
  }
67756
67757
  function _e(r6) {
67757
- return r6 ? typeof r6 == "string" ? r6 : vr(r6) ? r6.message : Ge(r6) ? Vn(r6) : typeof r6 == "object" && "code" in r6 && typeof r6.code == "string" ? r6.code : JSON.stringify(r6) : "Unknown error";
67758
+ return r6 ? typeof r6 == "string" ? r6 : Tr(r6) ? r6.message : Ge(r6) ? Ln(r6) : typeof r6 == "object" && "code" in r6 && typeof r6.code == "string" ? r6.code : JSON.stringify(r6) : "Unknown error";
67758
67759
  }
67759
- function Vn(r6) {
67760
- let e = r6.issue?.map(Co) ?? [];
67760
+ function Ln(r6) {
67761
+ let e = r6.issue?.map(ko) ?? [];
67761
67762
  return e.length > 0 ? e.join("; ") : "Unknown error";
67762
67763
  }
67763
- function Co(r6) {
67764
+ function ko(r6) {
67764
67765
  let e;
67765
67766
  return r6.details?.text ? r6.diagnostics ? e = `${r6.details.text} (${r6.diagnostics})` : e = r6.details.text : r6.diagnostics ? e = r6.diagnostics : e = "Unknown error", r6.expression?.length && (e += ` (${r6.expression.join(", ")})`), e;
67766
67767
  }
67767
- function Ao(r6, e) {
67768
+ function Vo(r6, e) {
67768
67769
  let t = e.max && e.max === Number.MAX_SAFE_INTEGER ? Number.POSITIVE_INFINITY : e.max;
67769
67770
  return { path: r6, description: "", type: e.type ?? [], min: e.min ?? 0, max: t ?? 1, isArray: !!t && t > 1, constraints: [] };
67770
67771
  }
67771
- function _n(r6) {
67772
+ function Un(r6) {
67772
67773
  let e = /* @__PURE__ */ Object.create(null);
67773
- for (let [t, n] of Object.entries(r6)) e[t] = { name: t, type: t, path: t, elements: Object.fromEntries(Object.entries(n.elements).map(([i, o2]) => [i, Ao(i, o2)])), constraints: [], innerTypes: [] };
67774
+ for (let [t, n] of Object.entries(r6)) e[t] = { name: t, type: t, path: t, elements: Object.fromEntries(Object.entries(n.elements).map(([i, o2]) => [i, Vo(i, o2)])), constraints: [], innerTypes: [] };
67774
67775
  return e;
67775
67776
  }
67776
- var Ln = { 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" }] } } }, DataRequirementCodeFilter: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { type: [{ code: "string" }] }, searchParam: { type: [{ code: "string" }] }, valueSet: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/ValueSet"] }] }, code: { max: 9007199254740991, type: [{ code: "Coding" }] } } }, DataRequirementDateFilter: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { type: [{ code: "string" }] }, searchParam: { type: [{ code: "string" }] }, "value[x]": { type: [{ code: "dateTime" }, { code: "Period" }, { code: "Duration" }] } } }, DataRequirementSort: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { min: 1, type: [{ code: "string" }] }, direction: { min: 1, type: [{ code: "code" }] } } }, 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", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] }, maxDosePerLifetime: { type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] } } }, DosageDoseAndRate: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: { 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" }] } } }, ElementDefinitionSlicingDiscriminator: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, path: { min: 1, type: [{ code: "string" }] } } }, ElementDefinitionSlicing: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, discriminator: { max: 9007199254740991, type: [{ code: "ElementDefinitionSlicingDiscriminator" }] }, description: { type: [{ code: "string" }] }, ordered: { type: [{ code: "boolean" }] }, rules: { min: 1, type: [{ code: "code" }] } } }, ElementDefinitionBase: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { min: 1, type: [{ code: "string" }] }, min: { min: 1, type: [{ code: "unsignedInt" }] }, max: { min: 1, type: [{ code: "string" }] } } }, ElementDefinitionType: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, code: { min: 1, type: [{ code: "uri" }] }, profile: { max: 9007199254740991, type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition", "http://hl7.org/fhir/StructureDefinition/ImplementationGuide"] }] }, targetProfile: { max: 9007199254740991, type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition", "http://hl7.org/fhir/StructureDefinition/ImplementationGuide"] }] }, aggregation: { max: 9007199254740991, type: [{ code: "code" }] }, versioning: { type: [{ code: "code" }] } } }, ElementDefinitionExample: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, identity: { min: 1, type: [{ code: "id" }] }, language: { type: [{ code: "code" }] }, map: { min: 1, type: [{ code: "string" }] }, comment: { type: [{ code: "string" }] } } }, 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: "uri" }] }, "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" }] }, onBehalfOf: { type: [{ code: "Reference" }] }, account: { type: [{ code: "Reference" }] }, accounts: { max: 9007199254740991, 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", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] }, high: { type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] } } }, 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", 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: { 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" }] } } }, SubstanceAmountReferenceRange: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, lowLimit: { type: [{ code: "Quantity" }] }, highLimit: { type: [{ code: "Quantity" }] } } }, 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" }] } } }, TimingRepeat: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: 9007199254740991, type: [{ code: "code" }] }, timeOfDay: { max: 9007199254740991, type: [{ code: "time" }] }, when: { max: 9007199254740991, type: [{ code: "code" }] }, offset: { type: [{ code: "unsignedInt" }] } } }, 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" }] } } }, IdentityProvider: { elements: { authorizeUrl: { min: 1, type: [{ code: "string" }] }, tokenUrl: { min: 1, type: [{ code: "string" }] }, tokenAuthMethod: { type: [{ code: "code" }] }, userInfoUrl: { min: 1, type: [{ code: "string" }] }, clientId: { min: 1, type: [{ code: "string" }] }, clientSecret: { min: 1, type: [{ code: "string" }] }, usePkce: { type: [{ code: "boolean" }] }, useSubject: { type: [{ code: "boolean" }] } } } };
67777
- function Rr(r6) {
67778
- return new Sr(r6).parse();
67777
+ var Bn = { 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" }] } } }, DataRequirementCodeFilter: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { type: [{ code: "string" }] }, searchParam: { type: [{ code: "string" }] }, valueSet: { type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/ValueSet"] }] }, code: { max: 9007199254740991, type: [{ code: "Coding" }] } } }, DataRequirementDateFilter: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { type: [{ code: "string" }] }, searchParam: { type: [{ code: "string" }] }, "value[x]": { type: [{ code: "dateTime" }, { code: "Period" }, { code: "Duration" }] } } }, DataRequirementSort: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { min: 1, type: [{ code: "string" }] }, direction: { min: 1, type: [{ code: "code" }] } } }, 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", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] }, maxDosePerLifetime: { type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] } } }, DosageDoseAndRate: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: { 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" }] } } }, ElementDefinitionSlicingDiscriminator: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, type: { min: 1, type: [{ code: "code" }] }, path: { min: 1, type: [{ code: "string" }] } } }, ElementDefinitionSlicing: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, discriminator: { max: 9007199254740991, type: [{ code: "ElementDefinitionSlicingDiscriminator" }] }, description: { type: [{ code: "string" }] }, ordered: { type: [{ code: "boolean" }] }, rules: { min: 1, type: [{ code: "code" }] } } }, ElementDefinitionBase: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, path: { min: 1, type: [{ code: "string" }] }, min: { min: 1, type: [{ code: "unsignedInt" }] }, max: { min: 1, type: [{ code: "string" }] } } }, ElementDefinitionType: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, code: { min: 1, type: [{ code: "uri" }] }, profile: { max: 9007199254740991, type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition", "http://hl7.org/fhir/StructureDefinition/ImplementationGuide"] }] }, targetProfile: { max: 9007199254740991, type: [{ code: "canonical", targetProfile: ["http://hl7.org/fhir/StructureDefinition/StructureDefinition", "http://hl7.org/fhir/StructureDefinition/ImplementationGuide"] }] }, aggregation: { max: 9007199254740991, type: [{ code: "code" }] }, versioning: { type: [{ code: "code" }] } } }, ElementDefinitionExample: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, identity: { min: 1, type: [{ code: "id" }] }, language: { type: [{ code: "code" }] }, map: { min: 1, type: [{ code: "string" }] }, comment: { type: [{ code: "string" }] } } }, 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: "uri" }] }, "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" }] }, onBehalfOf: { type: [{ code: "Reference" }] }, account: { type: [{ code: "Reference" }] }, accounts: { max: 9007199254740991, 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", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] }, high: { type: [{ code: "Quantity", profile: ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] }] } } }, 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", 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: { 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" }] } } }, SubstanceAmountReferenceRange: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, type: [{ code: "Extension" }] }, lowLimit: { type: [{ code: "Quantity" }] }, highLimit: { type: [{ code: "Quantity" }] } } }, 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" }] } } }, TimingRepeat: { elements: { id: { type: [{ code: "string" }] }, extension: { max: 9007199254740991, 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: 9007199254740991, type: [{ code: "code" }] }, timeOfDay: { max: 9007199254740991, type: [{ code: "time" }] }, when: { max: 9007199254740991, type: [{ code: "code" }] }, offset: { type: [{ code: "unsignedInt" }] } } }, 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" }] } } }, IdentityProvider: { elements: { authorizeUrl: { min: 1, type: [{ code: "string" }] }, tokenUrl: { min: 1, type: [{ code: "string" }] }, tokenAuthMethod: { type: [{ code: "code" }] }, userInfoUrl: { min: 1, type: [{ code: "string" }] }, clientId: { min: 1, type: [{ code: "string" }] }, clientSecret: { min: 1, type: [{ code: "string" }] }, usePkce: { type: [{ code: "boolean" }] }, useSubject: { type: [{ code: "boolean" }] } } } };
67778
+ function Cr(r6) {
67779
+ return new Er(r6).parse();
67779
67780
  }
67780
- var Te = _n(Ln);
67781
- var Cr = /* @__PURE__ */ Object.create(null);
67782
- var Fn = /* @__PURE__ */ Object.create(null);
67783
- var Oo = { "http://hl7.org/fhir/StructureDefinition/MoneyQuantity": "MoneyQuantity", "http://hl7.org/fhir/StructureDefinition/SimpleQuantity": "SimpleQuantity", "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition": "ViewDefinition" };
67784
- function qn(r6) {
67781
+ var Te = Un(Bn);
67782
+ var Pr = /* @__PURE__ */ Object.create(null);
67783
+ var qn = /* @__PURE__ */ Object.create(null);
67784
+ var _o = { "http://hl7.org/fhir/StructureDefinition/MoneyQuantity": "MoneyQuantity", "http://hl7.org/fhir/StructureDefinition/SimpleQuantity": "SimpleQuantity", "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition": "ViewDefinition" };
67785
+ function Hn(r6) {
67785
67786
  let e;
67786
- return e = Fn[r6], e || (e = Fn[r6] = /* @__PURE__ */ Object.create(null)), e;
67787
+ return e = qn[r6], e || (e = qn[r6] = /* @__PURE__ */ Object.create(null)), e;
67787
67788
  }
67788
- function Pr(r6) {
67789
+ function Ar(r6) {
67789
67790
  let t = (Array.isArray(r6) ? r6 : r6.entry?.map((n) => n.resource) ?? []).filter((n) => n?.resourceType === "StructureDefinition");
67790
- Gn(t);
67791
- for (let n of t) Ar(n);
67791
+ Kn(t);
67792
+ for (let n of t) wr(n);
67792
67793
  }
67793
- function Ar(r6) {
67794
+ function wr(r6) {
67794
67795
  if (!r6?.name) throw new Error("Failed loading StructureDefinition from bundle");
67795
67796
  if (r6.resourceType !== "StructureDefinition") return;
67796
- let e = Rr(r6), t = Oo[r6.url], n, i;
67797
- t ? (n = Te, i = t) : r6.url === `http://hl7.org/fhir/StructureDefinition/${r6.type}` || r6.url === `https://medplum.com/fhir/StructureDefinition/${r6.type}` || r6.type?.startsWith("http://") || r6.type?.startsWith("https://") ? (n = Te, i = r6.type) : (n = qn(r6.url), i = r6.type), n[i] = e;
67797
+ let e = Cr(r6), t = _o[r6.url], n, i;
67798
+ t ? (n = Te, i = t) : r6.url === `http://hl7.org/fhir/StructureDefinition/${r6.type}` || r6.url === `https://medplum.com/fhir/StructureDefinition/${r6.type}` || r6.type?.startsWith("http://") || r6.type?.startsWith("https://") ? (n = Te, i = r6.type) : (n = Hn(r6.url), i = r6.type), n[i] = e;
67798
67799
  for (let o2 of e.innerTypes) o2.parentType = e, n[o2.name] = o2;
67799
- Cr[r6.url] = e;
67800
+ Pr[r6.url] = e;
67800
67801
  }
67801
- function jn(r6) {
67802
+ function Qn(r6) {
67802
67803
  return !!Te[r6];
67803
67804
  }
67804
67805
  function Qe(r6, e) {
67805
67806
  if (e) {
67806
- let t = qn(e)[r6];
67807
+ let t = Hn(e)[r6];
67807
67808
  if (t) return t;
67808
67809
  }
67809
67810
  return Te[r6];
67810
67811
  }
67811
- function $n(r6) {
67812
- return !!Cr[r6];
67812
+ function zn(r6) {
67813
+ return !!Pr[r6];
67813
67814
  }
67814
- var Sr = class {
67815
+ var Er = class {
67815
67816
  constructor(e) {
67816
67817
  c(this, "root");
67817
67818
  c(this, "elements");
@@ -67822,7 +67823,7 @@ var Sr = class {
67822
67823
  c(this, "innerTypes");
67823
67824
  c(this, "backboneContext");
67824
67825
  if (!e.snapshot?.element || e.snapshot.element.length === 0) throw new Error(`No snapshot defined for StructureDefinition '${e.name}'`);
67825
- 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, path: this.root.path, title: e.title, type: e.type, url: e.url, version: e.version, kind: e.kind, description: Do(e), elements: {}, constraints: this.parseElementDefinition(this.root).constraints, innerTypes: [], summaryProperties: /* @__PURE__ */ new Set(), mandatoryProperties: /* @__PURE__ */ new Set() }, this.innerTypes = [];
67826
+ 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, path: this.root.path, title: e.title, type: e.type, url: e.url, version: e.version, kind: e.kind, description: Uo(e), elements: {}, constraints: this.parseElementDefinition(this.root).constraints, innerTypes: [], summaryProperties: /* @__PURE__ */ new Set(), mandatoryProperties: /* @__PURE__ */ new Set() }, this.innerTypes = [];
67826
67827
  }
67827
67828
  parse() {
67828
67829
  let e = this.next();
@@ -67830,7 +67831,7 @@ var Sr = class {
67830
67831
  if (e.sliceName) this.parseSliceStart(e);
67831
67832
  else if (e.id?.includes(":")) {
67832
67833
  if (this.slicingContext?.current) {
67833
- let t = br(e, this.slicingContext.path);
67834
+ let t = Sr(e, this.slicingContext.path);
67834
67835
  this.slicingContext.current.elements[t] = this.parseElementDefinition(e);
67835
67836
  }
67836
67837
  } else {
@@ -67839,13 +67840,13 @@ var Sr = class {
67839
67840
  let n = this.backboneContext;
67840
67841
  for (; n; ) {
67841
67842
  if (e.path?.startsWith(n.path + ".")) {
67842
- n.type.elements[br(e, n.path)] = t;
67843
+ n.type.elements[Sr(e, n.path)] = t;
67843
67844
  break;
67844
67845
  }
67845
67846
  n = n.parent;
67846
67847
  }
67847
67848
  if (!n) {
67848
- let i = br(e, this.root.path);
67849
+ let i = Sr(e, this.root.path);
67849
67850
  e.isSummary && this.resourceSchema.summaryProperties?.add(i.replace("[x]", "")), t.min > 0 && this.resourceSchema.mandatoryProperties?.add(i.replace("[x]", "")), this.resourceSchema.elements[i] = t;
67850
67851
  }
67851
67852
  this.checkFieldExit(e);
@@ -67859,11 +67860,11 @@ var Sr = class {
67859
67860
  }
67860
67861
  enterInnerType(e) {
67861
67862
  for (; this.backboneContext && !Le(this.backboneContext?.path, e.path); ) this.innerTypes.push(this.backboneContext.type), this.backboneContext = this.backboneContext.parent;
67862
- let t = Er(e);
67863
+ let t = Rr(e);
67863
67864
  this.backboneContext = { type: { name: t, type: t, path: e.path, title: e.label, description: e.definition, elements: {}, constraints: this.parseElementDefinition(e).constraints, innerTypes: [] }, path: e.path, parent: Le(this.backboneContext?.path, e.path) ? this.backboneContext : this.backboneContext?.parent };
67864
67865
  }
67865
67866
  enterSlice(e, t) {
67866
- Vo(e) && !this.peek()?.sliceName || (t.slicing = { discriminator: (e.slicing?.discriminator ?? []).map((n) => {
67867
+ No(e) && !this.peek()?.sliceName || (t.slicing = { discriminator: (e.slicing?.discriminator ?? []).map((n) => {
67867
67868
  if (n.type !== "value" && n.type !== "pattern" && n.type !== "type") throw new Error(`Unsupported slicing discriminator type: ${n.type}`);
67868
67869
  return { path: n.path, type: n.type };
67869
67870
  }), slices: [], ordered: e.slicing?.ordered ?? false, rule: e.slicing?.rules }, this.slicingContext = { field: t.slicing, path: e.path ?? "" });
@@ -67899,52 +67900,52 @@ var Sr = class {
67899
67900
  parseElementDefinitionType(e) {
67900
67901
  return (e.type ?? []).map((t) => {
67901
67902
  let n;
67902
- return (t.code === "BackboneElement" || t.code === "Element") && (n = Er(e)), n || (n = le(t, "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type")?.valueUrl), n || (n = t.code ?? ""), { code: n, targetProfile: t.targetProfile, profile: t.profile };
67903
+ return (t.code === "BackboneElement" || t.code === "Element") && (n = Rr(e)), n || (n = le(t, "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type")?.valueUrl), n || (n = t.code ?? ""), { code: n, targetProfile: t.targetProfile, profile: t.profile };
67903
67904
  });
67904
67905
  }
67905
67906
  parseElementDefinition(e) {
67906
- let t = Un(e.max), n = e.base?.max ? Un(e.base.max) : t, i = { type: "ElementDefinition", value: e };
67907
- return { description: e.definition || "", path: e.path || e.base?.path || "", min: e.min ?? 0, max: t, isArray: n > 1, constraints: (e.constraint ?? []).map((o2) => ({ key: o2.key ?? "", severity: o2.severity ?? "error", expression: o2.expression ?? "", description: o2.human ?? "" })), type: this.parseElementDefinitionType(e), fixed: Bn(V(i, "fixed[x]")), pattern: Bn(V(i, "pattern[x]")), binding: e.binding };
67907
+ let t = jn(e.max), n = e.base?.max ? jn(e.base.max) : t, i = { type: "ElementDefinition", value: e };
67908
+ return { description: e.definition || "", path: e.path || e.base?.path || "", min: e.min ?? 0, max: t, isArray: n > 1, constraints: (e.constraint ?? []).map((o2) => ({ key: o2.key ?? "", severity: o2.severity ?? "error", expression: o2.expression ?? "", description: o2.human ?? "" })), type: this.parseElementDefinitionType(e), fixed: $n(V(i, "fixed[x]")), pattern: $n(V(i, "pattern[x]")), binding: e.binding };
67908
67909
  }
67909
67910
  };
67910
- function Un(r6) {
67911
+ function jn(r6) {
67911
67912
  return r6 === "*" ? Number.POSITIVE_INFINITY : Number.parseInt(r6, 10);
67912
67913
  }
67913
- function br(r6, e = "") {
67914
- return ko(r6.path, e);
67914
+ function Sr(r6, e = "") {
67915
+ return Fo(r6.path, e);
67915
67916
  }
67916
- function ko(r6, e) {
67917
+ function Fo(r6, e) {
67917
67918
  return r6 ? e && r6.startsWith(e) ? r6.substring(e.length + 1) : r6 : "";
67918
67919
  }
67919
67920
  function Le(r6, e) {
67920
67921
  return !r6 || !e ? false : e.startsWith(r6 + ".") || e === r6;
67921
67922
  }
67922
- function Bn(r6) {
67923
+ function $n(r6) {
67923
67924
  return Array.isArray(r6) && r6.length > 0 ? r6[0] : C(r6) ? void 0 : r6;
67924
67925
  }
67925
- function Vo(r6) {
67926
+ function No(r6) {
67926
67927
  let e = r6.slicing?.discriminator;
67927
67928
  return !!(r6.type?.some((t) => t.code === "Extension") && e?.length === 1 && e[0].type === "value" && e[0].path === "url");
67928
67929
  }
67929
- function Do(r6) {
67930
+ function Uo(r6) {
67930
67931
  let e = r6.description;
67931
67932
  return e?.startsWith(`Base StructureDefinition for ${r6.name} Type: `) && (e = e.substring(`Base StructureDefinition for ${r6.name} Type: `.length)), e;
67932
67933
  }
67933
67934
  function Vr(r6, e, t) {
67934
67935
  let n = r6.path;
67935
- return Mo(V(r6, e, t), n, e);
67936
+ return Bo(V(r6, e, t), n, e);
67936
67937
  }
67937
- function Mo(r6, e, t) {
67938
+ function Bo(r6, e, t) {
67938
67939
  let n = e ? e + "." : "";
67939
67940
  return r6 === void 0 ? { type: "undefined", value: void 0, path: `${n}${t}` } : Array.isArray(r6) ? r6.map((i, o2) => ({ ...i, path: `${n}${t}[${o2}]` })) : { ...r6, path: `${n}${t}` };
67940
67941
  }
67941
- var _o = new De(1e3);
67942
+ var qo = new Ve(1e3);
67942
67943
  var ze = { base64Binary: /^([A-Za-z\d+/]{4})*([A-Za-z\d+/]{2}==|[A-Za-z\d+/]{3}=)?$/, canonical: /^\S*$/, code: /^[^\s]+( [^\s]+)*$/, date: /^(\d(\d(\d[1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2]\d|3[0-1]))?)?$/, dateTime: /^(\d(\d(\d[1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2]\d|3[0-1])(T([01]\d|2[0-3])(:[0-5]\d:([0-5]\d|60)(\.\d{1,9})?)?)?)?(Z|[+-]((0\d|1[0-3]):[0-5]\d|14:00)?)?)?$/, id: /^[A-Za-z0-9\-.]{1,64}$/, instant: /^(\d(\d(\d[1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2]\d|3[0-1])T([01]\d|2[0-3]):[0-5]\d:([0-5]\d|60)(\.\d{1,9})?(Z|[+-]((0\d|1[0-3]):[0-5]\d|14:00))$/, markdown: /^[\r\n\t\u0020-\uFFFF]+$/, oid: /^urn:oid:[0-2](\.(0|[1-9]\d*))+$/, string: /^[\r\n\t\u0020-\uFFFF]+$/, time: /^([01]\d|2[0-3]):[0-5]\d:([0-5]\d|60)(\.\d{1,9})?$/, uri: /^\S*$/, url: /^\S*$/, uuid: /^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/, xhtml: /.*/ };
67943
- function m(r6) {
67944
+ function h(r6) {
67944
67945
  return [{ type: d.boolean, value: r6 }];
67945
67946
  }
67946
67947
  function b(r6) {
67947
- return r6 == null ? { type: "undefined", value: void 0 } : Number.isSafeInteger(r6) ? { type: d.integer, value: r6 } : typeof r6 == "number" ? { type: d.decimal, value: r6 } : typeof r6 == "boolean" ? { type: d.boolean, value: r6 } : typeof r6 == "string" ? { type: d.string, value: r6 } : O(r6) ? { type: d.Quantity, value: r6 } : I(r6) ? { type: r6.resourceType, value: r6 } : qr(r6) ? { type: d.CodeableConcept, value: r6 } : Br(r6) ? { type: d.Coding, value: r6 } : { type: d.BackboneElement, value: r6 };
67948
+ return r6 == null ? { type: "undefined", value: void 0 } : Number.isSafeInteger(r6) ? { type: d.integer, value: r6 } : typeof r6 == "number" ? { type: d.decimal, value: r6 } : typeof r6 == "boolean" ? { type: d.boolean, value: r6 } : typeof r6 == "string" ? { type: d.string, value: r6 } : I(r6) ? { type: d.Quantity, value: r6 } : k(r6) ? { type: r6.resourceType, value: r6 } : Wr(r6) ? { type: d.CodeableConcept, value: r6 } : qr(r6) ? { type: d.Coding, value: r6 } : { type: d.BackboneElement, value: r6 };
67948
67949
  }
67949
67950
  function U(r6) {
67950
67951
  return r6.length === 0 ? false : !!r6[0].value;
@@ -67957,15 +67958,15 @@ function J(r6, e) {
67957
67958
  }
67958
67959
  function V(r6, e, t) {
67959
67960
  if (!r6.value) return;
67960
- let n = St(r6.type, e, t?.profileUrl);
67961
- return n ? $o(r6, e, n) : Ho(r6, e);
67961
+ let n = Et(r6.type, e, t?.profileUrl);
67962
+ return n ? Ko(r6, e, n) : Yo(r6, e);
67962
67963
  }
67963
- function $o(r6, e, t) {
67964
+ function Ko(r6, e, t) {
67964
67965
  let n = r6.value, i = t.type;
67965
67966
  if (!i || i.length === 0) return;
67966
67967
  let o2, s = "undefined", a, u2 = t.path.lastIndexOf("."), l2 = t.path.substring(u2 + 1);
67967
67968
  for (let p of i) {
67968
- let y2 = l2.replace("[x]", D(p.code));
67969
+ let y2 = l2.replace("[x]", M(p.code));
67969
67970
  if (o2 = n[y2], a = n["_" + y2], o2 !== void 0 || a !== void 0) {
67970
67971
  s = p.code;
67971
67972
  break;
@@ -67973,17 +67974,17 @@ function $o(r6, e, t) {
67973
67974
  }
67974
67975
  if (a) if (Array.isArray(o2)) {
67975
67976
  o2 = o2.slice();
67976
- for (let p = 0; p < Math.max(o2.length, a.length); p++) o2[p] = Fr(o2[p], a[p]);
67977
+ for (let p = 0; p < Math.max(o2.length, a.length); p++) o2[p] = Nr(o2[p], a[p]);
67977
67978
  } else if (!o2 && Array.isArray(a)) {
67978
67979
  o2 = a.slice();
67979
- for (let p = 0; p < a.length; p++) o2[p] = Fr(void 0, a[p]);
67980
- } else o2 = Fr(o2, a);
67981
- if (!C(o2)) return (s === "Element" || s === "BackboneElement") && (s = t.type[0].code), Array.isArray(o2) ? o2.map((p) => Qn(p, s)) : Qn(o2, s);
67980
+ for (let p = 0; p < a.length; p++) o2[p] = Nr(void 0, a[p]);
67981
+ } else o2 = Nr(o2, a);
67982
+ if (!C(o2)) return (s === "Element" || s === "BackboneElement") && (s = t.type[0].code), Array.isArray(o2) ? o2.map((p) => Yn(p, s)) : Yn(o2, s);
67982
67983
  }
67983
- function Qn(r6, e) {
67984
- return e === "Resource" && I(r6) && (e = r6.resourceType), { type: e, value: r6 };
67984
+ function Yn(r6, e) {
67985
+ return e === "Resource" && k(r6) && (e = r6.resourceType), { type: e, value: r6 };
67985
67986
  }
67986
- function Ho(r6, e) {
67987
+ function Yo(r6, e) {
67987
67988
  let t = r6.value;
67988
67989
  if (!t || typeof t != "object") return;
67989
67990
  let n;
@@ -67993,7 +67994,7 @@ function Ho(r6, e) {
67993
67994
  } else {
67994
67995
  let i = e.endsWith("[x]") ? e.substring(0, e.length - 3) : e;
67995
67996
  for (let o2 of Object.values(d)) {
67996
- let s = i + D(o2);
67997
+ let s = i + M(o2);
67997
67998
  if (s in t) {
67998
67999
  let a = t[s];
67999
68000
  Array.isArray(a) ? n = a.map((u2) => ({ type: o2, value: u2 })) : n = { type: o2, value: a };
@@ -68006,7 +68007,7 @@ function Ho(r6, e) {
68006
68007
  } else if (C(n)) return;
68007
68008
  return n;
68008
68009
  }
68009
- function vt(r6) {
68010
+ function Tt(r6) {
68010
68011
  let e = [];
68011
68012
  for (let t of r6) {
68012
68013
  let n = false;
@@ -68018,31 +68019,31 @@ function vt(r6) {
68018
68019
  }
68019
68020
  return e;
68020
68021
  }
68021
- function Kn(r6) {
68022
- return m(!U(r6));
68022
+ function ei(r6) {
68023
+ return h(!U(r6));
68023
68024
  }
68024
- function Yn(r6, e) {
68025
- return r6.length === 0 || e.length === 0 ? [] : r6.length !== e.length ? m(false) : m(r6.every((t, n) => U(Ke(t, e[n]))));
68025
+ function ti(r6, e) {
68026
+ return r6.length === 0 || e.length === 0 ? [] : r6.length !== e.length ? h(false) : h(r6.every((t, n) => U(Ke(t, e[n]))));
68026
68027
  }
68027
- function Xn(r6, e) {
68028
- return r6.length === 0 || e.length === 0 ? [] : r6.length !== e.length ? m(true) : m(r6.some((t, n) => !U(Ke(t, e[n]))));
68028
+ function ri(r6, e) {
68029
+ return r6.length === 0 || e.length === 0 ? [] : r6.length !== e.length ? h(true) : h(r6.some((t, n) => !U(Ke(t, e[n]))));
68029
68030
  }
68030
68031
  function Ke(r6, e) {
68031
68032
  let t = r6.value?.valueOf(), n = e.value?.valueOf();
68032
- return typeof t == "number" && typeof n == "number" ? m(Math.abs(t - n) < 1e-8) : O(t) && O(n) ? m(ti(t, n)) : m(typeof t == "object" && typeof n == "object" ? Ur(r6, e) : t === n);
68033
+ return typeof t == "number" && typeof n == "number" ? h(Math.abs(t - n) < 1e-8) : I(t) && I(n) ? h(oi(t, n)) : h(typeof t == "object" && typeof n == "object" ? Br(r6, e) : t === n);
68033
68034
  }
68034
- function Nr(r6, e) {
68035
- return r6.length === 0 && e.length === 0 ? m(true) : r6.length !== e.length ? m(false) : (r6.sort(zn), e.sort(zn), m(r6.every((t, n) => U(Go(t, e[n])))));
68035
+ function Ur(r6, e) {
68036
+ return r6.length === 0 && e.length === 0 ? h(true) : r6.length !== e.length ? h(false) : (r6.sort(Xn), e.sort(Xn), h(r6.every((t, n) => U(Xo(t, e[n])))));
68036
68037
  }
68037
- function Go(r6, e) {
68038
+ function Xo(r6, e) {
68038
68039
  let { type: t, value: n } = r6, { type: i, value: o2 } = e, s = n?.valueOf(), a = o2?.valueOf();
68039
- return typeof s == "number" && typeof a == "number" ? m(Math.abs(s - a) < 0.01) : O(s) && O(a) ? m(ti(s, a)) : m(t === "Coding" && i === "Coding" ? typeof s != "object" || typeof a != "object" ? false : s.code === a.code && s.system === a.system : typeof s == "object" && typeof a == "object" ? Ur({ ...s, id: void 0 }, { ...a, id: void 0 }) : typeof s == "string" && typeof a == "string" ? s.toLowerCase() === a.toLowerCase() : s === a);
68040
+ return typeof s == "number" && typeof a == "number" ? h(Math.abs(s - a) < 0.01) : I(s) && I(a) ? h(oi(s, a)) : h(t === "Coding" && i === "Coding" ? typeof s != "object" || typeof a != "object" ? false : s.code === a.code && s.system === a.system : typeof s == "object" && typeof a == "object" ? Br({ ...s, id: void 0 }, { ...a, id: void 0 }) : typeof s == "string" && typeof a == "string" ? s.toLowerCase() === a.toLowerCase() : s === a);
68040
68041
  }
68041
- function zn(r6, e) {
68042
+ function Xn(r6, e) {
68042
68043
  let t = r6.value?.valueOf(), n = e.value?.valueOf();
68043
68044
  return typeof t == "number" && typeof n == "number" ? t - n : typeof t == "string" && typeof n == "string" ? t.localeCompare(n) : 0;
68044
68045
  }
68045
- function Tt(r6, e) {
68046
+ function bt(r6, e) {
68046
68047
  let { value: t } = r6;
68047
68048
  if (t == null) return false;
68048
68049
  let n = e;
@@ -68053,82 +68054,82 @@ function Tt(r6, e) {
68053
68054
  case "Integer":
68054
68055
  return typeof t == "number";
68055
68056
  case "Date":
68056
- return Zn(t);
68057
+ return ni(t);
68057
68058
  case "DateTime":
68058
68059
  return Ue(t);
68059
68060
  case "Time":
68060
68061
  return typeof t == "string" && !!/^T\d/.exec(t);
68061
68062
  case "Period":
68062
- return ei(t);
68063
+ return ii(t);
68063
68064
  case "Quantity":
68064
- return O(t);
68065
+ return I(t);
68065
68066
  default:
68066
68067
  return r6.type === n || typeof t == "object" && t?.resourceType === n;
68067
68068
  }
68068
68069
  }
68069
- function Zn(r6) {
68070
+ function ni(r6) {
68070
68071
  return typeof r6 == "string" && !!ze.date.exec(r6);
68071
68072
  }
68072
68073
  function Ue(r6) {
68073
68074
  return typeof r6 == "string" && !!ze.dateTime.exec(r6);
68074
68075
  }
68075
- function ei(r6) {
68076
+ function ii(r6) {
68076
68077
  return !!(r6 && typeof r6 == "object" && ("start" in r6 && Ue(r6.start) || "end" in r6 && Ue(r6.end)));
68077
68078
  }
68078
- function O(r6) {
68079
+ function I(r6) {
68079
68080
  return !!(r6 && typeof r6 == "object" && "value" in r6 && typeof r6.value == "number");
68080
68081
  }
68081
- function ti(r6, e) {
68082
+ function oi(r6, e) {
68082
68083
  return Math.abs(r6.value - e.value) < 0.01 && (r6.unit === e.unit || r6.code === e.code || r6.unit === e.code || r6.code === e.unit);
68083
68084
  }
68084
- function Ur(r6, e) {
68085
+ function Br(r6, e) {
68085
68086
  let t = Object.keys(r6), n = Object.keys(e);
68086
68087
  if (t.length !== n.length) return false;
68087
68088
  for (let i of t) {
68088
68089
  let o2 = r6[i], s = e[i];
68089
- if (Jn(o2) && Jn(s)) {
68090
- if (!Ur(o2, s)) return false;
68090
+ if (Zn(o2) && Zn(s)) {
68091
+ if (!Br(o2, s)) return false;
68091
68092
  } else if (o2 !== s) return false;
68092
68093
  }
68093
68094
  return true;
68094
68095
  }
68095
- function Jn(r6) {
68096
+ function Zn(r6) {
68096
68097
  return r6 !== null && typeof r6 == "object";
68097
68098
  }
68098
- function Fr(r6, e) {
68099
+ function Nr(r6, e) {
68099
68100
  if (e) {
68100
68101
  if (typeof e != "object") throw new Error("Primitive extension must be an object");
68101
- return Qo(r6 ?? {}, e);
68102
+ return Zo(r6 ?? {}, e);
68102
68103
  }
68103
68104
  return r6;
68104
68105
  }
68105
- function Qo(r6, e) {
68106
+ function Zo(r6, e) {
68106
68107
  return delete e.__proto__, delete e.constructor, Object.assign(r6, e);
68107
68108
  }
68108
68109
  function Xe(r6, e) {
68109
- return I(r6, e) && "id" in r6 && typeof r6.id == "string";
68110
+ return k(r6, e) && "id" in r6 && typeof r6.id == "string";
68110
68111
  }
68111
68112
  function be(r6) {
68112
- let e = M(r6) ?? "undefined/undefined", t = Jo(r6);
68113
+ let e = A(r6) ?? "undefined/undefined", t = ts(r6);
68113
68114
  return t === e ? { reference: e } : { reference: e, display: t };
68114
68115
  }
68115
- function M(r6) {
68116
+ function A(r6) {
68116
68117
  if (H(r6)) return r6.reference;
68117
68118
  if (Xe(r6)) return `${r6.resourceType}/${r6.id}`;
68118
68119
  }
68119
68120
  function Se(r6) {
68120
68121
  if (r6) return H(r6) ? r6.reference.split("/")[1] : r6.id;
68121
68122
  }
68122
- function zo(r6) {
68123
+ function es(r6) {
68123
68124
  return r6.resourceType === "Patient" || r6.resourceType === "Practitioner" || r6.resourceType === "RelatedPerson";
68124
68125
  }
68125
- function Jo(r6) {
68126
- if (zo(r6)) {
68127
- let e = Ko(r6);
68126
+ function ts(r6) {
68127
+ if (es(r6)) {
68128
+ let e = rs(r6);
68128
68129
  if (e) return e;
68129
68130
  }
68130
68131
  if (r6.resourceType === "Device") {
68131
- let e = Yo(r6);
68132
+ let e = ns(r6);
68132
68133
  if (e) return e;
68133
68134
  }
68134
68135
  if (r6.resourceType === "MedicationRequest" && r6.medicationCodeableConcept) return Ye(r6.medicationCodeableConcept);
@@ -68137,20 +68138,20 @@ function Jo(r6) {
68137
68138
  if ("name" in r6 && r6.name && typeof r6.name == "string") return r6.name;
68138
68139
  if ("code" in r6 && r6.code) {
68139
68140
  let e = r6.code;
68140
- if (Array.isArray(e) && (e = e[0]), qr(e)) return Ye(e);
68141
- if (os(e)) return e.text;
68141
+ if (Array.isArray(e) && (e = e[0]), Wr(e)) return Ye(e);
68142
+ if (ps(e)) return e.text;
68142
68143
  }
68143
- return M(r6) ?? "";
68144
+ return A(r6) ?? "";
68144
68145
  }
68145
- function Ko(r6) {
68146
+ function rs(r6) {
68146
68147
  let e = r6.name;
68147
68148
  if (e && e.length > 0) return et(e[0]);
68148
68149
  }
68149
- function Yo(r6) {
68150
+ function ns(r6) {
68150
68151
  let e = r6.deviceName;
68151
68152
  if (e && e.length > 0) return e[0].name;
68152
68153
  }
68153
- function Et(r6, e) {
68154
+ function Rt(r6, e) {
68154
68155
  let t = new Date(r6);
68155
68156
  t.setUTCHours(0, 0, 0, 0);
68156
68157
  let n = e ? new Date(e) : /* @__PURE__ */ new Date();
@@ -68167,27 +68168,27 @@ function le(r6, ...e) {
68167
68168
  for (let n = 0; n < e.length && t; n++) t = t?.extension?.find((i) => i.url === e[n]);
68168
68169
  return t;
68169
68170
  }
68170
- function Rt(r6, e) {
68171
- let t = $r(r6);
68171
+ function Ct(r6, e) {
68172
+ let t = Hr(r6);
68172
68173
  return JSON.stringify(t, null, e ? 2 : void 0) ?? "";
68173
68174
  }
68174
- function $r(r6) {
68175
- if (!(r6 == null || r6 === "")) return typeof r6 == "object" ? Array.isArray(r6) ? Zo(r6) : es(r6) : r6;
68175
+ function Hr(r6) {
68176
+ if (!(r6 == null || r6 === "")) return typeof r6 == "object" ? Array.isArray(r6) ? os(r6) : ss(r6) : r6;
68176
68177
  }
68177
- function Zo(r6) {
68178
+ function os(r6) {
68178
68179
  let e = r6.length;
68179
68180
  if (e === 0) return;
68180
68181
  let t, n = 0;
68181
68182
  for (let i = 0; i < e; i++) {
68182
- let o2 = r6[i], s = $r(o2);
68183
+ let o2 = r6[i], s = Hr(o2);
68183
68184
  s !== o2 && !t && (t = Array.from(r6)), s === void 0 ? t && (t[i] = null) : (t && (t[i] = s), n++);
68184
68185
  }
68185
68186
  if (n !== 0) return t ?? r6;
68186
68187
  }
68187
- function es(r6) {
68188
+ function ss(r6) {
68188
68189
  let e, t = 0;
68189
68190
  for (let n in r6) {
68190
- let i = r6[n], o2 = $r(i);
68191
+ let i = r6[n], o2 = Hr(i);
68191
68192
  o2 !== i && !e && (e = { ...r6 }), o2 === void 0 ? e && delete e[n] : (e && (e[n] = o2), t++);
68192
68193
  }
68193
68194
  if (t !== 0) return e ?? r6;
@@ -68203,14 +68204,14 @@ function re(r6) {
68203
68204
  return e === "string" && r6 !== "" || e === "object" && ("length" in r6 && r6.length > 0 || Object.keys(r6).length > 0);
68204
68205
  }
68205
68206
  function pe(r6, e, t) {
68206
- return r6 === e || C(r6) && C(e) ? true : C(r6) || C(e) ? false : Array.isArray(r6) && Array.isArray(e) ? ts(r6, e) : Array.isArray(r6) || Array.isArray(e) ? false : E(r6) && E(e) ? rs(r6, e, t) : (E(r6) || E(e), false);
68207
+ return r6 === e || C(r6) && C(e) ? true : C(r6) || C(e) ? false : Array.isArray(r6) && Array.isArray(e) ? as(r6, e) : Array.isArray(r6) || Array.isArray(e) ? false : E(r6) && E(e) ? cs(r6, e, t) : (E(r6) || E(e), false);
68207
68208
  }
68208
- function ts(r6, e) {
68209
+ function as(r6, e) {
68209
68210
  if (r6.length !== e.length) return false;
68210
68211
  for (let t = 0; t < r6.length; t++) if (!pe(r6[t], e[t])) return false;
68211
68212
  return true;
68212
68213
  }
68213
- function rs(r6, e, t) {
68214
+ function cs(r6, e, t) {
68214
68215
  let n = /* @__PURE__ */ new Set();
68215
68216
  for (let i of Object.keys(r6)) n.add(i);
68216
68217
  for (let i of Object.keys(e)) n.add(i);
@@ -68224,40 +68225,40 @@ function rs(r6, e, t) {
68224
68225
  function E(r6) {
68225
68226
  return r6 !== null && typeof r6 == "object";
68226
68227
  }
68227
- function oi(r6) {
68228
+ function ui(r6) {
68228
68229
  return r6.every(Be);
68229
68230
  }
68230
68231
  function Be(r6) {
68231
68232
  return typeof r6 == "string";
68232
68233
  }
68233
- function Br(r6) {
68234
+ function qr(r6) {
68234
68235
  return E(r6) && "code" in r6 && typeof r6.code == "string";
68235
68236
  }
68236
- function qr(r6) {
68237
- return E(r6) && "coding" in r6 && Array.isArray(r6.coding) && r6.coding.every(Br);
68237
+ function Wr(r6) {
68238
+ return E(r6) && "coding" in r6 && Array.isArray(r6.coding) && r6.coding.every(qr);
68238
68239
  }
68239
- function os(r6) {
68240
+ function ps(r6) {
68240
68241
  return E(r6) && "text" in r6 && typeof r6.text == "string";
68241
68242
  }
68242
- var si = [];
68243
- for (let r6 = 0; r6 < 256; r6++) si.push(r6.toString(16).padStart(2, "0"));
68244
- function ai(r6) {
68245
- let e = ui(r6), t = new Uint8Array(e), n = new Array(t.length);
68246
- for (let i = 0; i < t.length; i++) n[i] = si[t[i]];
68243
+ var li = [];
68244
+ for (let r6 = 0; r6 < 256; r6++) li.push(r6.toString(16).padStart(2, "0"));
68245
+ function pi(r6) {
68246
+ let e = fi(r6), t = new Uint8Array(e), n = new Array(t.length);
68247
+ for (let i = 0; i < t.length; i++) n[i] = li[t[i]];
68247
68248
  return n.join("");
68248
68249
  }
68249
- function ci(r6) {
68250
- let e = ui(r6), t = new Uint8Array(e), n = new Array(t.length);
68250
+ function di(r6) {
68251
+ let e = fi(r6), t = new Uint8Array(e), n = new Array(t.length);
68251
68252
  for (let i = 0; i < t.length; i++) n[i] = String.fromCodePoint(t[i]);
68252
68253
  return window.btoa(n.join(""));
68253
68254
  }
68254
- function ui(r6) {
68255
+ function fi(r6) {
68255
68256
  return ArrayBuffer.isView(r6) ? r6.buffer : r6;
68256
68257
  }
68257
- function D(r6) {
68258
+ function M(r6) {
68258
68259
  return r6 ? r6.charAt(0).toUpperCase() + r6.substring(1) : "";
68259
68260
  }
68260
- var Gr = (r6, e) => new Promise((t, n) => {
68261
+ var Qr = (r6, e) => new Promise((t, n) => {
68261
68262
  e?.signal?.throwIfAborted();
68262
68263
  let i = setTimeout(t, r6);
68263
68264
  e?.signal?.addEventListener("abort", () => {
@@ -68273,27 +68274,27 @@ function Ze(r6, e, t) {
68273
68274
  }
68274
68275
  return n.push(r6), n;
68275
68276
  }
68276
- function Ct(r6) {
68277
+ function Pt(r6) {
68277
68278
  return r6.sort((e, t) => e.localeCompare(t));
68278
68279
  }
68279
- function Qr(r6) {
68280
+ function zr(r6) {
68280
68281
  return r6.endsWith("/") ? r6 : r6 + "/";
68281
68282
  }
68282
- function ds(r6) {
68283
+ function xs(r6) {
68283
68284
  return r6.startsWith("/") ? r6.slice(1) : r6;
68284
68285
  }
68285
68286
  function G(r6, e) {
68286
- return new URL(ds(e), Qr(r6.toString())).toString();
68287
+ return new URL(xs(e), zr(r6.toString())).toString();
68287
68288
  }
68288
- function fi(r6, e) {
68289
+ function gi(r6, e) {
68289
68290
  return G(r6, e).toString().replace("http://", "ws://").replace("https://", "wss://");
68290
68291
  }
68291
- function hi(r6) {
68292
+ function xi(r6) {
68292
68293
  return typeof r6 == "object" && !Array.isArray(r6) && !(r6 instanceof URLSearchParams) && (r6 = Object.fromEntries(Object.entries(r6).filter((e) => e[1] !== void 0))), new URLSearchParams(r6).toString();
68293
68294
  }
68294
- var fs2 = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-_]*[A-Za-z0-9])$/;
68295
- function Hl(r6) {
68296
- return fs2.test(r6);
68295
+ var vs = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-_]*[A-Za-z0-9])$/;
68296
+ function Zl(r6) {
68297
+ return vs.test(r6);
68297
68298
  }
68298
68299
  var g = Object.freeze([]);
68299
68300
  function et(r6, e) {
@@ -68308,9 +68309,9 @@ function et(r6, e) {
68308
68309
  function Ye(r6) {
68309
68310
  if (!r6) return "";
68310
68311
  let e = Re(r6.text);
68311
- return e || (r6.coding ? r6.coding.map((t) => yi(t)).join(", ") : "");
68312
+ return e || (r6.coding ? r6.coding.map((t) => Ti(t)).join(", ") : "");
68312
68313
  }
68313
- function yi(r6, e) {
68314
+ function Ti(r6, e) {
68314
68315
  let t = Re(r6?.display);
68315
68316
  if (t) {
68316
68317
  let n = e ? Re(r6?.code) : void 0;
@@ -68322,32 +68323,32 @@ function Re(r6) {
68322
68323
  return typeof r6 == "string" ? r6 : void 0;
68323
68324
  }
68324
68325
  var d = { 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", Element: "Element", ElementDefinition: "ElementDefinition", Expression: "Expression", Extension: "Extension", HumanName: "HumanName", Identifier: "Identifier", MarketingStatus: "MarketingStatus", Meta: "Meta", Money: "Money", MoneyQuantity: "MoneyQuantity", 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", SimpleQuantity: "SimpleQuantity", 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", xhtml: "xhtml" };
68325
- function Gn(r6) {
68326
+ function Kn(r6) {
68326
68327
  let e = Array.isArray(r6) ? r6 : r6.entry?.map((t) => t.resource) ?? [];
68327
- for (let t of e) t?.resourceType === "StructureDefinition" && t.kind === "resource" && vi(t.type);
68328
+ for (let t of e) t?.resourceType === "StructureDefinition" && t.kind === "resource" && Ei(t.type);
68328
68329
  }
68329
- function vi(r6) {
68330
+ function Ei(r6) {
68330
68331
  let e = B.types[r6];
68331
68332
  return e || (e = { searchParamsDetails: {} }, B.types[r6] = e), !e.searchParams && r6 !== "Binary" && (e.searchParams = { _id: { base: [r6], code: "_id", type: "token", expression: r6 + ".id" }, _lastUpdated: { base: [r6], code: "_lastUpdated", type: "date", expression: r6 + ".meta.lastUpdated" }, _compartment: { base: [r6], code: "_compartment", type: "reference", expression: r6 + ".meta.compartment" }, _profile: { base: [r6], code: "_profile", type: "uri", expression: r6 + ".meta.profile" }, _security: { base: [r6], code: "_security", type: "token", expression: r6 + ".meta.security" }, _source: { base: [r6], code: "_source", type: "uri", expression: r6 + ".meta.source" }, _tag: { base: [r6], code: "_tag", type: "token", expression: r6 + ".meta.tag" } }), e;
68332
68333
  }
68333
- function Jr(r6) {
68334
+ function Kr(r6) {
68334
68335
  for (let e of r6.base ?? g) {
68335
- let t = vi(e);
68336
+ let t = Ei(e);
68336
68337
  t.searchParams || (t.searchParams = {}), t.searchParams[r6.code] = r6;
68337
68338
  }
68338
68339
  }
68339
- function Er(r6) {
68340
+ function Rr(r6) {
68340
68341
  let e = r6.type?.[0]?.code;
68341
- return e === "BackboneElement" || e === "Element" ? Rs((r6.base?.path ?? r6.path)?.split(".")) : e;
68342
+ return e === "BackboneElement" || e === "Element" ? Is((r6.base?.path ?? r6.path)?.split(".")) : e;
68342
68343
  }
68343
- function Rs(r6) {
68344
- return r6.length === 1 ? r6[0] : r6.map(D).join("");
68344
+ function Is(r6) {
68345
+ return r6.length === 1 ? r6[0] : r6.map(M).join("");
68345
68346
  }
68346
- function St(r6, e, t) {
68347
+ function Et(r6, e, t) {
68347
68348
  let n = Qe(r6, t);
68348
- if (n) return ws(n.elements, e);
68349
+ if (n) return Ms(n.elements, e);
68349
68350
  }
68350
- function ws(r6, e) {
68351
+ function Ms(r6, e) {
68351
68352
  let t = r6[e] ?? r6[e + "[x]"];
68352
68353
  if (t) return t;
68353
68354
  for (let n = 0; n < e.length; n++) {
@@ -68358,7 +68359,7 @@ function ws(r6, e) {
68358
68359
  }
68359
68360
  }
68360
68361
  }
68361
- function I(r6, e) {
68362
+ function k(r6, e) {
68362
68363
  return !(!r6 || typeof r6 != "object" || !("resourceType" in r6) || e && r6.resourceType !== e);
68363
68364
  }
68364
68365
  function H(r6, e) {
@@ -68375,30 +68376,30 @@ function qe(r6) {
68375
68376
  }
68376
68377
  }
68377
68378
  var ne = () => [];
68378
- var k = { empty: (r6, e) => m(e.every((t) => C(t.value))), hasValue: (r6, e) => m(e.length !== 0), exists: (r6, e, t) => t ? m(e.some((n) => U(t.eval(r6, [n])))) : m(e.length > 0 && e.every((n) => !C(n.value))), all: (r6, e, t) => m(e.every((n) => U(t.eval(r6, [n])))), allTrue: (r6, e) => {
68379
- for (let t of e) if (!t.value) return m(false);
68380
- return m(true);
68379
+ var D = { empty: (r6, e) => h(e.every((t) => C(t.value))), hasValue: (r6, e) => h(e.length !== 0), exists: (r6, e, t) => t ? h(e.some((n) => U(t.eval(r6, [n])))) : h(e.length > 0 && e.every((n) => !C(n.value))), all: (r6, e, t) => h(e.every((n) => U(t.eval(r6, [n])))), allTrue: (r6, e) => {
68380
+ for (let t of e) if (!t.value) return h(false);
68381
+ return h(true);
68381
68382
  }, anyTrue: (r6, e) => {
68382
- for (let t of e) if (t.value) return m(true);
68383
- return m(false);
68383
+ for (let t of e) if (t.value) return h(true);
68384
+ return h(false);
68384
68385
  }, allFalse: (r6, e) => {
68385
- for (let t of e) if (t.value) return m(false);
68386
- return m(true);
68386
+ for (let t of e) if (t.value) return h(false);
68387
+ return h(true);
68387
68388
  }, anyFalse: (r6, e) => {
68388
- for (let t of e) if (!t.value) return m(true);
68389
- return m(false);
68389
+ for (let t of e) if (!t.value) return h(true);
68390
+ return h(false);
68390
68391
  }, subsetOf: (r6, e, t) => {
68391
- if (e.length === 0) return m(true);
68392
+ if (e.length === 0) return h(true);
68392
68393
  let n = t.eval(r6, Ce(r6));
68393
- return n.length === 0 ? m(false) : m(e.every((i) => n.some((o2) => o2.value === i.value)));
68394
+ return n.length === 0 ? h(false) : h(e.every((i) => n.some((o2) => o2.value === i.value)));
68394
68395
  }, supersetOf: (r6, e, t) => {
68395
68396
  let n = t.eval(r6, Ce(r6));
68396
- return n.length === 0 ? m(true) : e.length === 0 ? m(false) : m(n.every((i) => e.some((o2) => o2.value === i.value)));
68397
+ return n.length === 0 ? h(true) : e.length === 0 ? h(false) : h(n.every((i) => e.some((o2) => o2.value === i.value)));
68397
68398
  }, count: (r6, e) => [{ type: d.integer, value: e.length }], distinct: (r6, e) => {
68398
68399
  let t = [];
68399
68400
  for (let n of e) t.some((i) => i.value === n.value) || t.push(n);
68400
68401
  return t;
68401
- }, isDistinct: (r6, e) => m(e.length === k.distinct(r6, e).length), where: (r6, e, t) => e.filter((n) => U(t.eval(r6, [n]))), select: (r6, e, t) => e.flatMap((n) => t.eval({ parent: r6, variables: { $this: n } }, [n])), repeat: ne, ofType: (r6, e, t) => e.filter((n) => n.type === t.name), single: (r6, e) => {
68402
+ }, isDistinct: (r6, e) => h(e.length === D.distinct(r6, e).length), where: (r6, e, t) => e.filter((n) => U(t.eval(r6, [n]))), select: (r6, e, t) => e.flatMap((n) => t.eval({ parent: r6, variables: { $this: n } }, [n])), repeat: ne, ofType: (r6, e, t) => e.filter((n) => n.type === t.name), single: (r6, e) => {
68402
68403
  if (e.length > 1) throw new Error("Expected input length one for single()");
68403
68404
  return e.length === 0 ? [] : e.slice(0, 1);
68404
68405
  }, first: (r6, e) => e.length === 0 ? [] : e.slice(0, 1), last: (r6, e) => e.length === 0 ? [] : e.slice(-1, e.length), tail: (r6, e) => e.length === 0 ? [] : e.slice(1, e.length), skip: (r6, e, t) => {
@@ -68422,7 +68423,7 @@ var k = { empty: (r6, e) => m(e.every((t) => C(t.value))), hasValue: (r6, e) =>
68422
68423
  }, union: (r6, e, t) => {
68423
68424
  if (!t) return e;
68424
68425
  let n = t.eval(r6, Ce(r6));
68425
- return vt([...e, ...n]);
68426
+ return Tt([...e, ...n]);
68426
68427
  }, combine: (r6, e, t) => {
68427
68428
  if (!t) return e;
68428
68429
  let n = t.eval(r6, Ce(r6));
@@ -68435,38 +68436,38 @@ var k = { empty: (r6, e) => m(e.every((t) => C(t.value))), hasValue: (r6, e) =>
68435
68436
  if (e.length === 0) return [];
68436
68437
  let [{ value: t }] = X(e, 1);
68437
68438
  if (typeof t == "boolean") return [{ type: d.boolean, value: t }];
68438
- if (typeof t == "number" && (t === 0 || t === 1)) return m(!!t);
68439
+ if (typeof t == "number" && (t === 0 || t === 1)) return h(!!t);
68439
68440
  if (typeof t == "string") {
68440
68441
  let n = t.toLowerCase();
68441
- if (["true", "t", "yes", "y", "1", "1.0"].includes(n)) return m(true);
68442
- if (["false", "f", "no", "n", "0", "0.0"].includes(n)) return m(false);
68442
+ if (["true", "t", "yes", "y", "1", "1.0"].includes(n)) return h(true);
68443
+ if (["false", "f", "no", "n", "0", "0.0"].includes(n)) return h(false);
68443
68444
  }
68444
68445
  return [];
68445
- }, convertsToBoolean: (r6, e) => e.length === 0 ? [] : m(k.toBoolean(r6, e).length === 1), toInteger: (r6, e) => {
68446
+ }, convertsToBoolean: (r6, e) => e.length === 0 ? [] : h(D.toBoolean(r6, e).length === 1), toInteger: (r6, e) => {
68446
68447
  if (e.length === 0) return [];
68447
68448
  let [{ value: t }] = X(e, 1);
68448
68449
  return typeof t == "number" ? [{ type: d.integer, value: t }] : typeof t == "string" && /^[+-]?\d+$/.exec(t) ? [{ type: d.integer, value: Number.parseInt(t, 10) }] : typeof t == "boolean" ? [{ type: d.integer, value: t ? 1 : 0 }] : [];
68449
- }, convertsToInteger: (r6, e) => e.length === 0 ? [] : m(k.toInteger(r6, e).length === 1), toDate: (r6, e) => {
68450
+ }, convertsToInteger: (r6, e) => e.length === 0 ? [] : h(D.toInteger(r6, e).length === 1), toDate: (r6, e) => {
68450
68451
  if (e.length === 0) return [];
68451
68452
  let [{ value: t }] = X(e, 1);
68452
68453
  return typeof t == "string" && /^\d{4}(-\d{2}(-\d{2})?)?/.exec(t) ? [{ type: d.date, value: qe(t) }] : [];
68453
- }, convertsToDate: (r6, e) => e.length === 0 ? [] : m(k.toDate(r6, e).length === 1), toDateTime: (r6, e) => {
68454
+ }, convertsToDate: (r6, e) => e.length === 0 ? [] : h(D.toDate(r6, e).length === 1), toDateTime: (r6, e) => {
68454
68455
  if (e.length === 0) return [];
68455
68456
  let [{ value: t }] = X(e, 1);
68456
68457
  return typeof t == "string" && /^\d{4}(-\d{2}(-\d{2})?)?/.exec(t) ? [{ type: d.dateTime, value: qe(t) }] : [];
68457
- }, convertsToDateTime: (r6, e) => e.length === 0 ? [] : m(k.toDateTime(r6, e).length === 1), toDecimal: (r6, e) => {
68458
+ }, convertsToDateTime: (r6, e) => e.length === 0 ? [] : h(D.toDateTime(r6, e).length === 1), toDecimal: (r6, e) => {
68458
68459
  if (e.length === 0) return [];
68459
68460
  let [{ value: t }] = X(e, 1);
68460
68461
  return typeof t == "number" ? [{ type: d.decimal, value: t }] : typeof t == "string" && /^-?\d{1,9}(\.\d{1,9})?$/.exec(t) ? [{ type: d.decimal, value: Number.parseFloat(t) }] : typeof t == "boolean" ? [{ type: d.decimal, value: t ? 1 : 0 }] : [];
68461
- }, convertsToDecimal: (r6, e) => e.length === 0 ? [] : m(k.toDecimal(r6, e).length === 1), toQuantity: (r6, e) => {
68462
+ }, convertsToDecimal: (r6, e) => e.length === 0 ? [] : h(D.toDecimal(r6, e).length === 1), toQuantity: (r6, e) => {
68462
68463
  if (e.length === 0) return [];
68463
68464
  let [{ value: t }] = X(e, 1);
68464
- return O(t) ? [{ type: d.Quantity, value: t }] : typeof t == "number" ? [{ type: d.Quantity, value: { value: t, unit: "1" } }] : typeof t == "string" && /^-?\d{1,9}(\.\d{1,9})?/.exec(t) ? [{ type: d.Quantity, value: { value: Number.parseFloat(t), unit: "1" } }] : typeof t == "boolean" ? [{ type: d.Quantity, value: { value: t ? 1 : 0, unit: "1" } }] : [];
68465
- }, convertsToQuantity: (r6, e) => e.length === 0 ? [] : m(k.toQuantity(r6, e).length === 1), toString: (r6, e) => {
68465
+ return I(t) ? [{ type: d.Quantity, value: t }] : typeof t == "number" ? [{ type: d.Quantity, value: { value: t, unit: "1" } }] : typeof t == "string" && /^-?\d{1,9}(\.\d{1,9})?/.exec(t) ? [{ type: d.Quantity, value: { value: Number.parseFloat(t), unit: "1" } }] : typeof t == "boolean" ? [{ type: d.Quantity, value: { value: t ? 1 : 0, unit: "1" } }] : [];
68466
+ }, convertsToQuantity: (r6, e) => e.length === 0 ? [] : h(D.toQuantity(r6, e).length === 1), toString: (r6, e) => {
68466
68467
  if (e.length === 0) return [];
68467
68468
  let [{ value: t }] = X(e, 1);
68468
- return t == null ? [] : O(t) ? [{ type: d.string, value: `${t.value} '${t.unit}'` }] : [{ type: d.string, value: t.toString() }];
68469
- }, convertsToString: (r6, e) => e.length === 0 ? [] : m(k.toString(r6, e).length === 1), toTime: (r6, e) => {
68469
+ return t == null ? [] : I(t) ? [{ type: d.string, value: `${t.value} '${t.unit}'` }] : [{ type: d.string, value: t.toString() }];
68470
+ }, convertsToString: (r6, e) => e.length === 0 ? [] : h(D.toString(r6, e).length === 1), toTime: (r6, e) => {
68470
68471
  if (e.length === 0) return [];
68471
68472
  let [{ value: t }] = X(e, 1);
68472
68473
  if (typeof t == "string") {
@@ -68474,7 +68475,7 @@ var k = { empty: (r6, e) => m(e.every((t) => C(t.value))), hasValue: (r6, e) =>
68474
68475
  if (n) return [{ type: d.time, value: qe("T" + n[1]) }];
68475
68476
  }
68476
68477
  return [];
68477
- }, convertsToTime: (r6, e) => e.length === 0 ? [] : m(k.toTime(r6, e).length === 1), indexOf: (r6, e, t) => q((n, i) => n.indexOf(i), r6, e, t), substring: (r6, e, t, n) => q((i, o2, s) => {
68478
+ }, convertsToTime: (r6, e) => e.length === 0 ? [] : h(D.toTime(r6, e).length === 1), indexOf: (r6, e, t) => q((n, i) => n.indexOf(i), r6, e, t), substring: (r6, e, t, n) => q((i, o2, s) => {
68478
68479
  let a = o2, u2 = s ? a + s : i.length;
68479
68480
  return a < 0 || a >= i.length ? void 0 : i.substring(a, u2);
68480
68481
  }, r6, e, t, n), startsWith: (r6, e, t) => q((n, i) => n.startsWith(i), r6, e, t), endsWith: (r6, e, t) => q((n, i) => n.endsWith(i), r6, e, t), contains: (r6, e, t) => q((n, i) => n.includes(i), r6, e, t), upper: (r6, e) => q((t) => t.toUpperCase(), r6, e), lower: (r6, e) => q((t) => t.toLowerCase(), r6, e), replace: (r6, e, t, n) => q((i, o2, s) => i.replaceAll(o2, s), r6, e, t, n), matches: (r6, e, t) => q((n, i) => !!new RegExp(i).exec(n), r6, e, t), replaceMatches: (r6, e, t, n) => q((i, o2, s) => i.replaceAll(new RegExp(o2, "g"), s.replaceAll(/\$\{(\w+)\}/g, "$<$1>")), r6, e, t, n), length: (r6, e) => q((t) => t.length, r6, e), toChars: (r6, e) => q((t) => t ? t.split("") : void 0, r6, e), encode: ne, decode: ne, escape: ne, unescape: ne, trim: ne, split: ne, join: (r6, e, t) => {
@@ -68486,18 +68487,18 @@ var k = { empty: (r6, e) => m(e.every((t) => C(t.value))), hasValue: (r6, e) =>
68486
68487
  let o2 = Math.pow(10, i);
68487
68488
  return Math.round(n * o2) / o2;
68488
68489
  }, r6, e, ...t), sqrt: (r6, e) => Y(Math.sqrt, r6, e), truncate: (r6, e) => Y((t) => Math.trunc(t), r6, e), children: ne, descendants: ne, trace: (r6, e, t) => e, now: () => [{ type: d.dateTime, value: (/* @__PURE__ */ new Date()).toISOString() }], timeOfDay: () => [{ type: d.time, value: (/* @__PURE__ */ new Date()).toISOString().substring(11) }], today: () => [{ type: d.date, value: (/* @__PURE__ */ new Date()).toISOString().substring(0, 10) }], between: (r6, e, t, n, i) => {
68489
- let o2 = k.toDateTime(r6, t.eval(r6, e));
68490
+ let o2 = D.toDateTime(r6, t.eval(r6, e));
68490
68491
  if (o2.length === 0) throw new Error("Invalid start date");
68491
- let s = k.toDateTime(r6, n.eval(r6, e));
68492
+ let s = D.toDateTime(r6, n.eval(r6, e));
68492
68493
  if (s.length === 0) throw new Error("Invalid end date");
68493
68494
  let a = i.eval(r6, e)[0]?.value;
68494
68495
  if (a !== "years" && a !== "months" && a !== "days") throw new Error("Invalid units");
68495
- let u2 = Et(o2[0].value, s[0].value);
68496
+ let u2 = Rt(o2[0].value, s[0].value);
68496
68497
  return [{ type: d.Quantity, value: { value: u2[a], unit: a } }];
68497
68498
  }, is: (r6, e, t) => {
68498
68499
  let n = "";
68499
- return t instanceof L ? n = t.name : t instanceof Z && (n = t.left.name + "." + t.right.name), n ? e.map((i) => ({ type: d.boolean, value: Tt(i, n) })) : [];
68500
- }, not: (r6, e) => k.toBoolean(r6, e).map((t) => ({ type: d.boolean, value: !t.value })), resolve: (r6, e) => e.map((t) => {
68500
+ return t instanceof L ? n = t.name : t instanceof Z && (n = t.left.name + "." + t.right.name), n ? e.map((i) => ({ type: d.boolean, value: bt(i, n) })) : [];
68501
+ }, not: (r6, e) => D.toBoolean(r6, e).map((t) => ({ type: d.boolean, value: !t.value })), resolve: (r6, e) => e.map((t) => {
68501
68502
  let n = t.value, i;
68502
68503
  if (typeof n == "string") i = n;
68503
68504
  else if (typeof n == "object") {
@@ -68514,7 +68515,7 @@ var k = { empty: (r6, e) => m(e.every((t) => C(t.value))), hasValue: (r6, e) =>
68514
68515
  return { type: o2, value: { resourceType: o2, id: s } };
68515
68516
  }
68516
68517
  return { type: d.BackboneElement, value: void 0 };
68517
- }).filter((t) => !!t.value), as: (r6, e) => e, type: (r6, e) => e.map(({ value: t }) => typeof t == "boolean" ? { type: d.BackboneElement, value: { namespace: "System", name: "Boolean" } } : typeof t == "number" ? { type: d.BackboneElement, value: { namespace: "System", name: "Integer" } } : I(t) ? { type: d.BackboneElement, value: { namespace: "FHIR", name: t.resourceType } } : { type: d.BackboneElement, value: null }), conformsTo: (r6, e, t) => {
68518
+ }).filter((t) => !!t.value), as: (r6, e) => e, type: (r6, e) => e.map(({ value: t }) => typeof t == "boolean" ? { type: d.BackboneElement, value: { namespace: "System", name: "Boolean" } } : typeof t == "number" ? { type: d.BackboneElement, value: { namespace: "System", name: "Integer" } } : k(t) ? { type: d.BackboneElement, value: { namespace: "FHIR", name: t.resourceType } } : { type: d.BackboneElement, value: null }), conformsTo: (r6, e, t) => {
68518
68519
  let n = t.eval(r6, e)[0].value;
68519
68520
  if (!n.startsWith("http://hl7.org/fhir/StructureDefinition/")) throw new Error("Expected a StructureDefinition URL");
68520
68521
  let i = n.replace("http://hl7.org/fhir/StructureDefinition/", "");
@@ -68544,7 +68545,7 @@ function q(r6, e, t, ...n) {
68544
68545
  }
68545
68546
  function Y(r6, e, t, ...n) {
68546
68547
  if (t.length === 0) return [];
68547
- let [{ value: i }] = X(t, 1), o2 = O(i), s = o2 ? i.value : i;
68548
+ let [{ value: i }] = X(t, 1), o2 = I(i), s = o2 ? i.value : i;
68548
68549
  if (typeof s != "number") throw new TypeError("Math function cannot be called with non-number");
68549
68550
  let a = r6(s, ...n.map((p) => p.eval(e, t)[0]?.value)), u2 = o2 ? d.Quantity : t[0].type, l2 = o2 ? { ...i, value: a } : a;
68550
68551
  return [{ type: u2, value: l2 }];
@@ -68591,13 +68592,13 @@ var L = class {
68591
68592
  }
68592
68593
  evalValue(e) {
68593
68594
  let t = e.value;
68594
- if (!(!t || typeof t != "object")) return I(t, this.name) ? e : Vr(e, this.name);
68595
+ if (!(!t || typeof t != "object")) return k(t, this.name) ? e : Vr(e, this.name);
68595
68596
  }
68596
68597
  toString() {
68597
68598
  return this.name;
68598
68599
  }
68599
68600
  };
68600
- var At = class {
68601
+ var wt = class {
68601
68602
  eval() {
68602
68603
  return [];
68603
68604
  }
@@ -68605,7 +68606,7 @@ var At = class {
68605
68606
  return "{}";
68606
68607
  }
68607
68608
  };
68608
- var wt = class extends pt {
68609
+ var Ot = class extends pt {
68609
68610
  constructor(t, n, i) {
68610
68611
  super(t, n);
68611
68612
  c(this, "impl");
@@ -68618,17 +68619,17 @@ var wt = class extends pt {
68618
68619
  return this.operator + this.child.toString();
68619
68620
  }
68620
68621
  };
68621
- var me = class extends ce {
68622
+ var he = class extends ce {
68622
68623
  constructor(e, t) {
68623
68624
  super("as", e, t);
68624
68625
  }
68625
68626
  eval(e, t) {
68626
- return k.ofType(e, this.left.eval(e, t), this.right);
68627
+ return D.ofType(e, this.left.eval(e, t), this.right);
68627
68628
  }
68628
68629
  };
68629
- var A = class extends ce {
68630
+ var w = class extends ce {
68630
68631
  };
68631
- var _ = class extends A {
68632
+ var _ = class extends w {
68632
68633
  constructor(t, n, i, o2) {
68633
68634
  super(t, n, i);
68634
68635
  c(this, "impl");
@@ -68639,11 +68640,11 @@ var _ = class extends A {
68639
68640
  if (i.length !== 1) return [];
68640
68641
  let o2 = this.right.eval(t, n);
68641
68642
  if (o2.length !== 1) return [];
68642
- let s = i[0].value, a = o2[0].value, u2 = O(s) ? s.value : s, l2 = O(a) ? a.value : a, p = this.impl(u2, l2);
68643
- return typeof p == "boolean" ? m(p) : O(s) ? [{ type: d.Quantity, value: { ...s, value: p } }] : [b(p)];
68643
+ let s = i[0].value, a = o2[0].value, u2 = I(s) ? s.value : s, l2 = I(a) ? a.value : a, p = this.impl(u2, l2);
68644
+ return typeof p == "boolean" ? h(p) : I(s) ? [{ type: d.Quantity, value: { ...s, value: p } }] : [b(p)];
68644
68645
  }
68645
68646
  };
68646
- var Ot = class extends ce {
68647
+ var It = class extends ce {
68647
68648
  constructor(e, t) {
68648
68649
  super("&", e, t);
68649
68650
  }
@@ -68652,22 +68653,22 @@ var Ot = class extends ce {
68652
68653
  return o2.length > 0 && o2.every((s) => typeof s.value == "string") ? [{ type: d.string, value: o2.map((s) => s.value).join("") }] : o2;
68653
68654
  }
68654
68655
  };
68655
- var It = class extends A {
68656
+ var kt = class extends w {
68656
68657
  constructor(e, t) {
68657
68658
  super("contains", e, t);
68658
68659
  }
68659
68660
  eval(e, t) {
68660
68661
  let n = this.left.eval(e, t), i = this.right.eval(e, t);
68661
- return m(n.some((o2) => o2.value === i[0].value));
68662
+ return h(n.some((o2) => o2.value === i[0].value));
68662
68663
  }
68663
68664
  };
68664
- var kt = class extends A {
68665
+ var Dt = class extends w {
68665
68666
  constructor(e, t) {
68666
68667
  super("in", e, t);
68667
68668
  }
68668
68669
  eval(e, t) {
68669
68670
  let n = J(this.left.eval(e, t)), i = this.right.eval(e, t);
68670
- return n ? m(i.some((o2) => Ke(n, o2)[0].value)) : [];
68671
+ return n ? h(i.some((o2) => Ke(n, o2)[0].value)) : [];
68671
68672
  }
68672
68673
  };
68673
68674
  var Z = class extends ce {
@@ -68687,46 +68688,46 @@ var Pe = class extends ce {
68687
68688
  }
68688
68689
  eval(e, t) {
68689
68690
  let n = this.left.eval(e, t), i = this.right.eval(e, t);
68690
- return vt([...n, ...i]);
68691
+ return Tt([...n, ...i]);
68691
68692
  }
68692
68693
  };
68693
- var Vt = class extends A {
68694
+ var Vt = class extends w {
68694
68695
  constructor(e, t) {
68695
68696
  super("=", e, t);
68696
68697
  }
68697
68698
  eval(e, t) {
68698
68699
  let n = this.left.eval(e, t), i = this.right.eval(e, t);
68699
- return Yn(n, i);
68700
+ return ti(n, i);
68700
68701
  }
68701
68702
  };
68702
- var Dt = class extends A {
68703
+ var Mt = class extends w {
68703
68704
  constructor(e, t) {
68704
68705
  super("!=", e, t);
68705
68706
  }
68706
68707
  eval(e, t) {
68707
68708
  let n = this.left.eval(e, t), i = this.right.eval(e, t);
68708
- return Xn(n, i);
68709
+ return ri(n, i);
68709
68710
  }
68710
68711
  };
68711
- var Mt = class extends A {
68712
+ var _t = class extends w {
68712
68713
  constructor(e, t) {
68713
68714
  super("~", e, t);
68714
68715
  }
68715
68716
  eval(e, t) {
68716
68717
  let n = this.left.eval(e, t), i = this.right.eval(e, t);
68717
- return Nr(n, i);
68718
+ return Ur(n, i);
68718
68719
  }
68719
68720
  };
68720
- var _t = class extends A {
68721
+ var Lt = class extends w {
68721
68722
  constructor(e, t) {
68722
68723
  super("!~", e, t);
68723
68724
  }
68724
68725
  eval(e, t) {
68725
68726
  let n = this.left.eval(e, t), i = this.right.eval(e, t);
68726
- return Kn(Nr(n, i));
68727
+ return ei(Ur(n, i));
68727
68728
  }
68728
68729
  };
68729
- var Ae = class extends A {
68730
+ var Ae = class extends w {
68730
68731
  constructor(e, t) {
68731
68732
  super("is", e, t);
68732
68733
  }
@@ -68734,43 +68735,43 @@ var Ae = class extends A {
68734
68735
  let n = this.left.eval(e, t);
68735
68736
  if (n.length !== 1) return [];
68736
68737
  let i = this.right.name;
68737
- return m(Tt(n[0], i));
68738
+ return h(bt(n[0], i));
68738
68739
  }
68739
68740
  };
68740
- var Lt = class extends A {
68741
+ var Ft = class extends w {
68741
68742
  constructor(e, t) {
68742
68743
  super("and", e, t);
68743
68744
  }
68744
68745
  eval(e, t) {
68745
68746
  let n = J(this.left.eval(e, t), "boolean"), i = J(this.right.eval(e, t), "boolean");
68746
- return n?.value === true && i?.value === true ? m(true) : n?.value === false || i?.value === false ? m(false) : [];
68747
+ return n?.value === true && i?.value === true ? h(true) : n?.value === false || i?.value === false ? h(false) : [];
68747
68748
  }
68748
68749
  };
68749
- var Ft = class extends A {
68750
+ var Nt = class extends w {
68750
68751
  constructor(e, t) {
68751
68752
  super("or", e, t);
68752
68753
  }
68753
68754
  eval(e, t) {
68754
68755
  let n = J(this.left.eval(e, t), "boolean"), i = J(this.right.eval(e, t), "boolean");
68755
- return n?.value === false && i?.value === false ? m(false) : n?.value || i?.value ? m(true) : [];
68756
+ return n?.value === false && i?.value === false ? h(false) : n?.value || i?.value ? h(true) : [];
68756
68757
  }
68757
68758
  };
68758
- var Nt = class extends A {
68759
+ var Ut = class extends w {
68759
68760
  constructor(e, t) {
68760
68761
  super("xor", e, t);
68761
68762
  }
68762
68763
  eval(e, t) {
68763
68764
  let n = J(this.left.eval(e, t), "boolean"), i = J(this.right.eval(e, t), "boolean");
68764
- return !n || !i ? [] : m(n.value !== i.value);
68765
+ return !n || !i ? [] : h(n.value !== i.value);
68765
68766
  }
68766
68767
  };
68767
- var Ut = class extends A {
68768
+ var Bt = class extends w {
68768
68769
  constructor(e, t) {
68769
68770
  super("implies", e, t);
68770
68771
  }
68771
68772
  eval(e, t) {
68772
68773
  let n = J(this.left.eval(e, t), "boolean"), i = J(this.right.eval(e, t), "boolean");
68773
- return i?.value === true || n?.value === false ? m(true) : !n || !i ? [] : m(false);
68774
+ return i?.value === true || n?.value === false ? h(true) : !n || !i ? [] : h(false);
68774
68775
  }
68775
68776
  };
68776
68777
  var ie = class {
@@ -68780,7 +68781,7 @@ var ie = class {
68780
68781
  this.name = e, this.args = t;
68781
68782
  }
68782
68783
  eval(e, t) {
68783
- let n = k[this.name];
68784
+ let n = D[this.name];
68784
68785
  if (!n) throw new Error("Unrecognized function: " + this.name);
68785
68786
  return n(e, t, ...this.args);
68786
68787
  }
@@ -68808,41 +68809,41 @@ var we = class {
68808
68809
  };
68809
68810
  var rt = ["!=", "!~", "<=", ">=", "{}", "->"];
68810
68811
  var v = { 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 };
68811
- var Vs = { parse(r6) {
68812
+ var Ns = { parse(r6) {
68812
68813
  let e = r6.consumeAndParse();
68813
68814
  if (!r6.match(")")) throw new Error("Parse error: expected `)` got `" + r6.peek()?.value + "`");
68814
68815
  return e;
68815
68816
  } };
68816
- var Ds = { parse(r6, e) {
68817
+ var Us = { parse(r6, e) {
68817
68818
  let t = r6.consumeAndParse();
68818
68819
  if (!r6.match("]")) throw new Error("Parse error: expected `]`");
68819
68820
  return new we(e, t);
68820
68821
  }, precedence: v.Indexer };
68821
- var Ms = { parse(r6, e) {
68822
+ var Bs = { parse(r6, e) {
68822
68823
  if (!(e instanceof L)) throw new Error("Unexpected parentheses");
68823
68824
  let t = [];
68824
68825
  for (; !r6.match(")"); ) t.push(r6.consumeAndParse()), r6.match(",");
68825
68826
  return new ie(e.name, t);
68826
68827
  }, precedence: v.FunctionCall };
68827
- function _s(r6) {
68828
+ function qs(r6) {
68828
68829
  let e = r6.split(" "), t = Number.parseFloat(e[0]), n = e[1];
68829
68830
  return n?.startsWith("'") && n.endsWith("'") ? n = n.substring(1, n.length - 1) : n = "{" + n + "}", { value: t, unit: n };
68830
68831
  }
68831
68832
  function nt() {
68832
- return new dt().registerPrefix("String", { parse: (r6, e) => new W({ type: d.string, value: e.value }) }).registerPrefix("DateTime", { parse: (r6, e) => new W({ type: d.dateTime, value: qe(e.value) }) }).registerPrefix("Quantity", { parse: (r6, e) => new W({ type: d.Quantity, value: _s(e.value) }) }).registerPrefix("Number", { parse: (r6, e) => new W({ type: e.value.includes(".") ? d.decimal : d.integer, value: Number.parseFloat(e.value) }) }).registerPrefix("true", { parse: () => new W({ type: d.boolean, value: true }) }).registerPrefix("false", { parse: () => new W({ type: d.boolean, value: false }) }).registerPrefix("Symbol", { parse: (r6, e) => new L(e.value) }).registerPrefix("{}", { parse: () => new At() }).registerPrefix("(", Vs).registerInfix("[", Ds).registerInfix("(", Ms).prefix("+", v.UnaryAdd, (r6, e) => new wt("+", e, (t) => t)).prefix("-", v.UnarySubtract, (r6, e) => new _("-", e, e, (t, n) => -n)).infixLeft(".", v.Dot, (r6, e, t) => new Z(r6, t)).infixLeft("/", v.Divide, (r6, e, t) => new _("/", r6, t, (n, i) => n / i)).infixLeft("*", v.Multiply, (r6, e, t) => new _("*", r6, t, (n, i) => n * i)).infixLeft("+", v.Add, (r6, e, t) => new _("+", r6, t, (n, i) => n + i)).infixLeft("-", v.Subtract, (r6, e, t) => new _("-", r6, t, (n, i) => n - i)).infixLeft("|", v.Union, (r6, e, t) => new Pe(r6, t)).infixLeft("=", v.Equals, (r6, e, t) => new Vt(r6, t)).infixLeft("!=", v.NotEquals, (r6, e, t) => new Dt(r6, t)).infixLeft("~", v.Equivalent, (r6, e, t) => new Mt(r6, t)).infixLeft("!~", v.NotEquivalent, (r6, e, t) => new _t(r6, t)).infixLeft("<", v.LessThan, (r6, e, t) => new _("<", r6, t, (n, i) => n < i)).infixLeft("<=", v.LessThanOrEquals, (r6, e, t) => new _("<=", r6, t, (n, i) => n <= i)).infixLeft(">", v.GreaterThan, (r6, e, t) => new _(">", r6, t, (n, i) => n > i)).infixLeft(">=", v.GreaterThanOrEquals, (r6, e, t) => new _(">=", r6, t, (n, i) => n >= i)).infixLeft("&", v.Ampersand, (r6, e, t) => new Ot(r6, t)).infixLeft("and", v.And, (r6, e, t) => new Lt(r6, t)).infixLeft("as", v.As, (r6, e, t) => new me(r6, t)).infixLeft("contains", v.Contains, (r6, e, t) => new It(r6, t)).infixLeft("div", v.Divide, (r6, e, t) => new _("div", r6, t, (n, i) => Math.trunc(n / i))).infixLeft("in", v.In, (r6, e, t) => new kt(r6, t)).infixLeft("is", v.Is, (r6, e, t) => new Ae(r6, t)).infixLeft("mod", v.Modulo, (r6, e, t) => new _("mod", r6, t, (n, i) => n % i)).infixLeft("or", v.Or, (r6, e, t) => new Ft(r6, t)).infixLeft("xor", v.Xor, (r6, e, t) => new Nt(r6, t)).infixLeft("implies", v.Implies, (r6, e, t) => new Ut(r6, t));
68833
+ return new dt().registerPrefix("String", { parse: (r6, e) => new W({ type: d.string, value: e.value }) }).registerPrefix("DateTime", { parse: (r6, e) => new W({ type: d.dateTime, value: qe(e.value) }) }).registerPrefix("Quantity", { parse: (r6, e) => new W({ type: d.Quantity, value: qs(e.value) }) }).registerPrefix("Number", { parse: (r6, e) => new W({ type: e.value.includes(".") ? d.decimal : d.integer, value: Number.parseFloat(e.value) }) }).registerPrefix("true", { parse: () => new W({ type: d.boolean, value: true }) }).registerPrefix("false", { parse: () => new W({ type: d.boolean, value: false }) }).registerPrefix("Symbol", { parse: (r6, e) => new L(e.value) }).registerPrefix("{}", { parse: () => new wt() }).registerPrefix("(", Ns).registerInfix("[", Us).registerInfix("(", Bs).prefix("+", v.UnaryAdd, (r6, e) => new Ot("+", e, (t) => t)).prefix("-", v.UnarySubtract, (r6, e) => new _("-", e, e, (t, n) => -n)).infixLeft(".", v.Dot, (r6, e, t) => new Z(r6, t)).infixLeft("/", v.Divide, (r6, e, t) => new _("/", r6, t, (n, i) => n / i)).infixLeft("*", v.Multiply, (r6, e, t) => new _("*", r6, t, (n, i) => n * i)).infixLeft("+", v.Add, (r6, e, t) => new _("+", r6, t, (n, i) => n + i)).infixLeft("-", v.Subtract, (r6, e, t) => new _("-", r6, t, (n, i) => n - i)).infixLeft("|", v.Union, (r6, e, t) => new Pe(r6, t)).infixLeft("=", v.Equals, (r6, e, t) => new Vt(r6, t)).infixLeft("!=", v.NotEquals, (r6, e, t) => new Mt(r6, t)).infixLeft("~", v.Equivalent, (r6, e, t) => new _t(r6, t)).infixLeft("!~", v.NotEquivalent, (r6, e, t) => new Lt(r6, t)).infixLeft("<", v.LessThan, (r6, e, t) => new _("<", r6, t, (n, i) => n < i)).infixLeft("<=", v.LessThanOrEquals, (r6, e, t) => new _("<=", r6, t, (n, i) => n <= i)).infixLeft(">", v.GreaterThan, (r6, e, t) => new _(">", r6, t, (n, i) => n > i)).infixLeft(">=", v.GreaterThanOrEquals, (r6, e, t) => new _(">=", r6, t, (n, i) => n >= i)).infixLeft("&", v.Ampersand, (r6, e, t) => new It(r6, t)).infixLeft("and", v.And, (r6, e, t) => new Ft(r6, t)).infixLeft("as", v.As, (r6, e, t) => new he(r6, t)).infixLeft("contains", v.Contains, (r6, e, t) => new kt(r6, t)).infixLeft("div", v.Divide, (r6, e, t) => new _("div", r6, t, (n, i) => Math.trunc(n / i))).infixLeft("in", v.In, (r6, e, t) => new Dt(r6, t)).infixLeft("is", v.Is, (r6, e, t) => new Ae(r6, t)).infixLeft("mod", v.Modulo, (r6, e, t) => new _("mod", r6, t, (n, i) => n % i)).infixLeft("or", v.Or, (r6, e, t) => new Nt(r6, t)).infixLeft("xor", v.Xor, (r6, e, t) => new Ut(r6, t)).infixLeft("implies", v.Implies, (r6, e, t) => new Bt(r6, t));
68833
68834
  }
68834
- var Ls = nt();
68835
- var h = { EQUALS: "eq", NOT_EQUALS: "ne", GREATER_THAN: "gt", LESS_THAN: "lt", GREATER_THAN_OR_EQUALS: "ge", LESS_THAN_OR_EQUALS: "le", STARTS_AFTER: "sa", ENDS_BEFORE: "eb", APPROXIMATELY: "ap", CONTAINS: "contains", STARTS_WITH: "sw", EXACT: "exact", TEXT: "text", NOT: "not", ABOVE: "above", BELOW: "below", IN: "in", NOT_IN: "not-in", OF_TYPE: "of-type", MISSING: "missing", PRESENT: "present", IDENTIFIER: "identifier", ITERATE: "iterate" };
68836
- var Kr = { contains: h.CONTAINS, exact: h.EXACT, above: h.ABOVE, below: h.BELOW, text: h.TEXT, not: h.NOT, in: h.IN, "not-in": h.NOT_IN, "of-type": h.OF_TYPE, missing: h.MISSING, identifier: h.IDENTIFIER, iterate: h.ITERATE };
68837
- var Yr = { eq: h.EQUALS, ne: h.NOT_EQUALS, lt: h.LESS_THAN, le: h.LESS_THAN_OR_EQUALS, gt: h.GREATER_THAN, ge: h.GREATER_THAN_OR_EQUALS, sa: h.STARTS_AFTER, eb: h.ENDS_BEFORE, ap: h.APPROXIMATELY, sw: h.STARTS_WITH };
68838
- var $s = [h.MISSING, h.PRESENT];
68835
+ var Ws = nt();
68836
+ var m = { EQUALS: "eq", NOT_EQUALS: "ne", GREATER_THAN: "gt", LESS_THAN: "lt", GREATER_THAN_OR_EQUALS: "ge", LESS_THAN_OR_EQUALS: "le", STARTS_AFTER: "sa", ENDS_BEFORE: "eb", APPROXIMATELY: "ap", CONTAINS: "contains", STARTS_WITH: "sw", EXACT: "exact", TEXT: "text", NOT: "not", ABOVE: "above", BELOW: "below", IN: "in", NOT_IN: "not-in", OF_TYPE: "of-type", MISSING: "missing", PRESENT: "present", IDENTIFIER: "identifier", ITERATE: "iterate" };
68837
+ var Yr = { contains: m.CONTAINS, exact: m.EXACT, above: m.ABOVE, below: m.BELOW, text: m.TEXT, not: m.NOT, in: m.IN, "not-in": m.NOT_IN, "of-type": m.OF_TYPE, missing: m.MISSING, identifier: m.IDENTIFIER, iterate: m.ITERATE };
68838
+ var Xr = { eq: m.EQUALS, ne: m.NOT_EQUALS, lt: m.LESS_THAN, le: m.LESS_THAN_OR_EQUALS, gt: m.GREATER_THAN, ge: m.GREATER_THAN_OR_EQUALS, sa: m.STARTS_AFTER, eb: m.ENDS_BEFORE, ap: m.APPROXIMATELY, sw: m.STARTS_WITH };
68839
+ var Ks = [m.MISSING, m.PRESENT];
68839
68840
  var Ie = { READ: "read", VREAD: "vread", UPDATE: "update", DELETE: "delete", HISTORY: "history", CREATE: "create", SEARCH: "search" };
68840
- var pa = [Ie.READ, Ie.VREAD, Ie.HISTORY, Ie.SEARCH];
68841
- var Ed = { FIRST: "first", APPLICATION: "application" };
68841
+ var ga = [Ie.READ, Ie.VREAD, Ie.HISTORY, Ie.SEARCH];
68842
+ var kd = { FIRST: "first", APPLICATION: "application" };
68842
68843
  function j() {
68843
68844
  return typeof window < "u";
68844
68845
  }
68845
- function Xr() {
68846
+ function Zr() {
68846
68847
  return typeof Buffer < "u" ? Buffer : void 0;
68847
68848
  }
68848
68849
  var oe = { assign(r6) {
@@ -68858,34 +68859,34 @@ var oe = { assign(r6) {
68858
68859
  }, getOrigin() {
68859
68860
  return j() ? globalThis.location.protocol + "//" + globalThis.location.host + "/" : "";
68860
68861
  } };
68861
- function ha(r6) {
68862
+ function Ta(r6) {
68862
68863
  if (j()) {
68863
68864
  let t = window.atob(r6), n = Uint8Array.from(t, (i) => i.codePointAt(0));
68864
68865
  return new window.TextDecoder().decode(n);
68865
68866
  }
68866
- let e = Xr();
68867
+ let e = Zr();
68867
68868
  if (e) return e.from(r6, "base64").toString("utf-8");
68868
68869
  throw new Error("Unable to decode base64");
68869
68870
  }
68870
- function jt(r6) {
68871
+ function $t(r6) {
68871
68872
  if (j()) {
68872
68873
  let t = new window.TextEncoder().encode(r6), n = String.fromCodePoint.apply(null, t);
68873
68874
  return window.btoa(n);
68874
68875
  }
68875
- let e = Xr();
68876
+ let e = Zr();
68876
68877
  if (e) return e.from(r6, "utf8").toString("base64");
68877
68878
  throw new Error("Unable to encode base64");
68878
68879
  }
68879
- function Vi(r6) {
68880
+ function Li(r6) {
68880
68881
  r6 = r6.padEnd(r6.length + (4 - r6.length % 4) % 4, "=");
68881
68882
  let e = r6.replaceAll("-", "+").replaceAll("_", "/");
68882
- return ha(e);
68883
+ return Ta(e);
68883
68884
  }
68884
- function Zr() {
68885
+ function en() {
68885
68886
  let r6 = new Uint32Array(28);
68886
- return crypto.getRandomValues(r6), ai(r6.buffer);
68887
+ return crypto.getRandomValues(r6), pi(r6.buffer);
68887
68888
  }
68888
- async function Di(r6) {
68889
+ async function Fi(r6) {
68889
68890
  return crypto.subtle.digest("SHA-256", new TextEncoder().encode(r6));
68890
68891
  }
68891
68892
  function se() {
@@ -68894,8 +68895,8 @@ function se() {
68894
68895
  return (r6 === "x" ? e : e & 3 | 8).toString(16);
68895
68896
  });
68896
68897
  }
68897
- var w = { CSS: "text/css", DICOM: "application/dicom", 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", JWT: "application/jwt", MULTIPART_FORM_DATA: "multipart/form-data", PNG: "image/png", SCIM_JSON: "application/scim+json", SVG: "image/svg+xml", TEXT: "text/plain", TYPESCRIPT: "text/typescript", PING: "x-application/ping", XML: "text/xml", CDA_XML: "application/cda+xml", OCTET_STREAM: "application/octet-stream" };
68898
- var en = class {
68898
+ var O = { CSS: "text/css", DICOM: "application/dicom", 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", JWT: "application/jwt", MULTIPART_FORM_DATA: "multipart/form-data", PNG: "image/png", SCIM_JSON: "application/scim+json", SVG: "image/svg+xml", TEXT: "text/plain", TYPESCRIPT: "text/typescript", PING: "x-application/ping", XML: "text/xml", CDA_XML: "application/cda+xml", OCTET_STREAM: "application/octet-stream" };
68899
+ var tn = class {
68899
68900
  constructor() {
68900
68901
  c(this, "listeners");
68901
68902
  this.listeners = {};
@@ -68926,7 +68927,7 @@ var en = class {
68926
68927
  };
68927
68928
  var ee = class {
68928
68929
  constructor() {
68929
- c(this, "emitter", new en());
68930
+ c(this, "emitter", new tn());
68930
68931
  }
68931
68932
  dispatchEvent(e) {
68932
68933
  this.emitter.dispatchEvent(e);
@@ -68944,76 +68945,76 @@ var ee = class {
68944
68945
  return this.emitter.listenerCount(e);
68945
68946
  }
68946
68947
  };
68947
- var tn = { "Patient-open": "Patient-open", "Patient-close": "Patient-close", "ImagingStudy-open": "ImagingStudy-open", "ImagingStudy-close": "ImagingStudy-close", "Encounter-open": "Encounter-open", "Encounter-close": "Encounter-close", "DiagnosticReport-open": "DiagnosticReport-open", "DiagnosticReport-close": "DiagnosticReport-close", "DiagnosticReport-select": "DiagnosticReport-select", "DiagnosticReport-update": "DiagnosticReport-update", syncerror: "syncerror" };
68948
- var Ca = ["Patient", "Encounter", "ImagingStudy", "DiagnosticReport", "OperationOutcome", "Bundle"];
68949
- var rn = ["DiagnosticReport-update"];
68950
- function _i(r6) {
68951
- return rn.includes(r6);
68948
+ var rn = { "Patient-open": "Patient-open", "Patient-close": "Patient-close", "ImagingStudy-open": "ImagingStudy-open", "ImagingStudy-close": "ImagingStudy-close", "Encounter-open": "Encounter-open", "Encounter-close": "Encounter-close", "DiagnosticReport-open": "DiagnosticReport-open", "DiagnosticReport-close": "DiagnosticReport-close", "DiagnosticReport-select": "DiagnosticReport-select", "DiagnosticReport-update": "DiagnosticReport-update", syncerror: "syncerror" };
68949
+ var ka = ["Patient", "Encounter", "ImagingStudy", "DiagnosticReport", "OperationOutcome", "Bundle"];
68950
+ var nn = ["DiagnosticReport-update"];
68951
+ function Ui(r6) {
68952
+ return nn.includes(r6);
68952
68953
  }
68953
- function Li(r6) {
68954
- if (rn.includes(r6)) throw new f(x(`'context.version' is required for '${r6}'.`));
68954
+ function Bi(r6) {
68955
+ if (nn.includes(r6)) throw new f(x(`'context.version' is required for '${r6}'.`));
68955
68956
  }
68956
- var Pa = { "Patient-open": { patient: { resourceType: "Patient" }, encounter: { resourceType: "Encounter", optional: true } }, "Patient-close": { patient: { resourceType: "Patient" }, encounter: { resourceType: "Encounter", optional: true } }, "ImagingStudy-open": { study: { resourceType: "ImagingStudy" }, encounter: { resourceType: "Encounter", optional: true }, patient: { resourceType: "Patient", optional: true } }, "ImagingStudy-close": { study: { resourceType: "ImagingStudy" }, encounter: { resourceType: "Encounter", optional: true }, patient: { resourceType: "Patient", optional: true } }, "Encounter-open": { encounter: { resourceType: "Encounter" }, patient: { resourceType: "Patient" } }, "Encounter-close": { encounter: { resourceType: "Encounter" }, patient: { resourceType: "Patient" } }, "DiagnosticReport-open": { report: { resourceType: "DiagnosticReport" }, encounter: { resourceType: "Encounter", optional: true }, study: { resourceType: "ImagingStudy", optional: true, manyAllowed: true }, patient: { resourceType: "Patient" } }, "DiagnosticReport-close": { report: { resourceType: "DiagnosticReport" }, encounter: { resourceType: "Encounter", optional: true }, study: { resourceType: "ImagingStudy", optional: true, manyAllowed: true }, patient: { resourceType: "Patient" } }, "DiagnosticReport-select": { report: { resourceType: "DiagnosticReport", reference: true }, patient: { resourceType: "Patient", optional: true, reference: true }, select: { resourceType: "*", reference: true, manyAllowed: true } }, "DiagnosticReport-update": { report: { resourceType: "DiagnosticReport", reference: true }, patient: { resourceType: "Patient", optional: true, reference: true }, updates: { resourceType: "Bundle" } }, syncerror: { operationoutcome: { resourceType: "OperationOutcome" } } };
68957
- function Aa(r6) {
68958
- return Ca.includes(r6);
68957
+ var Da = { "Patient-open": { patient: { resourceType: "Patient" }, encounter: { resourceType: "Encounter", optional: true } }, "Patient-close": { patient: { resourceType: "Patient" }, encounter: { resourceType: "Encounter", optional: true } }, "ImagingStudy-open": { study: { resourceType: "ImagingStudy" }, encounter: { resourceType: "Encounter", optional: true }, patient: { resourceType: "Patient", optional: true } }, "ImagingStudy-close": { study: { resourceType: "ImagingStudy" }, encounter: { resourceType: "Encounter", optional: true }, patient: { resourceType: "Patient", optional: true } }, "Encounter-open": { encounter: { resourceType: "Encounter" }, patient: { resourceType: "Patient" } }, "Encounter-close": { encounter: { resourceType: "Encounter" }, patient: { resourceType: "Patient" } }, "DiagnosticReport-open": { report: { resourceType: "DiagnosticReport" }, encounter: { resourceType: "Encounter", optional: true }, study: { resourceType: "ImagingStudy", optional: true, manyAllowed: true }, patient: { resourceType: "Patient" } }, "DiagnosticReport-close": { report: { resourceType: "DiagnosticReport" }, encounter: { resourceType: "Encounter", optional: true }, study: { resourceType: "ImagingStudy", optional: true, manyAllowed: true }, patient: { resourceType: "Patient" } }, "DiagnosticReport-select": { report: { resourceType: "DiagnosticReport", reference: true }, patient: { resourceType: "Patient", optional: true, reference: true }, select: { resourceType: "*", reference: true, manyAllowed: true } }, "DiagnosticReport-update": { report: { resourceType: "DiagnosticReport", reference: true }, patient: { resourceType: "Patient", optional: true, reference: true }, updates: { resourceType: "Bundle" } }, syncerror: { operationoutcome: { resourceType: "OperationOutcome" } } };
68958
+ function Va(r6) {
68959
+ return ka.includes(r6);
68959
68960
  }
68960
- function Fi(r6) {
68961
+ function qi(r6) {
68961
68962
  return !!r6.endpoint;
68962
68963
  }
68963
- function nn(r6) {
68964
- if (!Ht(r6)) throw new f(x("subscriptionRequest must be an object conforming to SubscriptionRequest type."));
68964
+ function on(r6) {
68965
+ if (!Gt(r6)) throw new f(x("subscriptionRequest must be an object conforming to SubscriptionRequest type."));
68965
68966
  let { channelType: e, mode: t, topic: n, events: i } = r6, o2 = { "hub.channel.type": e, "hub.mode": t, "hub.topic": n, "hub.events": i.join(",") };
68966
- return Fi(r6) && (o2.endpoint = r6.endpoint), new URLSearchParams(o2).toString();
68967
+ return qi(r6) && (o2.endpoint = r6.endpoint), new URLSearchParams(o2).toString();
68967
68968
  }
68968
- function Ht(r6) {
68969
+ function Gt(r6) {
68969
68970
  if (typeof r6 != "object") return false;
68970
68971
  let { channelType: e, mode: t, topic: n, events: i } = r6;
68971
68972
  if (!(e && t && n && i) || typeof n != "string" || typeof i != "object" || !Array.isArray(i) || i.length < 1 || e !== "websocket" || t !== "subscribe" && t !== "unsubscribe") return false;
68972
- for (let o2 of i) if (!tn[o2]) return false;
68973
- return !(Fi(r6) && !(typeof r6.endpoint == "string" && r6.endpoint.startsWith("ws")));
68973
+ for (let o2 of i) if (!rn[o2]) return false;
68974
+ return !(qi(r6) && !(typeof r6.endpoint == "string" && r6.endpoint.startsWith("ws")));
68974
68975
  }
68975
- function wa(r6, e, t, n) {
68976
+ function Ma(r6, e, t, n) {
68976
68977
  if (typeof e != "object") throw new f(x(`context[${t}] is invalid. Context must contain a single valid FHIR resource! Resource is not an object.`));
68977
68978
  if (!(e.id && typeof e.id == "string")) throw new f(x(`context[${t}] is invalid. Resource must contain a valid string ID.`));
68978
68979
  if (!e.resourceType) throw new f(x(`context[${t}] is invalid. Resource must contain a resource type. No resource type found.`));
68979
68980
  let i = n.resourceType;
68980
68981
  if (i !== "*") {
68981
- if (!Aa(e.resourceType)) throw new f(x(`context[${t}] is invalid. Resource must contain a valid FHIRcast resource type. Resource type is not a known resource type.`));
68982
+ if (!Va(e.resourceType)) throw new f(x(`context[${t}] is invalid. Resource must contain a valid FHIRcast resource type. Resource type is not a known resource type.`));
68982
68983
  if (i && e.resourceType !== i) throw new f(x(`context[${t}] is invalid. context[${t}] for the '${r6}' event should contain resource of type ${i}.`));
68983
68984
  }
68984
68985
  }
68985
- function Oa(r6, e, t, n, i) {
68986
+ function _a(r6, e, t, n, i) {
68986
68987
  if (i.set(e.key, (i.get(e.key) ?? 0) + 1), n.reference) {
68987
68988
  if (!H(e.reference)) throw new f(x(`context[${t}] is invalid. Expected key '${e.key}' to be a reference.`));
68988
- } else wa(r6, e.resource, t, n);
68989
+ } else Ma(r6, e.resource, t, n);
68989
68990
  }
68990
- function Ia(r6, e) {
68991
- let t = /* @__PURE__ */ new Map(), n = Pa[r6];
68991
+ function La(r6, e) {
68992
+ let t = /* @__PURE__ */ new Map(), n = Da[r6];
68992
68993
  for (let i = 0; i < e.length; i++) {
68993
68994
  let o2 = e[i].key;
68994
68995
  if (!n[o2]) throw new f(x(`Key '${o2}' not found for event '${r6}'. Make sure to add only valid keys.`));
68995
- Oa(r6, e[i], i, n[o2], t);
68996
+ _a(r6, e[i], i, n[o2], t);
68996
68997
  }
68997
68998
  for (let [i, o2] of Object.entries(n)) {
68998
68999
  if (!(o2.optional || t.has(i))) throw new f(x(`Missing required key '${i}' on context for '${r6}' event.`));
68999
69000
  if (!o2.manyAllowed && (t.get(i) ?? 0) > 1) throw new f(x(`${t.get(i)} context entries with key '${i}' found for the '${r6}' event when schema only allows for 1.`));
69000
69001
  }
69001
69002
  }
69002
- function on(r6, e, t, n) {
69003
+ function sn(r6, e, t, n) {
69003
69004
  if (!(r6 && typeof r6 == "string")) throw new f(x("Must provide a topic."));
69004
- if (!tn[e]) throw new f(x(`Must provide a valid FHIRcast event name. Supported events: ${Object.keys(tn).join(", ")}`));
69005
+ if (!rn[e]) throw new f(x(`Must provide a valid FHIRcast event name. Supported events: ${Object.keys(rn).join(", ")}`));
69005
69006
  if (typeof t != "object") throw new f(x("context must be a context object or array of context objects."));
69006
- if (rn.includes(e) && !n) throw new f(x(`The '${e}' event must contain a 'context.versionId'.`));
69007
+ if (nn.includes(e) && !n) throw new f(x(`The '${e}' event must contain a 'context.versionId'.`));
69007
69008
  let i = Array.isArray(t) ? t : [t];
69008
- return Ia(e, i), { timestamp: (/* @__PURE__ */ new Date()).toISOString(), id: se(), event: { "hub.topic": r6, "hub.event": e, context: i, ...n ? { "context.versionId": n } : {} } };
69009
+ return La(e, i), { timestamp: (/* @__PURE__ */ new Date()).toISOString(), id: se(), event: { "hub.topic": r6, "hub.event": e, context: i, ...n ? { "context.versionId": n } : {} } };
69009
69010
  }
69010
- var $t = class extends ee {
69011
+ var Ht = class extends ee {
69011
69012
  constructor(t) {
69012
69013
  super();
69013
69014
  c(this, "subRequest");
69014
69015
  c(this, "websocket");
69015
69016
  if (this.subRequest = t, !t.endpoint) throw new f(x("Subscription request should contain an endpoint."));
69016
- if (!Ht(t)) throw new f(x("Subscription request failed validation."));
69017
+ if (!Gt(t)) throw new f(x("Subscription request failed validation."));
69017
69018
  let n = new WebSocket(t.endpoint);
69018
69019
  n.addEventListener("open", () => {
69019
69020
  this.dispatchEvent({ type: "connect" }), n.addEventListener("message", (i) => {
@@ -69030,32 +69031,32 @@ var $t = class extends ee {
69030
69031
  this.websocket.close();
69031
69032
  }
69032
69033
  };
69033
- function ka(r6) {
69034
- return JSON.parse(Vi(r6));
69034
+ function Fa(r6) {
69035
+ return JSON.parse(Li(r6));
69035
69036
  }
69036
- function Ni(r6) {
69037
+ function Wi(r6) {
69037
69038
  return r6.split(".").length === 3;
69038
69039
  }
69039
- function Gt(r6) {
69040
+ function Qt(r6) {
69040
69041
  let [e, t, n] = r6.split(".");
69041
- return ka(t);
69042
+ return Fa(t);
69042
69043
  }
69043
- function Ui(r6) {
69044
+ function ji(r6) {
69044
69045
  try {
69045
- return typeof Gt(r6).login_id == "string";
69046
+ return typeof Qt(r6).login_id == "string";
69046
69047
  } catch {
69047
69048
  return false;
69048
69049
  }
69049
69050
  }
69050
- function Bi(r6) {
69051
+ function $i(r6) {
69051
69052
  try {
69052
- let t = Gt(r6).exp;
69053
+ let t = Qt(r6).exp;
69053
69054
  return typeof t == "number" ? t * 1e3 : void 0;
69054
69055
  } catch {
69055
69056
  return;
69056
69057
  }
69057
69058
  }
69058
- var Qt = class {
69059
+ var zt = class {
69059
69060
  constructor(e) {
69060
69061
  c(this, "medplum");
69061
69062
  this.medplum = e;
@@ -69064,17 +69065,17 @@ var Qt = class {
69064
69065
  return this.medplum.get(`keyvalue/v1/${e}`);
69065
69066
  }
69066
69067
  async set(e, t) {
69067
- await this.medplum.put(`keyvalue/v1/${e}`, t, w.TEXT);
69068
+ await this.medplum.put(`keyvalue/v1/${e}`, t, O.TEXT);
69068
69069
  }
69069
69070
  async delete(e) {
69070
69071
  await this.medplum.delete(`keyvalue/v1/${e}`);
69071
69072
  }
69072
69073
  };
69073
- var qi;
69074
- qi = Symbol.toStringTag;
69074
+ var Hi;
69075
+ Hi = Symbol.toStringTag;
69075
69076
  var F = class {
69076
69077
  constructor(e) {
69077
- c(this, qi, "ReadablePromise");
69078
+ c(this, Hi, "ReadablePromise");
69078
69079
  c(this, "suspender");
69079
69080
  c(this, "status", "pending");
69080
69081
  c(this, "response");
@@ -69113,7 +69114,7 @@ var st = class {
69113
69114
  constructor(e, t = "") {
69114
69115
  c(this, "storage");
69115
69116
  c(this, "prefix", "");
69116
- this.storage = e ?? globalThis.localStorage ?? new sn(), this.prefix = t;
69117
+ this.storage = e ?? globalThis.localStorage ?? new an(), this.prefix = t;
69117
69118
  }
69118
69119
  makeKey(e) {
69119
69120
  return this.prefix + e;
@@ -69134,10 +69135,10 @@ var st = class {
69134
69135
  return t ? JSON.parse(t) : void 0;
69135
69136
  }
69136
69137
  setObject(e, t) {
69137
- this.setString(e, t ? Rt(t) : void 0);
69138
+ this.setString(e, t ? Ct(t) : void 0);
69138
69139
  }
69139
69140
  };
69140
- var sn = class {
69141
+ var an = class {
69141
69142
  constructor() {
69142
69143
  c(this, "data");
69143
69144
  this.data = /* @__PURE__ */ new Map();
@@ -69162,8 +69163,8 @@ var sn = class {
69162
69163
  }
69163
69164
  };
69164
69165
  var je = { Event: typeof globalThis.Event < "u" ? globalThis.Event : void 0, ErrorEvent: void 0, CloseEvent: void 0 };
69165
- var ji = false;
69166
- function Va() {
69166
+ var Qi = false;
69167
+ function Na() {
69167
69168
  if (typeof globalThis.Event > "u") throw new Error("Unable to lazy init events for ReconnectingWebSocket. globalThis.Event is not defined yet");
69168
69169
  je.Event = globalThis.Event, je.ErrorEvent = class extends Event {
69169
69170
  constructor(t, n) {
@@ -69182,17 +69183,17 @@ function Va() {
69182
69183
  }
69183
69184
  };
69184
69185
  }
69185
- function Da(r6, e) {
69186
+ function Ua(r6, e) {
69186
69187
  if (!r6) throw new Error(e);
69187
69188
  }
69188
- function zt(r6) {
69189
+ function Jt(r6) {
69189
69190
  return new r6.constructor(r6.type, r6);
69190
69191
  }
69191
69192
  var ke = { maxReconnectionDelay: 1e4, minReconnectionDelay: 1e3 + Math.random() * 4e3, minUptime: 5e3, reconnectionDelayGrowFactor: 1.3, connectionTimeout: 4e3, maxRetries: 1 / 0, maxEnqueuedMessages: 1 / 0, startClosed: false, debug: false };
69192
- var $i = false;
69193
- var Jt = class r extends ee {
69193
+ var zi = false;
69194
+ var Kt = class r extends ee {
69194
69195
  constructor(t, n, i = {}) {
69195
- ji || (Va(), ji = true);
69196
+ Qi || (Na(), Qi = true);
69196
69197
  super();
69197
69198
  c(this, "_ws");
69198
69199
  c(this, "_retryCount", -1);
@@ -69214,16 +69215,16 @@ var Jt = class r extends ee {
69214
69215
  c(this, "_handleOpen", (t2) => {
69215
69216
  this._debug("open event");
69216
69217
  let { minUptime: n2 = ke.minUptime } = this._options;
69217
- clearTimeout(this._connectTimeout), this._uptimeTimeout = setTimeout(() => this._acceptOpen(), n2), Da(this._ws, "WebSocket is not defined"), this._ws.binaryType = this._binaryType, this._messageQueue.forEach((i2) => this._ws?.send(i2)), this._messageQueue = [], this.onopen && this.onopen(t2), this.dispatchEvent(zt(t2));
69218
+ clearTimeout(this._connectTimeout), this._uptimeTimeout = setTimeout(() => this._acceptOpen(), n2), Ua(this._ws, "WebSocket is not defined"), this._ws.binaryType = this._binaryType, this._messageQueue.forEach((i2) => this._ws?.send(i2)), this._messageQueue = [], this.onopen && this.onopen(t2), this.dispatchEvent(Jt(t2));
69218
69219
  });
69219
69220
  c(this, "_handleMessage", (t2) => {
69220
- this._debug("message event"), this.onmessage && this.onmessage(t2), this.dispatchEvent(zt(t2));
69221
+ this._debug("message event"), this.onmessage && this.onmessage(t2), this.dispatchEvent(Jt(t2));
69221
69222
  });
69222
69223
  c(this, "_handleError", (t2) => {
69223
- this._debug("error event", t2.message), this._disconnect(void 0, t2.message === "TIMEOUT" ? "timeout" : void 0), this.onerror && this.onerror(t2), this._debug("exec error listeners"), this.dispatchEvent(zt(t2)), this._connect();
69224
+ this._debug("error event", t2.message), this._disconnect(void 0, t2.message === "TIMEOUT" ? "timeout" : void 0), this.onerror && this.onerror(t2), this._debug("exec error listeners"), this.dispatchEvent(Jt(t2)), this._connect();
69224
69225
  });
69225
69226
  c(this, "_handleClose", (t2) => {
69226
- this._debug("close event"), this._clearTimeouts(), this._shouldReconnect && this._connect(), this.onclose && this.onclose(t2), this.dispatchEvent(zt(t2));
69227
+ this._debug("close event"), this._clearTimeouts(), this._shouldReconnect && this._connect(), this.onclose && this.onclose(t2), this.dispatchEvent(Jt(t2));
69227
69228
  });
69228
69229
  this._url = t, this._protocols = n, this._options = i, this._options.startClosed && (this._shouldReconnect = false), this._options.binaryType ? this._binaryType = this._options.binaryType : this._binaryType = "blob", this._options.debugLogger && (this._debugLogger = this._options.debugLogger), this._connect();
69229
69230
  }
@@ -69324,7 +69325,7 @@ var Jt = class r extends ee {
69324
69325
  this._connectLock = false;
69325
69326
  return;
69326
69327
  }
69327
- !this._options.WebSocket && typeof WebSocket > "u" && !$i && (console.error("\u203C\uFE0F No WebSocket implementation available. You should define options.WebSocket."), $i = true);
69328
+ !this._options.WebSocket && typeof WebSocket > "u" && !zi && (console.error("\u203C\uFE0F No WebSocket implementation available. You should define options.WebSocket."), zi = true);
69328
69329
  let i = this._options.WebSocket || WebSocket;
69329
69330
  this._debug("connect", { url: this._url, protocols: this._protocols }), this._ws = this._protocols ? new i(this._url, this._protocols) : new i(this._url), this._ws.binaryType = this._binaryType, this._connectLock = false, this._addListeners(), this._connectTimeout = setTimeout(() => this._handleTimeout(), n);
69330
69331
  }).catch((i) => {
@@ -69356,7 +69357,7 @@ var Jt = class r extends ee {
69356
69357
  clearTimeout(this._connectTimeout), clearTimeout(this._uptimeTimeout);
69357
69358
  }
69358
69359
  };
69359
- var Ma = 5e3;
69360
+ var Ba = [WebSocket.CLOSING, WebSocket.CLOSED];
69360
69361
  var at = class extends ee {
69361
69362
  constructor(...t) {
69362
69363
  super();
@@ -69373,7 +69374,7 @@ var at = class extends ee {
69373
69374
  this.criteria.delete(t);
69374
69375
  }
69375
69376
  };
69376
- var an = class {
69377
+ var cn = class {
69377
69378
  constructor(e, t) {
69378
69379
  c(this, "criteria");
69379
69380
  c(this, "emitter");
@@ -69381,14 +69382,15 @@ var an = class {
69381
69382
  c(this, "subscriptionProps");
69382
69383
  c(this, "subscriptionId");
69383
69384
  c(this, "token");
69385
+ c(this, "tokenExpiry");
69384
69386
  c(this, "connecting", false);
69385
69387
  this.criteria = e, this.emitter = new at(e), this.refCount = 1, this.subscriptionProps = t ? { ...t } : void 0;
69386
69388
  }
69387
69389
  clearAttachedSubscription() {
69388
- this.subscriptionId = void 0, this.token = void 0;
69390
+ this.subscriptionId = void 0, this.token = void 0, this.tokenExpiry = void 0;
69389
69391
  }
69390
69392
  };
69391
- var Kt = class {
69393
+ var Yt = class {
69392
69394
  constructor(e, t, n) {
69393
69395
  c(this, "medplum");
69394
69396
  c(this, "ws");
@@ -69397,18 +69399,19 @@ var Kt = class {
69397
69399
  c(this, "criteriaEntriesBySubscriptionId");
69398
69400
  c(this, "wsClosed");
69399
69401
  c(this, "pingTimer");
69402
+ c(this, "tokenRefreshTimer");
69400
69403
  c(this, "pingIntervalMs");
69401
69404
  c(this, "waitingForPong", false);
69402
69405
  c(this, "currentProfile");
69403
- if (!(e instanceof Yt)) throw new f(x("First arg of constructor should be a `MedplumClient`"));
69406
+ if (!(e instanceof Xt)) throw new f(x("First arg of constructor should be a `MedplumClient`"));
69404
69407
  let i;
69405
69408
  try {
69406
69409
  i = new URL(t).toString();
69407
69410
  } catch {
69408
69411
  throw new f(x("Not a valid URL"));
69409
69412
  }
69410
- let o2 = n?.ReconnectingWebSocket ? new n.ReconnectingWebSocket(i, void 0, { debug: n?.debug, debugLogger: n?.debugLogger }) : new Jt(i, void 0, { debug: n?.debug, debugLogger: n?.debugLogger });
69411
- this.medplum = e, this.ws = o2, this.masterSubEmitter = new at(), this.criteriaEntries = /* @__PURE__ */ new Map(), this.criteriaEntriesBySubscriptionId = /* @__PURE__ */ new Map(), this.wsClosed = false, this.pingIntervalMs = n?.pingIntervalMs ?? Ma, this.currentProfile = e.getProfile(), this.setupListeners();
69413
+ let o2 = n?.ReconnectingWebSocket ? new n.ReconnectingWebSocket(i, void 0, { debug: n?.debug, debugLogger: n?.debugLogger }) : new Kt(i, void 0, { debug: n?.debug, debugLogger: n?.debugLogger });
69414
+ this.medplum = e, this.ws = o2, this.masterSubEmitter = new at(), this.criteriaEntries = /* @__PURE__ */ new Map(), this.criteriaEntriesBySubscriptionId = /* @__PURE__ */ new Map(), this.wsClosed = false, this.pingIntervalMs = n?.pingIntervalMs ?? 5e3, this.currentProfile = e.getProfile(), this.setupListeners();
69412
69415
  }
69413
69416
  setupListeners() {
69414
69417
  let e = this.ws;
@@ -69449,14 +69452,14 @@ var Kt = class {
69449
69452
  for (let o2 of this.getAllCriteriaEmitters()) o2.dispatchEvent({ ...i });
69450
69453
  }
69451
69454
  }), e.addEventListener("error", () => {
69452
- let t = { type: "error", payload: new f(kn(new Error("WebSocket error"))) };
69455
+ let t = { type: "error", payload: new f(_n(new Error("WebSocket error"))) };
69453
69456
  this.masterSubEmitter?.dispatchEvent(t);
69454
69457
  for (let n of this.getAllCriteriaEmitters()) n.dispatchEvent({ ...t });
69455
69458
  }), e.addEventListener("close", () => {
69456
69459
  let t = { type: "close" };
69457
69460
  this.masterSubEmitter?.dispatchEvent(t);
69458
69461
  for (let n of this.getAllCriteriaEmitters()) n.dispatchEvent({ ...t });
69459
- this.pingTimer && (clearInterval(this.pingTimer), this.pingTimer = void 0, this.waitingForPong = false), this.wsClosed && (this.criteriaEntries.clear(), this.criteriaEntriesBySubscriptionId.clear(), this.masterSubEmitter?.removeAllListeners());
69462
+ this.pingTimer && (clearInterval(this.pingTimer), this.pingTimer = void 0, this.waitingForPong = false), this.tokenRefreshTimer && (clearInterval(this.tokenRefreshTimer), this.tokenRefreshTimer = void 0), this.wsClosed && (this.criteriaEntries.clear(), this.criteriaEntriesBySubscriptionId.clear(), this.masterSubEmitter?.removeAllListeners());
69460
69463
  }), e.addEventListener("open", () => {
69461
69464
  let t = { type: "open" };
69462
69465
  this.masterSubEmitter?.dispatchEvent(t);
@@ -69467,7 +69470,9 @@ var Kt = class {
69467
69470
  return;
69468
69471
  }
69469
69472
  e.send(JSON.stringify({ type: "ping" })), this.waitingForPong = true;
69470
- }, this.pingIntervalMs));
69473
+ }, this.pingIntervalMs)), this.tokenRefreshTimer ??= setInterval(() => {
69474
+ this.checkTokenExpirations();
69475
+ }, 6e4);
69471
69476
  }), this.medplum.addEventListener("change", () => {
69472
69477
  let t = this.medplum.getProfile();
69473
69478
  this.currentProfile && t === void 0 ? this.ws.close() : t && this.currentProfile?.id !== t.id && this.ws.reconnect(), this.currentProfile = t;
@@ -69486,11 +69491,12 @@ var Kt = class {
69486
69491
  }
69487
69492
  async getTokenForCriteria(e) {
69488
69493
  let t = e?.subscriptionId;
69489
- t || (t = (await this.medplum.createResource({ ...e.subscriptionProps, resourceType: "Subscription", status: "active", reason: `WebSocket subscription for ${M(this.medplum.getProfile())}`, channel: { type: "websocket" }, criteria: e.criteria })).id);
69490
- let { parameter: n } = await this.medplum.get(`fhir/R4/Subscription/${t}/$get-ws-binding-token`), i = n?.find((s) => s.name === "token")?.valueString, o2 = n?.find((s) => s.name === "websocket-url")?.valueUrl;
69494
+ t || (t = (await this.medplum.createResource({ ...e.subscriptionProps, resourceType: "Subscription", status: "active", reason: `WebSocket subscription for ${A(this.medplum.getProfile())}`, channel: { type: "websocket" }, criteria: e.criteria })).id);
69495
+ let { parameter: n } = await this.medplum.get(`fhir/R4/Subscription/${t}/$get-ws-binding-token`), i = n?.find((a) => a.name === "token")?.valueString, o2 = n?.find((a) => a.name === "websocket-url")?.valueUrl, s = n?.find((a) => a.name === "expiration")?.valueDateTime;
69491
69496
  if (!i) throw new f(x("Failed to get token"));
69492
69497
  if (!o2) throw new f(x("Failed to get URL from $get-ws-binding-token"));
69493
- return [t, i];
69498
+ if (!s) throw new f(x("Failed to get expiration from $get-ws-binding-token"));
69499
+ return [t, i, s];
69494
69500
  }
69495
69501
  maybeGetCriteriaEntry(e, t) {
69496
69502
  let n = this.criteriaEntries.get(e);
@@ -69521,25 +69527,34 @@ var Kt = class {
69521
69527
  }) : s.bareCriteria = void 0, !s.bareCriteria && s.criteriaWithProps.length === 0 && (this.criteriaEntries.delete(t), this.masterSubEmitter?._removeCriteria(t)), i && this.criteriaEntriesBySubscriptionId.delete(i), o2 && this.ws.readyState === WebSocket.OPEN && this.ws.send(JSON.stringify({ type: "unbind-from-token", payload: { token: o2 } }));
69522
69528
  }
69523
69529
  async subscribeToCriteria(e) {
69524
- if (!(this.ws.readyState !== WebSocket.OPEN || e.connecting)) {
69525
- e.connecting = true;
69526
- try {
69527
- let [t, n] = await this.getTokenForCriteria(e);
69528
- e.subscriptionId = t, e.token = n, this.criteriaEntriesBySubscriptionId.set(t, e), this.ws.send(JSON.stringify({ type: "bind-with-token", payload: { token: n } }));
69529
- } catch (t) {
69530
- console.error(_e(t)), this.emitError(e, t), this.removeCriteriaEntry(e);
69531
- }
69532
- }
69530
+ this.wsClosed && await this.reconnectIfNeeded(), !this.isReconnecting(e) && (e.connecting = true, await this.rebindCriteriaEntry(e));
69533
69531
  }
69534
69532
  async refreshAllSubscriptions() {
69535
69533
  this.criteriaEntriesBySubscriptionId.clear();
69536
69534
  for (let e of this.criteriaEntries.values()) for (let t of [...e.bareCriteria ? [e.bareCriteria] : [], ...e.criteriaWithProps]) t.clearAttachedSubscription(), await this.subscribeToCriteria(t);
69537
69535
  }
69536
+ isReconnecting(e) {
69537
+ return !!(this.ws.readyState !== WebSocket.OPEN || e.connecting);
69538
+ }
69539
+ async rebindCriteriaEntry(e) {
69540
+ try {
69541
+ let [t, n, i] = await this.getTokenForCriteria(e);
69542
+ e.token = n, e.tokenExpiry = new Date(i).getTime(), e.subscriptionId = t, this.criteriaEntriesBySubscriptionId.set(t, e), this.ws.send(JSON.stringify({ type: "bind-with-token", payload: { token: n } }));
69543
+ } catch (t) {
69544
+ console.error(_e(t)), this.emitError(e, t);
69545
+ }
69546
+ }
69547
+ checkTokenExpirations() {
69548
+ let e = Date.now();
69549
+ for (let t of this.criteriaEntries.values()) for (let n of [...t.bareCriteria ? [t.bareCriteria] : [], ...t.criteriaWithProps]) n.tokenExpiry && n.tokenExpiry - e <= 3e5 && !this.isReconnecting(n) && this.rebindCriteriaEntry(n).catch((i) => {
69550
+ this.masterSubEmitter?.dispatchEvent({ type: "error", payload: i });
69551
+ });
69552
+ }
69538
69553
  addCriteria(e, t) {
69539
69554
  this.masterSubEmitter && this.masterSubEmitter._addCriteria(e);
69540
69555
  let n = this.maybeGetCriteriaEntry(e, t);
69541
69556
  if (n) return n.refCount += 1, n.emitter;
69542
- let i = new an(e, t);
69557
+ let i = new cn(e, t);
69543
69558
  return this.addCriteriaEntry(i), this.subscribeToCriteria(i).catch(console.error), i.emitter;
69544
69559
  }
69545
69560
  removeCriteria(e, t) {
@@ -69565,20 +69580,28 @@ var Kt = class {
69565
69580
  getMasterEmitter() {
69566
69581
  return this.masterSubEmitter || (this.masterSubEmitter = new at(...Array.from(this.criteriaEntries.keys()))), this.masterSubEmitter;
69567
69582
  }
69583
+ async reconnectIfNeeded() {
69584
+ Ba.includes(this.getWebSocket().readyState) && await new Promise((e) => {
69585
+ let t = () => {
69586
+ this.getWebSocket().removeEventListener("open", t), e();
69587
+ };
69588
+ this.getWebSocket().addEventListener("open", t), this.reconnectWebSocket();
69589
+ });
69590
+ }
69568
69591
  };
69569
- var cn = "5.0.13-53ddc3d";
69570
- var Fa = w.FHIR_JSON + ", */*; q=0.1";
69571
- var Na = "https://api.medplum.com/";
69572
- var Ua = 1e3;
69573
- var Ba = 6e4;
69574
- var qa = 0;
69575
- var Wa = 3e5;
69576
- var ja = "Binary/";
69577
- var Hi = { resourceType: "Device", id: "system", deviceName: [{ type: "model-name", name: "System" }] };
69592
+ var un = "5.0.15-b702e04";
69593
+ var ja = O.FHIR_JSON + ", */*; q=0.1";
69594
+ var $a = "https://api.medplum.com/";
69595
+ var Ha = 1e3;
69596
+ var Ga = 6e4;
69597
+ var Qa = 0;
69598
+ var za = 3e5;
69599
+ var Ja = "Binary/";
69600
+ var Ji = { resourceType: "Device", id: "system", deviceName: [{ type: "model-name", name: "System" }] };
69578
69601
  var $e = { ClientCredentials: "client_credentials", AuthorizationCode: "authorization_code", RefreshToken: "refresh_token", JwtBearer: "urn:ietf:params:oauth:grant-type:jwt-bearer", TokenExchange: "urn:ietf:params:oauth:grant-type:token-exchange" };
69579
- var $a = { AccessToken: "urn:ietf:params:oauth:token-type:access_token", RefreshToken: "urn:ietf:params:oauth:token-type:refresh_token", IdToken: "urn:ietf:params:oauth:token-type:id_token", Saml1Token: "urn:ietf:params:oauth:token-type:saml1", Saml2Token: "urn:ietf:params:oauth:token-type:saml2" };
69580
- var Ha = { JwtBearer: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer" };
69581
- var Yt = class extends ee {
69602
+ var Ka = { AccessToken: "urn:ietf:params:oauth:token-type:access_token", RefreshToken: "urn:ietf:params:oauth:token-type:refresh_token", IdToken: "urn:ietf:params:oauth:token-type:id_token", Saml1Token: "urn:ietf:params:oauth:token-type:saml1", Saml2Token: "urn:ietf:params:oauth:token-type:saml2" };
69603
+ var Ya = { JwtBearer: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer" };
69604
+ var Xt = class extends ee {
69582
69605
  constructor(t) {
69583
69606
  super();
69584
69607
  c(this, "options");
@@ -69617,7 +69640,7 @@ var Yt = class extends ee {
69617
69640
  c(this, "keyValueClient");
69618
69641
  c(this, "logLevel");
69619
69642
  if (t?.baseUrl && !t.baseUrl.startsWith("http")) throw new Error("Base URL must start with http or https");
69620
- this.options = t ?? {}, this.fetch = t?.fetch ?? Ga(), this.storage = t?.storage ?? new st(void 0, t?.storagePrefix), this.createPdfImpl = t?.createPdf, this.baseUrl = Qr(t?.baseUrl ?? Na), this.fhirBaseUrl = G(this.baseUrl, t?.fhirUrlPath ?? "fhir/R4"), this.authorizeUrl = G(this.baseUrl, t?.authorizeUrl ?? "oauth2/authorize"), this.tokenUrl = G(this.baseUrl, t?.tokenUrl ?? "oauth2/token"), this.logoutUrl = G(this.baseUrl, t?.logoutUrl ?? "oauth2/logout"), this.fhircastHubUrl = G(this.baseUrl, t?.fhircastHubUrl ?? "fhircast/STU3"), this.clientId = t?.clientId ?? "", this.clientSecret = t?.clientSecret ?? "", this.credentialsInHeader = t?.authCredentialsMethod === "header", this.defaultHeaders = t?.defaultHeaders ?? {}, this.onUnauthenticated = t?.onUnauthenticated, this.refreshGracePeriod = t?.refreshGracePeriod ?? Wa, this.logLevel = this.initializeLogLevel(t), this.cacheTime = t?.cacheTime ?? (j() ? Ba : qa), this.cacheTime > 0 ? this.requestCache = new De(t?.resourceCacheSize ?? Ua) : this.requestCache = void 0, t?.autoBatchTime ? (this.autoBatchTime = t.autoBatchTime, this.autoBatchQueue = []) : (this.autoBatchTime = 0, this.autoBatchQueue = void 0), t?.accessToken && this.setAccessToken(t.accessToken), this.storage.getInitPromise === void 0 ? (t?.accessToken || this.attemptResumeActiveLogin().catch(console.error), this.initPromise = Promise.resolve(), this.dispatchEvent({ type: "storageInitialized" })) : (this.initComplete = false, this.initPromise = this.storage.getInitPromise(), this.initPromise.then(() => {
69643
+ this.options = t ?? {}, this.fetch = t?.fetch ?? Xa(), this.storage = t?.storage ?? new st(void 0, t?.storagePrefix), this.createPdfImpl = t?.createPdf, this.baseUrl = zr(t?.baseUrl ?? $a), this.fhirBaseUrl = G(this.baseUrl, t?.fhirUrlPath ?? "fhir/R4"), this.authorizeUrl = G(this.baseUrl, t?.authorizeUrl ?? "oauth2/authorize"), this.tokenUrl = G(this.baseUrl, t?.tokenUrl ?? "oauth2/token"), this.logoutUrl = G(this.baseUrl, t?.logoutUrl ?? "oauth2/logout"), this.fhircastHubUrl = G(this.baseUrl, t?.fhircastHubUrl ?? "fhircast/STU3"), this.clientId = t?.clientId ?? "", this.clientSecret = t?.clientSecret ?? "", this.credentialsInHeader = t?.authCredentialsMethod === "header", this.defaultHeaders = t?.defaultHeaders ?? {}, this.onUnauthenticated = t?.onUnauthenticated, this.refreshGracePeriod = t?.refreshGracePeriod ?? za, this.logLevel = this.initializeLogLevel(t), this.cacheTime = t?.cacheTime ?? (j() ? Ga : Qa), this.cacheTime > 0 ? this.requestCache = new Ve(t?.resourceCacheSize ?? Ha) : this.requestCache = void 0, t?.autoBatchTime ? (this.autoBatchTime = t.autoBatchTime, this.autoBatchQueue = []) : (this.autoBatchTime = 0, this.autoBatchQueue = void 0), t?.accessToken && this.setAccessToken(t.accessToken), this.storage.getInitPromise === void 0 ? (t?.accessToken || this.attemptResumeActiveLogin().catch(console.error), this.initPromise = Promise.resolve(), this.dispatchEvent({ type: "storageInitialized" })) : (this.initComplete = false, this.initPromise = this.storage.getInitPromise(), this.initPromise.then(() => {
69621
69644
  t?.accessToken || this.attemptResumeActiveLogin().catch(console.error), this.initComplete = true, this.dispatchEvent({ type: "storageInitialized" });
69622
69645
  }).catch((n) => {
69623
69646
  console.error(n), this.initComplete = true, this.dispatchEvent({ type: "storageInitFailed", payload: { error: n } });
@@ -69688,7 +69711,7 @@ var Yt = class extends ee {
69688
69711
  return t = t.toString(), this.setRequestBody(o2, n), i && this.setRequestContentType(o2, i), this.invalidateUrl(t), this.request("PUT", t, o2);
69689
69712
  }
69690
69713
  patch(t, n, i = {}) {
69691
- return t = t.toString(), this.setRequestBody(i, n), this.setRequestContentType(i, w.JSON_PATCH), this.invalidateUrl(t), this.request("PATCH", t, i);
69714
+ return t = t.toString(), this.setRequestBody(i, n), this.setRequestContentType(i, O.JSON_PATCH), this.invalidateUrl(t), this.request("PATCH", t, i);
69692
69715
  }
69693
69716
  delete(t, n) {
69694
69717
  return t = t.toString(), this.invalidateUrl(t), this.request("DELETE", t, n);
@@ -69730,9 +69753,10 @@ var Yt = class extends ee {
69730
69753
  let a = o2;
69731
69754
  s && (a = await this.ensureCodeChallenge(o2)), oe.assign(this.getExternalAuthRedirectUri(t, n, i, a, s));
69732
69755
  }
69733
- async exchangeExternalAccessToken(t, n) {
69756
+ async exchangeExternalAccessToken(t, n, i) {
69734
69757
  if (n = n ?? this.clientId, !n) throw new Error("MedplumClient is missing clientId");
69735
- return this.fetchTokens({ grant_type: $e.TokenExchange, subject_token_type: $a.AccessToken, client_id: n, subject_token: t });
69758
+ let o2 = { grant_type: $e.TokenExchange, subject_token_type: Ka.AccessToken, client_id: n, subject_token: t };
69759
+ return i && (o2.membership_id = i), this.fetchTokens(o2);
69736
69760
  }
69737
69761
  getExternalAuthRedirectUri(t, n, i, o2, s = true) {
69738
69762
  let a = new URL(t);
@@ -69749,7 +69773,7 @@ var Yt = class extends ee {
69749
69773
  }
69750
69774
  fhirSearchUrl(t, n) {
69751
69775
  let i = this.fhirUrl(t);
69752
- return n && (i.search = hi(n)), i;
69776
+ return n && (i.search = xi(n)), i;
69753
69777
  }
69754
69778
  search(t, n, i) {
69755
69779
  let o2 = this.fhirSearchUrl(t, n), s = "search-" + o2.toString(), a = this.getCacheEntry(s, i);
@@ -69768,7 +69792,7 @@ var Yt = class extends ee {
69768
69792
  searchResources(t, n, i) {
69769
69793
  let s = "searchResources-" + this.fhirSearchUrl(t, n).toString(), a = this.getCacheEntry(s, i);
69770
69794
  if (a) return a.value;
69771
- let u2 = new F(this.search(t, n, i).then(Qi));
69795
+ let u2 = new F(this.search(t, n, i).then(Yi));
69772
69796
  return this.setCacheEntry(s, u2, i), u2;
69773
69797
  }
69774
69798
  async *searchResourcePages(t, n, i) {
@@ -69778,7 +69802,7 @@ var Yt = class extends ee {
69778
69802
  s.has("_count") || s.set("_count", "1000");
69779
69803
  let a = await this.search(t, s, i), u2 = a.link?.find((l2) => l2.relation === "next");
69780
69804
  if (!a.entry?.length && !u2) break;
69781
- yield Qi(a), o2 = u2?.url ? new URL(u2.url) : void 0;
69805
+ yield Yi(a), o2 = u2?.url ? new URL(u2.url) : void 0;
69782
69806
  }
69783
69807
  }
69784
69808
  valueSetExpand(t, n) {
@@ -69792,7 +69816,7 @@ var Yt = class extends ee {
69792
69816
  getCachedReference(t) {
69793
69817
  let n = t.reference;
69794
69818
  if (!n) return;
69795
- if (n === "system") return Hi;
69819
+ if (n === "system") return Ji;
69796
69820
  let [i, o2] = n.split("/");
69797
69821
  if (!(!i || !o2)) return this.getCached(i, o2);
69798
69822
  }
@@ -69803,7 +69827,7 @@ var Yt = class extends ee {
69803
69827
  readReference(t, n) {
69804
69828
  let i = t.reference;
69805
69829
  if (!i) return new F(Promise.reject(new Error("Missing reference")));
69806
- if (i === "system") return new F(Promise.resolve(Hi));
69830
+ if (i === "system") return new F(Promise.resolve(Ji));
69807
69831
  let [o2, s] = i.split("/");
69808
69832
  return !o2 || !s ? new F(Promise.reject(new Error("Invalid reference"))) : this.readResource(o2, s, n);
69809
69833
  }
@@ -69811,7 +69835,7 @@ var Yt = class extends ee {
69811
69835
  return Array.isArray(t) ? this.searchOne("", { _type: t.join(","), url: n }, i) : this.searchOne(t, "url=" + n, i);
69812
69836
  }
69813
69837
  requestSchema(t, n) {
69814
- if (jn(t)) return Promise.resolve();
69838
+ if (Qn(t)) return Promise.resolve();
69815
69839
  let i = t + "-requestSchema", o2 = this.getCacheEntry(i, void 0);
69816
69840
  if (o2) return o2.value;
69817
69841
  let s = new F((async () => {
@@ -69856,13 +69880,13 @@ var Yt = class extends ee {
69856
69880
  target
69857
69881
  }
69858
69882
  }`.replaceAll(/\s+/g, " "), u2 = await this.graphql(a);
69859
- Pr(u2.data.StructureDefinitionList);
69860
- for (let l2 of u2.data.SearchParameterList) Jr(l2);
69883
+ Ar(u2.data.StructureDefinitionList);
69884
+ for (let l2 of u2.data.SearchParameterList) Kr(l2);
69861
69885
  })());
69862
69886
  return this.setCacheEntry(i, s, n), s;
69863
69887
  }
69864
69888
  requestProfileSchema(t, n) {
69865
- if (!n?.expandProfile && $n(t)) return Promise.resolve();
69889
+ if (!n?.expandProfile && zn(t)) return Promise.resolve();
69866
69890
  let i = t + "-requestSchema" + (n?.expandProfile ? "-nested" : ""), o2 = this.getCacheEntry(i, void 0);
69867
69891
  if (o2) return o2.value;
69868
69892
  let s = new F((async () => {
@@ -69870,14 +69894,14 @@ var Yt = class extends ee {
69870
69894
  let a = this.fhirUrl("StructureDefinition", "$expand-profile");
69871
69895
  a.search = new URLSearchParams({ url: t }).toString();
69872
69896
  let u2 = await this.post(a.toString(), {});
69873
- Pr(u2);
69897
+ Ar(u2);
69874
69898
  } else {
69875
69899
  let a = await this.searchOne("StructureDefinition", { url: t, _sort: "-_lastUpdated" });
69876
69900
  if (!a) {
69877
69901
  console.warn(`No StructureDefinition found for ${t}!`);
69878
69902
  return;
69879
69903
  }
69880
- Ar(a);
69904
+ wr(a);
69881
69905
  }
69882
69906
  })());
69883
69907
  return this.setCacheEntry(i, s, n), s;
@@ -69910,8 +69934,8 @@ var Yt = class extends ee {
69910
69934
  return s || (s = t), this.cacheResource(s, i), this.invalidateUrl(this.fhirUrl(t.resourceType, t.id, "_history")), this.invalidateSearches(t.resourceType), s;
69911
69935
  }
69912
69936
  async createAttachment(t, n, i, o2, s) {
69913
- let a = zi(t, n, i, o2);
69914
- if (a.contentType === w.XML) {
69937
+ let a = Xi(t, n, i, o2);
69938
+ if (a.contentType === O.XML) {
69915
69939
  let p = a.data, y2;
69916
69940
  p instanceof Blob ? y2 = await new Promise((T, $) => {
69917
69941
  let Q2 = new FileReader();
@@ -69922,13 +69946,13 @@ var Yt = class extends ee {
69922
69946
  }
69923
69947
  T(Q2.result);
69924
69948
  }, Q2.readAsText(p, "utf-8");
69925
- }) : ArrayBuffer.isView(p) ? y2 = new TextDecoder().decode(p) : y2 = p, y2.includes("<ClinicalDocument") && y2.includes("urn:hl7-org:v3") && (a = { ...a, contentType: w.CDA_XML });
69949
+ }) : ArrayBuffer.isView(p) ? y2 = new TextDecoder().decode(p) : y2 = p, y2.includes("<ClinicalDocument") && y2.includes("urn:hl7-org:v3") && (a = { ...a, contentType: O.CDA_XML });
69926
69950
  }
69927
69951
  let u2 = s ?? (typeof n == "object" ? n : {}), l2 = await this.createBinary(a, u2);
69928
69952
  return { contentType: a.contentType, url: l2.url, title: a.filename };
69929
69953
  }
69930
69954
  createBinary(t, n, i, o2, s) {
69931
- let a = zi(t, n, i, o2), u2 = s ?? (typeof n == "object" ? n : {}), { data: l2, contentType: p, filename: y2, securityContext: T, onProgress: $ } = a, Q2 = this.fhirUrl("Binary");
69955
+ let a = Xi(t, n, i, o2), u2 = s ?? (typeof n == "object" ? n : {}), { data: l2, contentType: p, filename: y2, securityContext: T, onProgress: $ } = a, Q2 = this.fhirUrl("Binary");
69932
69956
  return y2 && Q2.searchParams.set("_filename", y2), T?.reference && this.setRequestHeader(u2, "X-Security-Context", T.reference), $ ? this.uploadwithProgress(Q2, l2, p, $, u2) : this.post(Q2, l2, p, u2);
69933
69957
  }
69934
69958
  uploadwithProgress(t, n, i, o2, s) {
@@ -69939,7 +69963,7 @@ var Yt = class extends ee {
69939
69963
  s?.signal?.removeEventListener("abort", p), T instanceof Error ? u2(T) : a(T);
69940
69964
  };
69941
69965
  if (l2.responseType = "json", l2.onabort = () => y2(new DOMException("Request aborted", "AbortError")), l2.onerror = () => y2(new Error("Request error")), o2 && (l2.upload.onprogress = (T) => o2(T), l2.upload.onload = (T) => o2(T)), l2.onload = () => {
69942
- l2.status >= 200 && l2.status < 300 ? y2(l2.response) : y2(new f(mt(l2.response || l2.statusText)));
69966
+ l2.status >= 200 && l2.status < 300 ? y2(l2.response) : y2(new f(yt(l2.response || l2.statusText)));
69943
69967
  }, l2.open("POST", t), l2.withCredentials = true, l2.setRequestHeader("Authorization", "Bearer " + this.accessToken), l2.setRequestHeader("Cache-Control", "no-cache, no-store, max-age=0"), l2.setRequestHeader("Content-Type", i), this.options.extendedMode !== false && l2.setRequestHeader("X-Medplum", "extended"), s?.headers) {
69944
69968
  let T = s.headers;
69945
69969
  for (let [$, Q2] of Object.entries(T)) l2.setRequestHeader($, Q2);
@@ -69949,7 +69973,7 @@ var Yt = class extends ee {
69949
69973
  }
69950
69974
  async createPdf(t, n, i, o2) {
69951
69975
  if (!this.createPdfImpl) throw new Error("PDF creation not enabled");
69952
- let s = Ja(t, n, i, o2), a = typeof n == "object" ? n : {}, { docDefinition: u2, tableLayouts: l2, fonts: p, ...y2 } = s, T = await this.createPdfImpl(u2, l2, p), $ = { ...y2, data: T, contentType: "application/pdf" };
69976
+ let s = tc(t, n, i, o2), a = typeof n == "object" ? n : {}, { docDefinition: u2, tableLayouts: l2, fonts: p, ...y2 } = s, T = await this.createPdfImpl(u2, l2, p), $ = { ...y2, data: T, contentType: "application/pdf" };
69953
69977
  return this.createBinary($, a);
69954
69978
  }
69955
69979
  createComment(t, n, i) {
@@ -69987,29 +70011,29 @@ var Yt = class extends ee {
69987
70011
  return this.post(this.fhirBaseUrl, t, void 0, n);
69988
70012
  }
69989
70013
  sendEmail(t, n) {
69990
- return this.post("email/v1/send", t, w.JSON, n);
70014
+ return this.post("email/v1/send", t, O.JSON, n);
69991
70015
  }
69992
70016
  graphql(t, n, i, o2) {
69993
- return this.post(this.fhirUrl("$graphql"), { query: t, operationName: n, variables: i }, w.JSON, o2);
70017
+ return this.post(this.fhirUrl("$graphql"), { query: t, operationName: n, variables: i }, O.JSON, o2);
69994
70018
  }
69995
70019
  readResourceGraph(t, n, i, o2) {
69996
70020
  return this.get(`${this.fhirUrl(t, n)}/$graph?graph=${i}`, o2);
69997
70021
  }
69998
70022
  pushToAgent(t, n, i, o2, s, a) {
69999
70023
  let { waitTimeout: u2, returnAck: l2, ...p } = a ?? {};
70000
- return this.post(this.fhirUrl("Agent", Se(t), "$push"), { destination: typeof n == "string" ? n : M(n), body: i, contentType: o2, waitForResponse: s, ...u2 !== void 0 ? { waitTimeout: u2 } : void 0, ...l2 !== void 0 ? { returnAck: l2 } : void 0 }, w.FHIR_JSON, p);
70024
+ return this.post(this.fhirUrl("Agent", Se(t), "$push"), { destination: typeof n == "string" ? n : A(n), body: i, contentType: o2, waitForResponse: s, ...u2 !== void 0 ? { waitTimeout: u2 } : void 0, ...l2 !== void 0 ? { returnAck: l2 } : void 0 }, O.FHIR_JSON, p);
70001
70025
  }
70002
70026
  getCdsServices(t) {
70003
70027
  return this.get("/cds-services", t);
70004
70028
  }
70005
70029
  callCdsService(t, n, i) {
70006
- return this.post(`/cds-services/${t}`, n, w.JSON, i);
70030
+ return this.post(`/cds-services/${t}`, n, O.JSON, i);
70007
70031
  }
70008
70032
  getActiveLogin() {
70009
70033
  return this.storage.getObject("activeLogin");
70010
70034
  }
70011
70035
  async setActiveLogin(t) {
70012
- (!this.sessionDetails?.profile || M(this.sessionDetails.profile) !== t.profile?.reference) && this.clearActiveLogin(), this.setAccessToken(t.accessToken, t.refreshToken), this.storage.setObject("activeLogin", t), this.addLogin(t), this.refreshPromise = void 0, await this.refreshProfile();
70036
+ (!this.sessionDetails?.profile || A(this.sessionDetails.profile) !== t.profile?.reference) && this.clearActiveLogin(), this.setAccessToken(t.accessToken, t.refreshToken), this.storage.setObject("activeLogin", t), this.addLogin(t), this.refreshPromise = void 0, await this.refreshProfile();
70013
70037
  }
70014
70038
  getAccessToken() {
70015
70039
  return this.accessToken;
@@ -70018,7 +70042,7 @@ var Yt = class extends ee {
70018
70042
  return this.accessTokenExpires !== void 0 && Date.now() < this.accessTokenExpires - (t ?? this.refreshGracePeriod);
70019
70043
  }
70020
70044
  setAccessToken(t, n) {
70021
- this.accessToken = t, this.refreshToken = n, this.accessTokenExpires = Bi(t), this.medplumServer = Ui(t);
70045
+ this.accessToken = t, this.refreshToken = n, this.accessTokenExpires = $i(t), this.medplumServer = ji(t);
70022
70046
  }
70023
70047
  getLogins() {
70024
70048
  return this.storage.getObject("logins") ?? [];
@@ -70066,7 +70090,7 @@ var Yt = class extends ee {
70066
70090
  async download(t, n = {}) {
70067
70091
  this.refreshPromise && await this.refreshPromise;
70068
70092
  let i = t.toString();
70069
- i.startsWith(ja) && (t = this.fhirUrl(i));
70093
+ i.startsWith(Ja) && (t = this.fhirUrl(i));
70070
70094
  let o2 = n.headers;
70071
70095
  return o2 || (o2 = {}, n.headers = o2), o2.Accept || (o2.Accept = "*/*"), this.addFetchOptionsDefaults(n), (await this.fetchWithRetry(t.toString(), n)).blob();
70072
70096
  }
@@ -70095,7 +70119,7 @@ var Yt = class extends ee {
70095
70119
  return i.Prefer = "respond-async", this.request("POST", t, n);
70096
70120
  }
70097
70121
  get keyValue() {
70098
- return this.keyValueClient || (this.keyValueClient = new Qt(this)), this.keyValueClient;
70122
+ return this.keyValueClient || (this.keyValueClient = new zt(this)), this.keyValueClient;
70099
70123
  }
70100
70124
  getBundle(t, n) {
70101
70125
  return new F((async () => {
@@ -70113,7 +70137,9 @@ var Yt = class extends ee {
70113
70137
  if (!(!i || i.requestTime + this.cacheTime < Date.now())) return i;
70114
70138
  }
70115
70139
  setCacheEntry(t, n, i) {
70116
- this.isCacheEnabled(i) && this.requestCache.set(t, { requestTime: Date.now(), value: n });
70140
+ this.isCacheEnabled(i) && (this.requestCache.set(t, { requestTime: Date.now(), value: n }), i?.signal && i.signal.addEventListener("abort", () => {
70141
+ this.requestCache.delete(t);
70142
+ }));
70117
70143
  }
70118
70144
  cacheResource(t, n) {
70119
70145
  t?.id && !t.meta?.tag?.some((i) => i.code === "SUBSETTED") && this.setCacheEntry(this.fhirUrl(t.resourceType, t.id).toString(), new F(Promise.resolve(t)), n);
@@ -70127,17 +70153,17 @@ var Yt = class extends ee {
70127
70153
  if (s.status === 401) return this.handleUnauthenticated(t, n, i);
70128
70154
  if (s.status === 204 || s.status === 304) return;
70129
70155
  let u2 = s.headers.get("content-type")?.includes("json");
70130
- if (s.status === 404 && !u2) throw new f(On);
70156
+ if (s.status === 404 && !u2) throw new f(Vn);
70131
70157
  let l2 = await this.parseBody(s, u2);
70132
70158
  if (s.status === 200 && i.followRedirectOnOk || s.status === 201 && i.followRedirectOnCreated) {
70133
- let p = await Gi(s, l2);
70159
+ let p = await Ki(s, l2);
70134
70160
  if (p) return this.request("GET", p, { ...i, body: void 0 });
70135
70161
  }
70136
70162
  if (s.status === 202 && i.pollStatusOnAccepted) {
70137
- let y2 = await Gi(s, l2) ?? o2.statusUrl;
70163
+ let y2 = await Ki(s, l2) ?? o2.statusUrl;
70138
70164
  if (y2) return this.pollStatus(y2, i, o2);
70139
70165
  }
70140
- if (s.status >= 400) throw new f(mt(l2));
70166
+ if (s.status >= 400) throw new f(yt(l2));
70141
70167
  return l2;
70142
70168
  }
70143
70169
  async parseBody(t, n) {
@@ -70158,10 +70184,10 @@ var Yt = class extends ee {
70158
70184
  for (let o2 = 0; o2 <= i; o2++) try {
70159
70185
  this.logLevel !== "none" && this.logRequest(t, n);
70160
70186
  let s = await this.fetch(t, n);
70161
- if (this.logLevel !== "none" && this.logResponse(s), this.setCurrentRateLimit(s), o2 >= i || !Ka(s)) return s;
70187
+ if (this.logLevel !== "none" && this.logResponse(s), this.setCurrentRateLimit(s), o2 >= i || !rc(s)) return s;
70162
70188
  let a = this.getRetryDelay(o2), u2 = n.maxRetryTime ?? 2e3;
70163
70189
  if (a > u2) return s;
70164
- await Gr(a, { signal: n.signal });
70190
+ await Qr(a, { signal: n.signal });
70165
70191
  } catch (s) {
70166
70192
  if (s.message === "Failed to fetch" && o2 === 0 && this.dispatchEvent({ type: "offline" }), s.name === "AbortError" || o2 === i) throw s;
70167
70193
  }
@@ -70170,7 +70196,7 @@ var Yt = class extends ee {
70170
70196
  logRequest(t, n) {
70171
70197
  if (console.log(`> ${n.method} ${t}`), this.logLevel === "verbose" && n.headers) {
70172
70198
  let i = n.headers;
70173
- for (let o2 of Ct(Object.keys(i))) console.log(`> ${o2}: ${i[o2]}`);
70199
+ for (let o2 of Pt(Object.keys(i))) console.log(`> ${o2}: ${i[o2]}`);
70174
70200
  }
70175
70201
  }
70176
70202
  logResponse(t) {
@@ -70202,7 +70228,7 @@ var Yt = class extends ee {
70202
70228
  if (i.pollCount === void 0) n.headers && typeof n.headers == "object" && "Prefer" in n.headers && (o2.headers = { ...n.headers }, delete o2.headers.Prefer), i.statusUrl = t, i.pollCount = 1;
70203
70229
  else {
70204
70230
  let s = n.pollStatusPeriod ?? 1e3;
70205
- await Gr(s, { signal: n.signal }), i.pollCount++;
70231
+ await Qr(s, { signal: n.signal }), i.pollCount++;
70206
70232
  }
70207
70233
  return this.request("GET", t, o2, i);
70208
70234
  }
@@ -70214,20 +70240,20 @@ var Yt = class extends ee {
70214
70240
  try {
70215
70241
  o2.resolve(await this.request(o2.method, G(this.fhirBaseUrl, o2.url), o2.options));
70216
70242
  } catch (s) {
70217
- o2.reject(new f(mt(s)));
70243
+ o2.reject(new f(yt(s)));
70218
70244
  }
70219
70245
  return;
70220
70246
  }
70221
70247
  let n = { resourceType: "Bundle", type: "batch", entry: t.map((o2) => ({ request: { method: o2.method, url: o2.url }, resource: o2.options.body ? JSON.parse(o2.options.body) : void 0 })) }, i = await this.post(this.fhirBaseUrl, n);
70222
70248
  for (let o2 = 0; o2 < t.length; o2++) {
70223
70249
  let s = t[o2], a = i.entry?.[o2];
70224
- a?.response?.outcome && !Tr(a.response.outcome) ? s.reject(new f(a.response.outcome)) : s.resolve(a?.resource);
70250
+ a?.response?.outcome && !br(a.response.outcome) ? s.reject(new f(a.response.outcome)) : s.resolve(a?.resource);
70225
70251
  }
70226
70252
  }
70227
70253
  addFetchOptionsDefaults(t) {
70228
70254
  Object.entries(this.defaultHeaders).forEach(([n, i]) => {
70229
70255
  this.setRequestHeader(t, n, i);
70230
- }), this.setRequestHeader(t, "Accept", Fa, true), this.options.extendedMode !== false && this.setRequestHeader(t, "X-Medplum", "extended"), t.body && this.setRequestHeader(t, "Content-Type", w.FHIR_JSON, true), this.accessToken ? this.setRequestHeader(t, "Authorization", "Bearer " + this.accessToken) : this.basicAuth && this.setRequestHeader(t, "Authorization", "Basic " + this.basicAuth), t.cache || (t.cache = "no-cache"), t.credentials || (t.credentials = "include");
70256
+ }), this.setRequestHeader(t, "Accept", ja, true), this.options.extendedMode !== false && this.setRequestHeader(t, "X-Medplum", "extended"), t.body && this.setRequestHeader(t, "Content-Type", O.FHIR_JSON, true), this.accessToken ? this.setRequestHeader(t, "Authorization", "Bearer " + this.accessToken) : this.basicAuth && this.setRequestHeader(t, "Authorization", "Basic " + this.basicAuth), t.cache || (t.cache = "no-cache"), t.credentials || (t.credentials = "include");
70231
70257
  }
70232
70258
  setRequestContentType(t, n) {
70233
70259
  this.setRequestHeader(t, "Content-Type", n);
@@ -70255,13 +70281,13 @@ var Yt = class extends ee {
70255
70281
  throw this.clear(), this.onUnauthenticated?.(), new f(Me);
70256
70282
  }
70257
70283
  async startPkce() {
70258
- let t = Zr();
70284
+ let t = en();
70259
70285
  sessionStorage.setItem("pkceState", t);
70260
- let n = Zr().slice(0, 128);
70286
+ let n = en().slice(0, 128);
70261
70287
  sessionStorage.setItem("codeVerifier", n);
70262
70288
  try {
70263
- let i = await Di(n);
70264
- return { codeChallengeMethod: "S256", codeChallenge: ci(i).replaceAll("+", "-").replaceAll("/", "_").replaceAll("=", "") };
70289
+ let i = await Fi(n);
70290
+ return { codeChallengeMethod: "S256", codeChallenge: di(i).replaceAll("+", "-").replaceAll("/", "_").replaceAll("=", "") };
70265
70291
  } catch (i) {
70266
70292
  return console.warn("Failed to hash code verifier. Falling back to 'plain' code challenge method", i), { codeChallengeMethod: "plain", codeChallenge: n };
70267
70293
  }
@@ -70293,10 +70319,10 @@ var Yt = class extends ee {
70293
70319
  return this.clientId = t, this.fetchTokens({ grant_type: $e.JwtBearer, client_id: t, assertion: n, scope: i });
70294
70320
  }
70295
70321
  async startJwtAssertionLogin(t) {
70296
- return this.fetchTokens({ grant_type: $e.ClientCredentials, client_assertion_type: Ha.JwtBearer, client_assertion: t });
70322
+ return this.fetchTokens({ grant_type: $e.ClientCredentials, client_assertion_type: Ya.JwtBearer, client_assertion: t });
70297
70323
  }
70298
70324
  setBasicAuth(t, n) {
70299
- this.clientId = t, this.clientSecret = n, this.basicAuth = jt(t + ":" + n);
70325
+ this.clientId = t, this.clientSecret = n, this.basicAuth = $t(t + ":" + n);
70300
70326
  }
70301
70327
  setLogLevel(t) {
70302
70328
  this.logLevel = t, this.options.verbose = t === "verbose";
@@ -70310,20 +70336,20 @@ var Yt = class extends ee {
70310
70336
  async fhircastSubscribe(t, n) {
70311
70337
  if (!(typeof t == "string" && t !== "")) throw new f(x("Invalid topic provided. Topic must be a valid string."));
70312
70338
  if (!(typeof n == "object" && Array.isArray(n) && n.length > 0)) throw new f(x("Invalid events provided. Events must be an array of event names containing at least one event."));
70313
- let i = { channelType: "websocket", mode: "subscribe", topic: t, events: n }, s = (await this.post(this.fhircastHubUrl, nn(i), w.FORM_URL_ENCODED))["hub.channel.endpoint"];
70339
+ let i = { channelType: "websocket", mode: "subscribe", topic: t, events: n }, s = (await this.post(this.fhircastHubUrl, on(i), O.FORM_URL_ENCODED))["hub.channel.endpoint"];
70314
70340
  if (!s) throw new Error("Invalid response!");
70315
70341
  return i.endpoint = s, i;
70316
70342
  }
70317
70343
  async fhircastUnsubscribe(t) {
70318
- if (!Ht(t)) throw new f(x("Invalid topic or subscriptionRequest. SubscriptionRequest must be an object."));
70344
+ if (!Gt(t)) throw new f(x("Invalid topic or subscriptionRequest. SubscriptionRequest must be an object."));
70319
70345
  if (!(t.endpoint && typeof t.endpoint == "string" && t.endpoint.startsWith("ws"))) throw new f(x("Provided subscription request must have an endpoint in order to unsubscribe."));
70320
- t.mode = "unsubscribe", await this.post(this.fhircastHubUrl, nn(t), w.FORM_URL_ENCODED);
70346
+ t.mode = "unsubscribe", await this.post(this.fhircastHubUrl, on(t), O.FORM_URL_ENCODED);
70321
70347
  }
70322
70348
  fhircastConnect(t) {
70323
- return new $t(t);
70349
+ return new Ht(t);
70324
70350
  }
70325
70351
  async fhircastPublish(t, n, i, o2) {
70326
- return _i(n) ? this.post(this.fhircastHubUrl, on(t, n, i, o2), w.JSON) : (Li(n), this.post(this.fhircastHubUrl, on(t, n, i), w.JSON));
70352
+ return Ui(n) ? this.post(this.fhircastHubUrl, sn(t, n, i, o2), O.JSON) : (Bi(n), this.post(this.fhircastHubUrl, sn(t, n, i), O.JSON));
70327
70353
  }
70328
70354
  async fhircastGetContext(t) {
70329
70355
  return this.get(`${this.fhircastHubUrl}/${t}`, { cache: "no-cache" });
@@ -70340,8 +70366,8 @@ var Yt = class extends ee {
70340
70366
  }
70341
70367
  }
70342
70368
  async fetchTokens(t) {
70343
- let n = new URLSearchParams(t), i = { ...this.defaultHeaders, "Content-Type": w.FORM_URL_ENCODED };
70344
- this.basicAuth && (i.Authorization = `Basic ${this.basicAuth}`), this.credentialsInHeader && (n.delete("client_id"), n.delete("client_secret"), !this.basicAuth && t.client_id && t.client_secret && (i.Authorization = `Basic ${jt(t.client_id + ":" + t.client_secret)}`));
70369
+ let n = new URLSearchParams(t), i = { ...this.defaultHeaders, "Content-Type": O.FORM_URL_ENCODED };
70370
+ this.basicAuth && (i.Authorization = `Basic ${this.basicAuth}`), this.credentialsInHeader && (n.delete("client_id"), n.delete("client_secret"), !this.basicAuth && t.client_id && t.client_secret && (i.Authorization = `Basic ${$t(t.client_id + ":" + t.client_secret)}`));
70345
70371
  let o2 = { method: "POST", headers: i, body: n.toString(), credentials: "include" }, s;
70346
70372
  try {
70347
70373
  s = await this.fetchWithRetry(this.tokenUrl, o2);
@@ -70354,12 +70380,12 @@ var Yt = class extends ee {
70354
70380
  }
70355
70381
  async verifyTokens(t) {
70356
70382
  let n = t.access_token;
70357
- if (Ni(n)) {
70358
- let i = Gt(n);
70359
- if (Date.now() >= i.exp * 1e3) throw this.clearActiveLogin(), new f(In);
70383
+ if (Wi(n)) {
70384
+ let i = Qt(n);
70385
+ if (Date.now() >= i.exp * 1e3) throw this.clearActiveLogin(), new f(Mn);
70360
70386
  if (i.cid) {
70361
- if (i.cid !== this.clientId) throw this.clearActiveLogin(), new f(xr);
70362
- } else if (this.clientId && i.client_id !== this.clientId) throw this.clearActiveLogin(), new f(xr);
70387
+ if (i.cid !== this.clientId) throw this.clearActiveLogin(), new f(vr);
70388
+ } else if (this.clientId && i.client_id !== this.clientId) throw this.clearActiveLogin(), new f(vr);
70363
70389
  }
70364
70390
  return this.setActiveLogin({ accessToken: n, refreshToken: t.refresh_token, project: t.project, profile: t.profile });
70365
70391
  }
@@ -70379,7 +70405,7 @@ var Yt = class extends ee {
70379
70405
  }
70380
70406
  }
70381
70407
  getSubscriptionManager() {
70382
- return this.subscriptionManager || (this.subscriptionManager = new Kt(this, fi(this.baseUrl, "/ws/subscriptions-r4"))), this.subscriptionManager;
70408
+ return this.subscriptionManager || (this.subscriptionManager = new Yt(this, gi(this.baseUrl, "/ws/subscriptions-r4"))), this.subscriptionManager;
70383
70409
  }
70384
70410
  subscribeToCriteria(t, n) {
70385
70411
  return this.getSubscriptionManager().addCriteria(t, n);
@@ -70391,43 +70417,43 @@ var Yt = class extends ee {
70391
70417
  return this.getSubscriptionManager().getMasterEmitter();
70392
70418
  }
70393
70419
  };
70394
- function Ga() {
70420
+ function Xa() {
70395
70421
  if (!globalThis.fetch) throw new Error("Fetch not available in this environment");
70396
70422
  return globalThis.fetch.bind(globalThis);
70397
70423
  }
70398
- async function Gi(r6, e) {
70424
+ async function Ki(r6, e) {
70399
70425
  let t = r6.headers.get("content-location");
70400
70426
  if (t) return t;
70401
70427
  let n = r6.headers.get("location");
70402
70428
  if (n) return n;
70403
70429
  if (Ge(e) && e.issue?.[0]?.diagnostics) return e.issue[0].diagnostics;
70404
70430
  }
70405
- function Qi(r6) {
70431
+ function Yi(r6) {
70406
70432
  let e = r6.entry?.map((t) => t.resource) ?? [];
70407
70433
  return Object.assign(e, { bundle: r6 });
70408
70434
  }
70409
- function Qa(r6) {
70435
+ function Za(r6) {
70410
70436
  return E(r6) && "data" in r6 && "contentType" in r6;
70411
70437
  }
70412
- function zi(r6, e, t, n) {
70413
- return Qa(r6) ? r6 : { data: r6, filename: e, contentType: t, onProgress: n };
70438
+ function Xi(r6, e, t, n) {
70439
+ return Za(r6) ? r6 : { data: r6, filename: e, contentType: t, onProgress: n };
70414
70440
  }
70415
- function za(r6) {
70441
+ function ec(r6) {
70416
70442
  return E(r6) && "docDefinition" in r6;
70417
70443
  }
70418
- function Ja(r6, e, t, n) {
70419
- return za(r6) ? r6 : { docDefinition: r6, filename: e, tableLayouts: t, fonts: n };
70444
+ function tc(r6, e, t, n) {
70445
+ return ec(r6) ? r6 : { docDefinition: r6, filename: e, tableLayouts: t, fonts: n };
70420
70446
  }
70421
- function Ka(r6) {
70447
+ function rc(r6) {
70422
70448
  return r6.status === 429 || r6.status >= 500;
70423
70449
  }
70424
- var cc = [...rt, "->", "<<", ">>", "=="];
70425
- var pc = nt().registerInfix("->", { precedence: v.Arrow }).registerInfix(";", { precedence: v.Semicolon });
70426
- var Oc = " ".repeat(2);
70427
- var kc = [...rt, "eq", "ne", "co"];
70428
- var Vc = { eq: h.EXACT, ne: h.NOT_EQUALS, co: h.CONTAINS, sw: h.STARTS_WITH, ew: void 0, gt: h.GREATER_THAN, lt: h.LESS_THAN, ge: h.GREATER_THAN_OR_EQUALS, le: h.LESS_THAN_OR_EQUALS, ap: h.APPROXIMATELY, sa: h.STARTS_AFTER, eb: h.ENDS_BEFORE, pr: h.PRESENT, po: void 0, ss: void 0, sb: void 0, in: h.IN, ni: h.NOT_IN, re: h.EQUALS, identifier: h.IDENTIFIER };
70429
- var Mc = nt();
70430
- var _c = { AA: "OK", AE: "Application Error", AR: "Application Reject", CA: "Commit Accept", CE: "Commit Error", CR: "Commit Reject" };
70450
+ var mc = [...rt, "->", "<<", ">>", "=="];
70451
+ var gc = nt().registerInfix("->", { precedence: v.Arrow }).registerInfix(";", { precedence: v.Semicolon });
70452
+ var _c = " ".repeat(2);
70453
+ var Fc = [...rt, "eq", "ne", "co"];
70454
+ var Nc = { eq: m.EXACT, ne: m.NOT_EQUALS, co: m.CONTAINS, sw: m.STARTS_WITH, ew: void 0, gt: m.GREATER_THAN, lt: m.LESS_THAN, ge: m.GREATER_THAN_OR_EQUALS, le: m.LESS_THAN_OR_EQUALS, ap: m.APPROXIMATELY, sa: m.STARTS_AFTER, eb: m.ENDS_BEFORE, pr: m.PRESENT, po: void 0, ss: void 0, sb: void 0, in: m.IN, ni: m.NOT_IN, re: m.EQUALS, identifier: m.IDENTIFIER };
70455
+ var Bc = nt();
70456
+ var qc = { AA: "OK", AE: "Application Error", AR: "Application Reject", CA: "Commit Accept", CE: "Commit Error", CR: "Commit Reject" };
70431
70457
  var xe = class {
70432
70458
  constructor(e = "\r", t = "|", n = "^", i = "~", o2 = "\\", s = "&") {
70433
70459
  c(this, "segmentSeparator");
@@ -70445,7 +70471,7 @@ var xe = class {
70445
70471
  return this.componentSeparator + this.repetitionSeparator + this.escapeCharacter + this.subcomponentSeparator;
70446
70472
  }
70447
70473
  };
70448
- var mo = class r2 {
70474
+ var vo = class r2 {
70449
70475
  constructor(e, t = new xe()) {
70450
70476
  c(this, "context");
70451
70477
  c(this, "segments");
@@ -70471,7 +70497,7 @@ var mo = class r2 {
70471
70497
  }
70472
70498
  buildAck(e) {
70473
70499
  let t = /* @__PURE__ */ new Date(), n = this.getSegment("MSH"), i = n?.getField(3)?.toString() ?? "", o2 = n?.getField(4)?.toString() ?? "", s = n?.getField(5)?.toString() ?? "", a = n?.getField(6)?.toString() ?? "", u2 = n?.getField(10)?.toString() ?? "", l2 = n?.getField(12)?.toString() ?? "2.5.1", p = e?.ackCode ?? "AA";
70474
- return new r2([new lt(["MSH", this.context.getMsh2(), s, a, i, o2, Fc(t), "", this.buildAckMessageType(n), t.getTime().toString(), "P", l2], this.context), new lt(["MSA", p, u2, _c[p]], this.context), ...e?.errSegment ? [e.errSegment] : []]);
70500
+ return new r2([new lt(["MSH", this.context.getMsh2(), s, a, i, o2, jc(t), "", this.buildAckMessageType(n), t.getTime().toString(), "P", l2], this.context), new lt(["MSA", p, u2, qc[p]], this.context), ...e?.errSegment ? [e.errSegment] : []]);
70475
70501
  }
70476
70502
  buildAckMessageType(e) {
70477
70503
  let t = e?.getField(9), n = t?.getComponent(2), i = t?.getComponent(3), o2 = "ACK";
@@ -70501,7 +70527,7 @@ var lt = class r3 {
70501
70527
  c(this, "context");
70502
70528
  c(this, "name");
70503
70529
  c(this, "fields");
70504
- this.context = t, oi(e) ? this.fields = e.map((n) => te.parse(n, t)) : this.fields = e, this.name = this.fields[0].components[0][0];
70530
+ this.context = t, ui(e) ? this.fields = e.map((n) => te.parse(n, t)) : this.fields = e, this.name = this.fields[0].components[0][0];
70505
70531
  }
70506
70532
  get(e) {
70507
70533
  return this.fields[e];
@@ -70571,13 +70597,13 @@ var te = class r4 {
70571
70597
  return true;
70572
70598
  }
70573
70599
  };
70574
- function Fc(r6) {
70600
+ function jc(r6) {
70575
70601
  let e = r6 instanceof Date ? r6 : new Date(r6), n = e.toISOString().replaceAll(/[-:T]/g, "").replace(/(\.\d+)?Z$/, ""), i = e.getUTCMilliseconds();
70576
70602
  return i > 0 && (n += "." + i.toString()), n;
70577
70603
  }
70578
70604
  var He = { NONE: 0, ERROR: 1, WARN: 2, INFO: 3, DEBUG: 4 };
70579
- var Nc = ["NONE", "ERROR", "WARN", "INFO", "DEBUG"];
70580
- var yo = class r5 {
70605
+ var $c = ["NONE", "ERROR", "WARN", "INFO", "DEBUG"];
70606
+ var To = class r5 {
70581
70607
  constructor(e, t = {}, n = He.INFO, i = {}) {
70582
70608
  c(this, "write");
70583
70609
  c(this, "metadata");
@@ -70609,35 +70635,36 @@ var yo = class r5 {
70609
70635
  log(e, t, n) {
70610
70636
  if (e > this.level) return;
70611
70637
  let i;
70612
- if (vr(n)) i = ar(n);
70638
+ if (Tr(n)) i = cr(n);
70613
70639
  else if (n) {
70614
70640
  i = { ...n };
70615
- for (let [o2, s] of Object.entries(i)) s instanceof Error && (i[o2] = ar(s));
70641
+ for (let [o2, s] of Object.entries(i)) s instanceof Error && (i[o2] = cr(s));
70616
70642
  }
70617
- this.write(JSON.stringify({ level: Nc[e], timestamp: (/* @__PURE__ */ new Date()).toISOString(), msg: this.prefix ? `${this.prefix}${t}` : t, ...i, ...this.metadata }));
70643
+ this.write(JSON.stringify({ level: $c[e], timestamp: (/* @__PURE__ */ new Date()).toISOString(), msg: this.prefix ? `${this.prefix}${t}` : t, ...i, ...this.metadata }));
70618
70644
  }
70619
70645
  };
70620
- function cm(r6) {
70646
+ function vh(r6) {
70621
70647
  let e = He[r6.toUpperCase()];
70622
70648
  if (e === void 0) throw new Error(`Invalid log level: ${r6}`);
70623
70649
  return e;
70624
70650
  }
70625
- function ar(r6, e = 0, t = 10) {
70651
+ function cr(r6, e = 0, t = 10) {
70626
70652
  if (e >= t) return { error: "Max error depth reached" };
70627
70653
  let n = { error: r6.toString(), stack: r6.stack?.split(`
70628
70654
  `) };
70629
- r6.name && r6.name !== "Error" && (n.name = r6.name), r6.message && (n.message = r6.message), "cause" in r6 && r6.cause !== void 0 && (r6.cause instanceof Error ? n.cause = ar(r6.cause, e + 1, t) : n.cause = r6.cause);
70655
+ r6.name && r6.name !== "Error" && (n.name = r6.name), r6.message && (n.message = r6.message), "cause" in r6 && r6.cause !== void 0 && (r6.cause instanceof Error ? n.cause = cr(r6.cause, e + 1, t) : n.cause = r6.cause);
70630
70656
  let i = Object.getOwnPropertyNames(r6).filter((o2) => !["name", "message", "stack", "cause"].includes(o2));
70631
70657
  for (let o2 of i) try {
70632
70658
  let s = r6[o2];
70633
- s instanceof Error ? n[o2] = ar(s, e + 1, t) : n[o2] = s;
70659
+ s instanceof Error ? n[o2] = cr(s, e + 1, t) : n[o2] = s;
70634
70660
  } catch {
70635
70661
  }
70636
70662
  return n;
70637
70663
  }
70638
- var Kc = "https://meta.medplum.com/releases";
70639
- var lr = /* @__PURE__ */ new Map();
70640
- function Yc(r6) {
70664
+ var Sn = `${ft}/fhir/StructureDefinition/patient-preferredPharmacy`;
70665
+ var iu = "https://meta.medplum.com/releases";
70666
+ var pr = /* @__PURE__ */ new Map();
70667
+ function ou(r6) {
70641
70668
  let e = r6;
70642
70669
  if (!e.tag_name) throw new Error("Manifest missing tag_name");
70643
70670
  let t = e.assets;
@@ -70647,11 +70674,11 @@ function Yc(r6) {
70647
70674
  if (!n.name) throw new Error("Asset missing name");
70648
70675
  }
70649
70676
  }
70650
- async function vn(r6, e, t) {
70651
- let n = lr.get(e ?? "latest");
70677
+ async function Rn(r6, e, t) {
70678
+ let n = pr.get(e ?? "latest");
70652
70679
  if (!n) {
70653
- let i = e ? `v${e}` : "latest", o2 = new URL(`${Kc}/${i}.json`);
70654
- if (o2.searchParams.set("a", r6), o2.searchParams.set("c", cn), t) for (let [u2, l2] of Object.entries(t)) o2.searchParams.set(u2, l2);
70680
+ let i = e ? `v${e}` : "latest", o2 = new URL(`${iu}/${i}.json`);
70681
+ if (o2.searchParams.set("a", r6), o2.searchParams.set("c", un), t) for (let [u2, l2] of Object.entries(t)) o2.searchParams.set(u2, l2);
70655
70682
  let s = await fetch(o2.toString());
70656
70683
  if (s.status !== 200) {
70657
70684
  let u2;
@@ -70663,24 +70690,24 @@ async function vn(r6, e, t) {
70663
70690
  throw new Error(`Received status code ${s.status} while fetching manifest for version '${e ?? "latest"}'. Message: ${u2}`);
70664
70691
  }
70665
70692
  let a = await s.json();
70666
- Yc(a), n = a, lr.set(e ?? "latest", n), e || lr.set(n.tag_name.slice(1), n);
70693
+ ou(a), n = a, pr.set(e ?? "latest", n), e || pr.set(n.tag_name.slice(1), n);
70667
70694
  }
70668
70695
  return n;
70669
70696
  }
70670
- function Xc(r6) {
70697
+ function su(r6) {
70671
70698
  return /^\d+\.\d+\.\d+(-[0-9a-z]{7})?$/.test(r6);
70672
70699
  }
70673
- async function Lm(r6, e) {
70674
- if (!Xc(e)) return false;
70700
+ async function ty(r6, e) {
70701
+ if (!su(e)) return false;
70675
70702
  try {
70676
- await vn(r6, e);
70703
+ await Rn(r6, e);
70677
70704
  } catch {
70678
70705
  return false;
70679
70706
  }
70680
70707
  return true;
70681
70708
  }
70682
- async function Fm(r6) {
70683
- let e = await vn(r6);
70709
+ async function ry(r6) {
70710
+ let e = await Rn(r6);
70684
70711
  if (!e.tag_name.startsWith("v")) throw new Error(`Invalid release name found. Release tag '${e.tag_name}' did not start with 'v'`);
70685
70712
  return e.tag_name.slice(1);
70686
70713
  }
@@ -70777,7 +70804,7 @@ var g2 = class extends m2 {
70777
70804
  return;
70778
70805
  }
70779
70806
  let p = c2.message.getSegment("MSA")?.getField(1)?.toString()?.toUpperCase();
70780
- p && (h2.returnAck === Ed.APPLICATION && p === "CA" || (h2.resolve(c2.message), this.pendingMessages.delete(a)));
70807
+ p && (h2.returnAck === kd.APPLICATION && p === "CA" || (h2.resolve(c2.message), this.pendingMessages.delete(a)));
70781
70808
  });
70782
70809
  }
70783
70810
  isClosed() {
@@ -70792,7 +70819,7 @@ var g2 = class extends m2 {
70792
70819
  for (this.responseQueueProcessing = true; this.responseQueue.length; ) {
70793
70820
  if (this.messagesPerMin) {
70794
70821
  let t = D2 / this.messagesPerMin, s = Date.now() - this.lastMessageDispatchedTime;
70795
- t > s && await Gr(t - s);
70822
+ t > s && await Qr(t - s);
70796
70823
  }
70797
70824
  let e = this.responseQueue.shift();
70798
70825
  e && this.dispatchEvent(e), this.lastMessageDispatchedTime = Date.now();
@@ -70812,7 +70839,7 @@ var g2 = class extends m2 {
70812
70839
  break;
70813
70840
  }
70814
70841
  if (n === -1) break;
70815
- let r6 = t.subarray(s, n + 1).subarray(1, -2), a = import_iconv_lite.default.decode(r6, this.encoding), h2 = mo.parse(a);
70842
+ let r6 = t.subarray(s, n + 1).subarray(1, -2), a = import_iconv_lite.default.decode(r6, this.encoding), h2 = vo.parse(a);
70816
70843
  e.push(h2), s = n + 1;
70817
70844
  }
70818
70845
  return this.chunks = s < t.length ? [t.subarray(s)] : [], e;
@@ -70830,7 +70857,7 @@ var g2 = class extends m2 {
70830
70857
  let r6;
70831
70858
  t?.timeoutMs && (r6 = setTimeout(() => {
70832
70859
  this.pendingMessages.delete(c2), n(new f({ resourceType: "OperationOutcome", issue: [{ severity: "error", code: "timeout", details: { text: "Client timeout" }, diagnostics: `Request timed out after waiting ${t.timeoutMs} milliseconds for response` }] }));
70833
- }, t.timeoutMs)), this.pendingMessages.set(c2, { message: e, resolve: s, reject: n, returnAck: t?.returnAck ?? Ed.APPLICATION, timer: r6 }), this.sendImpl(e);
70860
+ }, t.timeoutMs)), this.pendingMessages.set(c2, { message: e, resolve: s, reject: n, returnAck: t?.returnAck ?? kd.APPLICATION, timer: r6 }), this.sendImpl(e);
70834
70861
  });
70835
70862
  }
70836
70863
  async close() {
@@ -70982,7 +71009,7 @@ var A2 = class {
70982
71009
  let r6 = (h2) => {
70983
71010
  n.listen(h2, c2);
70984
71011
  }, a = async (h2) => {
70985
- h2?.code === "EADDRINUSE" && (await Gr(50), n.close(), r6(i));
71012
+ h2?.code === "EADDRINUSE" && (await Qr(50), n.close(), r6(i));
70986
71013
  };
70987
71014
  n.on("error", a), n.once("listening", () => {
70988
71015
  n.off("error", a);
@@ -71235,7 +71262,7 @@ var ByteStreamChannelConnection = class {
71235
71262
  accessToken: "placeholder",
71236
71263
  channel: this.channel.getDefinition().name,
71237
71264
  remote: this.remote,
71238
- contentType: w.OCTET_STREAM,
71265
+ contentType: O.OCTET_STREAM,
71239
71266
  body: messageBuffer.toString("hex"),
71240
71267
  callback: `Agent/${this.channel.app.agentId}-${(0, import_node_crypto.randomUUID)()}`
71241
71268
  });
@@ -71371,7 +71398,7 @@ var AgentDicomChannel = class extends BaseChannel {
71371
71398
  accessToken: "placeholder",
71372
71399
  channel: _DcmjsDimseScp.channel.getDefinition().name,
71373
71400
  remote: this.association?.getCallingAeTitle(),
71374
- contentType: w.JSON,
71401
+ contentType: O.JSON,
71375
71402
  body: JSON.stringify(payload),
71376
71403
  callback: `Agent/${App.instance.agentId}-${(0, import_node_crypto2.randomUUID)()}`
71377
71404
  });
@@ -71425,7 +71452,7 @@ var AgentDicomChannel = class extends BaseChannel {
71425
71452
  this.server.on("networkError", async (err) => {
71426
71453
  this.log.error("Network error: ", { err });
71427
71454
  if (err?.code === "EADDRINUSE") {
71428
- await Gr(50);
71455
+ await Qr(50);
71429
71456
  this.server.close();
71430
71457
  this.server.listen(port);
71431
71458
  }
@@ -71690,7 +71717,7 @@ var AgentHl7Channel = class extends BaseChannel {
71690
71717
  sendToRemote(msg) {
71691
71718
  const connection = this.connections.get(msg.remote);
71692
71719
  if (connection) {
71693
- const hl7Message = mo.parse(msg.body);
71720
+ const hl7Message = vo.parse(msg.body);
71694
71721
  const msgControlId = hl7Message.getSegment("MSA")?.getField(2)?.toString();
71695
71722
  const ackCode = hl7Message.getSegment("MSA")?.getField(1)?.toString()?.toUpperCase();
71696
71723
  if (ackCode && isAppLevelAckCode(ackCode) && !shouldSendAppLevelAck({
@@ -71704,7 +71731,7 @@ var AgentHl7Channel = class extends BaseChannel {
71704
71731
  return;
71705
71732
  }
71706
71733
  this.channelLog.info(`[Sending ACK -- ID: ${msgControlId}]: ${hl7Message.toString().replaceAll("\r", "\n")}`);
71707
- connection.hl7Connection.send(mo.parse(msg.body));
71734
+ connection.hl7Connection.send(vo.parse(msg.body));
71708
71735
  if (msgControlId) {
71709
71736
  this.stats?.recordAckReceived(msgControlId);
71710
71737
  }
@@ -71818,7 +71845,7 @@ var AgentHl7ChannelConnection = class {
71818
71845
  accessToken: "placeholder",
71819
71846
  channel: this.channel.getDefinition().name,
71820
71847
  remote: this.remote,
71821
- contentType: w.HL7_V2,
71848
+ contentType: O.HL7_V2,
71822
71849
  body: event.message.toString(),
71823
71850
  callback: `Agent/${this.channel.app.agentId}-${(0, import_node_crypto3.randomUUID)()}`
71824
71851
  });
@@ -72216,7 +72243,7 @@ function cleanupLoggerConfig(config, configPathRoot = "config") {
72216
72243
  warnings.push(`${configPathRoot}.filesToKeep must be a valid integer`);
72217
72244
  config.filesToKeep = void 0;
72218
72245
  }
72219
- if (typeof config.logLevel !== "undefined" && !(typeof config.logLevel === "number" && Nc[config.logLevel] !== void 0)) {
72246
+ if (typeof config.logLevel !== "undefined" && !(typeof config.logLevel === "number" && $c[config.logLevel] !== void 0)) {
72220
72247
  warnings.push(`${configPathRoot}.logLevel must be a valid log level between LogLevel.NONE and LogLevel.DEBUG`);
72221
72248
  config.logLevel = void 0;
72222
72249
  }
@@ -72261,7 +72288,7 @@ function parseLoggerConfigFromArgs(args) {
72261
72288
  let configValue;
72262
72289
  if (settingName === "logLevel") {
72263
72290
  try {
72264
- configValue = cm(propVal);
72291
+ configValue = vh(propVal);
72265
72292
  } catch (err) {
72266
72293
  warnings.push(`Error while parsing ${propName}: ${_e(err)}`);
72267
72294
  }
@@ -72435,7 +72462,7 @@ var import_node_os2 = require("node:os");
72435
72462
  var import_node_path3 = __toESM(require("node:path"));
72436
72463
  var import_node_process = __toESM(require("node:process"));
72437
72464
  var EXIT_SIGNALS = ["SIGINT", "SIGTERM", "SIGHUP"];
72438
- var pidLogger = new yo((msg) => `[PID]: ${msg}`);
72465
+ var pidLogger = new To((msg) => `[PID]: ${msg}`);
72439
72466
  var pidFileApps = /* @__PURE__ */ new Set();
72440
72467
  var processExitListener = () => {
72441
72468
  removeAllPidFiles();
@@ -72553,7 +72580,7 @@ async function waitForPidFile(appName, timeoutMs = 3e3) {
72553
72580
  if (Date.now() - startTime > timeoutMs) {
72554
72581
  throw new Error("Timeout while waiting for PID file");
72555
72582
  }
72556
- await Gr(0);
72583
+ await Qr(0);
72557
72584
  }
72558
72585
  }
72559
72586
  function removeAllPidFiles() {
@@ -72584,7 +72611,7 @@ var UPGRADER_LOG_PATH = (0, import_node_path4.resolve)(
72584
72611
  );
72585
72612
  var RELEASES_PATH = (0, import_node_path4.resolve)(__dirname);
72586
72613
  async function downloadRelease(version, path4) {
72587
- const release = await vn("agent-upgrader", version);
72614
+ const release = await Rn("agent-upgrader", version);
72588
72615
  const downloadUrl = parseDownloadUrl(release, (0, import_node_os3.platform)());
72589
72616
  const { body } = await fetch(downloadUrl);
72590
72617
  if (!body) {
@@ -72671,8 +72698,8 @@ var _App = class _App {
72671
72698
  _App.instance = this;
72672
72699
  this.medplum = medplum;
72673
72700
  this.agentId = agentId;
72674
- this.log = options?.mainLogger ?? new yo((msg) => console.log(msg), void 0, logLevel);
72675
- this.channelLog = options?.channelLogger ?? new yo((msg) => console.log(msg), void 0, logLevel);
72701
+ this.log = options?.mainLogger ?? new To((msg) => console.log(msg), void 0, logLevel);
72702
+ this.channelLog = options?.channelLogger ?? new To((msg) => console.log(msg), void 0, logLevel);
72676
72703
  }
72677
72704
  async start() {
72678
72705
  this.log.info("Medplum service starting...");
@@ -72694,7 +72721,7 @@ var _App = class _App {
72694
72721
  if ((0, import_node_fs4.existsSync)(UPGRADE_MANIFEST_PATH)) {
72695
72722
  const upgradeFile = (0, import_node_fs4.readFileSync)(UPGRADE_MANIFEST_PATH, { encoding: "utf-8" });
72696
72723
  const upgradeDetails = JSON.parse(upgradeFile);
72697
- if (cn.startsWith(upgradeDetails.targetVersion)) {
72724
+ if (un.startsWith(upgradeDetails.targetVersion)) {
72698
72725
  await this.sendToWebSocket({
72699
72726
  type: "agent:upgrade:response",
72700
72727
  statusCode: 200,
@@ -72702,7 +72729,7 @@ var _App = class _App {
72702
72729
  });
72703
72730
  this.log.info(`Successfully upgraded to version ${upgradeDetails.targetVersion}`);
72704
72731
  } else {
72705
- const errMsg = `Failed to upgrade to version ${upgradeDetails.targetVersion}. Agent still running with version ${cn}`;
72732
+ const errMsg = `Failed to upgrade to version ${upgradeDetails.targetVersion}. Agent still running with version ${un}`;
72706
72733
  await this.sendToWebSocket({
72707
72734
  type: "agent:error",
72708
72735
  body: errMsg,
@@ -72730,7 +72757,7 @@ var _App = class _App {
72730
72757
  if (attempt === maxAttempts) {
72731
72758
  throw new Error("Too many unsuccessful attempts to create agent PID file");
72732
72759
  }
72733
- await Gr(500);
72760
+ await Qr(500);
72734
72761
  }
72735
72762
  }
72736
72763
  }
@@ -72764,7 +72791,7 @@ var _App = class _App {
72764
72791
  webSocketUrl.protocol = webSocketUrl.protocol === "https:" ? "wss:" : "ws:";
72765
72792
  webSocketUrl.pathname = "/ws/agent";
72766
72793
  this.log.info(`Connecting to WebSocket: ${webSocketUrl.href}`);
72767
- this.webSocket = new Jt(webSocketUrl.toString(), void 0, {
72794
+ this.webSocket = new Kt(webSocketUrl.toString(), void 0, {
72768
72795
  WebSocket: wrapper_default,
72769
72796
  binaryType: "nodebuffer"
72770
72797
  });
@@ -72802,7 +72829,7 @@ var _App = class _App {
72802
72829
  break;
72803
72830
  case "agent:heartbeat:request":
72804
72831
  this.outstandingHeartbeats = 0;
72805
- await this.sendToWebSocket({ type: "agent:heartbeat:response", version: cn });
72832
+ await this.sendToWebSocket({ type: "agent:heartbeat:response", version: un });
72806
72833
  break;
72807
72834
  case "agent:heartbeat:response":
72808
72835
  this.outstandingHeartbeats = 0;
@@ -72828,7 +72855,7 @@ var _App = class _App {
72828
72855
  case "agent:transmit:request":
72829
72856
  if (this.config?.status !== "active") {
72830
72857
  this.sendAgentDisabledError(command);
72831
- } else if (command.contentType === w.PING) {
72858
+ } else if (command.contentType === O.PING) {
72832
72859
  await this.tryPingHost(command);
72833
72860
  } else {
72834
72861
  this.pushMessage(command);
@@ -73188,7 +73215,7 @@ IPv6 is currently unsupported.`;
73188
73215
  this.log.error(errMsg);
73189
73216
  throw new Error(errMsg);
73190
73217
  }
73191
- if (!((0, import_node_net4.isIPv4)(message.remote) || Hl(message.remote))) {
73218
+ if (!((0, import_node_net4.isIPv4)(message.remote) || Zl(message.remote))) {
73192
73219
  const errMsg = `Attempted to ping an invalid host.
73193
73220
 
73194
73221
  "${message.remote}" is not a valid IPv4 address or a resolvable hostname.`;
@@ -73220,7 +73247,7 @@ ${result}`);
73220
73247
  this.addToWebSocketQueue({
73221
73248
  type: "agent:transmit:response",
73222
73249
  channel: message.channel,
73223
- contentType: w.PING,
73250
+ contentType: O.PING,
73224
73251
  remote: message.remote,
73225
73252
  callback: message.callback,
73226
73253
  statusCode: 200,
@@ -73231,7 +73258,7 @@ ${result}`);
73231
73258
  this.addToWebSocketQueue({
73232
73259
  type: "agent:transmit:response",
73233
73260
  channel: message.channel,
73234
- contentType: w.TEXT,
73261
+ contentType: O.TEXT,
73235
73262
  remote: message.remote,
73236
73263
  callback: message.callback,
73237
73264
  statusCode: 400,
@@ -73240,7 +73267,7 @@ ${result}`);
73240
73267
  }
73241
73268
  }
73242
73269
  async tryUpgradeAgent(message) {
73243
- this.log.info(`Attempting to upgrade from ${cn} to ${message.version ?? "latest"}...`);
73270
+ this.log.info(`Attempting to upgrade from ${un} to ${message.version ?? "latest"}...`);
73244
73271
  if ((0, import_node_os4.platform)() !== "win32") {
73245
73272
  const errMsg = "Auto-upgrading is currently only supported on Windows";
73246
73273
  this.log.error(errMsg);
@@ -73263,7 +73290,7 @@ ${result}`);
73263
73290
  return;
73264
73291
  }
73265
73292
  let child;
73266
- if (message.version && !await Lm("agent-upgrader", message.version)) {
73293
+ if (message.version && !await ty("agent-upgrader", message.version)) {
73267
73294
  const versionTag = message.version ? `v${message.version}` : "latest";
73268
73295
  const errMsg = `Error during upgrading to version '${versionTag}'. '${message.version}' is not a valid version`;
73269
73296
  this.log.error(errMsg);
@@ -73274,8 +73301,8 @@ ${result}`);
73274
73301
  });
73275
73302
  return;
73276
73303
  }
73277
- const targetVersion = message.version ?? await Fm("agent-upgrader");
73278
- if (cn.startsWith(targetVersion)) {
73304
+ const targetVersion = message.version ?? await ry("agent-upgrader");
73305
+ if (un.startsWith(targetVersion)) {
73279
73306
  if (!message?.force) {
73280
73307
  this.log.info(`Attempted to upgrade to version ${targetVersion}, but agent is already on that version`);
73281
73308
  await this.sendToWebSocket({
@@ -73285,7 +73312,7 @@ ${result}`);
73285
73312
  });
73286
73313
  return;
73287
73314
  }
73288
- this.log.info(`Forcing upgrade from ${cn} to ${targetVersion}`);
73315
+ this.log.info(`Forcing upgrade from ${un} to ${targetVersion}`);
73289
73316
  }
73290
73317
  if (semver.lt(targetVersion, "4.2.4") && !message.force) {
73291
73318
  const errMsg = `WARNING: ${targetVersion} predates the zero-downtime upgrade feature. Downgrading to this version will 1) incur downtime during the downgrade process, as the current agent must stop itself before installing the older agent, and 2) incur downtime on any subsequent upgrade to a later version. We recommend against downgrading to this version, but if you must, reissue the command with force set to true to downgrade.`;
@@ -73345,11 +73372,11 @@ ${result}`);
73345
73372
  return;
73346
73373
  }
73347
73374
  try {
73348
- this.log.info("Writing upgrade manifest...", { previousVersion: cn, targetVersion });
73375
+ this.log.info("Writing upgrade manifest...", { previousVersion: un, targetVersion });
73349
73376
  (0, import_node_fs4.writeFileSync)(
73350
73377
  UPGRADE_MANIFEST_PATH,
73351
73378
  JSON.stringify({
73352
- previousVersion: cn,
73379
+ previousVersion: un,
73353
73380
  targetVersion,
73354
73381
  callback: message.callback ?? null
73355
73382
  }),
@@ -73428,7 +73455,7 @@ ${result}`);
73428
73455
  channel: message.channel,
73429
73456
  remote: message.remote,
73430
73457
  callback: message.callback,
73431
- contentType: w.TEXT,
73458
+ contentType: O.TEXT,
73432
73459
  statusCode: 400,
73433
73460
  body: _e(err)
73434
73461
  });
@@ -73440,7 +73467,7 @@ ${result}`);
73440
73467
  } catch (err) {
73441
73468
  this.log.warn(`${_e(err)} - falling back to default return ACK behavior of 'first'.`);
73442
73469
  }
73443
- const returnAck = msgReturnAck ?? defaultReturnAck ?? Ed.FIRST;
73470
+ const returnAck = msgReturnAck ?? defaultReturnAck ?? kd.FIRST;
73444
73471
  let pool;
73445
73472
  if (this.hl7Clients.has(message.remote)) {
73446
73473
  pool = this.hl7Clients.get(message.remote);
@@ -73466,7 +73493,7 @@ ${result}`);
73466
73493
  trackingStats: this.logStatsFreqSecs > 0
73467
73494
  });
73468
73495
  }
73469
- const requestMsg = mo.parse(message.body);
73496
+ const requestMsg = vo.parse(message.body);
73470
73497
  const msh10 = requestMsg.getSegment("MSH")?.getField(10);
73471
73498
  if (!msh10) {
73472
73499
  this.log.error("MSH.10 is missing but required");
@@ -73484,7 +73511,7 @@ ${result}`);
73484
73511
  channel: message.channel,
73485
73512
  remote: message.remote,
73486
73513
  callback: message.callback,
73487
- contentType: w.TEXT,
73514
+ contentType: O.TEXT,
73488
73515
  statusCode: 400,
73489
73516
  body: _e(err)
73490
73517
  });
@@ -73497,7 +73524,7 @@ ${result}`);
73497
73524
  channel: message.channel,
73498
73525
  remote: message.remote,
73499
73526
  callback: message.callback,
73500
- contentType: w.HL7_V2,
73527
+ contentType: O.HL7_V2,
73501
73528
  statusCode: 200,
73502
73529
  body: response2.toString()
73503
73530
  });
@@ -73508,7 +73535,7 @@ ${result}`);
73508
73535
  channel: message.channel,
73509
73536
  remote: message.remote,
73510
73537
  callback: message.callback,
73511
- contentType: w.TEXT,
73538
+ contentType: O.TEXT,
73512
73539
  statusCode: 400,
73513
73540
  body: _e(err)
73514
73541
  });
@@ -73538,10 +73565,10 @@ ${result}`);
73538
73565
  }
73539
73566
  const normalizedValue = rawValue.toLowerCase();
73540
73567
  if (normalizedValue === "application") {
73541
- return Ed.APPLICATION;
73568
+ return kd.APPLICATION;
73542
73569
  }
73543
73570
  if (normalizedValue === "first") {
73544
- return Ed.FIRST;
73571
+ return kd.FIRST;
73545
73572
  }
73546
73573
  throw new Error(`Invalid value for returnAck; expected: 'first' or 'application', received: ${rawValue}`);
73547
73574
  }
@@ -73582,7 +73609,7 @@ async function agentMain(argv) {
73582
73609
  process.exit(1);
73583
73610
  }
73584
73611
  const { baseUrl, clientId, clientSecret, agentId } = args;
73585
- const medplum = new Yt({ baseUrl, clientId });
73612
+ const medplum = new Xt({ baseUrl, clientId });
73586
73613
  let loggedIn = false;
73587
73614
  while (!loggedIn) {
73588
73615
  try {
@@ -73591,7 +73618,7 @@ async function agentMain(argv) {
73591
73618
  } catch (err) {
73592
73619
  console.error("Failed to login", { err: _e(err) });
73593
73620
  console.log("Retrying login in 10 seconds...");
73594
- await Gr(RETRY_WAIT_DURATION_MS);
73621
+ await Qr(RETRY_WAIT_DURATION_MS);
73595
73622
  }
73596
73623
  }
73597
73624
  if (args.logLevel) {
@@ -73604,7 +73631,7 @@ async function agentMain(argv) {
73604
73631
  for (const warning of warnings) {
73605
73632
  mainLogger.warn(warning);
73606
73633
  }
73607
- const app = new App(medplum, agentId, args.logLevel ? cm(args.logLevel) : void 0, {
73634
+ const app = new App(medplum, agentId, args.logLevel ? vh(args.logLevel) : void 0, {
73608
73635
  mainLogger,
73609
73636
  channelLogger
73610
73637
  });
@@ -73636,7 +73663,7 @@ async function upgraderMain(argv) {
73636
73663
  if ((0, import_node_os5.platform)() !== "win32") {
73637
73664
  throw new Error(`Unsupported platform: ${(0, import_node_os5.platform)()}. Agent upgrader currently only supports Windows`);
73638
73665
  }
73639
- const globalLogger = new yo((msg) => console.log(msg));
73666
+ const globalLogger = new To((msg) => console.log(msg));
73640
73667
  if (!import_node_process3.default.send) {
73641
73668
  globalLogger.error("Upgrader not started as a child process with Node IPC enabled. Aborting...");
73642
73669
  import_node_process3.default.exit(1);
@@ -73646,10 +73673,10 @@ async function upgraderMain(argv) {
73646
73673
  rejectOnTimeout = () => reject(new Error("Timed out while waiting for IPC to disconnect"));
73647
73674
  import_node_process3.default.once("disconnect", resolve2);
73648
73675
  });
73649
- if (argv[3] && !Xc(argv[3])) {
73676
+ if (argv[3] && !su(argv[3])) {
73650
73677
  throw new Error("Invalid version specified");
73651
73678
  }
73652
- const version = argv[3] ?? await Fm("agent-upgrader");
73679
+ const version = argv[3] ?? await ry("agent-upgrader");
73653
73680
  const binPath = getReleaseBinPath(version);
73654
73681
  if (!(0, import_node_fs6.existsSync)(binPath)) {
73655
73682
  globalLogger.info(`Could not find binary at "${binPath}". Downloading release from GitHub...`);
@@ -73700,7 +73727,7 @@ async function main(argv) {
73700
73727
  } else if (argv[2] === "--remove-old-services") {
73701
73728
  const logFileFd = (0, import_node_fs7.openSync)(TEMP_LOG_FILE, "a");
73702
73729
  let allAgentServices = [];
73703
- const currentServiceName = `MedplumAgent_${cn}`;
73730
+ const currentServiceName = `MedplumAgent_${un}`;
73704
73731
  while (!allAgentServices.includes(currentServiceName)) {
73705
73732
  const output = (0, import_node_child_process3.execSync)('cmd.exe /c sc query type= service state= all | findstr /i "SERVICE_NAME.*MedplumAgent"');
73706
73733
  (0, import_node_fs7.appendFileSync)(logFileFd, `${output}\r
@@ -73710,8 +73737,8 @@ async function main(argv) {
73710
73737
  ${allAgentServices.join("\r\n")}\r
73711
73738
  `, { encoding: "utf-8" });
73712
73739
  }
73713
- const servicesToRemove = argv[3] === "--all" ? allAgentServices : allAgentServices.filter((serviceName) => serviceName !== `MedplumAgent_${cn}`);
73714
- (0, import_node_fs7.appendFileSync)(logFileFd, `Medplum agent service to filter out: MedplumAgent_${cn}\r
73740
+ const servicesToRemove = argv[3] === "--all" ? allAgentServices : allAgentServices.filter((serviceName) => serviceName !== `MedplumAgent_${un}`);
73741
+ (0, import_node_fs7.appendFileSync)(logFileFd, `Medplum agent service to filter out: MedplumAgent_${un}\r
73715
73742
  `, {
73716
73743
  encoding: "utf-8"
73717
73744
  });