@openhi/constructs 0.0.185 → 0.0.187

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.
@@ -11614,6 +11614,9 @@ var CLAIM_SEARCH_PARAMETERS = [
11614
11614
  { code: "use", type: "token", jsonbPath: "$.use" }
11615
11615
  ];
11616
11616
 
11617
+ // src/data/search/registry/clinicalimpression-search-parameters.ts
11618
+ var CLINICALIMPRESSION_SEARCH_PARAMETERS = [{ code: "encounter", type: "reference", jsonbPath: "$.encounter" }];
11619
+
11617
11620
  // src/data/search/registry/composition-search-parameters.ts
11618
11621
  var COMPOSITION_SEARCH_PARAMETERS = [
11619
11622
  { code: "status", type: "token", jsonbPath: "$.status" },
@@ -12275,6 +12278,12 @@ var RELATEDPERSON_SEARCH_PARAMETERS = [
12275
12278
  }
12276
12279
  ];
12277
12280
 
12281
+ // src/data/search/registry/riskassessment-search-parameters.ts
12282
+ var RISKASSESSMENT_SEARCH_PARAMETERS = [
12283
+ { code: "subject", type: "reference", jsonbPath: "$.subject" },
12284
+ { code: "patient", type: "reference", jsonbPath: "$.subject" }
12285
+ ];
12286
+
12278
12287
  // src/data/search/registry/schedule-search-parameters.ts
12279
12288
  var SCHEDULE_SEARCH_PARAMETERS = [
12280
12289
  { code: "active", type: "token", jsonbPath: "$.active" },
@@ -12290,6 +12299,9 @@ var SCHEDULE_SEARCH_PARAMETERS = [
12290
12299
  { code: "specialty", type: "token", jsonbPath: "$.specialty[*]" }
12291
12300
  ];
12292
12301
 
12302
+ // src/data/search/registry/servicerequest-search-parameters.ts
12303
+ var SERVICEREQUEST_SEARCH_PARAMETERS = [{ code: "encounter", type: "reference", jsonbPath: "$.encounter" }];
12304
+
12293
12305
  // src/data/search/registry/slot-search-parameters.ts
12294
12306
  var SLOT_SEARCH_PARAMETERS = [
12295
12307
  { code: "status", type: "token", jsonbPath: "$.status" },
@@ -12366,6 +12378,7 @@ var STATIC_SEARCH_PARAMETER_MAP = {
12366
12378
  Appointment: APPOINTMENT_SEARCH_PARAMETERS,
12367
12379
  ChargeItem: CHARGEITEM_SEARCH_PARAMETERS,
12368
12380
  Claim: CLAIM_SEARCH_PARAMETERS,
12381
+ ClinicalImpression: CLINICALIMPRESSION_SEARCH_PARAMETERS,
12369
12382
  Composition: COMPOSITION_SEARCH_PARAMETERS,
12370
12383
  Condition: CONDITION_SEARCH_PARAMETERS,
12371
12384
  Coverage: COVERAGE_SEARCH_PARAMETERS,
@@ -12390,7 +12403,9 @@ var STATIC_SEARCH_PARAMETER_MAP = {
12390
12403
  PractitionerRole: PRACTITIONERROLE_SEARCH_PARAMETERS,
12391
12404
  Procedure: PROCEDURE_SEARCH_PARAMETERS,
12392
12405
  RelatedPerson: RELATEDPERSON_SEARCH_PARAMETERS,
12406
+ RiskAssessment: RISKASSESSMENT_SEARCH_PARAMETERS,
12393
12407
  Schedule: SCHEDULE_SEARCH_PARAMETERS,
12408
+ ServiceRequest: SERVICEREQUEST_SEARCH_PARAMETERS,
12394
12409
  Slot: SLOT_SEARCH_PARAMETERS,
12395
12410
  Specimen: SPECIMEN_SEARCH_PARAMETERS,
12396
12411
  Task: TASK_SEARCH_PARAMETERS
@@ -20433,15 +20448,122 @@ async function listClinicalImpressionsOperation(params) {
20433
20448
  }
20434
20449
 
20435
20450
  // src/data/rest-api/routes/data/clinicalimpression/clinicalimpression-list-route.ts
20436
- async function listClinicalImpressionsRoute(req, res) {
20437
- return handleListRoute({
20438
- req,
20439
- res,
20440
- basePath: BASE_PATH.CLINICALIMPRESSION,
20441
- listOperation: listClinicalImpressionsOperation,
20442
- errorLogContext: "GET /ClinicalImpression list error:"
20451
+ var CLINICALIMPRESSION_RESOURCE_TYPE = "ClinicalImpression";
20452
+ function stripModifier5(key) {
20453
+ const idx = key.indexOf(":");
20454
+ return idx === -1 ? key : key.slice(0, idx);
20455
+ }
20456
+ function isResultParameter5(key) {
20457
+ return key.startsWith("_");
20458
+ }
20459
+ function sendInvalidSearch4005(res, diagnostics) {
20460
+ return res.status(400).json({
20461
+ resourceType: "OperationOutcome",
20462
+ issue: [{ severity: "error", code: "invalid", diagnostics }]
20443
20463
  });
20444
20464
  }
20465
+ function extractSearchParamKeys5(query) {
20466
+ const out = [];
20467
+ for (const rawKey of Object.keys(query)) {
20468
+ if (isResultParameter5(rawKey)) {
20469
+ continue;
20470
+ }
20471
+ out.push({ rawKey, code: stripModifier5(rawKey) });
20472
+ }
20473
+ return out;
20474
+ }
20475
+ function buildUnknownParamDiagnostics5(unknownCodes) {
20476
+ const validCodes = getRegisteredSearchParameters(
20477
+ CLINICALIMPRESSION_RESOURCE_TYPE
20478
+ ).map((p) => p.code).sort().join(", ");
20479
+ const codes = unknownCodes.join(", ");
20480
+ const isPlural = unknownCodes.length !== 1;
20481
+ return [
20482
+ `Unknown search ${isPlural ? "parameters" : "parameter"} for ClinicalImpression: ${codes}.`,
20483
+ `Valid codes: ${validCodes}.`
20484
+ ].join(" ");
20485
+ }
20486
+ function findMalformedReference5(query, searchParamKeys) {
20487
+ const referenceCodes = new Set(
20488
+ getRegisteredSearchParameters(CLINICALIMPRESSION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
20489
+ );
20490
+ if (referenceCodes.size === 0) {
20491
+ return void 0;
20492
+ }
20493
+ for (const { rawKey, code } of searchParamKeys) {
20494
+ if (!referenceCodes.has(code)) {
20495
+ continue;
20496
+ }
20497
+ const raw = query[rawKey];
20498
+ const values = typeof raw === "string" ? raw.split(",") : Array.isArray(raw) ? raw.flatMap((v) => v.split(",")) : [];
20499
+ for (const v of values) {
20500
+ const trimmed = v.trim();
20501
+ if (trimmed.length === 0) {
20502
+ continue;
20503
+ }
20504
+ if (parseTypedReference(trimmed) === void 0) {
20505
+ return { rawKey, value: trimmed };
20506
+ }
20507
+ }
20508
+ }
20509
+ return void 0;
20510
+ }
20511
+ async function listClinicalImpressionsRoute(req, res) {
20512
+ const searchParamKeys = extractSearchParamKeys5(
20513
+ req.query
20514
+ );
20515
+ if (searchParamKeys.length === 0) {
20516
+ return handleListRoute({
20517
+ req,
20518
+ res,
20519
+ basePath: BASE_PATH.CLINICALIMPRESSION,
20520
+ listOperation: listClinicalImpressionsOperation,
20521
+ errorLogContext: "GET /ClinicalImpression list error:"
20522
+ });
20523
+ }
20524
+ const registered = getRegisteredSearchParameters(
20525
+ CLINICALIMPRESSION_RESOURCE_TYPE
20526
+ );
20527
+ const validCodes = new Set(registered.map((p) => p.code));
20528
+ const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
20529
+ if (unknownCodes.length > 0) {
20530
+ return sendInvalidSearch4005(
20531
+ res,
20532
+ buildUnknownParamDiagnostics5([...new Set(unknownCodes)])
20533
+ );
20534
+ }
20535
+ const malformedRef = findMalformedReference5(
20536
+ req.query,
20537
+ searchParamKeys
20538
+ );
20539
+ if (malformedRef !== void 0) {
20540
+ return sendInvalidSearch4005(
20541
+ res,
20542
+ `?${malformedRef.rawKey} must be a typed reference like "Encounter/<id>"; got "${malformedRef.value}".`
20543
+ );
20544
+ }
20545
+ const ctx = req.openhiContext;
20546
+ try {
20547
+ const result = await genericSearchOperation({
20548
+ resourceType: CLINICALIMPRESSION_RESOURCE_TYPE,
20549
+ tenantId: ctx.tenantId,
20550
+ workspaceId: ctx.workspaceId,
20551
+ query: req.query,
20552
+ resolver: defaultSearchParameterResolver
20553
+ });
20554
+ const bundle = buildSearchsetBundle(
20555
+ BASE_PATH.CLINICALIMPRESSION,
20556
+ result.entries
20557
+ );
20558
+ return res.json(bundle);
20559
+ } catch (err) {
20560
+ return sendOperationOutcome500(
20561
+ res,
20562
+ err,
20563
+ "GET /ClinicalImpression search error:"
20564
+ );
20565
+ }
20566
+ }
20445
20567
 
20446
20568
  // src/data/operations/data/clinicalimpression/clinicalimpression-update-operation.ts
20447
20569
  async function updateClinicalImpressionOperation(params) {
@@ -21289,30 +21411,30 @@ async function listCompositionsOperation(params) {
21289
21411
 
21290
21412
  // src/data/rest-api/routes/data/composition/composition-list-route.ts
21291
21413
  var COMPOSITION_RESOURCE_TYPE = "Composition";
21292
- function stripModifier5(key) {
21414
+ function stripModifier6(key) {
21293
21415
  const idx = key.indexOf(":");
21294
21416
  return idx === -1 ? key : key.slice(0, idx);
21295
21417
  }
21296
- function isResultParameter5(key) {
21418
+ function isResultParameter6(key) {
21297
21419
  return key.startsWith("_");
21298
21420
  }
21299
- function sendInvalidSearch4005(res, diagnostics) {
21421
+ function sendInvalidSearch4006(res, diagnostics) {
21300
21422
  return res.status(400).json({
21301
21423
  resourceType: "OperationOutcome",
21302
21424
  issue: [{ severity: "error", code: "invalid", diagnostics }]
21303
21425
  });
21304
21426
  }
21305
- function extractSearchParamKeys5(query) {
21427
+ function extractSearchParamKeys6(query) {
21306
21428
  const out = [];
21307
21429
  for (const rawKey of Object.keys(query)) {
21308
- if (isResultParameter5(rawKey)) {
21430
+ if (isResultParameter6(rawKey)) {
21309
21431
  continue;
21310
21432
  }
21311
- out.push({ rawKey, code: stripModifier5(rawKey) });
21433
+ out.push({ rawKey, code: stripModifier6(rawKey) });
21312
21434
  }
21313
21435
  return out;
21314
21436
  }
21315
- function buildUnknownParamDiagnostics5(unknownCodes) {
21437
+ function buildUnknownParamDiagnostics6(unknownCodes) {
21316
21438
  const validCodes = getRegisteredSearchParameters(COMPOSITION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
21317
21439
  const codes = unknownCodes.join(", ");
21318
21440
  const isPlural = unknownCodes.length !== 1;
@@ -21321,7 +21443,7 @@ function buildUnknownParamDiagnostics5(unknownCodes) {
21321
21443
  `Valid codes: ${validCodes}.`
21322
21444
  ].join(" ");
21323
21445
  }
21324
- function findMalformedReference5(query, searchParamKeys) {
21446
+ function findMalformedReference6(query, searchParamKeys) {
21325
21447
  const referenceCodes = new Set(
21326
21448
  getRegisteredSearchParameters(COMPOSITION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
21327
21449
  );
@@ -21347,7 +21469,7 @@ function findMalformedReference5(query, searchParamKeys) {
21347
21469
  return void 0;
21348
21470
  }
21349
21471
  async function listCompositionsRoute(req, res) {
21350
- const searchParamKeys = extractSearchParamKeys5(
21472
+ const searchParamKeys = extractSearchParamKeys6(
21351
21473
  req.query
21352
21474
  );
21353
21475
  if (searchParamKeys.length === 0) {
@@ -21363,17 +21485,17 @@ async function listCompositionsRoute(req, res) {
21363
21485
  const validCodes = new Set(registered.map((p) => p.code));
21364
21486
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
21365
21487
  if (unknownCodes.length > 0) {
21366
- return sendInvalidSearch4005(
21488
+ return sendInvalidSearch4006(
21367
21489
  res,
21368
- buildUnknownParamDiagnostics5([...new Set(unknownCodes)])
21490
+ buildUnknownParamDiagnostics6([...new Set(unknownCodes)])
21369
21491
  );
21370
21492
  }
21371
- const malformedRef = findMalformedReference5(
21493
+ const malformedRef = findMalformedReference6(
21372
21494
  req.query,
21373
21495
  searchParamKeys
21374
21496
  );
21375
21497
  if (malformedRef !== void 0) {
21376
- return sendInvalidSearch4005(
21498
+ return sendInvalidSearch4006(
21377
21499
  res,
21378
21500
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
21379
21501
  );
@@ -21715,30 +21837,30 @@ async function listConditionsOperation(params) {
21715
21837
 
21716
21838
  // src/data/rest-api/routes/data/condition/condition-list-route.ts
21717
21839
  var CONDITION_RESOURCE_TYPE = "Condition";
21718
- function stripModifier6(key) {
21840
+ function stripModifier7(key) {
21719
21841
  const idx = key.indexOf(":");
21720
21842
  return idx === -1 ? key : key.slice(0, idx);
21721
21843
  }
21722
- function isResultParameter6(key) {
21844
+ function isResultParameter7(key) {
21723
21845
  return key.startsWith("_");
21724
21846
  }
21725
- function sendInvalidSearch4006(res, diagnostics) {
21847
+ function sendInvalidSearch4007(res, diagnostics) {
21726
21848
  return res.status(400).json({
21727
21849
  resourceType: "OperationOutcome",
21728
21850
  issue: [{ severity: "error", code: "invalid", diagnostics }]
21729
21851
  });
21730
21852
  }
21731
- function extractSearchParamKeys6(query) {
21853
+ function extractSearchParamKeys7(query) {
21732
21854
  const out = [];
21733
21855
  for (const rawKey of Object.keys(query)) {
21734
- if (isResultParameter6(rawKey)) {
21856
+ if (isResultParameter7(rawKey)) {
21735
21857
  continue;
21736
21858
  }
21737
- out.push({ rawKey, code: stripModifier6(rawKey) });
21859
+ out.push({ rawKey, code: stripModifier7(rawKey) });
21738
21860
  }
21739
21861
  return out;
21740
21862
  }
21741
- function buildUnknownParamDiagnostics6(unknownCodes) {
21863
+ function buildUnknownParamDiagnostics7(unknownCodes) {
21742
21864
  const validCodes = getRegisteredSearchParameters(CONDITION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
21743
21865
  const codes = unknownCodes.join(", ");
21744
21866
  const isPlural = unknownCodes.length !== 1;
@@ -21747,7 +21869,7 @@ function buildUnknownParamDiagnostics6(unknownCodes) {
21747
21869
  `Valid codes: ${validCodes}.`
21748
21870
  ].join(" ");
21749
21871
  }
21750
- function findMalformedReference6(query, searchParamKeys) {
21872
+ function findMalformedReference7(query, searchParamKeys) {
21751
21873
  const referenceCodes = new Set(
21752
21874
  getRegisteredSearchParameters(CONDITION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
21753
21875
  );
@@ -21770,7 +21892,7 @@ function findMalformedReference6(query, searchParamKeys) {
21770
21892
  return void 0;
21771
21893
  }
21772
21894
  async function listConditionsRoute(req, res) {
21773
- const searchParamKeys = extractSearchParamKeys6(
21895
+ const searchParamKeys = extractSearchParamKeys7(
21774
21896
  req.query
21775
21897
  );
21776
21898
  if (searchParamKeys.length === 0) {
@@ -21786,17 +21908,17 @@ async function listConditionsRoute(req, res) {
21786
21908
  const validCodes = new Set(registered.map((p) => p.code));
21787
21909
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
21788
21910
  if (unknownCodes.length > 0) {
21789
- return sendInvalidSearch4006(
21911
+ return sendInvalidSearch4007(
21790
21912
  res,
21791
- buildUnknownParamDiagnostics6([...new Set(unknownCodes)])
21913
+ buildUnknownParamDiagnostics7([...new Set(unknownCodes)])
21792
21914
  );
21793
21915
  }
21794
- const malformedRef = findMalformedReference6(
21916
+ const malformedRef = findMalformedReference7(
21795
21917
  req.query,
21796
21918
  searchParamKeys
21797
21919
  );
21798
21920
  if (malformedRef !== void 0) {
21799
- return sendInvalidSearch4006(
21921
+ return sendInvalidSearch4007(
21800
21922
  res,
21801
21923
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
21802
21924
  );
@@ -22306,30 +22428,30 @@ async function listCoveragesOperation(params) {
22306
22428
 
22307
22429
  // src/data/rest-api/routes/data/coverage/coverage-list-route.ts
22308
22430
  var COVERAGE_RESOURCE_TYPE = "Coverage";
22309
- function stripModifier7(key) {
22431
+ function stripModifier8(key) {
22310
22432
  const idx = key.indexOf(":");
22311
22433
  return idx === -1 ? key : key.slice(0, idx);
22312
22434
  }
22313
- function isResultParameter7(key) {
22435
+ function isResultParameter8(key) {
22314
22436
  return key.startsWith("_");
22315
22437
  }
22316
- function sendInvalidSearch4007(res, diagnostics) {
22438
+ function sendInvalidSearch4008(res, diagnostics) {
22317
22439
  return res.status(400).json({
22318
22440
  resourceType: "OperationOutcome",
22319
22441
  issue: [{ severity: "error", code: "invalid", diagnostics }]
22320
22442
  });
22321
22443
  }
22322
- function extractSearchParamKeys7(query) {
22444
+ function extractSearchParamKeys8(query) {
22323
22445
  const out = [];
22324
22446
  for (const rawKey of Object.keys(query)) {
22325
- if (isResultParameter7(rawKey)) {
22447
+ if (isResultParameter8(rawKey)) {
22326
22448
  continue;
22327
22449
  }
22328
- out.push({ rawKey, code: stripModifier7(rawKey) });
22450
+ out.push({ rawKey, code: stripModifier8(rawKey) });
22329
22451
  }
22330
22452
  return out;
22331
22453
  }
22332
- function buildUnknownParamDiagnostics7(unknownCodes) {
22454
+ function buildUnknownParamDiagnostics8(unknownCodes) {
22333
22455
  const validCodes = getRegisteredSearchParameters(COVERAGE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
22334
22456
  const codes = unknownCodes.join(", ");
22335
22457
  const isPlural = unknownCodes.length !== 1;
@@ -22338,7 +22460,7 @@ function buildUnknownParamDiagnostics7(unknownCodes) {
22338
22460
  `Valid codes: ${validCodes}.`
22339
22461
  ].join(" ");
22340
22462
  }
22341
- function findMalformedReference7(query, searchParamKeys) {
22463
+ function findMalformedReference8(query, searchParamKeys) {
22342
22464
  const referenceCodes = new Set(
22343
22465
  getRegisteredSearchParameters(COVERAGE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
22344
22466
  );
@@ -22364,7 +22486,7 @@ function findMalformedReference7(query, searchParamKeys) {
22364
22486
  return void 0;
22365
22487
  }
22366
22488
  async function listCoveragesRoute(req, res) {
22367
- const searchParamKeys = extractSearchParamKeys7(
22489
+ const searchParamKeys = extractSearchParamKeys8(
22368
22490
  req.query
22369
22491
  );
22370
22492
  if (searchParamKeys.length === 0) {
@@ -22382,17 +22504,17 @@ async function listCoveragesRoute(req, res) {
22382
22504
  const validCodes = new Set(registered.map((p) => p.code));
22383
22505
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
22384
22506
  if (unknownCodes.length > 0) {
22385
- return sendInvalidSearch4007(
22507
+ return sendInvalidSearch4008(
22386
22508
  res,
22387
- buildUnknownParamDiagnostics7([...new Set(unknownCodes)])
22509
+ buildUnknownParamDiagnostics8([...new Set(unknownCodes)])
22388
22510
  );
22389
22511
  }
22390
- const malformedRef = findMalformedReference7(
22512
+ const malformedRef = findMalformedReference8(
22391
22513
  req.query,
22392
22514
  searchParamKeys
22393
22515
  );
22394
22516
  if (malformedRef !== void 0) {
22395
- return sendInvalidSearch4007(
22517
+ return sendInvalidSearch4008(
22396
22518
  res,
22397
22519
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
22398
22520
  );
@@ -23941,30 +24063,30 @@ async function listDiagnosticReportsOperation(params) {
23941
24063
 
23942
24064
  // src/data/rest-api/routes/data/diagnosticreport/diagnosticreport-list-route.ts
23943
24065
  var DIAGNOSTICREPORT_RESOURCE_TYPE = "DiagnosticReport";
23944
- function stripModifier8(key) {
24066
+ function stripModifier9(key) {
23945
24067
  const idx = key.indexOf(":");
23946
24068
  return idx === -1 ? key : key.slice(0, idx);
23947
24069
  }
23948
- function isResultParameter8(key) {
24070
+ function isResultParameter9(key) {
23949
24071
  return key.startsWith("_");
23950
24072
  }
23951
- function sendInvalidSearch4008(res, diagnostics) {
24073
+ function sendInvalidSearch4009(res, diagnostics) {
23952
24074
  return res.status(400).json({
23953
24075
  resourceType: "OperationOutcome",
23954
24076
  issue: [{ severity: "error", code: "invalid", diagnostics }]
23955
24077
  });
23956
24078
  }
23957
- function extractSearchParamKeys8(query) {
24079
+ function extractSearchParamKeys9(query) {
23958
24080
  const out = [];
23959
24081
  for (const rawKey of Object.keys(query)) {
23960
- if (isResultParameter8(rawKey)) {
24082
+ if (isResultParameter9(rawKey)) {
23961
24083
  continue;
23962
24084
  }
23963
- out.push({ rawKey, code: stripModifier8(rawKey) });
24085
+ out.push({ rawKey, code: stripModifier9(rawKey) });
23964
24086
  }
23965
24087
  return out;
23966
24088
  }
23967
- function buildUnknownParamDiagnostics8(unknownCodes) {
24089
+ function buildUnknownParamDiagnostics9(unknownCodes) {
23968
24090
  const validCodes = getRegisteredSearchParameters(
23969
24091
  DIAGNOSTICREPORT_RESOURCE_TYPE
23970
24092
  ).map((p) => p.code).sort().join(", ");
@@ -23975,7 +24097,7 @@ function buildUnknownParamDiagnostics8(unknownCodes) {
23975
24097
  `Valid codes: ${validCodes}.`
23976
24098
  ].join(" ");
23977
24099
  }
23978
- function findMalformedReference8(query, searchParamKeys) {
24100
+ function findMalformedReference9(query, searchParamKeys) {
23979
24101
  const referenceCodes = new Set(
23980
24102
  getRegisteredSearchParameters(DIAGNOSTICREPORT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
23981
24103
  );
@@ -24001,7 +24123,7 @@ function findMalformedReference8(query, searchParamKeys) {
24001
24123
  return void 0;
24002
24124
  }
24003
24125
  async function listDiagnosticReportsRoute(req, res) {
24004
- const searchParamKeys = extractSearchParamKeys8(
24126
+ const searchParamKeys = extractSearchParamKeys9(
24005
24127
  req.query
24006
24128
  );
24007
24129
  if (searchParamKeys.length === 0) {
@@ -24019,17 +24141,17 @@ async function listDiagnosticReportsRoute(req, res) {
24019
24141
  const validCodes = new Set(registered.map((p) => p.code));
24020
24142
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
24021
24143
  if (unknownCodes.length > 0) {
24022
- return sendInvalidSearch4008(
24144
+ return sendInvalidSearch4009(
24023
24145
  res,
24024
- buildUnknownParamDiagnostics8([...new Set(unknownCodes)])
24146
+ buildUnknownParamDiagnostics9([...new Set(unknownCodes)])
24025
24147
  );
24026
24148
  }
24027
- const malformedRef = findMalformedReference8(
24149
+ const malformedRef = findMalformedReference9(
24028
24150
  req.query,
24029
24151
  searchParamKeys
24030
24152
  );
24031
24153
  if (malformedRef !== void 0) {
24032
- return sendInvalidSearch4008(
24154
+ return sendInvalidSearch4009(
24033
24155
  res,
24034
24156
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
24035
24157
  );
@@ -24213,30 +24335,30 @@ async function listDocumentManifestsOperation(params) {
24213
24335
 
24214
24336
  // src/data/rest-api/routes/data/documentmanifest/documentmanifest-list-route.ts
24215
24337
  var DOCUMENTMANIFEST_RESOURCE_TYPE = "DocumentManifest";
24216
- function stripModifier9(key) {
24338
+ function stripModifier10(key) {
24217
24339
  const idx = key.indexOf(":");
24218
24340
  return idx === -1 ? key : key.slice(0, idx);
24219
24341
  }
24220
- function isResultParameter9(key) {
24342
+ function isResultParameter10(key) {
24221
24343
  return key.startsWith("_");
24222
24344
  }
24223
- function sendInvalidSearch4009(res, diagnostics) {
24345
+ function sendInvalidSearch40010(res, diagnostics) {
24224
24346
  return res.status(400).json({
24225
24347
  resourceType: "OperationOutcome",
24226
24348
  issue: [{ severity: "error", code: "invalid", diagnostics }]
24227
24349
  });
24228
24350
  }
24229
- function extractSearchParamKeys9(query) {
24351
+ function extractSearchParamKeys10(query) {
24230
24352
  const out = [];
24231
24353
  for (const rawKey of Object.keys(query)) {
24232
- if (isResultParameter9(rawKey)) {
24354
+ if (isResultParameter10(rawKey)) {
24233
24355
  continue;
24234
24356
  }
24235
- out.push({ rawKey, code: stripModifier9(rawKey) });
24357
+ out.push({ rawKey, code: stripModifier10(rawKey) });
24236
24358
  }
24237
24359
  return out;
24238
24360
  }
24239
- function buildUnknownParamDiagnostics9(unknownCodes) {
24361
+ function buildUnknownParamDiagnostics10(unknownCodes) {
24240
24362
  const validCodes = getRegisteredSearchParameters(
24241
24363
  DOCUMENTMANIFEST_RESOURCE_TYPE
24242
24364
  ).map((p) => p.code).sort().join(", ");
@@ -24247,7 +24369,7 @@ function buildUnknownParamDiagnostics9(unknownCodes) {
24247
24369
  `Valid codes: ${validCodes}.`
24248
24370
  ].join(" ");
24249
24371
  }
24250
- function findMalformedReference9(query, searchParamKeys) {
24372
+ function findMalformedReference10(query, searchParamKeys) {
24251
24373
  const referenceCodes = new Set(
24252
24374
  getRegisteredSearchParameters(DOCUMENTMANIFEST_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
24253
24375
  );
@@ -24273,7 +24395,7 @@ function findMalformedReference9(query, searchParamKeys) {
24273
24395
  return void 0;
24274
24396
  }
24275
24397
  async function listDocumentManifestsRoute(req, res) {
24276
- const searchParamKeys = extractSearchParamKeys9(
24398
+ const searchParamKeys = extractSearchParamKeys10(
24277
24399
  req.query
24278
24400
  );
24279
24401
  if (searchParamKeys.length === 0) {
@@ -24291,17 +24413,17 @@ async function listDocumentManifestsRoute(req, res) {
24291
24413
  const validCodes = new Set(registered.map((p) => p.code));
24292
24414
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
24293
24415
  if (unknownCodes.length > 0) {
24294
- return sendInvalidSearch4009(
24416
+ return sendInvalidSearch40010(
24295
24417
  res,
24296
- buildUnknownParamDiagnostics9([...new Set(unknownCodes)])
24418
+ buildUnknownParamDiagnostics10([...new Set(unknownCodes)])
24297
24419
  );
24298
24420
  }
24299
- const malformedRef = findMalformedReference9(
24421
+ const malformedRef = findMalformedReference10(
24300
24422
  req.query,
24301
24423
  searchParamKeys
24302
24424
  );
24303
24425
  if (malformedRef !== void 0) {
24304
- return sendInvalidSearch4009(
24426
+ return sendInvalidSearch40010(
24305
24427
  res,
24306
24428
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
24307
24429
  );
@@ -24488,30 +24610,30 @@ async function listDocumentReferencesOperation(params) {
24488
24610
 
24489
24611
  // src/data/rest-api/routes/data/documentreference/documentreference-list-route.ts
24490
24612
  var DOCUMENTREFERENCE_RESOURCE_TYPE = "DocumentReference";
24491
- function stripModifier10(key) {
24613
+ function stripModifier11(key) {
24492
24614
  const idx = key.indexOf(":");
24493
24615
  return idx === -1 ? key : key.slice(0, idx);
24494
24616
  }
24495
- function isResultParameter10(key) {
24617
+ function isResultParameter11(key) {
24496
24618
  return key.startsWith("_");
24497
24619
  }
24498
- function sendInvalidSearch40010(res, diagnostics) {
24620
+ function sendInvalidSearch40011(res, diagnostics) {
24499
24621
  return res.status(400).json({
24500
24622
  resourceType: "OperationOutcome",
24501
24623
  issue: [{ severity: "error", code: "invalid", diagnostics }]
24502
24624
  });
24503
24625
  }
24504
- function extractSearchParamKeys10(query) {
24626
+ function extractSearchParamKeys11(query) {
24505
24627
  const out = [];
24506
24628
  for (const rawKey of Object.keys(query)) {
24507
- if (isResultParameter10(rawKey)) {
24629
+ if (isResultParameter11(rawKey)) {
24508
24630
  continue;
24509
24631
  }
24510
- out.push({ rawKey, code: stripModifier10(rawKey) });
24632
+ out.push({ rawKey, code: stripModifier11(rawKey) });
24511
24633
  }
24512
24634
  return out;
24513
24635
  }
24514
- function buildUnknownParamDiagnostics10(unknownCodes) {
24636
+ function buildUnknownParamDiagnostics11(unknownCodes) {
24515
24637
  const validCodes = getRegisteredSearchParameters(
24516
24638
  DOCUMENTREFERENCE_RESOURCE_TYPE
24517
24639
  ).map((p) => p.code).sort().join(", ");
@@ -24522,7 +24644,7 @@ function buildUnknownParamDiagnostics10(unknownCodes) {
24522
24644
  `Valid codes: ${validCodes}.`
24523
24645
  ].join(" ");
24524
24646
  }
24525
- function findMalformedReference10(query, searchParamKeys) {
24647
+ function findMalformedReference11(query, searchParamKeys) {
24526
24648
  const referenceCodes = new Set(
24527
24649
  getRegisteredSearchParameters(DOCUMENTREFERENCE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
24528
24650
  );
@@ -24548,7 +24670,7 @@ function findMalformedReference10(query, searchParamKeys) {
24548
24670
  return void 0;
24549
24671
  }
24550
24672
  async function listDocumentReferencesRoute(req, res) {
24551
- const searchParamKeys = extractSearchParamKeys10(
24673
+ const searchParamKeys = extractSearchParamKeys11(
24552
24674
  req.query
24553
24675
  );
24554
24676
  if (searchParamKeys.length === 0) {
@@ -24566,17 +24688,17 @@ async function listDocumentReferencesRoute(req, res) {
24566
24688
  const validCodes = new Set(registered.map((p) => p.code));
24567
24689
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
24568
24690
  if (unknownCodes.length > 0) {
24569
- return sendInvalidSearch40010(
24691
+ return sendInvalidSearch40011(
24570
24692
  res,
24571
- buildUnknownParamDiagnostics10([...new Set(unknownCodes)])
24693
+ buildUnknownParamDiagnostics11([...new Set(unknownCodes)])
24572
24694
  );
24573
24695
  }
24574
- const malformedRef = findMalformedReference10(
24696
+ const malformedRef = findMalformedReference11(
24575
24697
  req.query,
24576
24698
  searchParamKeys
24577
24699
  );
24578
24700
  if (malformedRef !== void 0) {
24579
- return sendInvalidSearch40010(
24701
+ return sendInvalidSearch40011(
24580
24702
  res,
24581
24703
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
24582
24704
  );
@@ -24944,30 +25066,30 @@ async function listEncountersOperation(params) {
24944
25066
 
24945
25067
  // src/data/rest-api/routes/data/encounter/encounter-list-route.ts
24946
25068
  var ENCOUNTER_RESOURCE_TYPE = "Encounter";
24947
- function stripModifier11(key) {
25069
+ function stripModifier12(key) {
24948
25070
  const idx = key.indexOf(":");
24949
25071
  return idx === -1 ? key : key.slice(0, idx);
24950
25072
  }
24951
- function isResultParameter11(key) {
25073
+ function isResultParameter12(key) {
24952
25074
  return key.startsWith("_");
24953
25075
  }
24954
- function sendInvalidSearch40011(res, diagnostics) {
25076
+ function sendInvalidSearch40012(res, diagnostics) {
24955
25077
  return res.status(400).json({
24956
25078
  resourceType: "OperationOutcome",
24957
25079
  issue: [{ severity: "error", code: "invalid", diagnostics }]
24958
25080
  });
24959
25081
  }
24960
- function extractSearchParamKeys11(query) {
25082
+ function extractSearchParamKeys12(query) {
24961
25083
  const out = [];
24962
25084
  for (const rawKey of Object.keys(query)) {
24963
- if (isResultParameter11(rawKey)) {
25085
+ if (isResultParameter12(rawKey)) {
24964
25086
  continue;
24965
25087
  }
24966
- out.push({ rawKey, code: stripModifier11(rawKey) });
25088
+ out.push({ rawKey, code: stripModifier12(rawKey) });
24967
25089
  }
24968
25090
  return out;
24969
25091
  }
24970
- function buildUnknownParamDiagnostics11(unknownCodes) {
25092
+ function buildUnknownParamDiagnostics12(unknownCodes) {
24971
25093
  const validCodes = getRegisteredSearchParameters(ENCOUNTER_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
24972
25094
  const codes = unknownCodes.join(", ");
24973
25095
  const isPlural = unknownCodes.length !== 1;
@@ -24976,7 +25098,7 @@ function buildUnknownParamDiagnostics11(unknownCodes) {
24976
25098
  `Valid codes: ${validCodes}.`
24977
25099
  ].join(" ");
24978
25100
  }
24979
- function findMalformedReference11(query, searchParamKeys) {
25101
+ function findMalformedReference12(query, searchParamKeys) {
24980
25102
  const referenceCodes = new Set(
24981
25103
  getRegisteredSearchParameters(ENCOUNTER_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
24982
25104
  );
@@ -24999,7 +25121,7 @@ function findMalformedReference11(query, searchParamKeys) {
24999
25121
  return void 0;
25000
25122
  }
25001
25123
  async function listEncountersRoute(req, res) {
25002
- const searchParamKeys = extractSearchParamKeys11(
25124
+ const searchParamKeys = extractSearchParamKeys12(
25003
25125
  req.query
25004
25126
  );
25005
25127
  if (searchParamKeys.length === 0) {
@@ -25015,17 +25137,17 @@ async function listEncountersRoute(req, res) {
25015
25137
  const validCodes = new Set(registered.map((p) => p.code));
25016
25138
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
25017
25139
  if (unknownCodes.length > 0) {
25018
- return sendInvalidSearch40011(
25140
+ return sendInvalidSearch40012(
25019
25141
  res,
25020
- buildUnknownParamDiagnostics11([...new Set(unknownCodes)])
25142
+ buildUnknownParamDiagnostics12([...new Set(unknownCodes)])
25021
25143
  );
25022
25144
  }
25023
- const malformedRef = findMalformedReference11(
25145
+ const malformedRef = findMalformedReference12(
25024
25146
  req.query,
25025
25147
  searchParamKeys
25026
25148
  );
25027
25149
  if (malformedRef !== void 0) {
25028
- return sendInvalidSearch40011(
25150
+ return sendInvalidSearch40012(
25029
25151
  res,
25030
25152
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
25031
25153
  );
@@ -25207,30 +25329,30 @@ async function listEndpointsOperation(params) {
25207
25329
 
25208
25330
  // src/data/rest-api/routes/data/endpoint/endpoint-list-route.ts
25209
25331
  var ENDPOINT_RESOURCE_TYPE = "Endpoint";
25210
- function stripModifier12(key) {
25332
+ function stripModifier13(key) {
25211
25333
  const idx = key.indexOf(":");
25212
25334
  return idx === -1 ? key : key.slice(0, idx);
25213
25335
  }
25214
- function isResultParameter12(key) {
25336
+ function isResultParameter13(key) {
25215
25337
  return key.startsWith("_");
25216
25338
  }
25217
- function sendInvalidSearch40012(res, diagnostics) {
25339
+ function sendInvalidSearch40013(res, diagnostics) {
25218
25340
  return res.status(400).json({
25219
25341
  resourceType: "OperationOutcome",
25220
25342
  issue: [{ severity: "error", code: "invalid", diagnostics }]
25221
25343
  });
25222
25344
  }
25223
- function extractSearchParamKeys12(query) {
25345
+ function extractSearchParamKeys13(query) {
25224
25346
  const out = [];
25225
25347
  for (const rawKey of Object.keys(query)) {
25226
- if (isResultParameter12(rawKey)) {
25348
+ if (isResultParameter13(rawKey)) {
25227
25349
  continue;
25228
25350
  }
25229
- out.push({ rawKey, code: stripModifier12(rawKey) });
25351
+ out.push({ rawKey, code: stripModifier13(rawKey) });
25230
25352
  }
25231
25353
  return out;
25232
25354
  }
25233
- function buildUnknownParamDiagnostics12(unknownCodes) {
25355
+ function buildUnknownParamDiagnostics13(unknownCodes) {
25234
25356
  const validCodes = getRegisteredSearchParameters(ENDPOINT_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
25235
25357
  const codes = unknownCodes.join(", ");
25236
25358
  const isPlural = unknownCodes.length !== 1;
@@ -25239,7 +25361,7 @@ function buildUnknownParamDiagnostics12(unknownCodes) {
25239
25361
  `Valid codes: ${validCodes}.`
25240
25362
  ].join(" ");
25241
25363
  }
25242
- function findMalformedReference12(query, searchParamKeys) {
25364
+ function findMalformedReference13(query, searchParamKeys) {
25243
25365
  const referenceCodes = new Set(
25244
25366
  getRegisteredSearchParameters(ENDPOINT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
25245
25367
  );
@@ -25265,7 +25387,7 @@ function findMalformedReference12(query, searchParamKeys) {
25265
25387
  return void 0;
25266
25388
  }
25267
25389
  async function listEndpointsRoute(req, res) {
25268
- const searchParamKeys = extractSearchParamKeys12(
25390
+ const searchParamKeys = extractSearchParamKeys13(
25269
25391
  req.query
25270
25392
  );
25271
25393
  if (searchParamKeys.length === 0) {
@@ -25281,17 +25403,17 @@ async function listEndpointsRoute(req, res) {
25281
25403
  const validCodes = new Set(registered.map((p) => p.code));
25282
25404
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
25283
25405
  if (unknownCodes.length > 0) {
25284
- return sendInvalidSearch40012(
25406
+ return sendInvalidSearch40013(
25285
25407
  res,
25286
- buildUnknownParamDiagnostics12([...new Set(unknownCodes)])
25408
+ buildUnknownParamDiagnostics13([...new Set(unknownCodes)])
25287
25409
  );
25288
25410
  }
25289
- const malformedRef = findMalformedReference12(
25411
+ const malformedRef = findMalformedReference13(
25290
25412
  req.query,
25291
25413
  searchParamKeys
25292
25414
  );
25293
25415
  if (malformedRef !== void 0) {
25294
- return sendInvalidSearch40012(
25416
+ return sendInvalidSearch40013(
25295
25417
  res,
25296
25418
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
25297
25419
  );
@@ -26644,30 +26766,30 @@ async function listExplanationOfBenefitsOperation(params) {
26644
26766
 
26645
26767
  // src/data/rest-api/routes/data/explanationofbenefit/explanationofbenefit-list-route.ts
26646
26768
  var EXPLANATIONOFBENEFIT_RESOURCE_TYPE = "ExplanationOfBenefit";
26647
- function stripModifier13(key) {
26769
+ function stripModifier14(key) {
26648
26770
  const idx = key.indexOf(":");
26649
26771
  return idx === -1 ? key : key.slice(0, idx);
26650
26772
  }
26651
- function isResultParameter13(key) {
26773
+ function isResultParameter14(key) {
26652
26774
  return key.startsWith("_");
26653
26775
  }
26654
- function sendInvalidSearch40013(res, diagnostics) {
26776
+ function sendInvalidSearch40014(res, diagnostics) {
26655
26777
  return res.status(400).json({
26656
26778
  resourceType: "OperationOutcome",
26657
26779
  issue: [{ severity: "error", code: "invalid", diagnostics }]
26658
26780
  });
26659
26781
  }
26660
- function extractSearchParamKeys13(query) {
26782
+ function extractSearchParamKeys14(query) {
26661
26783
  const out = [];
26662
26784
  for (const rawKey of Object.keys(query)) {
26663
- if (isResultParameter13(rawKey)) {
26785
+ if (isResultParameter14(rawKey)) {
26664
26786
  continue;
26665
26787
  }
26666
- out.push({ rawKey, code: stripModifier13(rawKey) });
26788
+ out.push({ rawKey, code: stripModifier14(rawKey) });
26667
26789
  }
26668
26790
  return out;
26669
26791
  }
26670
- function buildUnknownParamDiagnostics13(unknownCodes) {
26792
+ function buildUnknownParamDiagnostics14(unknownCodes) {
26671
26793
  const validCodes = getRegisteredSearchParameters(
26672
26794
  EXPLANATIONOFBENEFIT_RESOURCE_TYPE
26673
26795
  ).map((p) => p.code).sort().join(", ");
@@ -26678,7 +26800,7 @@ function buildUnknownParamDiagnostics13(unknownCodes) {
26678
26800
  `Valid codes: ${validCodes}.`
26679
26801
  ].join(" ");
26680
26802
  }
26681
- function findMalformedReference13(query, searchParamKeys) {
26803
+ function findMalformedReference14(query, searchParamKeys) {
26682
26804
  const referenceCodes = new Set(
26683
26805
  getRegisteredSearchParameters(EXPLANATIONOFBENEFIT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
26684
26806
  );
@@ -26704,7 +26826,7 @@ function findMalformedReference13(query, searchParamKeys) {
26704
26826
  return void 0;
26705
26827
  }
26706
26828
  async function listExplanationOfBenefitsRoute(req, res) {
26707
- const searchParamKeys = extractSearchParamKeys13(
26829
+ const searchParamKeys = extractSearchParamKeys14(
26708
26830
  req.query
26709
26831
  );
26710
26832
  if (searchParamKeys.length === 0) {
@@ -26722,17 +26844,17 @@ async function listExplanationOfBenefitsRoute(req, res) {
26722
26844
  const validCodes = new Set(registered.map((p) => p.code));
26723
26845
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
26724
26846
  if (unknownCodes.length > 0) {
26725
- return sendInvalidSearch40013(
26847
+ return sendInvalidSearch40014(
26726
26848
  res,
26727
- buildUnknownParamDiagnostics13([...new Set(unknownCodes)])
26849
+ buildUnknownParamDiagnostics14([...new Set(unknownCodes)])
26728
26850
  );
26729
26851
  }
26730
- const malformedRef = findMalformedReference13(
26852
+ const malformedRef = findMalformedReference14(
26731
26853
  req.query,
26732
26854
  searchParamKeys
26733
26855
  );
26734
26856
  if (malformedRef !== void 0) {
26735
- return sendInvalidSearch40013(
26857
+ return sendInvalidSearch40014(
26736
26858
  res,
26737
26859
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
26738
26860
  );
@@ -26923,30 +27045,30 @@ async function listFamilyMemberHistorysOperation(params) {
26923
27045
 
26924
27046
  // src/data/rest-api/routes/data/familymemberhistory/familymemberhistory-list-route.ts
26925
27047
  var FAMILYMEMBERHISTORY_RESOURCE_TYPE = "FamilyMemberHistory";
26926
- function stripModifier14(key) {
27048
+ function stripModifier15(key) {
26927
27049
  const idx = key.indexOf(":");
26928
27050
  return idx === -1 ? key : key.slice(0, idx);
26929
27051
  }
26930
- function isResultParameter14(key) {
27052
+ function isResultParameter15(key) {
26931
27053
  return key.startsWith("_");
26932
27054
  }
26933
- function sendInvalidSearch40014(res, diagnostics) {
27055
+ function sendInvalidSearch40015(res, diagnostics) {
26934
27056
  return res.status(400).json({
26935
27057
  resourceType: "OperationOutcome",
26936
27058
  issue: [{ severity: "error", code: "invalid", diagnostics }]
26937
27059
  });
26938
27060
  }
26939
- function extractSearchParamKeys14(query) {
27061
+ function extractSearchParamKeys15(query) {
26940
27062
  const out = [];
26941
27063
  for (const rawKey of Object.keys(query)) {
26942
- if (isResultParameter14(rawKey)) {
27064
+ if (isResultParameter15(rawKey)) {
26943
27065
  continue;
26944
27066
  }
26945
- out.push({ rawKey, code: stripModifier14(rawKey) });
27067
+ out.push({ rawKey, code: stripModifier15(rawKey) });
26946
27068
  }
26947
27069
  return out;
26948
27070
  }
26949
- function buildUnknownParamDiagnostics14(unknownCodes) {
27071
+ function buildUnknownParamDiagnostics15(unknownCodes) {
26950
27072
  const validCodes = getRegisteredSearchParameters(
26951
27073
  FAMILYMEMBERHISTORY_RESOURCE_TYPE
26952
27074
  ).map((p) => p.code).sort().join(", ");
@@ -26957,7 +27079,7 @@ function buildUnknownParamDiagnostics14(unknownCodes) {
26957
27079
  `Valid codes: ${validCodes}.`
26958
27080
  ].join(" ");
26959
27081
  }
26960
- function findMalformedReference14(query, searchParamKeys) {
27082
+ function findMalformedReference15(query, searchParamKeys) {
26961
27083
  const referenceCodes = new Set(
26962
27084
  getRegisteredSearchParameters(FAMILYMEMBERHISTORY_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
26963
27085
  );
@@ -26980,7 +27102,7 @@ function findMalformedReference14(query, searchParamKeys) {
26980
27102
  return void 0;
26981
27103
  }
26982
27104
  async function listFamilyMemberHistorysRoute(req, res) {
26983
- const searchParamKeys = extractSearchParamKeys14(
27105
+ const searchParamKeys = extractSearchParamKeys15(
26984
27106
  req.query
26985
27107
  );
26986
27108
  if (searchParamKeys.length === 0) {
@@ -26998,17 +27120,17 @@ async function listFamilyMemberHistorysRoute(req, res) {
26998
27120
  const validCodes = new Set(registered.map((p) => p.code));
26999
27121
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
27000
27122
  if (unknownCodes.length > 0) {
27001
- return sendInvalidSearch40014(
27123
+ return sendInvalidSearch40015(
27002
27124
  res,
27003
- buildUnknownParamDiagnostics14([...new Set(unknownCodes)])
27125
+ buildUnknownParamDiagnostics15([...new Set(unknownCodes)])
27004
27126
  );
27005
27127
  }
27006
- const malformedRef = findMalformedReference14(
27128
+ const malformedRef = findMalformedReference15(
27007
27129
  req.query,
27008
27130
  searchParamKeys
27009
27131
  );
27010
27132
  if (malformedRef !== void 0) {
27011
- return sendInvalidSearch40014(
27133
+ return sendInvalidSearch40015(
27012
27134
  res,
27013
27135
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
27014
27136
  );
@@ -28185,30 +28307,30 @@ async function listImagingStudysOperation(params) {
28185
28307
 
28186
28308
  // src/data/rest-api/routes/data/imagingstudy/imagingstudy-list-route.ts
28187
28309
  var IMAGINGSTUDY_RESOURCE_TYPE = "ImagingStudy";
28188
- function stripModifier15(key) {
28310
+ function stripModifier16(key) {
28189
28311
  const idx = key.indexOf(":");
28190
28312
  return idx === -1 ? key : key.slice(0, idx);
28191
28313
  }
28192
- function isResultParameter15(key) {
28314
+ function isResultParameter16(key) {
28193
28315
  return key.startsWith("_");
28194
28316
  }
28195
- function sendInvalidSearch40015(res, diagnostics) {
28317
+ function sendInvalidSearch40016(res, diagnostics) {
28196
28318
  return res.status(400).json({
28197
28319
  resourceType: "OperationOutcome",
28198
28320
  issue: [{ severity: "error", code: "invalid", diagnostics }]
28199
28321
  });
28200
28322
  }
28201
- function extractSearchParamKeys15(query) {
28323
+ function extractSearchParamKeys16(query) {
28202
28324
  const out = [];
28203
28325
  for (const rawKey of Object.keys(query)) {
28204
- if (isResultParameter15(rawKey)) {
28326
+ if (isResultParameter16(rawKey)) {
28205
28327
  continue;
28206
28328
  }
28207
- out.push({ rawKey, code: stripModifier15(rawKey) });
28329
+ out.push({ rawKey, code: stripModifier16(rawKey) });
28208
28330
  }
28209
28331
  return out;
28210
28332
  }
28211
- function buildUnknownParamDiagnostics15(unknownCodes) {
28333
+ function buildUnknownParamDiagnostics16(unknownCodes) {
28212
28334
  const validCodes = getRegisteredSearchParameters(IMAGINGSTUDY_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
28213
28335
  const codes = unknownCodes.join(", ");
28214
28336
  const isPlural = unknownCodes.length !== 1;
@@ -28217,7 +28339,7 @@ function buildUnknownParamDiagnostics15(unknownCodes) {
28217
28339
  `Valid codes: ${validCodes}.`
28218
28340
  ].join(" ");
28219
28341
  }
28220
- function findMalformedReference15(query, searchParamKeys) {
28342
+ function findMalformedReference16(query, searchParamKeys) {
28221
28343
  const referenceCodes = new Set(
28222
28344
  getRegisteredSearchParameters(IMAGINGSTUDY_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
28223
28345
  );
@@ -28243,7 +28365,7 @@ function findMalformedReference15(query, searchParamKeys) {
28243
28365
  return void 0;
28244
28366
  }
28245
28367
  async function listImagingStudysRoute(req, res) {
28246
- const searchParamKeys = extractSearchParamKeys15(
28368
+ const searchParamKeys = extractSearchParamKeys16(
28247
28369
  req.query
28248
28370
  );
28249
28371
  if (searchParamKeys.length === 0) {
@@ -28259,17 +28381,17 @@ async function listImagingStudysRoute(req, res) {
28259
28381
  const validCodes = new Set(registered.map((p) => p.code));
28260
28382
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
28261
28383
  if (unknownCodes.length > 0) {
28262
- return sendInvalidSearch40015(
28384
+ return sendInvalidSearch40016(
28263
28385
  res,
28264
- buildUnknownParamDiagnostics15([...new Set(unknownCodes)])
28386
+ buildUnknownParamDiagnostics16([...new Set(unknownCodes)])
28265
28387
  );
28266
28388
  }
28267
- const malformedRef = findMalformedReference15(
28389
+ const malformedRef = findMalformedReference16(
28268
28390
  req.query,
28269
28391
  searchParamKeys
28270
28392
  );
28271
28393
  if (malformedRef !== void 0) {
28272
- return sendInvalidSearch40015(
28394
+ return sendInvalidSearch40016(
28273
28395
  res,
28274
28396
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
28275
28397
  );
@@ -28446,30 +28568,30 @@ async function listImmunizationsOperation(params) {
28446
28568
 
28447
28569
  // src/data/rest-api/routes/data/immunization/immunization-list-route.ts
28448
28570
  var IMMUNIZATION_RESOURCE_TYPE = "Immunization";
28449
- function stripModifier16(key) {
28571
+ function stripModifier17(key) {
28450
28572
  const idx = key.indexOf(":");
28451
28573
  return idx === -1 ? key : key.slice(0, idx);
28452
28574
  }
28453
- function isResultParameter16(key) {
28575
+ function isResultParameter17(key) {
28454
28576
  return key.startsWith("_");
28455
28577
  }
28456
- function sendInvalidSearch40016(res, diagnostics) {
28578
+ function sendInvalidSearch40017(res, diagnostics) {
28457
28579
  return res.status(400).json({
28458
28580
  resourceType: "OperationOutcome",
28459
28581
  issue: [{ severity: "error", code: "invalid", diagnostics }]
28460
28582
  });
28461
28583
  }
28462
- function extractSearchParamKeys16(query) {
28584
+ function extractSearchParamKeys17(query) {
28463
28585
  const out = [];
28464
28586
  for (const rawKey of Object.keys(query)) {
28465
- if (isResultParameter16(rawKey)) {
28587
+ if (isResultParameter17(rawKey)) {
28466
28588
  continue;
28467
28589
  }
28468
- out.push({ rawKey, code: stripModifier16(rawKey) });
28590
+ out.push({ rawKey, code: stripModifier17(rawKey) });
28469
28591
  }
28470
28592
  return out;
28471
28593
  }
28472
- function buildUnknownParamDiagnostics16(unknownCodes) {
28594
+ function buildUnknownParamDiagnostics17(unknownCodes) {
28473
28595
  const validCodes = getRegisteredSearchParameters(IMMUNIZATION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
28474
28596
  const codes = unknownCodes.join(", ");
28475
28597
  const isPlural = unknownCodes.length !== 1;
@@ -28478,7 +28600,7 @@ function buildUnknownParamDiagnostics16(unknownCodes) {
28478
28600
  `Valid codes: ${validCodes}.`
28479
28601
  ].join(" ");
28480
28602
  }
28481
- function findMalformedReference16(query, searchParamKeys) {
28603
+ function findMalformedReference17(query, searchParamKeys) {
28482
28604
  const referenceCodes = new Set(
28483
28605
  getRegisteredSearchParameters(IMMUNIZATION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
28484
28606
  );
@@ -28501,7 +28623,7 @@ function findMalformedReference16(query, searchParamKeys) {
28501
28623
  return void 0;
28502
28624
  }
28503
28625
  async function listImmunizationsRoute(req, res) {
28504
- const searchParamKeys = extractSearchParamKeys16(
28626
+ const searchParamKeys = extractSearchParamKeys17(
28505
28627
  req.query
28506
28628
  );
28507
28629
  if (searchParamKeys.length === 0) {
@@ -28517,17 +28639,17 @@ async function listImmunizationsRoute(req, res) {
28517
28639
  const validCodes = new Set(registered.map((p) => p.code));
28518
28640
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
28519
28641
  if (unknownCodes.length > 0) {
28520
- return sendInvalidSearch40016(
28642
+ return sendInvalidSearch40017(
28521
28643
  res,
28522
- buildUnknownParamDiagnostics16([...new Set(unknownCodes)])
28644
+ buildUnknownParamDiagnostics17([...new Set(unknownCodes)])
28523
28645
  );
28524
28646
  }
28525
- const malformedRef = findMalformedReference16(
28647
+ const malformedRef = findMalformedReference17(
28526
28648
  req.query,
28527
28649
  searchParamKeys
28528
28650
  );
28529
28651
  if (malformedRef !== void 0) {
28530
- return sendInvalidSearch40016(
28652
+ return sendInvalidSearch40017(
28531
28653
  res,
28532
28654
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
28533
28655
  );
@@ -29409,30 +29531,30 @@ async function listInvoicesOperation(params) {
29409
29531
 
29410
29532
  // src/data/rest-api/routes/data/invoice/invoice-list-route.ts
29411
29533
  var INVOICE_RESOURCE_TYPE = "Invoice";
29412
- function stripModifier17(key) {
29534
+ function stripModifier18(key) {
29413
29535
  const idx = key.indexOf(":");
29414
29536
  return idx === -1 ? key : key.slice(0, idx);
29415
29537
  }
29416
- function isResultParameter17(key) {
29538
+ function isResultParameter18(key) {
29417
29539
  return key.startsWith("_");
29418
29540
  }
29419
- function sendInvalidSearch40017(res, diagnostics) {
29541
+ function sendInvalidSearch40018(res, diagnostics) {
29420
29542
  return res.status(400).json({
29421
29543
  resourceType: "OperationOutcome",
29422
29544
  issue: [{ severity: "error", code: "invalid", diagnostics }]
29423
29545
  });
29424
29546
  }
29425
- function extractSearchParamKeys17(query) {
29547
+ function extractSearchParamKeys18(query) {
29426
29548
  const out = [];
29427
29549
  for (const rawKey of Object.keys(query)) {
29428
- if (isResultParameter17(rawKey)) {
29550
+ if (isResultParameter18(rawKey)) {
29429
29551
  continue;
29430
29552
  }
29431
- out.push({ rawKey, code: stripModifier17(rawKey) });
29553
+ out.push({ rawKey, code: stripModifier18(rawKey) });
29432
29554
  }
29433
29555
  return out;
29434
29556
  }
29435
- function buildUnknownParamDiagnostics17(unknownCodes) {
29557
+ function buildUnknownParamDiagnostics18(unknownCodes) {
29436
29558
  const validCodes = getRegisteredSearchParameters(INVOICE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
29437
29559
  const codes = unknownCodes.join(", ");
29438
29560
  const isPlural = unknownCodes.length !== 1;
@@ -29441,7 +29563,7 @@ function buildUnknownParamDiagnostics17(unknownCodes) {
29441
29563
  `Valid codes: ${validCodes}.`
29442
29564
  ].join(" ");
29443
29565
  }
29444
- function findMalformedReference17(query, searchParamKeys) {
29566
+ function findMalformedReference18(query, searchParamKeys) {
29445
29567
  const referenceCodes = new Set(
29446
29568
  getRegisteredSearchParameters(INVOICE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
29447
29569
  );
@@ -29467,7 +29589,7 @@ function findMalformedReference17(query, searchParamKeys) {
29467
29589
  return void 0;
29468
29590
  }
29469
29591
  async function listInvoicesRoute(req, res) {
29470
- const searchParamKeys = extractSearchParamKeys17(
29592
+ const searchParamKeys = extractSearchParamKeys18(
29471
29593
  req.query
29472
29594
  );
29473
29595
  if (searchParamKeys.length === 0) {
@@ -29483,17 +29605,17 @@ async function listInvoicesRoute(req, res) {
29483
29605
  const validCodes = new Set(registered.map((p) => p.code));
29484
29606
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
29485
29607
  if (unknownCodes.length > 0) {
29486
- return sendInvalidSearch40017(
29608
+ return sendInvalidSearch40018(
29487
29609
  res,
29488
- buildUnknownParamDiagnostics17([...new Set(unknownCodes)])
29610
+ buildUnknownParamDiagnostics18([...new Set(unknownCodes)])
29489
29611
  );
29490
29612
  }
29491
- const malformedRef = findMalformedReference17(
29613
+ const malformedRef = findMalformedReference18(
29492
29614
  req.query,
29493
29615
  searchParamKeys
29494
29616
  );
29495
29617
  if (malformedRef !== void 0) {
29496
- return sendInvalidSearch40017(
29618
+ return sendInvalidSearch40018(
29497
29619
  res,
29498
29620
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
29499
29621
  );
@@ -30165,30 +30287,30 @@ async function listLocationsOperation(params) {
30165
30287
 
30166
30288
  // src/data/rest-api/routes/data/location/location-list-route.ts
30167
30289
  var LOCATION_RESOURCE_TYPE = "Location";
30168
- function stripModifier18(key) {
30290
+ function stripModifier19(key) {
30169
30291
  const idx = key.indexOf(":");
30170
30292
  return idx === -1 ? key : key.slice(0, idx);
30171
30293
  }
30172
- function isResultParameter18(key) {
30294
+ function isResultParameter19(key) {
30173
30295
  return key.startsWith("_");
30174
30296
  }
30175
- function sendInvalidSearch40018(res, diagnostics) {
30297
+ function sendInvalidSearch40019(res, diagnostics) {
30176
30298
  return res.status(400).json({
30177
30299
  resourceType: "OperationOutcome",
30178
30300
  issue: [{ severity: "error", code: "invalid", diagnostics }]
30179
30301
  });
30180
30302
  }
30181
- function extractSearchParamKeys18(query) {
30303
+ function extractSearchParamKeys19(query) {
30182
30304
  const out = [];
30183
30305
  for (const rawKey of Object.keys(query)) {
30184
- if (isResultParameter18(rawKey)) {
30306
+ if (isResultParameter19(rawKey)) {
30185
30307
  continue;
30186
30308
  }
30187
- out.push({ rawKey, code: stripModifier18(rawKey) });
30309
+ out.push({ rawKey, code: stripModifier19(rawKey) });
30188
30310
  }
30189
30311
  return out;
30190
30312
  }
30191
- function buildUnknownParamDiagnostics18(unknownCodes) {
30313
+ function buildUnknownParamDiagnostics19(unknownCodes) {
30192
30314
  const validCodes = getRegisteredSearchParameters(LOCATION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
30193
30315
  const codes = unknownCodes.join(", ");
30194
30316
  const isPlural = unknownCodes.length !== 1;
@@ -30197,7 +30319,7 @@ function buildUnknownParamDiagnostics18(unknownCodes) {
30197
30319
  `Valid codes: ${validCodes}.`
30198
30320
  ].join(" ");
30199
30321
  }
30200
- function findMalformedReference18(query, searchParamKeys) {
30322
+ function findMalformedReference19(query, searchParamKeys) {
30201
30323
  const referenceCodes = new Set(
30202
30324
  getRegisteredSearchParameters(LOCATION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
30203
30325
  );
@@ -30223,7 +30345,7 @@ function findMalformedReference18(query, searchParamKeys) {
30223
30345
  return void 0;
30224
30346
  }
30225
30347
  async function listLocationsRoute(req, res) {
30226
- const searchParamKeys = extractSearchParamKeys18(
30348
+ const searchParamKeys = extractSearchParamKeys19(
30227
30349
  req.query
30228
30350
  );
30229
30351
  if (searchParamKeys.length === 0) {
@@ -30239,17 +30361,17 @@ async function listLocationsRoute(req, res) {
30239
30361
  const validCodes = new Set(registered.map((p) => p.code));
30240
30362
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
30241
30363
  if (unknownCodes.length > 0) {
30242
- return sendInvalidSearch40018(
30364
+ return sendInvalidSearch40019(
30243
30365
  res,
30244
- buildUnknownParamDiagnostics18([...new Set(unknownCodes)])
30366
+ buildUnknownParamDiagnostics19([...new Set(unknownCodes)])
30245
30367
  );
30246
30368
  }
30247
- const malformedRef = findMalformedReference18(
30369
+ const malformedRef = findMalformedReference19(
30248
30370
  req.query,
30249
30371
  searchParamKeys
30250
30372
  );
30251
30373
  if (malformedRef !== void 0) {
30252
- return sendInvalidSearch40018(
30374
+ return sendInvalidSearch40019(
30253
30375
  res,
30254
30376
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
30255
30377
  );
@@ -31617,30 +31739,30 @@ async function listMedicationRequestsOperation(params) {
31617
31739
 
31618
31740
  // src/data/rest-api/routes/data/medicationrequest/medicationrequest-list-route.ts
31619
31741
  var MEDICATIONREQUEST_RESOURCE_TYPE = "MedicationRequest";
31620
- function stripModifier19(key) {
31742
+ function stripModifier20(key) {
31621
31743
  const idx = key.indexOf(":");
31622
31744
  return idx === -1 ? key : key.slice(0, idx);
31623
31745
  }
31624
- function isResultParameter19(key) {
31746
+ function isResultParameter20(key) {
31625
31747
  return key.startsWith("_");
31626
31748
  }
31627
- function sendInvalidSearch40019(res, diagnostics) {
31749
+ function sendInvalidSearch40020(res, diagnostics) {
31628
31750
  return res.status(400).json({
31629
31751
  resourceType: "OperationOutcome",
31630
31752
  issue: [{ severity: "error", code: "invalid", diagnostics }]
31631
31753
  });
31632
31754
  }
31633
- function extractSearchParamKeys19(query) {
31755
+ function extractSearchParamKeys20(query) {
31634
31756
  const out = [];
31635
31757
  for (const rawKey of Object.keys(query)) {
31636
- if (isResultParameter19(rawKey)) {
31758
+ if (isResultParameter20(rawKey)) {
31637
31759
  continue;
31638
31760
  }
31639
- out.push({ rawKey, code: stripModifier19(rawKey) });
31761
+ out.push({ rawKey, code: stripModifier20(rawKey) });
31640
31762
  }
31641
31763
  return out;
31642
31764
  }
31643
- function buildUnknownParamDiagnostics19(unknownCodes) {
31765
+ function buildUnknownParamDiagnostics20(unknownCodes) {
31644
31766
  const validCodes = getRegisteredSearchParameters(
31645
31767
  MEDICATIONREQUEST_RESOURCE_TYPE
31646
31768
  ).map((p) => p.code).sort().join(", ");
@@ -31651,7 +31773,7 @@ function buildUnknownParamDiagnostics19(unknownCodes) {
31651
31773
  `Valid codes: ${validCodes}.`
31652
31774
  ].join(" ");
31653
31775
  }
31654
- function findMalformedReference19(query, searchParamKeys) {
31776
+ function findMalformedReference20(query, searchParamKeys) {
31655
31777
  const referenceCodes = new Set(
31656
31778
  getRegisteredSearchParameters(MEDICATIONREQUEST_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
31657
31779
  );
@@ -31674,7 +31796,7 @@ function findMalformedReference19(query, searchParamKeys) {
31674
31796
  return void 0;
31675
31797
  }
31676
31798
  async function listMedicationRequestsRoute(req, res) {
31677
- const searchParamKeys = extractSearchParamKeys19(
31799
+ const searchParamKeys = extractSearchParamKeys20(
31678
31800
  req.query
31679
31801
  );
31680
31802
  if (searchParamKeys.length === 0) {
@@ -31692,17 +31814,17 @@ async function listMedicationRequestsRoute(req, res) {
31692
31814
  const validCodes = new Set(registered.map((p) => p.code));
31693
31815
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
31694
31816
  if (unknownCodes.length > 0) {
31695
- return sendInvalidSearch40019(
31817
+ return sendInvalidSearch40020(
31696
31818
  res,
31697
- buildUnknownParamDiagnostics19([...new Set(unknownCodes)])
31819
+ buildUnknownParamDiagnostics20([...new Set(unknownCodes)])
31698
31820
  );
31699
31821
  }
31700
- const malformedRef = findMalformedReference19(
31822
+ const malformedRef = findMalformedReference20(
31701
31823
  req.query,
31702
31824
  searchParamKeys
31703
31825
  );
31704
31826
  if (malformedRef !== void 0) {
31705
- return sendInvalidSearch40019(
31827
+ return sendInvalidSearch40020(
31706
31828
  res,
31707
31829
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
31708
31830
  );
@@ -31893,30 +32015,30 @@ async function listMedicationStatementsOperation(params) {
31893
32015
 
31894
32016
  // src/data/rest-api/routes/data/medicationstatement/medicationstatement-list-route.ts
31895
32017
  var MEDICATIONSTATEMENT_RESOURCE_TYPE = "MedicationStatement";
31896
- function stripModifier20(key) {
32018
+ function stripModifier21(key) {
31897
32019
  const idx = key.indexOf(":");
31898
32020
  return idx === -1 ? key : key.slice(0, idx);
31899
32021
  }
31900
- function isResultParameter20(key) {
32022
+ function isResultParameter21(key) {
31901
32023
  return key.startsWith("_");
31902
32024
  }
31903
- function sendInvalidSearch40020(res, diagnostics) {
32025
+ function sendInvalidSearch40021(res, diagnostics) {
31904
32026
  return res.status(400).json({
31905
32027
  resourceType: "OperationOutcome",
31906
32028
  issue: [{ severity: "error", code: "invalid", diagnostics }]
31907
32029
  });
31908
32030
  }
31909
- function extractSearchParamKeys20(query) {
32031
+ function extractSearchParamKeys21(query) {
31910
32032
  const out = [];
31911
32033
  for (const rawKey of Object.keys(query)) {
31912
- if (isResultParameter20(rawKey)) {
32034
+ if (isResultParameter21(rawKey)) {
31913
32035
  continue;
31914
32036
  }
31915
- out.push({ rawKey, code: stripModifier20(rawKey) });
32037
+ out.push({ rawKey, code: stripModifier21(rawKey) });
31916
32038
  }
31917
32039
  return out;
31918
32040
  }
31919
- function buildUnknownParamDiagnostics20(unknownCodes) {
32041
+ function buildUnknownParamDiagnostics21(unknownCodes) {
31920
32042
  const validCodes = getRegisteredSearchParameters(
31921
32043
  MEDICATIONSTATEMENT_RESOURCE_TYPE
31922
32044
  ).map((p) => p.code).sort().join(", ");
@@ -31927,7 +32049,7 @@ function buildUnknownParamDiagnostics20(unknownCodes) {
31927
32049
  `Valid codes: ${validCodes}.`
31928
32050
  ].join(" ");
31929
32051
  }
31930
- function findMalformedReference20(query, searchParamKeys) {
32052
+ function findMalformedReference21(query, searchParamKeys) {
31931
32053
  const referenceCodes = new Set(
31932
32054
  getRegisteredSearchParameters(MEDICATIONSTATEMENT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
31933
32055
  );
@@ -31950,7 +32072,7 @@ function findMalformedReference20(query, searchParamKeys) {
31950
32072
  return void 0;
31951
32073
  }
31952
32074
  async function listMedicationStatementsRoute(req, res) {
31953
- const searchParamKeys = extractSearchParamKeys20(
32075
+ const searchParamKeys = extractSearchParamKeys21(
31954
32076
  req.query
31955
32077
  );
31956
32078
  if (searchParamKeys.length === 0) {
@@ -31968,17 +32090,17 @@ async function listMedicationStatementsRoute(req, res) {
31968
32090
  const validCodes = new Set(registered.map((p) => p.code));
31969
32091
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
31970
32092
  if (unknownCodes.length > 0) {
31971
- return sendInvalidSearch40020(
32093
+ return sendInvalidSearch40021(
31972
32094
  res,
31973
- buildUnknownParamDiagnostics20([...new Set(unknownCodes)])
32095
+ buildUnknownParamDiagnostics21([...new Set(unknownCodes)])
31974
32096
  );
31975
32097
  }
31976
- const malformedRef = findMalformedReference20(
32098
+ const malformedRef = findMalformedReference21(
31977
32099
  req.query,
31978
32100
  searchParamKeys
31979
32101
  );
31980
32102
  if (malformedRef !== void 0) {
31981
- return sendInvalidSearch40020(
32103
+ return sendInvalidSearch40021(
31982
32104
  res,
31983
32105
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
31984
32106
  );
@@ -34835,30 +34957,30 @@ async function listObservationsOperation(params) {
34835
34957
 
34836
34958
  // src/data/rest-api/routes/data/observation/observation-list-route.ts
34837
34959
  var OBSERVATION_RESOURCE_TYPE = "Observation";
34838
- function stripModifier21(key) {
34960
+ function stripModifier22(key) {
34839
34961
  const idx = key.indexOf(":");
34840
34962
  return idx === -1 ? key : key.slice(0, idx);
34841
34963
  }
34842
- function isResultParameter21(key) {
34964
+ function isResultParameter22(key) {
34843
34965
  return key.startsWith("_");
34844
34966
  }
34845
- function sendInvalidSearch40021(res, diagnostics) {
34967
+ function sendInvalidSearch40022(res, diagnostics) {
34846
34968
  return res.status(400).json({
34847
34969
  resourceType: "OperationOutcome",
34848
34970
  issue: [{ severity: "error", code: "invalid", diagnostics }]
34849
34971
  });
34850
34972
  }
34851
- function extractSearchParamKeys21(query) {
34973
+ function extractSearchParamKeys22(query) {
34852
34974
  const out = [];
34853
34975
  for (const rawKey of Object.keys(query)) {
34854
- if (isResultParameter21(rawKey)) {
34976
+ if (isResultParameter22(rawKey)) {
34855
34977
  continue;
34856
34978
  }
34857
- out.push({ rawKey, code: stripModifier21(rawKey) });
34979
+ out.push({ rawKey, code: stripModifier22(rawKey) });
34858
34980
  }
34859
34981
  return out;
34860
34982
  }
34861
- function buildUnknownParamDiagnostics21(unknownCodes) {
34983
+ function buildUnknownParamDiagnostics22(unknownCodes) {
34862
34984
  const validCodes = getRegisteredSearchParameters(OBSERVATION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
34863
34985
  const codes = unknownCodes.join(", ");
34864
34986
  const isPlural = unknownCodes.length !== 1;
@@ -34867,7 +34989,7 @@ function buildUnknownParamDiagnostics21(unknownCodes) {
34867
34989
  `Valid codes: ${validCodes}.`
34868
34990
  ].join(" ");
34869
34991
  }
34870
- function findMalformedReference21(query, searchParamKeys) {
34992
+ function findMalformedReference22(query, searchParamKeys) {
34871
34993
  const referenceCodes = new Set(
34872
34994
  getRegisteredSearchParameters(OBSERVATION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
34873
34995
  );
@@ -34890,7 +35012,7 @@ function findMalformedReference21(query, searchParamKeys) {
34890
35012
  return void 0;
34891
35013
  }
34892
35014
  async function listObservationsRoute(req, res) {
34893
- const searchParamKeys = extractSearchParamKeys21(
35015
+ const searchParamKeys = extractSearchParamKeys22(
34894
35016
  req.query
34895
35017
  );
34896
35018
  if (searchParamKeys.length === 0) {
@@ -34906,17 +35028,17 @@ async function listObservationsRoute(req, res) {
34906
35028
  const validCodes = new Set(registered.map((p) => p.code));
34907
35029
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
34908
35030
  if (unknownCodes.length > 0) {
34909
- return sendInvalidSearch40021(
35031
+ return sendInvalidSearch40022(
34910
35032
  res,
34911
- buildUnknownParamDiagnostics21([...new Set(unknownCodes)])
35033
+ buildUnknownParamDiagnostics22([...new Set(unknownCodes)])
34912
35034
  );
34913
35035
  }
34914
- const malformedRef = findMalformedReference21(
35036
+ const malformedRef = findMalformedReference22(
34915
35037
  req.query,
34916
35038
  searchParamKeys
34917
35039
  );
34918
35040
  if (malformedRef !== void 0) {
34919
- return sendInvalidSearch40021(
35041
+ return sendInvalidSearch40022(
34920
35042
  res,
34921
35043
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
34922
35044
  );
@@ -35422,30 +35544,30 @@ async function listOrganizationsOperation(params) {
35422
35544
 
35423
35545
  // src/data/rest-api/routes/data/organization/organization-list-route.ts
35424
35546
  var ORGANIZATION_RESOURCE_TYPE = "Organization";
35425
- function stripModifier22(key) {
35547
+ function stripModifier23(key) {
35426
35548
  const idx = key.indexOf(":");
35427
35549
  return idx === -1 ? key : key.slice(0, idx);
35428
35550
  }
35429
- function isResultParameter22(key) {
35551
+ function isResultParameter23(key) {
35430
35552
  return key.startsWith("_");
35431
35553
  }
35432
- function sendInvalidSearch40022(res, diagnostics) {
35554
+ function sendInvalidSearch40023(res, diagnostics) {
35433
35555
  return res.status(400).json({
35434
35556
  resourceType: "OperationOutcome",
35435
35557
  issue: [{ severity: "error", code: "invalid", diagnostics }]
35436
35558
  });
35437
35559
  }
35438
- function extractSearchParamKeys22(query) {
35560
+ function extractSearchParamKeys23(query) {
35439
35561
  const out = [];
35440
35562
  for (const rawKey of Object.keys(query)) {
35441
- if (isResultParameter22(rawKey)) {
35563
+ if (isResultParameter23(rawKey)) {
35442
35564
  continue;
35443
35565
  }
35444
- out.push({ rawKey, code: stripModifier22(rawKey) });
35566
+ out.push({ rawKey, code: stripModifier23(rawKey) });
35445
35567
  }
35446
35568
  return out;
35447
35569
  }
35448
- function buildUnknownParamDiagnostics22(unknownCodes) {
35570
+ function buildUnknownParamDiagnostics23(unknownCodes) {
35449
35571
  const validCodes = getRegisteredSearchParameters(ORGANIZATION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
35450
35572
  const codes = unknownCodes.join(", ");
35451
35573
  const isPlural = unknownCodes.length !== 1;
@@ -35454,7 +35576,7 @@ function buildUnknownParamDiagnostics22(unknownCodes) {
35454
35576
  `Valid codes: ${validCodes}.`
35455
35577
  ].join(" ");
35456
35578
  }
35457
- function findMalformedReference22(query, searchParamKeys) {
35579
+ function findMalformedReference23(query, searchParamKeys) {
35458
35580
  const referenceCodes = new Set(
35459
35581
  getRegisteredSearchParameters(ORGANIZATION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
35460
35582
  );
@@ -35480,7 +35602,7 @@ function findMalformedReference22(query, searchParamKeys) {
35480
35602
  return void 0;
35481
35603
  }
35482
35604
  async function listOrganizationsRoute(req, res) {
35483
- const searchParamKeys = extractSearchParamKeys22(
35605
+ const searchParamKeys = extractSearchParamKeys23(
35484
35606
  req.query
35485
35607
  );
35486
35608
  if (searchParamKeys.length === 0) {
@@ -35496,17 +35618,17 @@ async function listOrganizationsRoute(req, res) {
35496
35618
  const validCodes = new Set(registered.map((p) => p.code));
35497
35619
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
35498
35620
  if (unknownCodes.length > 0) {
35499
- return sendInvalidSearch40022(
35621
+ return sendInvalidSearch40023(
35500
35622
  res,
35501
- buildUnknownParamDiagnostics22([...new Set(unknownCodes)])
35623
+ buildUnknownParamDiagnostics23([...new Set(unknownCodes)])
35502
35624
  );
35503
35625
  }
35504
- const malformedRef = findMalformedReference22(
35626
+ const malformedRef = findMalformedReference23(
35505
35627
  req.query,
35506
35628
  searchParamKeys
35507
35629
  );
35508
35630
  if (malformedRef !== void 0) {
35509
- return sendInvalidSearch40022(
35631
+ return sendInvalidSearch40023(
35510
35632
  res,
35511
35633
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
35512
35634
  );
@@ -35867,30 +35989,30 @@ async function listPatientsOperation(params) {
35867
35989
 
35868
35990
  // src/data/rest-api/routes/data/patient/patient-list-route.ts
35869
35991
  var PATIENT_RESOURCE_TYPE = "Patient";
35870
- function stripModifier23(key) {
35992
+ function stripModifier24(key) {
35871
35993
  const idx = key.indexOf(":");
35872
35994
  return idx === -1 ? key : key.slice(0, idx);
35873
35995
  }
35874
- function isResultParameter23(key) {
35996
+ function isResultParameter24(key) {
35875
35997
  return key.startsWith("_");
35876
35998
  }
35877
- function sendInvalidSearch40023(res, diagnostics) {
35999
+ function sendInvalidSearch40024(res, diagnostics) {
35878
36000
  return res.status(400).json({
35879
36001
  resourceType: "OperationOutcome",
35880
36002
  issue: [{ severity: "error", code: "invalid", diagnostics }]
35881
36003
  });
35882
36004
  }
35883
- function extractSearchParamKeys23(query) {
36005
+ function extractSearchParamKeys24(query) {
35884
36006
  const out = [];
35885
36007
  for (const rawKey of Object.keys(query)) {
35886
- if (isResultParameter23(rawKey)) {
36008
+ if (isResultParameter24(rawKey)) {
35887
36009
  continue;
35888
36010
  }
35889
- out.push({ rawKey, code: stripModifier23(rawKey) });
36011
+ out.push({ rawKey, code: stripModifier24(rawKey) });
35890
36012
  }
35891
36013
  return out;
35892
36014
  }
35893
- function buildUnknownParamDiagnostics23(unknownCodes) {
36015
+ function buildUnknownParamDiagnostics24(unknownCodes) {
35894
36016
  const validCodes = getRegisteredSearchParameters(PATIENT_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
35895
36017
  const codes = unknownCodes.join(", ");
35896
36018
  const isPlural = unknownCodes.length !== 1;
@@ -35899,7 +36021,7 @@ function buildUnknownParamDiagnostics23(unknownCodes) {
35899
36021
  `Valid codes: ${validCodes}.`
35900
36022
  ].join(" ");
35901
36023
  }
35902
- function findMalformedReference23(query, searchParamKeys) {
36024
+ function findMalformedReference24(query, searchParamKeys) {
35903
36025
  const referenceCodes = new Set(
35904
36026
  getRegisteredSearchParameters(PATIENT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
35905
36027
  );
@@ -35922,7 +36044,7 @@ function findMalformedReference23(query, searchParamKeys) {
35922
36044
  return void 0;
35923
36045
  }
35924
36046
  async function listPatientsRoute(req, res) {
35925
- const searchParamKeys = extractSearchParamKeys23(
36047
+ const searchParamKeys = extractSearchParamKeys24(
35926
36048
  req.query
35927
36049
  );
35928
36050
  if (searchParamKeys.length === 0) {
@@ -35938,17 +36060,17 @@ async function listPatientsRoute(req, res) {
35938
36060
  const validCodes = new Set(registered.map((p) => p.code));
35939
36061
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
35940
36062
  if (unknownCodes.length > 0) {
35941
- return sendInvalidSearch40023(
36063
+ return sendInvalidSearch40024(
35942
36064
  res,
35943
- buildUnknownParamDiagnostics23([...new Set(unknownCodes)])
36065
+ buildUnknownParamDiagnostics24([...new Set(unknownCodes)])
35944
36066
  );
35945
36067
  }
35946
- const malformedRef = findMalformedReference23(
36068
+ const malformedRef = findMalformedReference24(
35947
36069
  req.query,
35948
36070
  searchParamKeys
35949
36071
  );
35950
36072
  if (malformedRef !== void 0) {
35951
- return sendInvalidSearch40023(
36073
+ return sendInvalidSearch40024(
35952
36074
  res,
35953
36075
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
35954
36076
  );
@@ -36125,30 +36247,30 @@ async function listPaymentNoticesOperation(params) {
36125
36247
 
36126
36248
  // src/data/rest-api/routes/data/paymentnotice/paymentnotice-list-route.ts
36127
36249
  var PAYMENTNOTICE_RESOURCE_TYPE = "PaymentNotice";
36128
- function stripModifier24(key) {
36250
+ function stripModifier25(key) {
36129
36251
  const idx = key.indexOf(":");
36130
36252
  return idx === -1 ? key : key.slice(0, idx);
36131
36253
  }
36132
- function isResultParameter24(key) {
36254
+ function isResultParameter25(key) {
36133
36255
  return key.startsWith("_");
36134
36256
  }
36135
- function sendInvalidSearch40024(res, diagnostics) {
36257
+ function sendInvalidSearch40025(res, diagnostics) {
36136
36258
  return res.status(400).json({
36137
36259
  resourceType: "OperationOutcome",
36138
36260
  issue: [{ severity: "error", code: "invalid", diagnostics }]
36139
36261
  });
36140
36262
  }
36141
- function extractSearchParamKeys24(query) {
36263
+ function extractSearchParamKeys25(query) {
36142
36264
  const out = [];
36143
36265
  for (const rawKey of Object.keys(query)) {
36144
- if (isResultParameter24(rawKey)) {
36266
+ if (isResultParameter25(rawKey)) {
36145
36267
  continue;
36146
36268
  }
36147
- out.push({ rawKey, code: stripModifier24(rawKey) });
36269
+ out.push({ rawKey, code: stripModifier25(rawKey) });
36148
36270
  }
36149
36271
  return out;
36150
36272
  }
36151
- function buildUnknownParamDiagnostics24(unknownCodes) {
36273
+ function buildUnknownParamDiagnostics25(unknownCodes) {
36152
36274
  const validCodes = getRegisteredSearchParameters(PAYMENTNOTICE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
36153
36275
  const codes = unknownCodes.join(", ");
36154
36276
  const isPlural = unknownCodes.length !== 1;
@@ -36157,7 +36279,7 @@ function buildUnknownParamDiagnostics24(unknownCodes) {
36157
36279
  `Valid codes: ${validCodes}.`
36158
36280
  ].join(" ");
36159
36281
  }
36160
- function findMalformedReference24(query, searchParamKeys) {
36282
+ function findMalformedReference25(query, searchParamKeys) {
36161
36283
  const referenceCodes = new Set(
36162
36284
  getRegisteredSearchParameters(PAYMENTNOTICE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
36163
36285
  );
@@ -36183,7 +36305,7 @@ function findMalformedReference24(query, searchParamKeys) {
36183
36305
  return void 0;
36184
36306
  }
36185
36307
  async function listPaymentNoticesRoute(req, res) {
36186
- const searchParamKeys = extractSearchParamKeys24(
36308
+ const searchParamKeys = extractSearchParamKeys25(
36187
36309
  req.query
36188
36310
  );
36189
36311
  if (searchParamKeys.length === 0) {
@@ -36199,17 +36321,17 @@ async function listPaymentNoticesRoute(req, res) {
36199
36321
  const validCodes = new Set(registered.map((p) => p.code));
36200
36322
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
36201
36323
  if (unknownCodes.length > 0) {
36202
- return sendInvalidSearch40024(
36324
+ return sendInvalidSearch40025(
36203
36325
  res,
36204
- buildUnknownParamDiagnostics24([...new Set(unknownCodes)])
36326
+ buildUnknownParamDiagnostics25([...new Set(unknownCodes)])
36205
36327
  );
36206
36328
  }
36207
- const malformedRef = findMalformedReference24(
36329
+ const malformedRef = findMalformedReference25(
36208
36330
  req.query,
36209
36331
  searchParamKeys
36210
36332
  );
36211
36333
  if (malformedRef !== void 0) {
36212
- return sendInvalidSearch40024(
36334
+ return sendInvalidSearch40025(
36213
36335
  res,
36214
36336
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
36215
36337
  );
@@ -36907,30 +37029,30 @@ async function listPractitionersOperation(params) {
36907
37029
 
36908
37030
  // src/data/rest-api/routes/data/practitioner/practitioner-list-route.ts
36909
37031
  var PRACTITIONER_RESOURCE_TYPE = "Practitioner";
36910
- function stripModifier25(key) {
37032
+ function stripModifier26(key) {
36911
37033
  const idx = key.indexOf(":");
36912
37034
  return idx === -1 ? key : key.slice(0, idx);
36913
37035
  }
36914
- function isResultParameter25(key) {
37036
+ function isResultParameter26(key) {
36915
37037
  return key.startsWith("_");
36916
37038
  }
36917
- function sendInvalidSearch40025(res, diagnostics) {
37039
+ function sendInvalidSearch40026(res, diagnostics) {
36918
37040
  return res.status(400).json({
36919
37041
  resourceType: "OperationOutcome",
36920
37042
  issue: [{ severity: "error", code: "invalid", diagnostics }]
36921
37043
  });
36922
37044
  }
36923
- function extractSearchParamKeys25(query) {
37045
+ function extractSearchParamKeys26(query) {
36924
37046
  const out = [];
36925
37047
  for (const rawKey of Object.keys(query)) {
36926
- if (isResultParameter25(rawKey)) {
37048
+ if (isResultParameter26(rawKey)) {
36927
37049
  continue;
36928
37050
  }
36929
- out.push({ rawKey, code: stripModifier25(rawKey) });
37051
+ out.push({ rawKey, code: stripModifier26(rawKey) });
36930
37052
  }
36931
37053
  return out;
36932
37054
  }
36933
- function buildUnknownParamDiagnostics25(unknownCodes) {
37055
+ function buildUnknownParamDiagnostics26(unknownCodes) {
36934
37056
  const validCodes = getRegisteredSearchParameters(PRACTITIONER_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
36935
37057
  const codes = unknownCodes.join(", ");
36936
37058
  const isPlural = unknownCodes.length !== 1;
@@ -36939,7 +37061,7 @@ function buildUnknownParamDiagnostics25(unknownCodes) {
36939
37061
  `Valid codes: ${validCodes}.`
36940
37062
  ].join(" ");
36941
37063
  }
36942
- function findMalformedReference25(query, searchParamKeys) {
37064
+ function findMalformedReference26(query, searchParamKeys) {
36943
37065
  const referenceCodes = new Set(
36944
37066
  getRegisteredSearchParameters(PRACTITIONER_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
36945
37067
  );
@@ -36965,7 +37087,7 @@ function findMalformedReference25(query, searchParamKeys) {
36965
37087
  return void 0;
36966
37088
  }
36967
37089
  async function listPractitionersRoute(req, res) {
36968
- const searchParamKeys = extractSearchParamKeys25(
37090
+ const searchParamKeys = extractSearchParamKeys26(
36969
37091
  req.query
36970
37092
  );
36971
37093
  if (searchParamKeys.length === 0) {
@@ -36981,17 +37103,17 @@ async function listPractitionersRoute(req, res) {
36981
37103
  const validCodes = new Set(registered.map((p) => p.code));
36982
37104
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
36983
37105
  if (unknownCodes.length > 0) {
36984
- return sendInvalidSearch40025(
37106
+ return sendInvalidSearch40026(
36985
37107
  res,
36986
- buildUnknownParamDiagnostics25([...new Set(unknownCodes)])
37108
+ buildUnknownParamDiagnostics26([...new Set(unknownCodes)])
36987
37109
  );
36988
37110
  }
36989
- const malformedRef = findMalformedReference25(
37111
+ const malformedRef = findMalformedReference26(
36990
37112
  req.query,
36991
37113
  searchParamKeys
36992
37114
  );
36993
37115
  if (malformedRef !== void 0) {
36994
- return sendInvalidSearch40025(
37116
+ return sendInvalidSearch40026(
36995
37117
  res,
36996
37118
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
36997
37119
  );
@@ -37147,30 +37269,30 @@ async function getPractitionerRoleByIdRoute(req, res) {
37147
37269
 
37148
37270
  // src/data/rest-api/routes/data/practitionerrole/practitionerrole-list-route.ts
37149
37271
  var PRACTITIONERROLE_RESOURCE_TYPE = "PractitionerRole";
37150
- function stripModifier26(key) {
37272
+ function stripModifier27(key) {
37151
37273
  const idx = key.indexOf(":");
37152
37274
  return idx === -1 ? key : key.slice(0, idx);
37153
37275
  }
37154
- function isResultParameter26(key) {
37276
+ function isResultParameter27(key) {
37155
37277
  return key.startsWith("_");
37156
37278
  }
37157
- function sendInvalidSearch40026(res, diagnostics) {
37279
+ function sendInvalidSearch40027(res, diagnostics) {
37158
37280
  return res.status(400).json({
37159
37281
  resourceType: "OperationOutcome",
37160
37282
  issue: [{ severity: "error", code: "invalid", diagnostics }]
37161
37283
  });
37162
37284
  }
37163
- function extractSearchParamKeys26(query) {
37285
+ function extractSearchParamKeys27(query) {
37164
37286
  const out = [];
37165
37287
  for (const rawKey of Object.keys(query)) {
37166
- if (isResultParameter26(rawKey)) {
37288
+ if (isResultParameter27(rawKey)) {
37167
37289
  continue;
37168
37290
  }
37169
- out.push({ rawKey, code: stripModifier26(rawKey) });
37291
+ out.push({ rawKey, code: stripModifier27(rawKey) });
37170
37292
  }
37171
37293
  return out;
37172
37294
  }
37173
- function buildUnknownParamDiagnostics26(unknownCodes) {
37295
+ function buildUnknownParamDiagnostics27(unknownCodes) {
37174
37296
  const validCodes = getRegisteredSearchParameters(
37175
37297
  PRACTITIONERROLE_RESOURCE_TYPE
37176
37298
  ).map((p) => p.code).sort().join(", ");
@@ -37181,7 +37303,7 @@ function buildUnknownParamDiagnostics26(unknownCodes) {
37181
37303
  `Valid codes: ${validCodes}.`
37182
37304
  ].join(" ");
37183
37305
  }
37184
- function findMalformedReference26(query, searchParamKeys) {
37306
+ function findMalformedReference27(query, searchParamKeys) {
37185
37307
  const referenceCodes = new Set(
37186
37308
  getRegisteredSearchParameters(PRACTITIONERROLE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
37187
37309
  );
@@ -37204,7 +37326,7 @@ function findMalformedReference26(query, searchParamKeys) {
37204
37326
  return void 0;
37205
37327
  }
37206
37328
  async function listPractitionerRolesRoute(req, res) {
37207
- const searchParamKeys = extractSearchParamKeys26(
37329
+ const searchParamKeys = extractSearchParamKeys27(
37208
37330
  req.query
37209
37331
  );
37210
37332
  if (searchParamKeys.length === 0) {
@@ -37222,17 +37344,17 @@ async function listPractitionerRolesRoute(req, res) {
37222
37344
  const validCodes = new Set(registered.map((p) => p.code));
37223
37345
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
37224
37346
  if (unknownCodes.length > 0) {
37225
- return sendInvalidSearch40026(
37347
+ return sendInvalidSearch40027(
37226
37348
  res,
37227
- buildUnknownParamDiagnostics26([...new Set(unknownCodes)])
37349
+ buildUnknownParamDiagnostics27([...new Set(unknownCodes)])
37228
37350
  );
37229
37351
  }
37230
- const malformedRef = findMalformedReference26(
37352
+ const malformedRef = findMalformedReference27(
37231
37353
  req.query,
37232
37354
  searchParamKeys
37233
37355
  );
37234
37356
  if (malformedRef !== void 0) {
37235
- return sendInvalidSearch40026(
37357
+ return sendInvalidSearch40027(
37236
37358
  res,
37237
37359
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
37238
37360
  );
@@ -37416,30 +37538,30 @@ async function listProceduresOperation(params) {
37416
37538
 
37417
37539
  // src/data/rest-api/routes/data/procedure/procedure-list-route.ts
37418
37540
  var PROCEDURE_RESOURCE_TYPE = "Procedure";
37419
- function stripModifier27(key) {
37541
+ function stripModifier28(key) {
37420
37542
  const idx = key.indexOf(":");
37421
37543
  return idx === -1 ? key : key.slice(0, idx);
37422
37544
  }
37423
- function isResultParameter27(key) {
37545
+ function isResultParameter28(key) {
37424
37546
  return key.startsWith("_");
37425
37547
  }
37426
- function sendInvalidSearch40027(res, diagnostics) {
37548
+ function sendInvalidSearch40028(res, diagnostics) {
37427
37549
  return res.status(400).json({
37428
37550
  resourceType: "OperationOutcome",
37429
37551
  issue: [{ severity: "error", code: "invalid", diagnostics }]
37430
37552
  });
37431
37553
  }
37432
- function extractSearchParamKeys27(query) {
37554
+ function extractSearchParamKeys28(query) {
37433
37555
  const out = [];
37434
37556
  for (const rawKey of Object.keys(query)) {
37435
- if (isResultParameter27(rawKey)) {
37557
+ if (isResultParameter28(rawKey)) {
37436
37558
  continue;
37437
37559
  }
37438
- out.push({ rawKey, code: stripModifier27(rawKey) });
37560
+ out.push({ rawKey, code: stripModifier28(rawKey) });
37439
37561
  }
37440
37562
  return out;
37441
37563
  }
37442
- function buildUnknownParamDiagnostics27(unknownCodes) {
37564
+ function buildUnknownParamDiagnostics28(unknownCodes) {
37443
37565
  const validCodes = getRegisteredSearchParameters(PROCEDURE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
37444
37566
  const codes = unknownCodes.join(", ");
37445
37567
  const isPlural = unknownCodes.length !== 1;
@@ -37448,7 +37570,7 @@ function buildUnknownParamDiagnostics27(unknownCodes) {
37448
37570
  `Valid codes: ${validCodes}.`
37449
37571
  ].join(" ");
37450
37572
  }
37451
- function findMalformedReference27(query, searchParamKeys) {
37573
+ function findMalformedReference28(query, searchParamKeys) {
37452
37574
  const referenceCodes = new Set(
37453
37575
  getRegisteredSearchParameters(PROCEDURE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
37454
37576
  );
@@ -37471,7 +37593,7 @@ function findMalformedReference27(query, searchParamKeys) {
37471
37593
  return void 0;
37472
37594
  }
37473
37595
  async function listProceduresRoute(req, res) {
37474
- const searchParamKeys = extractSearchParamKeys27(
37596
+ const searchParamKeys = extractSearchParamKeys28(
37475
37597
  req.query
37476
37598
  );
37477
37599
  if (searchParamKeys.length === 0) {
@@ -37487,17 +37609,17 @@ async function listProceduresRoute(req, res) {
37487
37609
  const validCodes = new Set(registered.map((p) => p.code));
37488
37610
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
37489
37611
  if (unknownCodes.length > 0) {
37490
- return sendInvalidSearch40027(
37612
+ return sendInvalidSearch40028(
37491
37613
  res,
37492
- buildUnknownParamDiagnostics27([...new Set(unknownCodes)])
37614
+ buildUnknownParamDiagnostics28([...new Set(unknownCodes)])
37493
37615
  );
37494
37616
  }
37495
- const malformedRef = findMalformedReference27(
37617
+ const malformedRef = findMalformedReference28(
37496
37618
  req.query,
37497
37619
  searchParamKeys
37498
37620
  );
37499
37621
  if (malformedRef !== void 0) {
37500
- return sendInvalidSearch40027(
37622
+ return sendInvalidSearch40028(
37501
37623
  res,
37502
37624
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
37503
37625
  );
@@ -38188,30 +38310,30 @@ async function listRelatedPersonsOperation(params) {
38188
38310
 
38189
38311
  // src/data/rest-api/routes/data/relatedperson/relatedperson-list-route.ts
38190
38312
  var RELATEDPERSON_RESOURCE_TYPE = "RelatedPerson";
38191
- function stripModifier28(key) {
38313
+ function stripModifier29(key) {
38192
38314
  const idx = key.indexOf(":");
38193
38315
  return idx === -1 ? key : key.slice(0, idx);
38194
38316
  }
38195
- function isResultParameter28(key) {
38317
+ function isResultParameter29(key) {
38196
38318
  return key.startsWith("_");
38197
38319
  }
38198
- function sendInvalidSearch40028(res, diagnostics) {
38320
+ function sendInvalidSearch40029(res, diagnostics) {
38199
38321
  return res.status(400).json({
38200
38322
  resourceType: "OperationOutcome",
38201
38323
  issue: [{ severity: "error", code: "invalid", diagnostics }]
38202
38324
  });
38203
38325
  }
38204
- function extractSearchParamKeys28(query) {
38326
+ function extractSearchParamKeys29(query) {
38205
38327
  const out = [];
38206
38328
  for (const rawKey of Object.keys(query)) {
38207
- if (isResultParameter28(rawKey)) {
38329
+ if (isResultParameter29(rawKey)) {
38208
38330
  continue;
38209
38331
  }
38210
- out.push({ rawKey, code: stripModifier28(rawKey) });
38332
+ out.push({ rawKey, code: stripModifier29(rawKey) });
38211
38333
  }
38212
38334
  return out;
38213
38335
  }
38214
- function buildUnknownParamDiagnostics28(unknownCodes) {
38336
+ function buildUnknownParamDiagnostics29(unknownCodes) {
38215
38337
  const validCodes = getRegisteredSearchParameters(RELATEDPERSON_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
38216
38338
  const codes = unknownCodes.join(", ");
38217
38339
  const isPlural = unknownCodes.length !== 1;
@@ -38220,7 +38342,7 @@ function buildUnknownParamDiagnostics28(unknownCodes) {
38220
38342
  `Valid codes: ${validCodes}.`
38221
38343
  ].join(" ");
38222
38344
  }
38223
- function findMalformedReference28(query, searchParamKeys) {
38345
+ function findMalformedReference29(query, searchParamKeys) {
38224
38346
  const referenceCodes = new Set(
38225
38347
  getRegisteredSearchParameters(RELATEDPERSON_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
38226
38348
  );
@@ -38243,7 +38365,7 @@ function findMalformedReference28(query, searchParamKeys) {
38243
38365
  return void 0;
38244
38366
  }
38245
38367
  async function listRelatedPersonsRoute(req, res) {
38246
- const searchParamKeys = extractSearchParamKeys28(
38368
+ const searchParamKeys = extractSearchParamKeys29(
38247
38369
  req.query
38248
38370
  );
38249
38371
  if (searchParamKeys.length === 0) {
@@ -38259,17 +38381,17 @@ async function listRelatedPersonsRoute(req, res) {
38259
38381
  const validCodes = new Set(registered.map((p) => p.code));
38260
38382
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
38261
38383
  if (unknownCodes.length > 0) {
38262
- return sendInvalidSearch40028(
38384
+ return sendInvalidSearch40029(
38263
38385
  res,
38264
- buildUnknownParamDiagnostics28([...new Set(unknownCodes)])
38386
+ buildUnknownParamDiagnostics29([...new Set(unknownCodes)])
38265
38387
  );
38266
38388
  }
38267
- const malformedRef = findMalformedReference28(
38389
+ const malformedRef = findMalformedReference29(
38268
38390
  req.query,
38269
38391
  searchParamKeys
38270
38392
  );
38271
38393
  if (malformedRef !== void 0) {
38272
- return sendInvalidSearch40028(
38394
+ return sendInvalidSearch40029(
38273
38395
  res,
38274
38396
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
38275
38397
  );
@@ -39303,15 +39425,120 @@ async function listRiskAssessmentsOperation(params) {
39303
39425
  }
39304
39426
 
39305
39427
  // src/data/rest-api/routes/data/riskassessment/riskassessment-list-route.ts
39306
- async function listRiskAssessmentsRoute(req, res) {
39307
- return handleListRoute({
39308
- req,
39309
- res,
39310
- basePath: BASE_PATH.RISKASSESSMENT,
39311
- listOperation: listRiskAssessmentsOperation,
39312
- errorLogContext: "GET /RiskAssessment list error:"
39428
+ var RISKASSESSMENT_RESOURCE_TYPE = "RiskAssessment";
39429
+ function stripModifier30(key) {
39430
+ const idx = key.indexOf(":");
39431
+ return idx === -1 ? key : key.slice(0, idx);
39432
+ }
39433
+ function isResultParameter30(key) {
39434
+ return key.startsWith("_");
39435
+ }
39436
+ function sendInvalidSearch40030(res, diagnostics) {
39437
+ return res.status(400).json({
39438
+ resourceType: "OperationOutcome",
39439
+ issue: [{ severity: "error", code: "invalid", diagnostics }]
39313
39440
  });
39314
39441
  }
39442
+ function extractSearchParamKeys30(query) {
39443
+ const out = [];
39444
+ for (const rawKey of Object.keys(query)) {
39445
+ if (isResultParameter30(rawKey)) {
39446
+ continue;
39447
+ }
39448
+ out.push({ rawKey, code: stripModifier30(rawKey) });
39449
+ }
39450
+ return out;
39451
+ }
39452
+ function buildUnknownParamDiagnostics30(unknownCodes) {
39453
+ const validCodes = getRegisteredSearchParameters(RISKASSESSMENT_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
39454
+ const codes = unknownCodes.join(", ");
39455
+ const isPlural = unknownCodes.length !== 1;
39456
+ return [
39457
+ `Unknown search ${isPlural ? "parameters" : "parameter"} for RiskAssessment: ${codes}.`,
39458
+ `Valid codes: ${validCodes}.`
39459
+ ].join(" ");
39460
+ }
39461
+ function findMalformedReference30(query, searchParamKeys) {
39462
+ const referenceCodes = new Set(
39463
+ getRegisteredSearchParameters(RISKASSESSMENT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
39464
+ );
39465
+ if (referenceCodes.size === 0) {
39466
+ return void 0;
39467
+ }
39468
+ for (const { rawKey, code } of searchParamKeys) {
39469
+ if (!referenceCodes.has(code)) {
39470
+ continue;
39471
+ }
39472
+ const raw = query[rawKey];
39473
+ const values = typeof raw === "string" ? raw.split(",") : Array.isArray(raw) ? raw.flatMap((v) => v.split(",")) : [];
39474
+ for (const v of values) {
39475
+ const trimmed = v.trim();
39476
+ if (trimmed.length === 0) {
39477
+ continue;
39478
+ }
39479
+ if (parseTypedReference(trimmed) === void 0) {
39480
+ return { rawKey, value: trimmed };
39481
+ }
39482
+ }
39483
+ }
39484
+ return void 0;
39485
+ }
39486
+ async function listRiskAssessmentsRoute(req, res) {
39487
+ const searchParamKeys = extractSearchParamKeys30(
39488
+ req.query
39489
+ );
39490
+ if (searchParamKeys.length === 0) {
39491
+ return handleListRoute({
39492
+ req,
39493
+ res,
39494
+ basePath: BASE_PATH.RISKASSESSMENT,
39495
+ listOperation: listRiskAssessmentsOperation,
39496
+ errorLogContext: "GET /RiskAssessment list error:"
39497
+ });
39498
+ }
39499
+ const registered = getRegisteredSearchParameters(
39500
+ RISKASSESSMENT_RESOURCE_TYPE
39501
+ );
39502
+ const validCodes = new Set(registered.map((p) => p.code));
39503
+ const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
39504
+ if (unknownCodes.length > 0) {
39505
+ return sendInvalidSearch40030(
39506
+ res,
39507
+ buildUnknownParamDiagnostics30([...new Set(unknownCodes)])
39508
+ );
39509
+ }
39510
+ const malformedRef = findMalformedReference30(
39511
+ req.query,
39512
+ searchParamKeys
39513
+ );
39514
+ if (malformedRef !== void 0) {
39515
+ return sendInvalidSearch40030(
39516
+ res,
39517
+ `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
39518
+ );
39519
+ }
39520
+ const ctx = req.openhiContext;
39521
+ try {
39522
+ const result = await genericSearchOperation({
39523
+ resourceType: RISKASSESSMENT_RESOURCE_TYPE,
39524
+ tenantId: ctx.tenantId,
39525
+ workspaceId: ctx.workspaceId,
39526
+ query: req.query,
39527
+ resolver: defaultSearchParameterResolver
39528
+ });
39529
+ const bundle = buildSearchsetBundle(
39530
+ BASE_PATH.RISKASSESSMENT,
39531
+ result.entries
39532
+ );
39533
+ return res.json(bundle);
39534
+ } catch (err) {
39535
+ return sendOperationOutcome500(
39536
+ res,
39537
+ err,
39538
+ "GET /RiskAssessment search error:"
39539
+ );
39540
+ }
39541
+ }
39315
39542
 
39316
39543
  // src/data/operations/data/riskassessment/riskassessment-update-operation.ts
39317
39544
  async function updateRiskAssessmentOperation(params) {
@@ -39653,30 +39880,30 @@ async function listSchedulesOperation(params) {
39653
39880
 
39654
39881
  // src/data/rest-api/routes/data/schedule/schedule-list-route.ts
39655
39882
  var SCHEDULE_RESOURCE_TYPE = "Schedule";
39656
- function stripModifier29(key) {
39883
+ function stripModifier31(key) {
39657
39884
  const idx = key.indexOf(":");
39658
39885
  return idx === -1 ? key : key.slice(0, idx);
39659
39886
  }
39660
- function isResultParameter29(key) {
39887
+ function isResultParameter31(key) {
39661
39888
  return key.startsWith("_");
39662
39889
  }
39663
- function sendInvalidSearch40029(res, diagnostics) {
39890
+ function sendInvalidSearch40031(res, diagnostics) {
39664
39891
  return res.status(400).json({
39665
39892
  resourceType: "OperationOutcome",
39666
39893
  issue: [{ severity: "error", code: "invalid", diagnostics }]
39667
39894
  });
39668
39895
  }
39669
- function extractSearchParamKeys29(query) {
39896
+ function extractSearchParamKeys31(query) {
39670
39897
  const out = [];
39671
39898
  for (const rawKey of Object.keys(query)) {
39672
- if (isResultParameter29(rawKey)) {
39899
+ if (isResultParameter31(rawKey)) {
39673
39900
  continue;
39674
39901
  }
39675
- out.push({ rawKey, code: stripModifier29(rawKey) });
39902
+ out.push({ rawKey, code: stripModifier31(rawKey) });
39676
39903
  }
39677
39904
  return out;
39678
39905
  }
39679
- function buildUnknownParamDiagnostics29(unknownCodes) {
39906
+ function buildUnknownParamDiagnostics31(unknownCodes) {
39680
39907
  const validCodes = getRegisteredSearchParameters(SCHEDULE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
39681
39908
  const codes = unknownCodes.join(", ");
39682
39909
  const isPlural = unknownCodes.length !== 1;
@@ -39685,7 +39912,7 @@ function buildUnknownParamDiagnostics29(unknownCodes) {
39685
39912
  `Valid codes: ${validCodes}.`
39686
39913
  ].join(" ");
39687
39914
  }
39688
- function findMalformedReference29(query, searchParamKeys) {
39915
+ function findMalformedReference31(query, searchParamKeys) {
39689
39916
  const referenceCodes = new Set(
39690
39917
  getRegisteredSearchParameters(SCHEDULE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
39691
39918
  );
@@ -39708,7 +39935,7 @@ function findMalformedReference29(query, searchParamKeys) {
39708
39935
  return void 0;
39709
39936
  }
39710
39937
  async function listSchedulesRoute(req, res) {
39711
- const searchParamKeys = extractSearchParamKeys29(
39938
+ const searchParamKeys = extractSearchParamKeys31(
39712
39939
  req.query
39713
39940
  );
39714
39941
  if (searchParamKeys.length === 0) {
@@ -39724,17 +39951,17 @@ async function listSchedulesRoute(req, res) {
39724
39951
  const validCodes = new Set(registered.map((p) => p.code));
39725
39952
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
39726
39953
  if (unknownCodes.length > 0) {
39727
- return sendInvalidSearch40029(
39954
+ return sendInvalidSearch40031(
39728
39955
  res,
39729
- buildUnknownParamDiagnostics29([...new Set(unknownCodes)])
39956
+ buildUnknownParamDiagnostics31([...new Set(unknownCodes)])
39730
39957
  );
39731
39958
  }
39732
- const malformedRef = findMalformedReference29(
39959
+ const malformedRef = findMalformedReference31(
39733
39960
  req.query,
39734
39961
  searchParamKeys
39735
39962
  );
39736
39963
  if (malformedRef !== void 0) {
39737
- return sendInvalidSearch40029(
39964
+ return sendInvalidSearch40031(
39738
39965
  res,
39739
39966
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
39740
39967
  );
@@ -40075,15 +40302,120 @@ async function listServiceRequestsOperation(params) {
40075
40302
  }
40076
40303
 
40077
40304
  // src/data/rest-api/routes/data/servicerequest/servicerequest-list-route.ts
40078
- async function listServiceRequestsRoute(req, res) {
40079
- return handleListRoute({
40080
- req,
40081
- res,
40082
- basePath: BASE_PATH.SERVICEREQUEST,
40083
- listOperation: listServiceRequestsOperation,
40084
- errorLogContext: "GET /ServiceRequest list error:"
40305
+ var SERVICEREQUEST_RESOURCE_TYPE = "ServiceRequest";
40306
+ function stripModifier32(key) {
40307
+ const idx = key.indexOf(":");
40308
+ return idx === -1 ? key : key.slice(0, idx);
40309
+ }
40310
+ function isResultParameter32(key) {
40311
+ return key.startsWith("_");
40312
+ }
40313
+ function sendInvalidSearch40032(res, diagnostics) {
40314
+ return res.status(400).json({
40315
+ resourceType: "OperationOutcome",
40316
+ issue: [{ severity: "error", code: "invalid", diagnostics }]
40085
40317
  });
40086
40318
  }
40319
+ function extractSearchParamKeys32(query) {
40320
+ const out = [];
40321
+ for (const rawKey of Object.keys(query)) {
40322
+ if (isResultParameter32(rawKey)) {
40323
+ continue;
40324
+ }
40325
+ out.push({ rawKey, code: stripModifier32(rawKey) });
40326
+ }
40327
+ return out;
40328
+ }
40329
+ function buildUnknownParamDiagnostics32(unknownCodes) {
40330
+ const validCodes = getRegisteredSearchParameters(SERVICEREQUEST_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
40331
+ const codes = unknownCodes.join(", ");
40332
+ const isPlural = unknownCodes.length !== 1;
40333
+ return [
40334
+ `Unknown search ${isPlural ? "parameters" : "parameter"} for ServiceRequest: ${codes}.`,
40335
+ `Valid codes: ${validCodes}.`
40336
+ ].join(" ");
40337
+ }
40338
+ function findMalformedReference32(query, searchParamKeys) {
40339
+ const referenceCodes = new Set(
40340
+ getRegisteredSearchParameters(SERVICEREQUEST_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
40341
+ );
40342
+ if (referenceCodes.size === 0) {
40343
+ return void 0;
40344
+ }
40345
+ for (const { rawKey, code } of searchParamKeys) {
40346
+ if (!referenceCodes.has(code)) {
40347
+ continue;
40348
+ }
40349
+ const raw = query[rawKey];
40350
+ const values = typeof raw === "string" ? raw.split(",") : Array.isArray(raw) ? raw.flatMap((v) => v.split(",")) : [];
40351
+ for (const v of values) {
40352
+ const trimmed = v.trim();
40353
+ if (trimmed.length === 0) {
40354
+ continue;
40355
+ }
40356
+ if (parseTypedReference(trimmed) === void 0) {
40357
+ return { rawKey, value: trimmed };
40358
+ }
40359
+ }
40360
+ }
40361
+ return void 0;
40362
+ }
40363
+ async function listServiceRequestsRoute(req, res) {
40364
+ const searchParamKeys = extractSearchParamKeys32(
40365
+ req.query
40366
+ );
40367
+ if (searchParamKeys.length === 0) {
40368
+ return handleListRoute({
40369
+ req,
40370
+ res,
40371
+ basePath: BASE_PATH.SERVICEREQUEST,
40372
+ listOperation: listServiceRequestsOperation,
40373
+ errorLogContext: "GET /ServiceRequest list error:"
40374
+ });
40375
+ }
40376
+ const registered = getRegisteredSearchParameters(
40377
+ SERVICEREQUEST_RESOURCE_TYPE
40378
+ );
40379
+ const validCodes = new Set(registered.map((p) => p.code));
40380
+ const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
40381
+ if (unknownCodes.length > 0) {
40382
+ return sendInvalidSearch40032(
40383
+ res,
40384
+ buildUnknownParamDiagnostics32([...new Set(unknownCodes)])
40385
+ );
40386
+ }
40387
+ const malformedRef = findMalformedReference32(
40388
+ req.query,
40389
+ searchParamKeys
40390
+ );
40391
+ if (malformedRef !== void 0) {
40392
+ return sendInvalidSearch40032(
40393
+ res,
40394
+ `?${malformedRef.rawKey} must be a typed reference like "Encounter/<id>"; got "${malformedRef.value}".`
40395
+ );
40396
+ }
40397
+ const ctx = req.openhiContext;
40398
+ try {
40399
+ const result = await genericSearchOperation({
40400
+ resourceType: SERVICEREQUEST_RESOURCE_TYPE,
40401
+ tenantId: ctx.tenantId,
40402
+ workspaceId: ctx.workspaceId,
40403
+ query: req.query,
40404
+ resolver: defaultSearchParameterResolver
40405
+ });
40406
+ const bundle = buildSearchsetBundle(
40407
+ BASE_PATH.SERVICEREQUEST,
40408
+ result.entries
40409
+ );
40410
+ return res.json(bundle);
40411
+ } catch (err) {
40412
+ return sendOperationOutcome500(
40413
+ res,
40414
+ err,
40415
+ "GET /ServiceRequest search error:"
40416
+ );
40417
+ }
40418
+ }
40087
40419
 
40088
40420
  // src/data/operations/data/servicerequest/servicerequest-update-operation.ts
40089
40421
  async function updateServiceRequestOperation(params) {
@@ -40241,30 +40573,30 @@ async function listSlotsOperation(params) {
40241
40573
 
40242
40574
  // src/data/rest-api/routes/data/slot/slot-list-route.ts
40243
40575
  var SLOT_RESOURCE_TYPE = "Slot";
40244
- function stripModifier30(key) {
40576
+ function stripModifier33(key) {
40245
40577
  const idx = key.indexOf(":");
40246
40578
  return idx === -1 ? key : key.slice(0, idx);
40247
40579
  }
40248
- function isResultParameter30(key) {
40580
+ function isResultParameter33(key) {
40249
40581
  return key.startsWith("_");
40250
40582
  }
40251
- function sendInvalidSearch40030(res, diagnostics) {
40583
+ function sendInvalidSearch40033(res, diagnostics) {
40252
40584
  return res.status(400).json({
40253
40585
  resourceType: "OperationOutcome",
40254
40586
  issue: [{ severity: "error", code: "invalid", diagnostics }]
40255
40587
  });
40256
40588
  }
40257
- function extractSearchParamKeys30(query) {
40589
+ function extractSearchParamKeys33(query) {
40258
40590
  const out = [];
40259
40591
  for (const rawKey of Object.keys(query)) {
40260
- if (isResultParameter30(rawKey)) {
40592
+ if (isResultParameter33(rawKey)) {
40261
40593
  continue;
40262
40594
  }
40263
- out.push({ rawKey, code: stripModifier30(rawKey) });
40595
+ out.push({ rawKey, code: stripModifier33(rawKey) });
40264
40596
  }
40265
40597
  return out;
40266
40598
  }
40267
- function buildUnknownParamDiagnostics30(unknownCodes) {
40599
+ function buildUnknownParamDiagnostics33(unknownCodes) {
40268
40600
  const validCodes = getRegisteredSearchParameters(SLOT_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
40269
40601
  const codes = unknownCodes.join(", ");
40270
40602
  const isPlural = unknownCodes.length !== 1;
@@ -40273,7 +40605,7 @@ function buildUnknownParamDiagnostics30(unknownCodes) {
40273
40605
  `Valid codes: ${validCodes}.`
40274
40606
  ].join(" ");
40275
40607
  }
40276
- function findMalformedReference30(query, searchParamKeys) {
40608
+ function findMalformedReference33(query, searchParamKeys) {
40277
40609
  const referenceCodes = new Set(
40278
40610
  getRegisteredSearchParameters(SLOT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
40279
40611
  );
@@ -40296,7 +40628,7 @@ function findMalformedReference30(query, searchParamKeys) {
40296
40628
  return void 0;
40297
40629
  }
40298
40630
  async function listSlotsRoute(req, res) {
40299
- const searchParamKeys = extractSearchParamKeys30(
40631
+ const searchParamKeys = extractSearchParamKeys33(
40300
40632
  req.query
40301
40633
  );
40302
40634
  if (searchParamKeys.length === 0) {
@@ -40312,17 +40644,17 @@ async function listSlotsRoute(req, res) {
40312
40644
  const validCodes = new Set(registered.map((p) => p.code));
40313
40645
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
40314
40646
  if (unknownCodes.length > 0) {
40315
- return sendInvalidSearch40030(
40647
+ return sendInvalidSearch40033(
40316
40648
  res,
40317
- buildUnknownParamDiagnostics30([...new Set(unknownCodes)])
40649
+ buildUnknownParamDiagnostics33([...new Set(unknownCodes)])
40318
40650
  );
40319
40651
  }
40320
- const malformedRef = findMalformedReference30(
40652
+ const malformedRef = findMalformedReference33(
40321
40653
  req.query,
40322
40654
  searchParamKeys
40323
40655
  );
40324
40656
  if (malformedRef !== void 0) {
40325
- return sendInvalidSearch40030(
40657
+ return sendInvalidSearch40033(
40326
40658
  res,
40327
40659
  `?${malformedRef.rawKey} must be a typed reference like "Schedule/<id>"; got "${malformedRef.value}".`
40328
40660
  );
@@ -40499,30 +40831,30 @@ async function listSpecimensOperation(params) {
40499
40831
 
40500
40832
  // src/data/rest-api/routes/data/specimen/specimen-list-route.ts
40501
40833
  var SPECIMEN_RESOURCE_TYPE = "Specimen";
40502
- function stripModifier31(key) {
40834
+ function stripModifier34(key) {
40503
40835
  const idx = key.indexOf(":");
40504
40836
  return idx === -1 ? key : key.slice(0, idx);
40505
40837
  }
40506
- function isResultParameter31(key) {
40838
+ function isResultParameter34(key) {
40507
40839
  return key.startsWith("_");
40508
40840
  }
40509
- function sendInvalidSearch40031(res, diagnostics) {
40841
+ function sendInvalidSearch40034(res, diagnostics) {
40510
40842
  return res.status(400).json({
40511
40843
  resourceType: "OperationOutcome",
40512
40844
  issue: [{ severity: "error", code: "invalid", diagnostics }]
40513
40845
  });
40514
40846
  }
40515
- function extractSearchParamKeys31(query) {
40847
+ function extractSearchParamKeys34(query) {
40516
40848
  const out = [];
40517
40849
  for (const rawKey of Object.keys(query)) {
40518
- if (isResultParameter31(rawKey)) {
40850
+ if (isResultParameter34(rawKey)) {
40519
40851
  continue;
40520
40852
  }
40521
- out.push({ rawKey, code: stripModifier31(rawKey) });
40853
+ out.push({ rawKey, code: stripModifier34(rawKey) });
40522
40854
  }
40523
40855
  return out;
40524
40856
  }
40525
- function buildUnknownParamDiagnostics31(unknownCodes) {
40857
+ function buildUnknownParamDiagnostics34(unknownCodes) {
40526
40858
  const validCodes = getRegisteredSearchParameters(SPECIMEN_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
40527
40859
  const codes = unknownCodes.join(", ");
40528
40860
  const isPlural = unknownCodes.length !== 1;
@@ -40531,7 +40863,7 @@ function buildUnknownParamDiagnostics31(unknownCodes) {
40531
40863
  `Valid codes: ${validCodes}.`
40532
40864
  ].join(" ");
40533
40865
  }
40534
- function findMalformedReference31(query, searchParamKeys) {
40866
+ function findMalformedReference34(query, searchParamKeys) {
40535
40867
  const referenceCodes = new Set(
40536
40868
  getRegisteredSearchParameters(SPECIMEN_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
40537
40869
  );
@@ -40557,7 +40889,7 @@ function findMalformedReference31(query, searchParamKeys) {
40557
40889
  return void 0;
40558
40890
  }
40559
40891
  async function listSpecimensRoute(req, res) {
40560
- const searchParamKeys = extractSearchParamKeys31(
40892
+ const searchParamKeys = extractSearchParamKeys34(
40561
40893
  req.query
40562
40894
  );
40563
40895
  if (searchParamKeys.length === 0) {
@@ -40573,17 +40905,17 @@ async function listSpecimensRoute(req, res) {
40573
40905
  const validCodes = new Set(registered.map((p) => p.code));
40574
40906
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
40575
40907
  if (unknownCodes.length > 0) {
40576
- return sendInvalidSearch40031(
40908
+ return sendInvalidSearch40034(
40577
40909
  res,
40578
- buildUnknownParamDiagnostics31([...new Set(unknownCodes)])
40910
+ buildUnknownParamDiagnostics34([...new Set(unknownCodes)])
40579
40911
  );
40580
40912
  }
40581
- const malformedRef = findMalformedReference31(
40913
+ const malformedRef = findMalformedReference34(
40582
40914
  req.query,
40583
40915
  searchParamKeys
40584
40916
  );
40585
40917
  if (malformedRef !== void 0) {
40586
- return sendInvalidSearch40031(
40918
+ return sendInvalidSearch40034(
40587
40919
  res,
40588
40920
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
40589
40921
  );
@@ -42987,30 +43319,30 @@ async function listTasksOperation(params) {
42987
43319
 
42988
43320
  // src/data/rest-api/routes/data/task/task-list-route.ts
42989
43321
  var TASK_RESOURCE_TYPE = "Task";
42990
- function stripModifier32(key) {
43322
+ function stripModifier35(key) {
42991
43323
  const idx = key.indexOf(":");
42992
43324
  return idx === -1 ? key : key.slice(0, idx);
42993
43325
  }
42994
- function isResultParameter32(key) {
43326
+ function isResultParameter35(key) {
42995
43327
  return key.startsWith("_");
42996
43328
  }
42997
- function sendInvalidSearch40032(res, diagnostics) {
43329
+ function sendInvalidSearch40035(res, diagnostics) {
42998
43330
  return res.status(400).json({
42999
43331
  resourceType: "OperationOutcome",
43000
43332
  issue: [{ severity: "error", code: "invalid", diagnostics }]
43001
43333
  });
43002
43334
  }
43003
- function extractSearchParamKeys32(query) {
43335
+ function extractSearchParamKeys35(query) {
43004
43336
  const out = [];
43005
43337
  for (const rawKey of Object.keys(query)) {
43006
- if (isResultParameter32(rawKey)) {
43338
+ if (isResultParameter35(rawKey)) {
43007
43339
  continue;
43008
43340
  }
43009
- out.push({ rawKey, code: stripModifier32(rawKey) });
43341
+ out.push({ rawKey, code: stripModifier35(rawKey) });
43010
43342
  }
43011
43343
  return out;
43012
43344
  }
43013
- function buildUnknownParamDiagnostics32(unknownCodes) {
43345
+ function buildUnknownParamDiagnostics35(unknownCodes) {
43014
43346
  const validCodes = getRegisteredSearchParameters(TASK_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
43015
43347
  const codes = unknownCodes.join(", ");
43016
43348
  const isPlural = unknownCodes.length !== 1;
@@ -43019,7 +43351,7 @@ function buildUnknownParamDiagnostics32(unknownCodes) {
43019
43351
  `Valid codes: ${validCodes}.`
43020
43352
  ].join(" ");
43021
43353
  }
43022
- function findMalformedReference32(query, searchParamKeys) {
43354
+ function findMalformedReference35(query, searchParamKeys) {
43023
43355
  const referenceCodes = new Set(
43024
43356
  getRegisteredSearchParameters(TASK_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
43025
43357
  );
@@ -43042,7 +43374,7 @@ function findMalformedReference32(query, searchParamKeys) {
43042
43374
  return void 0;
43043
43375
  }
43044
43376
  async function listTasksRoute(req, res) {
43045
- const searchParamKeys = extractSearchParamKeys32(
43377
+ const searchParamKeys = extractSearchParamKeys35(
43046
43378
  req.query
43047
43379
  );
43048
43380
  if (searchParamKeys.length === 0) {
@@ -43058,17 +43390,17 @@ async function listTasksRoute(req, res) {
43058
43390
  const validCodes = new Set(registered.map((p) => p.code));
43059
43391
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
43060
43392
  if (unknownCodes.length > 0) {
43061
- return sendInvalidSearch40032(
43393
+ return sendInvalidSearch40035(
43062
43394
  res,
43063
- buildUnknownParamDiagnostics32([...new Set(unknownCodes)])
43395
+ buildUnknownParamDiagnostics35([...new Set(unknownCodes)])
43064
43396
  );
43065
43397
  }
43066
- const malformedRef = findMalformedReference32(
43398
+ const malformedRef = findMalformedReference35(
43067
43399
  req.query,
43068
43400
  searchParamKeys
43069
43401
  );
43070
43402
  if (malformedRef !== void 0) {
43071
- return sendInvalidSearch40032(
43403
+ return sendInvalidSearch40035(
43072
43404
  res,
43073
43405
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
43074
43406
  );