@openhi/constructs 0.0.186 → 0.0.188

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.
@@ -6182,6 +6182,9 @@ var CLAIM_SEARCH_PARAMETERS = [
6182
6182
  { code: "use", type: "token", jsonbPath: "$.use" }
6183
6183
  ];
6184
6184
 
6185
+ // src/data/search/registry/clinicalimpression-search-parameters.ts
6186
+ var CLINICALIMPRESSION_SEARCH_PARAMETERS = [{ code: "encounter", type: "reference", jsonbPath: "$.encounter" }];
6187
+
6185
6188
  // src/data/search/registry/composition-search-parameters.ts
6186
6189
  var COMPOSITION_SEARCH_PARAMETERS = [
6187
6190
  { code: "status", type: "token", jsonbPath: "$.status" },
@@ -6843,6 +6846,12 @@ var RELATEDPERSON_SEARCH_PARAMETERS = [
6843
6846
  }
6844
6847
  ];
6845
6848
 
6849
+ // src/data/search/registry/riskassessment-search-parameters.ts
6850
+ var RISKASSESSMENT_SEARCH_PARAMETERS = [
6851
+ { code: "subject", type: "reference", jsonbPath: "$.subject" },
6852
+ { code: "patient", type: "reference", jsonbPath: "$.subject" }
6853
+ ];
6854
+
6846
6855
  // src/data/search/registry/schedule-search-parameters.ts
6847
6856
  var SCHEDULE_SEARCH_PARAMETERS = [
6848
6857
  { code: "active", type: "token", jsonbPath: "$.active" },
@@ -6858,6 +6867,9 @@ var SCHEDULE_SEARCH_PARAMETERS = [
6858
6867
  { code: "specialty", type: "token", jsonbPath: "$.specialty[*]" }
6859
6868
  ];
6860
6869
 
6870
+ // src/data/search/registry/servicerequest-search-parameters.ts
6871
+ var SERVICEREQUEST_SEARCH_PARAMETERS = [{ code: "encounter", type: "reference", jsonbPath: "$.encounter" }];
6872
+
6861
6873
  // src/data/search/registry/slot-search-parameters.ts
6862
6874
  var SLOT_SEARCH_PARAMETERS = [
6863
6875
  { code: "status", type: "token", jsonbPath: "$.status" },
@@ -6934,6 +6946,7 @@ var STATIC_SEARCH_PARAMETER_MAP = {
6934
6946
  Appointment: APPOINTMENT_SEARCH_PARAMETERS,
6935
6947
  ChargeItem: CHARGEITEM_SEARCH_PARAMETERS,
6936
6948
  Claim: CLAIM_SEARCH_PARAMETERS,
6949
+ ClinicalImpression: CLINICALIMPRESSION_SEARCH_PARAMETERS,
6937
6950
  Composition: COMPOSITION_SEARCH_PARAMETERS,
6938
6951
  Condition: CONDITION_SEARCH_PARAMETERS,
6939
6952
  Coverage: COVERAGE_SEARCH_PARAMETERS,
@@ -6958,7 +6971,9 @@ var STATIC_SEARCH_PARAMETER_MAP = {
6958
6971
  PractitionerRole: PRACTITIONERROLE_SEARCH_PARAMETERS,
6959
6972
  Procedure: PROCEDURE_SEARCH_PARAMETERS,
6960
6973
  RelatedPerson: RELATEDPERSON_SEARCH_PARAMETERS,
6974
+ RiskAssessment: RISKASSESSMENT_SEARCH_PARAMETERS,
6961
6975
  Schedule: SCHEDULE_SEARCH_PARAMETERS,
6976
+ ServiceRequest: SERVICEREQUEST_SEARCH_PARAMETERS,
6962
6977
  Slot: SLOT_SEARCH_PARAMETERS,
6963
6978
  Specimen: SPECIMEN_SEARCH_PARAMETERS,
6964
6979
  Task: TASK_SEARCH_PARAMETERS
@@ -14581,15 +14596,122 @@ async function listClinicalImpressionsOperation(params) {
14581
14596
  }
14582
14597
 
14583
14598
  // src/data/rest-api/routes/data/clinicalimpression/clinicalimpression-list-route.ts
14584
- async function listClinicalImpressionsRoute(req, res) {
14585
- return handleListRoute({
14586
- req,
14587
- res,
14588
- basePath: BASE_PATH.CLINICALIMPRESSION,
14589
- listOperation: listClinicalImpressionsOperation,
14590
- errorLogContext: "GET /ClinicalImpression list error:"
14599
+ var CLINICALIMPRESSION_RESOURCE_TYPE = "ClinicalImpression";
14600
+ function stripModifier5(key) {
14601
+ const idx = key.indexOf(":");
14602
+ return idx === -1 ? key : key.slice(0, idx);
14603
+ }
14604
+ function isResultParameter5(key) {
14605
+ return key.startsWith("_");
14606
+ }
14607
+ function sendInvalidSearch4005(res, diagnostics) {
14608
+ return res.status(400).json({
14609
+ resourceType: "OperationOutcome",
14610
+ issue: [{ severity: "error", code: "invalid", diagnostics }]
14591
14611
  });
14592
14612
  }
14613
+ function extractSearchParamKeys5(query) {
14614
+ const out = [];
14615
+ for (const rawKey of Object.keys(query)) {
14616
+ if (isResultParameter5(rawKey)) {
14617
+ continue;
14618
+ }
14619
+ out.push({ rawKey, code: stripModifier5(rawKey) });
14620
+ }
14621
+ return out;
14622
+ }
14623
+ function buildUnknownParamDiagnostics5(unknownCodes) {
14624
+ const validCodes = getRegisteredSearchParameters(
14625
+ CLINICALIMPRESSION_RESOURCE_TYPE
14626
+ ).map((p) => p.code).sort().join(", ");
14627
+ const codes = unknownCodes.join(", ");
14628
+ const isPlural = unknownCodes.length !== 1;
14629
+ return [
14630
+ `Unknown search ${isPlural ? "parameters" : "parameter"} for ClinicalImpression: ${codes}.`,
14631
+ `Valid codes: ${validCodes}.`
14632
+ ].join(" ");
14633
+ }
14634
+ function findMalformedReference5(query, searchParamKeys) {
14635
+ const referenceCodes = new Set(
14636
+ getRegisteredSearchParameters(CLINICALIMPRESSION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
14637
+ );
14638
+ if (referenceCodes.size === 0) {
14639
+ return void 0;
14640
+ }
14641
+ for (const { rawKey, code } of searchParamKeys) {
14642
+ if (!referenceCodes.has(code)) {
14643
+ continue;
14644
+ }
14645
+ const raw = query[rawKey];
14646
+ const values = typeof raw === "string" ? raw.split(",") : Array.isArray(raw) ? raw.flatMap((v) => v.split(",")) : [];
14647
+ for (const v of values) {
14648
+ const trimmed = v.trim();
14649
+ if (trimmed.length === 0) {
14650
+ continue;
14651
+ }
14652
+ if (parseTypedReference(trimmed) === void 0) {
14653
+ return { rawKey, value: trimmed };
14654
+ }
14655
+ }
14656
+ }
14657
+ return void 0;
14658
+ }
14659
+ async function listClinicalImpressionsRoute(req, res) {
14660
+ const searchParamKeys = extractSearchParamKeys5(
14661
+ req.query
14662
+ );
14663
+ if (searchParamKeys.length === 0) {
14664
+ return handleListRoute({
14665
+ req,
14666
+ res,
14667
+ basePath: BASE_PATH.CLINICALIMPRESSION,
14668
+ listOperation: listClinicalImpressionsOperation,
14669
+ errorLogContext: "GET /ClinicalImpression list error:"
14670
+ });
14671
+ }
14672
+ const registered = getRegisteredSearchParameters(
14673
+ CLINICALIMPRESSION_RESOURCE_TYPE
14674
+ );
14675
+ const validCodes = new Set(registered.map((p) => p.code));
14676
+ const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
14677
+ if (unknownCodes.length > 0) {
14678
+ return sendInvalidSearch4005(
14679
+ res,
14680
+ buildUnknownParamDiagnostics5([...new Set(unknownCodes)])
14681
+ );
14682
+ }
14683
+ const malformedRef = findMalformedReference5(
14684
+ req.query,
14685
+ searchParamKeys
14686
+ );
14687
+ if (malformedRef !== void 0) {
14688
+ return sendInvalidSearch4005(
14689
+ res,
14690
+ `?${malformedRef.rawKey} must be a typed reference like "Encounter/<id>"; got "${malformedRef.value}".`
14691
+ );
14692
+ }
14693
+ const ctx = req.openhiContext;
14694
+ try {
14695
+ const result = await genericSearchOperation({
14696
+ resourceType: CLINICALIMPRESSION_RESOURCE_TYPE,
14697
+ tenantId: ctx.tenantId,
14698
+ workspaceId: ctx.workspaceId,
14699
+ query: req.query,
14700
+ resolver: defaultSearchParameterResolver
14701
+ });
14702
+ const bundle = buildSearchsetBundle(
14703
+ BASE_PATH.CLINICALIMPRESSION,
14704
+ result.entries
14705
+ );
14706
+ return res.json(bundle);
14707
+ } catch (err) {
14708
+ return sendOperationOutcome500(
14709
+ res,
14710
+ err,
14711
+ "GET /ClinicalImpression search error:"
14712
+ );
14713
+ }
14714
+ }
14593
14715
 
14594
14716
  // src/data/operations/data/clinicalimpression/clinicalimpression-update-operation.ts
14595
14717
  async function updateClinicalImpressionOperation(params) {
@@ -15437,30 +15559,30 @@ async function listCompositionsOperation(params) {
15437
15559
 
15438
15560
  // src/data/rest-api/routes/data/composition/composition-list-route.ts
15439
15561
  var COMPOSITION_RESOURCE_TYPE = "Composition";
15440
- function stripModifier5(key) {
15562
+ function stripModifier6(key) {
15441
15563
  const idx = key.indexOf(":");
15442
15564
  return idx === -1 ? key : key.slice(0, idx);
15443
15565
  }
15444
- function isResultParameter5(key) {
15566
+ function isResultParameter6(key) {
15445
15567
  return key.startsWith("_");
15446
15568
  }
15447
- function sendInvalidSearch4005(res, diagnostics) {
15569
+ function sendInvalidSearch4006(res, diagnostics) {
15448
15570
  return res.status(400).json({
15449
15571
  resourceType: "OperationOutcome",
15450
15572
  issue: [{ severity: "error", code: "invalid", diagnostics }]
15451
15573
  });
15452
15574
  }
15453
- function extractSearchParamKeys5(query) {
15575
+ function extractSearchParamKeys6(query) {
15454
15576
  const out = [];
15455
15577
  for (const rawKey of Object.keys(query)) {
15456
- if (isResultParameter5(rawKey)) {
15578
+ if (isResultParameter6(rawKey)) {
15457
15579
  continue;
15458
15580
  }
15459
- out.push({ rawKey, code: stripModifier5(rawKey) });
15581
+ out.push({ rawKey, code: stripModifier6(rawKey) });
15460
15582
  }
15461
15583
  return out;
15462
15584
  }
15463
- function buildUnknownParamDiagnostics5(unknownCodes) {
15585
+ function buildUnknownParamDiagnostics6(unknownCodes) {
15464
15586
  const validCodes = getRegisteredSearchParameters(COMPOSITION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
15465
15587
  const codes = unknownCodes.join(", ");
15466
15588
  const isPlural = unknownCodes.length !== 1;
@@ -15469,7 +15591,7 @@ function buildUnknownParamDiagnostics5(unknownCodes) {
15469
15591
  `Valid codes: ${validCodes}.`
15470
15592
  ].join(" ");
15471
15593
  }
15472
- function findMalformedReference5(query, searchParamKeys) {
15594
+ function findMalformedReference6(query, searchParamKeys) {
15473
15595
  const referenceCodes = new Set(
15474
15596
  getRegisteredSearchParameters(COMPOSITION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
15475
15597
  );
@@ -15495,7 +15617,7 @@ function findMalformedReference5(query, searchParamKeys) {
15495
15617
  return void 0;
15496
15618
  }
15497
15619
  async function listCompositionsRoute(req, res) {
15498
- const searchParamKeys = extractSearchParamKeys5(
15620
+ const searchParamKeys = extractSearchParamKeys6(
15499
15621
  req.query
15500
15622
  );
15501
15623
  if (searchParamKeys.length === 0) {
@@ -15511,17 +15633,17 @@ async function listCompositionsRoute(req, res) {
15511
15633
  const validCodes = new Set(registered.map((p) => p.code));
15512
15634
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
15513
15635
  if (unknownCodes.length > 0) {
15514
- return sendInvalidSearch4005(
15636
+ return sendInvalidSearch4006(
15515
15637
  res,
15516
- buildUnknownParamDiagnostics5([...new Set(unknownCodes)])
15638
+ buildUnknownParamDiagnostics6([...new Set(unknownCodes)])
15517
15639
  );
15518
15640
  }
15519
- const malformedRef = findMalformedReference5(
15641
+ const malformedRef = findMalformedReference6(
15520
15642
  req.query,
15521
15643
  searchParamKeys
15522
15644
  );
15523
15645
  if (malformedRef !== void 0) {
15524
- return sendInvalidSearch4005(
15646
+ return sendInvalidSearch4006(
15525
15647
  res,
15526
15648
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
15527
15649
  );
@@ -15863,30 +15985,30 @@ async function listConditionsOperation(params) {
15863
15985
 
15864
15986
  // src/data/rest-api/routes/data/condition/condition-list-route.ts
15865
15987
  var CONDITION_RESOURCE_TYPE = "Condition";
15866
- function stripModifier6(key) {
15988
+ function stripModifier7(key) {
15867
15989
  const idx = key.indexOf(":");
15868
15990
  return idx === -1 ? key : key.slice(0, idx);
15869
15991
  }
15870
- function isResultParameter6(key) {
15992
+ function isResultParameter7(key) {
15871
15993
  return key.startsWith("_");
15872
15994
  }
15873
- function sendInvalidSearch4006(res, diagnostics) {
15995
+ function sendInvalidSearch4007(res, diagnostics) {
15874
15996
  return res.status(400).json({
15875
15997
  resourceType: "OperationOutcome",
15876
15998
  issue: [{ severity: "error", code: "invalid", diagnostics }]
15877
15999
  });
15878
16000
  }
15879
- function extractSearchParamKeys6(query) {
16001
+ function extractSearchParamKeys7(query) {
15880
16002
  const out = [];
15881
16003
  for (const rawKey of Object.keys(query)) {
15882
- if (isResultParameter6(rawKey)) {
16004
+ if (isResultParameter7(rawKey)) {
15883
16005
  continue;
15884
16006
  }
15885
- out.push({ rawKey, code: stripModifier6(rawKey) });
16007
+ out.push({ rawKey, code: stripModifier7(rawKey) });
15886
16008
  }
15887
16009
  return out;
15888
16010
  }
15889
- function buildUnknownParamDiagnostics6(unknownCodes) {
16011
+ function buildUnknownParamDiagnostics7(unknownCodes) {
15890
16012
  const validCodes = getRegisteredSearchParameters(CONDITION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
15891
16013
  const codes = unknownCodes.join(", ");
15892
16014
  const isPlural = unknownCodes.length !== 1;
@@ -15895,7 +16017,7 @@ function buildUnknownParamDiagnostics6(unknownCodes) {
15895
16017
  `Valid codes: ${validCodes}.`
15896
16018
  ].join(" ");
15897
16019
  }
15898
- function findMalformedReference6(query, searchParamKeys) {
16020
+ function findMalformedReference7(query, searchParamKeys) {
15899
16021
  const referenceCodes = new Set(
15900
16022
  getRegisteredSearchParameters(CONDITION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
15901
16023
  );
@@ -15918,7 +16040,7 @@ function findMalformedReference6(query, searchParamKeys) {
15918
16040
  return void 0;
15919
16041
  }
15920
16042
  async function listConditionsRoute(req, res) {
15921
- const searchParamKeys = extractSearchParamKeys6(
16043
+ const searchParamKeys = extractSearchParamKeys7(
15922
16044
  req.query
15923
16045
  );
15924
16046
  if (searchParamKeys.length === 0) {
@@ -15934,17 +16056,17 @@ async function listConditionsRoute(req, res) {
15934
16056
  const validCodes = new Set(registered.map((p) => p.code));
15935
16057
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
15936
16058
  if (unknownCodes.length > 0) {
15937
- return sendInvalidSearch4006(
16059
+ return sendInvalidSearch4007(
15938
16060
  res,
15939
- buildUnknownParamDiagnostics6([...new Set(unknownCodes)])
16061
+ buildUnknownParamDiagnostics7([...new Set(unknownCodes)])
15940
16062
  );
15941
16063
  }
15942
- const malformedRef = findMalformedReference6(
16064
+ const malformedRef = findMalformedReference7(
15943
16065
  req.query,
15944
16066
  searchParamKeys
15945
16067
  );
15946
16068
  if (malformedRef !== void 0) {
15947
- return sendInvalidSearch4006(
16069
+ return sendInvalidSearch4007(
15948
16070
  res,
15949
16071
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
15950
16072
  );
@@ -16454,30 +16576,30 @@ async function listCoveragesOperation(params) {
16454
16576
 
16455
16577
  // src/data/rest-api/routes/data/coverage/coverage-list-route.ts
16456
16578
  var COVERAGE_RESOURCE_TYPE = "Coverage";
16457
- function stripModifier7(key) {
16579
+ function stripModifier8(key) {
16458
16580
  const idx = key.indexOf(":");
16459
16581
  return idx === -1 ? key : key.slice(0, idx);
16460
16582
  }
16461
- function isResultParameter7(key) {
16583
+ function isResultParameter8(key) {
16462
16584
  return key.startsWith("_");
16463
16585
  }
16464
- function sendInvalidSearch4007(res, diagnostics) {
16586
+ function sendInvalidSearch4008(res, diagnostics) {
16465
16587
  return res.status(400).json({
16466
16588
  resourceType: "OperationOutcome",
16467
16589
  issue: [{ severity: "error", code: "invalid", diagnostics }]
16468
16590
  });
16469
16591
  }
16470
- function extractSearchParamKeys7(query) {
16592
+ function extractSearchParamKeys8(query) {
16471
16593
  const out = [];
16472
16594
  for (const rawKey of Object.keys(query)) {
16473
- if (isResultParameter7(rawKey)) {
16595
+ if (isResultParameter8(rawKey)) {
16474
16596
  continue;
16475
16597
  }
16476
- out.push({ rawKey, code: stripModifier7(rawKey) });
16598
+ out.push({ rawKey, code: stripModifier8(rawKey) });
16477
16599
  }
16478
16600
  return out;
16479
16601
  }
16480
- function buildUnknownParamDiagnostics7(unknownCodes) {
16602
+ function buildUnknownParamDiagnostics8(unknownCodes) {
16481
16603
  const validCodes = getRegisteredSearchParameters(COVERAGE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
16482
16604
  const codes = unknownCodes.join(", ");
16483
16605
  const isPlural = unknownCodes.length !== 1;
@@ -16486,7 +16608,7 @@ function buildUnknownParamDiagnostics7(unknownCodes) {
16486
16608
  `Valid codes: ${validCodes}.`
16487
16609
  ].join(" ");
16488
16610
  }
16489
- function findMalformedReference7(query, searchParamKeys) {
16611
+ function findMalformedReference8(query, searchParamKeys) {
16490
16612
  const referenceCodes = new Set(
16491
16613
  getRegisteredSearchParameters(COVERAGE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
16492
16614
  );
@@ -16512,7 +16634,7 @@ function findMalformedReference7(query, searchParamKeys) {
16512
16634
  return void 0;
16513
16635
  }
16514
16636
  async function listCoveragesRoute(req, res) {
16515
- const searchParamKeys = extractSearchParamKeys7(
16637
+ const searchParamKeys = extractSearchParamKeys8(
16516
16638
  req.query
16517
16639
  );
16518
16640
  if (searchParamKeys.length === 0) {
@@ -16530,17 +16652,17 @@ async function listCoveragesRoute(req, res) {
16530
16652
  const validCodes = new Set(registered.map((p) => p.code));
16531
16653
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
16532
16654
  if (unknownCodes.length > 0) {
16533
- return sendInvalidSearch4007(
16655
+ return sendInvalidSearch4008(
16534
16656
  res,
16535
- buildUnknownParamDiagnostics7([...new Set(unknownCodes)])
16657
+ buildUnknownParamDiagnostics8([...new Set(unknownCodes)])
16536
16658
  );
16537
16659
  }
16538
- const malformedRef = findMalformedReference7(
16660
+ const malformedRef = findMalformedReference8(
16539
16661
  req.query,
16540
16662
  searchParamKeys
16541
16663
  );
16542
16664
  if (malformedRef !== void 0) {
16543
- return sendInvalidSearch4007(
16665
+ return sendInvalidSearch4008(
16544
16666
  res,
16545
16667
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
16546
16668
  );
@@ -18089,30 +18211,30 @@ async function listDiagnosticReportsOperation(params) {
18089
18211
 
18090
18212
  // src/data/rest-api/routes/data/diagnosticreport/diagnosticreport-list-route.ts
18091
18213
  var DIAGNOSTICREPORT_RESOURCE_TYPE = "DiagnosticReport";
18092
- function stripModifier8(key) {
18214
+ function stripModifier9(key) {
18093
18215
  const idx = key.indexOf(":");
18094
18216
  return idx === -1 ? key : key.slice(0, idx);
18095
18217
  }
18096
- function isResultParameter8(key) {
18218
+ function isResultParameter9(key) {
18097
18219
  return key.startsWith("_");
18098
18220
  }
18099
- function sendInvalidSearch4008(res, diagnostics) {
18221
+ function sendInvalidSearch4009(res, diagnostics) {
18100
18222
  return res.status(400).json({
18101
18223
  resourceType: "OperationOutcome",
18102
18224
  issue: [{ severity: "error", code: "invalid", diagnostics }]
18103
18225
  });
18104
18226
  }
18105
- function extractSearchParamKeys8(query) {
18227
+ function extractSearchParamKeys9(query) {
18106
18228
  const out = [];
18107
18229
  for (const rawKey of Object.keys(query)) {
18108
- if (isResultParameter8(rawKey)) {
18230
+ if (isResultParameter9(rawKey)) {
18109
18231
  continue;
18110
18232
  }
18111
- out.push({ rawKey, code: stripModifier8(rawKey) });
18233
+ out.push({ rawKey, code: stripModifier9(rawKey) });
18112
18234
  }
18113
18235
  return out;
18114
18236
  }
18115
- function buildUnknownParamDiagnostics8(unknownCodes) {
18237
+ function buildUnknownParamDiagnostics9(unknownCodes) {
18116
18238
  const validCodes = getRegisteredSearchParameters(
18117
18239
  DIAGNOSTICREPORT_RESOURCE_TYPE
18118
18240
  ).map((p) => p.code).sort().join(", ");
@@ -18123,7 +18245,7 @@ function buildUnknownParamDiagnostics8(unknownCodes) {
18123
18245
  `Valid codes: ${validCodes}.`
18124
18246
  ].join(" ");
18125
18247
  }
18126
- function findMalformedReference8(query, searchParamKeys) {
18248
+ function findMalformedReference9(query, searchParamKeys) {
18127
18249
  const referenceCodes = new Set(
18128
18250
  getRegisteredSearchParameters(DIAGNOSTICREPORT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
18129
18251
  );
@@ -18149,7 +18271,7 @@ function findMalformedReference8(query, searchParamKeys) {
18149
18271
  return void 0;
18150
18272
  }
18151
18273
  async function listDiagnosticReportsRoute(req, res) {
18152
- const searchParamKeys = extractSearchParamKeys8(
18274
+ const searchParamKeys = extractSearchParamKeys9(
18153
18275
  req.query
18154
18276
  );
18155
18277
  if (searchParamKeys.length === 0) {
@@ -18167,17 +18289,17 @@ async function listDiagnosticReportsRoute(req, res) {
18167
18289
  const validCodes = new Set(registered.map((p) => p.code));
18168
18290
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
18169
18291
  if (unknownCodes.length > 0) {
18170
- return sendInvalidSearch4008(
18292
+ return sendInvalidSearch4009(
18171
18293
  res,
18172
- buildUnknownParamDiagnostics8([...new Set(unknownCodes)])
18294
+ buildUnknownParamDiagnostics9([...new Set(unknownCodes)])
18173
18295
  );
18174
18296
  }
18175
- const malformedRef = findMalformedReference8(
18297
+ const malformedRef = findMalformedReference9(
18176
18298
  req.query,
18177
18299
  searchParamKeys
18178
18300
  );
18179
18301
  if (malformedRef !== void 0) {
18180
- return sendInvalidSearch4008(
18302
+ return sendInvalidSearch4009(
18181
18303
  res,
18182
18304
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
18183
18305
  );
@@ -18361,30 +18483,30 @@ async function listDocumentManifestsOperation(params) {
18361
18483
 
18362
18484
  // src/data/rest-api/routes/data/documentmanifest/documentmanifest-list-route.ts
18363
18485
  var DOCUMENTMANIFEST_RESOURCE_TYPE = "DocumentManifest";
18364
- function stripModifier9(key) {
18486
+ function stripModifier10(key) {
18365
18487
  const idx = key.indexOf(":");
18366
18488
  return idx === -1 ? key : key.slice(0, idx);
18367
18489
  }
18368
- function isResultParameter9(key) {
18490
+ function isResultParameter10(key) {
18369
18491
  return key.startsWith("_");
18370
18492
  }
18371
- function sendInvalidSearch4009(res, diagnostics) {
18493
+ function sendInvalidSearch40010(res, diagnostics) {
18372
18494
  return res.status(400).json({
18373
18495
  resourceType: "OperationOutcome",
18374
18496
  issue: [{ severity: "error", code: "invalid", diagnostics }]
18375
18497
  });
18376
18498
  }
18377
- function extractSearchParamKeys9(query) {
18499
+ function extractSearchParamKeys10(query) {
18378
18500
  const out = [];
18379
18501
  for (const rawKey of Object.keys(query)) {
18380
- if (isResultParameter9(rawKey)) {
18502
+ if (isResultParameter10(rawKey)) {
18381
18503
  continue;
18382
18504
  }
18383
- out.push({ rawKey, code: stripModifier9(rawKey) });
18505
+ out.push({ rawKey, code: stripModifier10(rawKey) });
18384
18506
  }
18385
18507
  return out;
18386
18508
  }
18387
- function buildUnknownParamDiagnostics9(unknownCodes) {
18509
+ function buildUnknownParamDiagnostics10(unknownCodes) {
18388
18510
  const validCodes = getRegisteredSearchParameters(
18389
18511
  DOCUMENTMANIFEST_RESOURCE_TYPE
18390
18512
  ).map((p) => p.code).sort().join(", ");
@@ -18395,7 +18517,7 @@ function buildUnknownParamDiagnostics9(unknownCodes) {
18395
18517
  `Valid codes: ${validCodes}.`
18396
18518
  ].join(" ");
18397
18519
  }
18398
- function findMalformedReference9(query, searchParamKeys) {
18520
+ function findMalformedReference10(query, searchParamKeys) {
18399
18521
  const referenceCodes = new Set(
18400
18522
  getRegisteredSearchParameters(DOCUMENTMANIFEST_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
18401
18523
  );
@@ -18421,7 +18543,7 @@ function findMalformedReference9(query, searchParamKeys) {
18421
18543
  return void 0;
18422
18544
  }
18423
18545
  async function listDocumentManifestsRoute(req, res) {
18424
- const searchParamKeys = extractSearchParamKeys9(
18546
+ const searchParamKeys = extractSearchParamKeys10(
18425
18547
  req.query
18426
18548
  );
18427
18549
  if (searchParamKeys.length === 0) {
@@ -18439,17 +18561,17 @@ async function listDocumentManifestsRoute(req, res) {
18439
18561
  const validCodes = new Set(registered.map((p) => p.code));
18440
18562
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
18441
18563
  if (unknownCodes.length > 0) {
18442
- return sendInvalidSearch4009(
18564
+ return sendInvalidSearch40010(
18443
18565
  res,
18444
- buildUnknownParamDiagnostics9([...new Set(unknownCodes)])
18566
+ buildUnknownParamDiagnostics10([...new Set(unknownCodes)])
18445
18567
  );
18446
18568
  }
18447
- const malformedRef = findMalformedReference9(
18569
+ const malformedRef = findMalformedReference10(
18448
18570
  req.query,
18449
18571
  searchParamKeys
18450
18572
  );
18451
18573
  if (malformedRef !== void 0) {
18452
- return sendInvalidSearch4009(
18574
+ return sendInvalidSearch40010(
18453
18575
  res,
18454
18576
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
18455
18577
  );
@@ -18636,30 +18758,30 @@ async function listDocumentReferencesOperation(params) {
18636
18758
 
18637
18759
  // src/data/rest-api/routes/data/documentreference/documentreference-list-route.ts
18638
18760
  var DOCUMENTREFERENCE_RESOURCE_TYPE = "DocumentReference";
18639
- function stripModifier10(key) {
18761
+ function stripModifier11(key) {
18640
18762
  const idx = key.indexOf(":");
18641
18763
  return idx === -1 ? key : key.slice(0, idx);
18642
18764
  }
18643
- function isResultParameter10(key) {
18765
+ function isResultParameter11(key) {
18644
18766
  return key.startsWith("_");
18645
18767
  }
18646
- function sendInvalidSearch40010(res, diagnostics) {
18768
+ function sendInvalidSearch40011(res, diagnostics) {
18647
18769
  return res.status(400).json({
18648
18770
  resourceType: "OperationOutcome",
18649
18771
  issue: [{ severity: "error", code: "invalid", diagnostics }]
18650
18772
  });
18651
18773
  }
18652
- function extractSearchParamKeys10(query) {
18774
+ function extractSearchParamKeys11(query) {
18653
18775
  const out = [];
18654
18776
  for (const rawKey of Object.keys(query)) {
18655
- if (isResultParameter10(rawKey)) {
18777
+ if (isResultParameter11(rawKey)) {
18656
18778
  continue;
18657
18779
  }
18658
- out.push({ rawKey, code: stripModifier10(rawKey) });
18780
+ out.push({ rawKey, code: stripModifier11(rawKey) });
18659
18781
  }
18660
18782
  return out;
18661
18783
  }
18662
- function buildUnknownParamDiagnostics10(unknownCodes) {
18784
+ function buildUnknownParamDiagnostics11(unknownCodes) {
18663
18785
  const validCodes = getRegisteredSearchParameters(
18664
18786
  DOCUMENTREFERENCE_RESOURCE_TYPE
18665
18787
  ).map((p) => p.code).sort().join(", ");
@@ -18670,7 +18792,7 @@ function buildUnknownParamDiagnostics10(unknownCodes) {
18670
18792
  `Valid codes: ${validCodes}.`
18671
18793
  ].join(" ");
18672
18794
  }
18673
- function findMalformedReference10(query, searchParamKeys) {
18795
+ function findMalformedReference11(query, searchParamKeys) {
18674
18796
  const referenceCodes = new Set(
18675
18797
  getRegisteredSearchParameters(DOCUMENTREFERENCE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
18676
18798
  );
@@ -18696,7 +18818,7 @@ function findMalformedReference10(query, searchParamKeys) {
18696
18818
  return void 0;
18697
18819
  }
18698
18820
  async function listDocumentReferencesRoute(req, res) {
18699
- const searchParamKeys = extractSearchParamKeys10(
18821
+ const searchParamKeys = extractSearchParamKeys11(
18700
18822
  req.query
18701
18823
  );
18702
18824
  if (searchParamKeys.length === 0) {
@@ -18714,17 +18836,17 @@ async function listDocumentReferencesRoute(req, res) {
18714
18836
  const validCodes = new Set(registered.map((p) => p.code));
18715
18837
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
18716
18838
  if (unknownCodes.length > 0) {
18717
- return sendInvalidSearch40010(
18839
+ return sendInvalidSearch40011(
18718
18840
  res,
18719
- buildUnknownParamDiagnostics10([...new Set(unknownCodes)])
18841
+ buildUnknownParamDiagnostics11([...new Set(unknownCodes)])
18720
18842
  );
18721
18843
  }
18722
- const malformedRef = findMalformedReference10(
18844
+ const malformedRef = findMalformedReference11(
18723
18845
  req.query,
18724
18846
  searchParamKeys
18725
18847
  );
18726
18848
  if (malformedRef !== void 0) {
18727
- return sendInvalidSearch40010(
18849
+ return sendInvalidSearch40011(
18728
18850
  res,
18729
18851
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
18730
18852
  );
@@ -19092,30 +19214,30 @@ async function listEncountersOperation(params) {
19092
19214
 
19093
19215
  // src/data/rest-api/routes/data/encounter/encounter-list-route.ts
19094
19216
  var ENCOUNTER_RESOURCE_TYPE = "Encounter";
19095
- function stripModifier11(key) {
19217
+ function stripModifier12(key) {
19096
19218
  const idx = key.indexOf(":");
19097
19219
  return idx === -1 ? key : key.slice(0, idx);
19098
19220
  }
19099
- function isResultParameter11(key) {
19221
+ function isResultParameter12(key) {
19100
19222
  return key.startsWith("_");
19101
19223
  }
19102
- function sendInvalidSearch40011(res, diagnostics) {
19224
+ function sendInvalidSearch40012(res, diagnostics) {
19103
19225
  return res.status(400).json({
19104
19226
  resourceType: "OperationOutcome",
19105
19227
  issue: [{ severity: "error", code: "invalid", diagnostics }]
19106
19228
  });
19107
19229
  }
19108
- function extractSearchParamKeys11(query) {
19230
+ function extractSearchParamKeys12(query) {
19109
19231
  const out = [];
19110
19232
  for (const rawKey of Object.keys(query)) {
19111
- if (isResultParameter11(rawKey)) {
19233
+ if (isResultParameter12(rawKey)) {
19112
19234
  continue;
19113
19235
  }
19114
- out.push({ rawKey, code: stripModifier11(rawKey) });
19236
+ out.push({ rawKey, code: stripModifier12(rawKey) });
19115
19237
  }
19116
19238
  return out;
19117
19239
  }
19118
- function buildUnknownParamDiagnostics11(unknownCodes) {
19240
+ function buildUnknownParamDiagnostics12(unknownCodes) {
19119
19241
  const validCodes = getRegisteredSearchParameters(ENCOUNTER_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
19120
19242
  const codes = unknownCodes.join(", ");
19121
19243
  const isPlural = unknownCodes.length !== 1;
@@ -19124,7 +19246,7 @@ function buildUnknownParamDiagnostics11(unknownCodes) {
19124
19246
  `Valid codes: ${validCodes}.`
19125
19247
  ].join(" ");
19126
19248
  }
19127
- function findMalformedReference11(query, searchParamKeys) {
19249
+ function findMalformedReference12(query, searchParamKeys) {
19128
19250
  const referenceCodes = new Set(
19129
19251
  getRegisteredSearchParameters(ENCOUNTER_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
19130
19252
  );
@@ -19147,7 +19269,7 @@ function findMalformedReference11(query, searchParamKeys) {
19147
19269
  return void 0;
19148
19270
  }
19149
19271
  async function listEncountersRoute(req, res) {
19150
- const searchParamKeys = extractSearchParamKeys11(
19272
+ const searchParamKeys = extractSearchParamKeys12(
19151
19273
  req.query
19152
19274
  );
19153
19275
  if (searchParamKeys.length === 0) {
@@ -19163,17 +19285,17 @@ async function listEncountersRoute(req, res) {
19163
19285
  const validCodes = new Set(registered.map((p) => p.code));
19164
19286
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
19165
19287
  if (unknownCodes.length > 0) {
19166
- return sendInvalidSearch40011(
19288
+ return sendInvalidSearch40012(
19167
19289
  res,
19168
- buildUnknownParamDiagnostics11([...new Set(unknownCodes)])
19290
+ buildUnknownParamDiagnostics12([...new Set(unknownCodes)])
19169
19291
  );
19170
19292
  }
19171
- const malformedRef = findMalformedReference11(
19293
+ const malformedRef = findMalformedReference12(
19172
19294
  req.query,
19173
19295
  searchParamKeys
19174
19296
  );
19175
19297
  if (malformedRef !== void 0) {
19176
- return sendInvalidSearch40011(
19298
+ return sendInvalidSearch40012(
19177
19299
  res,
19178
19300
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
19179
19301
  );
@@ -19355,30 +19477,30 @@ async function listEndpointsOperation(params) {
19355
19477
 
19356
19478
  // src/data/rest-api/routes/data/endpoint/endpoint-list-route.ts
19357
19479
  var ENDPOINT_RESOURCE_TYPE = "Endpoint";
19358
- function stripModifier12(key) {
19480
+ function stripModifier13(key) {
19359
19481
  const idx = key.indexOf(":");
19360
19482
  return idx === -1 ? key : key.slice(0, idx);
19361
19483
  }
19362
- function isResultParameter12(key) {
19484
+ function isResultParameter13(key) {
19363
19485
  return key.startsWith("_");
19364
19486
  }
19365
- function sendInvalidSearch40012(res, diagnostics) {
19487
+ function sendInvalidSearch40013(res, diagnostics) {
19366
19488
  return res.status(400).json({
19367
19489
  resourceType: "OperationOutcome",
19368
19490
  issue: [{ severity: "error", code: "invalid", diagnostics }]
19369
19491
  });
19370
19492
  }
19371
- function extractSearchParamKeys12(query) {
19493
+ function extractSearchParamKeys13(query) {
19372
19494
  const out = [];
19373
19495
  for (const rawKey of Object.keys(query)) {
19374
- if (isResultParameter12(rawKey)) {
19496
+ if (isResultParameter13(rawKey)) {
19375
19497
  continue;
19376
19498
  }
19377
- out.push({ rawKey, code: stripModifier12(rawKey) });
19499
+ out.push({ rawKey, code: stripModifier13(rawKey) });
19378
19500
  }
19379
19501
  return out;
19380
19502
  }
19381
- function buildUnknownParamDiagnostics12(unknownCodes) {
19503
+ function buildUnknownParamDiagnostics13(unknownCodes) {
19382
19504
  const validCodes = getRegisteredSearchParameters(ENDPOINT_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
19383
19505
  const codes = unknownCodes.join(", ");
19384
19506
  const isPlural = unknownCodes.length !== 1;
@@ -19387,7 +19509,7 @@ function buildUnknownParamDiagnostics12(unknownCodes) {
19387
19509
  `Valid codes: ${validCodes}.`
19388
19510
  ].join(" ");
19389
19511
  }
19390
- function findMalformedReference12(query, searchParamKeys) {
19512
+ function findMalformedReference13(query, searchParamKeys) {
19391
19513
  const referenceCodes = new Set(
19392
19514
  getRegisteredSearchParameters(ENDPOINT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
19393
19515
  );
@@ -19413,7 +19535,7 @@ function findMalformedReference12(query, searchParamKeys) {
19413
19535
  return void 0;
19414
19536
  }
19415
19537
  async function listEndpointsRoute(req, res) {
19416
- const searchParamKeys = extractSearchParamKeys12(
19538
+ const searchParamKeys = extractSearchParamKeys13(
19417
19539
  req.query
19418
19540
  );
19419
19541
  if (searchParamKeys.length === 0) {
@@ -19429,17 +19551,17 @@ async function listEndpointsRoute(req, res) {
19429
19551
  const validCodes = new Set(registered.map((p) => p.code));
19430
19552
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
19431
19553
  if (unknownCodes.length > 0) {
19432
- return sendInvalidSearch40012(
19554
+ return sendInvalidSearch40013(
19433
19555
  res,
19434
- buildUnknownParamDiagnostics12([...new Set(unknownCodes)])
19556
+ buildUnknownParamDiagnostics13([...new Set(unknownCodes)])
19435
19557
  );
19436
19558
  }
19437
- const malformedRef = findMalformedReference12(
19559
+ const malformedRef = findMalformedReference13(
19438
19560
  req.query,
19439
19561
  searchParamKeys
19440
19562
  );
19441
19563
  if (malformedRef !== void 0) {
19442
- return sendInvalidSearch40012(
19564
+ return sendInvalidSearch40013(
19443
19565
  res,
19444
19566
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
19445
19567
  );
@@ -20792,30 +20914,30 @@ async function listExplanationOfBenefitsOperation(params) {
20792
20914
 
20793
20915
  // src/data/rest-api/routes/data/explanationofbenefit/explanationofbenefit-list-route.ts
20794
20916
  var EXPLANATIONOFBENEFIT_RESOURCE_TYPE = "ExplanationOfBenefit";
20795
- function stripModifier13(key) {
20917
+ function stripModifier14(key) {
20796
20918
  const idx = key.indexOf(":");
20797
20919
  return idx === -1 ? key : key.slice(0, idx);
20798
20920
  }
20799
- function isResultParameter13(key) {
20921
+ function isResultParameter14(key) {
20800
20922
  return key.startsWith("_");
20801
20923
  }
20802
- function sendInvalidSearch40013(res, diagnostics) {
20924
+ function sendInvalidSearch40014(res, diagnostics) {
20803
20925
  return res.status(400).json({
20804
20926
  resourceType: "OperationOutcome",
20805
20927
  issue: [{ severity: "error", code: "invalid", diagnostics }]
20806
20928
  });
20807
20929
  }
20808
- function extractSearchParamKeys13(query) {
20930
+ function extractSearchParamKeys14(query) {
20809
20931
  const out = [];
20810
20932
  for (const rawKey of Object.keys(query)) {
20811
- if (isResultParameter13(rawKey)) {
20933
+ if (isResultParameter14(rawKey)) {
20812
20934
  continue;
20813
20935
  }
20814
- out.push({ rawKey, code: stripModifier13(rawKey) });
20936
+ out.push({ rawKey, code: stripModifier14(rawKey) });
20815
20937
  }
20816
20938
  return out;
20817
20939
  }
20818
- function buildUnknownParamDiagnostics13(unknownCodes) {
20940
+ function buildUnknownParamDiagnostics14(unknownCodes) {
20819
20941
  const validCodes = getRegisteredSearchParameters(
20820
20942
  EXPLANATIONOFBENEFIT_RESOURCE_TYPE
20821
20943
  ).map((p) => p.code).sort().join(", ");
@@ -20826,7 +20948,7 @@ function buildUnknownParamDiagnostics13(unknownCodes) {
20826
20948
  `Valid codes: ${validCodes}.`
20827
20949
  ].join(" ");
20828
20950
  }
20829
- function findMalformedReference13(query, searchParamKeys) {
20951
+ function findMalformedReference14(query, searchParamKeys) {
20830
20952
  const referenceCodes = new Set(
20831
20953
  getRegisteredSearchParameters(EXPLANATIONOFBENEFIT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
20832
20954
  );
@@ -20852,7 +20974,7 @@ function findMalformedReference13(query, searchParamKeys) {
20852
20974
  return void 0;
20853
20975
  }
20854
20976
  async function listExplanationOfBenefitsRoute(req, res) {
20855
- const searchParamKeys = extractSearchParamKeys13(
20977
+ const searchParamKeys = extractSearchParamKeys14(
20856
20978
  req.query
20857
20979
  );
20858
20980
  if (searchParamKeys.length === 0) {
@@ -20870,17 +20992,17 @@ async function listExplanationOfBenefitsRoute(req, res) {
20870
20992
  const validCodes = new Set(registered.map((p) => p.code));
20871
20993
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
20872
20994
  if (unknownCodes.length > 0) {
20873
- return sendInvalidSearch40013(
20995
+ return sendInvalidSearch40014(
20874
20996
  res,
20875
- buildUnknownParamDiagnostics13([...new Set(unknownCodes)])
20997
+ buildUnknownParamDiagnostics14([...new Set(unknownCodes)])
20876
20998
  );
20877
20999
  }
20878
- const malformedRef = findMalformedReference13(
21000
+ const malformedRef = findMalformedReference14(
20879
21001
  req.query,
20880
21002
  searchParamKeys
20881
21003
  );
20882
21004
  if (malformedRef !== void 0) {
20883
- return sendInvalidSearch40013(
21005
+ return sendInvalidSearch40014(
20884
21006
  res,
20885
21007
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
20886
21008
  );
@@ -21071,30 +21193,30 @@ async function listFamilyMemberHistorysOperation(params) {
21071
21193
 
21072
21194
  // src/data/rest-api/routes/data/familymemberhistory/familymemberhistory-list-route.ts
21073
21195
  var FAMILYMEMBERHISTORY_RESOURCE_TYPE = "FamilyMemberHistory";
21074
- function stripModifier14(key) {
21196
+ function stripModifier15(key) {
21075
21197
  const idx = key.indexOf(":");
21076
21198
  return idx === -1 ? key : key.slice(0, idx);
21077
21199
  }
21078
- function isResultParameter14(key) {
21200
+ function isResultParameter15(key) {
21079
21201
  return key.startsWith("_");
21080
21202
  }
21081
- function sendInvalidSearch40014(res, diagnostics) {
21203
+ function sendInvalidSearch40015(res, diagnostics) {
21082
21204
  return res.status(400).json({
21083
21205
  resourceType: "OperationOutcome",
21084
21206
  issue: [{ severity: "error", code: "invalid", diagnostics }]
21085
21207
  });
21086
21208
  }
21087
- function extractSearchParamKeys14(query) {
21209
+ function extractSearchParamKeys15(query) {
21088
21210
  const out = [];
21089
21211
  for (const rawKey of Object.keys(query)) {
21090
- if (isResultParameter14(rawKey)) {
21212
+ if (isResultParameter15(rawKey)) {
21091
21213
  continue;
21092
21214
  }
21093
- out.push({ rawKey, code: stripModifier14(rawKey) });
21215
+ out.push({ rawKey, code: stripModifier15(rawKey) });
21094
21216
  }
21095
21217
  return out;
21096
21218
  }
21097
- function buildUnknownParamDiagnostics14(unknownCodes) {
21219
+ function buildUnknownParamDiagnostics15(unknownCodes) {
21098
21220
  const validCodes = getRegisteredSearchParameters(
21099
21221
  FAMILYMEMBERHISTORY_RESOURCE_TYPE
21100
21222
  ).map((p) => p.code).sort().join(", ");
@@ -21105,7 +21227,7 @@ function buildUnknownParamDiagnostics14(unknownCodes) {
21105
21227
  `Valid codes: ${validCodes}.`
21106
21228
  ].join(" ");
21107
21229
  }
21108
- function findMalformedReference14(query, searchParamKeys) {
21230
+ function findMalformedReference15(query, searchParamKeys) {
21109
21231
  const referenceCodes = new Set(
21110
21232
  getRegisteredSearchParameters(FAMILYMEMBERHISTORY_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
21111
21233
  );
@@ -21128,7 +21250,7 @@ function findMalformedReference14(query, searchParamKeys) {
21128
21250
  return void 0;
21129
21251
  }
21130
21252
  async function listFamilyMemberHistorysRoute(req, res) {
21131
- const searchParamKeys = extractSearchParamKeys14(
21253
+ const searchParamKeys = extractSearchParamKeys15(
21132
21254
  req.query
21133
21255
  );
21134
21256
  if (searchParamKeys.length === 0) {
@@ -21146,17 +21268,17 @@ async function listFamilyMemberHistorysRoute(req, res) {
21146
21268
  const validCodes = new Set(registered.map((p) => p.code));
21147
21269
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
21148
21270
  if (unknownCodes.length > 0) {
21149
- return sendInvalidSearch40014(
21271
+ return sendInvalidSearch40015(
21150
21272
  res,
21151
- buildUnknownParamDiagnostics14([...new Set(unknownCodes)])
21273
+ buildUnknownParamDiagnostics15([...new Set(unknownCodes)])
21152
21274
  );
21153
21275
  }
21154
- const malformedRef = findMalformedReference14(
21276
+ const malformedRef = findMalformedReference15(
21155
21277
  req.query,
21156
21278
  searchParamKeys
21157
21279
  );
21158
21280
  if (malformedRef !== void 0) {
21159
- return sendInvalidSearch40014(
21281
+ return sendInvalidSearch40015(
21160
21282
  res,
21161
21283
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
21162
21284
  );
@@ -22333,30 +22455,30 @@ async function listImagingStudysOperation(params) {
22333
22455
 
22334
22456
  // src/data/rest-api/routes/data/imagingstudy/imagingstudy-list-route.ts
22335
22457
  var IMAGINGSTUDY_RESOURCE_TYPE = "ImagingStudy";
22336
- function stripModifier15(key) {
22458
+ function stripModifier16(key) {
22337
22459
  const idx = key.indexOf(":");
22338
22460
  return idx === -1 ? key : key.slice(0, idx);
22339
22461
  }
22340
- function isResultParameter15(key) {
22462
+ function isResultParameter16(key) {
22341
22463
  return key.startsWith("_");
22342
22464
  }
22343
- function sendInvalidSearch40015(res, diagnostics) {
22465
+ function sendInvalidSearch40016(res, diagnostics) {
22344
22466
  return res.status(400).json({
22345
22467
  resourceType: "OperationOutcome",
22346
22468
  issue: [{ severity: "error", code: "invalid", diagnostics }]
22347
22469
  });
22348
22470
  }
22349
- function extractSearchParamKeys15(query) {
22471
+ function extractSearchParamKeys16(query) {
22350
22472
  const out = [];
22351
22473
  for (const rawKey of Object.keys(query)) {
22352
- if (isResultParameter15(rawKey)) {
22474
+ if (isResultParameter16(rawKey)) {
22353
22475
  continue;
22354
22476
  }
22355
- out.push({ rawKey, code: stripModifier15(rawKey) });
22477
+ out.push({ rawKey, code: stripModifier16(rawKey) });
22356
22478
  }
22357
22479
  return out;
22358
22480
  }
22359
- function buildUnknownParamDiagnostics15(unknownCodes) {
22481
+ function buildUnknownParamDiagnostics16(unknownCodes) {
22360
22482
  const validCodes = getRegisteredSearchParameters(IMAGINGSTUDY_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
22361
22483
  const codes = unknownCodes.join(", ");
22362
22484
  const isPlural = unknownCodes.length !== 1;
@@ -22365,7 +22487,7 @@ function buildUnknownParamDiagnostics15(unknownCodes) {
22365
22487
  `Valid codes: ${validCodes}.`
22366
22488
  ].join(" ");
22367
22489
  }
22368
- function findMalformedReference15(query, searchParamKeys) {
22490
+ function findMalformedReference16(query, searchParamKeys) {
22369
22491
  const referenceCodes = new Set(
22370
22492
  getRegisteredSearchParameters(IMAGINGSTUDY_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
22371
22493
  );
@@ -22391,7 +22513,7 @@ function findMalformedReference15(query, searchParamKeys) {
22391
22513
  return void 0;
22392
22514
  }
22393
22515
  async function listImagingStudysRoute(req, res) {
22394
- const searchParamKeys = extractSearchParamKeys15(
22516
+ const searchParamKeys = extractSearchParamKeys16(
22395
22517
  req.query
22396
22518
  );
22397
22519
  if (searchParamKeys.length === 0) {
@@ -22407,17 +22529,17 @@ async function listImagingStudysRoute(req, res) {
22407
22529
  const validCodes = new Set(registered.map((p) => p.code));
22408
22530
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
22409
22531
  if (unknownCodes.length > 0) {
22410
- return sendInvalidSearch40015(
22532
+ return sendInvalidSearch40016(
22411
22533
  res,
22412
- buildUnknownParamDiagnostics15([...new Set(unknownCodes)])
22534
+ buildUnknownParamDiagnostics16([...new Set(unknownCodes)])
22413
22535
  );
22414
22536
  }
22415
- const malformedRef = findMalformedReference15(
22537
+ const malformedRef = findMalformedReference16(
22416
22538
  req.query,
22417
22539
  searchParamKeys
22418
22540
  );
22419
22541
  if (malformedRef !== void 0) {
22420
- return sendInvalidSearch40015(
22542
+ return sendInvalidSearch40016(
22421
22543
  res,
22422
22544
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
22423
22545
  );
@@ -22594,30 +22716,30 @@ async function listImmunizationsOperation(params) {
22594
22716
 
22595
22717
  // src/data/rest-api/routes/data/immunization/immunization-list-route.ts
22596
22718
  var IMMUNIZATION_RESOURCE_TYPE = "Immunization";
22597
- function stripModifier16(key) {
22719
+ function stripModifier17(key) {
22598
22720
  const idx = key.indexOf(":");
22599
22721
  return idx === -1 ? key : key.slice(0, idx);
22600
22722
  }
22601
- function isResultParameter16(key) {
22723
+ function isResultParameter17(key) {
22602
22724
  return key.startsWith("_");
22603
22725
  }
22604
- function sendInvalidSearch40016(res, diagnostics) {
22726
+ function sendInvalidSearch40017(res, diagnostics) {
22605
22727
  return res.status(400).json({
22606
22728
  resourceType: "OperationOutcome",
22607
22729
  issue: [{ severity: "error", code: "invalid", diagnostics }]
22608
22730
  });
22609
22731
  }
22610
- function extractSearchParamKeys16(query) {
22732
+ function extractSearchParamKeys17(query) {
22611
22733
  const out = [];
22612
22734
  for (const rawKey of Object.keys(query)) {
22613
- if (isResultParameter16(rawKey)) {
22735
+ if (isResultParameter17(rawKey)) {
22614
22736
  continue;
22615
22737
  }
22616
- out.push({ rawKey, code: stripModifier16(rawKey) });
22738
+ out.push({ rawKey, code: stripModifier17(rawKey) });
22617
22739
  }
22618
22740
  return out;
22619
22741
  }
22620
- function buildUnknownParamDiagnostics16(unknownCodes) {
22742
+ function buildUnknownParamDiagnostics17(unknownCodes) {
22621
22743
  const validCodes = getRegisteredSearchParameters(IMMUNIZATION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
22622
22744
  const codes = unknownCodes.join(", ");
22623
22745
  const isPlural = unknownCodes.length !== 1;
@@ -22626,7 +22748,7 @@ function buildUnknownParamDiagnostics16(unknownCodes) {
22626
22748
  `Valid codes: ${validCodes}.`
22627
22749
  ].join(" ");
22628
22750
  }
22629
- function findMalformedReference16(query, searchParamKeys) {
22751
+ function findMalformedReference17(query, searchParamKeys) {
22630
22752
  const referenceCodes = new Set(
22631
22753
  getRegisteredSearchParameters(IMMUNIZATION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
22632
22754
  );
@@ -22649,7 +22771,7 @@ function findMalformedReference16(query, searchParamKeys) {
22649
22771
  return void 0;
22650
22772
  }
22651
22773
  async function listImmunizationsRoute(req, res) {
22652
- const searchParamKeys = extractSearchParamKeys16(
22774
+ const searchParamKeys = extractSearchParamKeys17(
22653
22775
  req.query
22654
22776
  );
22655
22777
  if (searchParamKeys.length === 0) {
@@ -22665,17 +22787,17 @@ async function listImmunizationsRoute(req, res) {
22665
22787
  const validCodes = new Set(registered.map((p) => p.code));
22666
22788
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
22667
22789
  if (unknownCodes.length > 0) {
22668
- return sendInvalidSearch40016(
22790
+ return sendInvalidSearch40017(
22669
22791
  res,
22670
- buildUnknownParamDiagnostics16([...new Set(unknownCodes)])
22792
+ buildUnknownParamDiagnostics17([...new Set(unknownCodes)])
22671
22793
  );
22672
22794
  }
22673
- const malformedRef = findMalformedReference16(
22795
+ const malformedRef = findMalformedReference17(
22674
22796
  req.query,
22675
22797
  searchParamKeys
22676
22798
  );
22677
22799
  if (malformedRef !== void 0) {
22678
- return sendInvalidSearch40016(
22800
+ return sendInvalidSearch40017(
22679
22801
  res,
22680
22802
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
22681
22803
  );
@@ -23557,30 +23679,30 @@ async function listInvoicesOperation(params) {
23557
23679
 
23558
23680
  // src/data/rest-api/routes/data/invoice/invoice-list-route.ts
23559
23681
  var INVOICE_RESOURCE_TYPE = "Invoice";
23560
- function stripModifier17(key) {
23682
+ function stripModifier18(key) {
23561
23683
  const idx = key.indexOf(":");
23562
23684
  return idx === -1 ? key : key.slice(0, idx);
23563
23685
  }
23564
- function isResultParameter17(key) {
23686
+ function isResultParameter18(key) {
23565
23687
  return key.startsWith("_");
23566
23688
  }
23567
- function sendInvalidSearch40017(res, diagnostics) {
23689
+ function sendInvalidSearch40018(res, diagnostics) {
23568
23690
  return res.status(400).json({
23569
23691
  resourceType: "OperationOutcome",
23570
23692
  issue: [{ severity: "error", code: "invalid", diagnostics }]
23571
23693
  });
23572
23694
  }
23573
- function extractSearchParamKeys17(query) {
23695
+ function extractSearchParamKeys18(query) {
23574
23696
  const out = [];
23575
23697
  for (const rawKey of Object.keys(query)) {
23576
- if (isResultParameter17(rawKey)) {
23698
+ if (isResultParameter18(rawKey)) {
23577
23699
  continue;
23578
23700
  }
23579
- out.push({ rawKey, code: stripModifier17(rawKey) });
23701
+ out.push({ rawKey, code: stripModifier18(rawKey) });
23580
23702
  }
23581
23703
  return out;
23582
23704
  }
23583
- function buildUnknownParamDiagnostics17(unknownCodes) {
23705
+ function buildUnknownParamDiagnostics18(unknownCodes) {
23584
23706
  const validCodes = getRegisteredSearchParameters(INVOICE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
23585
23707
  const codes = unknownCodes.join(", ");
23586
23708
  const isPlural = unknownCodes.length !== 1;
@@ -23589,7 +23711,7 @@ function buildUnknownParamDiagnostics17(unknownCodes) {
23589
23711
  `Valid codes: ${validCodes}.`
23590
23712
  ].join(" ");
23591
23713
  }
23592
- function findMalformedReference17(query, searchParamKeys) {
23714
+ function findMalformedReference18(query, searchParamKeys) {
23593
23715
  const referenceCodes = new Set(
23594
23716
  getRegisteredSearchParameters(INVOICE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
23595
23717
  );
@@ -23615,7 +23737,7 @@ function findMalformedReference17(query, searchParamKeys) {
23615
23737
  return void 0;
23616
23738
  }
23617
23739
  async function listInvoicesRoute(req, res) {
23618
- const searchParamKeys = extractSearchParamKeys17(
23740
+ const searchParamKeys = extractSearchParamKeys18(
23619
23741
  req.query
23620
23742
  );
23621
23743
  if (searchParamKeys.length === 0) {
@@ -23631,17 +23753,17 @@ async function listInvoicesRoute(req, res) {
23631
23753
  const validCodes = new Set(registered.map((p) => p.code));
23632
23754
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
23633
23755
  if (unknownCodes.length > 0) {
23634
- return sendInvalidSearch40017(
23756
+ return sendInvalidSearch40018(
23635
23757
  res,
23636
- buildUnknownParamDiagnostics17([...new Set(unknownCodes)])
23758
+ buildUnknownParamDiagnostics18([...new Set(unknownCodes)])
23637
23759
  );
23638
23760
  }
23639
- const malformedRef = findMalformedReference17(
23761
+ const malformedRef = findMalformedReference18(
23640
23762
  req.query,
23641
23763
  searchParamKeys
23642
23764
  );
23643
23765
  if (malformedRef !== void 0) {
23644
- return sendInvalidSearch40017(
23766
+ return sendInvalidSearch40018(
23645
23767
  res,
23646
23768
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
23647
23769
  );
@@ -24313,30 +24435,30 @@ async function listLocationsOperation(params) {
24313
24435
 
24314
24436
  // src/data/rest-api/routes/data/location/location-list-route.ts
24315
24437
  var LOCATION_RESOURCE_TYPE = "Location";
24316
- function stripModifier18(key) {
24438
+ function stripModifier19(key) {
24317
24439
  const idx = key.indexOf(":");
24318
24440
  return idx === -1 ? key : key.slice(0, idx);
24319
24441
  }
24320
- function isResultParameter18(key) {
24442
+ function isResultParameter19(key) {
24321
24443
  return key.startsWith("_");
24322
24444
  }
24323
- function sendInvalidSearch40018(res, diagnostics) {
24445
+ function sendInvalidSearch40019(res, diagnostics) {
24324
24446
  return res.status(400).json({
24325
24447
  resourceType: "OperationOutcome",
24326
24448
  issue: [{ severity: "error", code: "invalid", diagnostics }]
24327
24449
  });
24328
24450
  }
24329
- function extractSearchParamKeys18(query) {
24451
+ function extractSearchParamKeys19(query) {
24330
24452
  const out = [];
24331
24453
  for (const rawKey of Object.keys(query)) {
24332
- if (isResultParameter18(rawKey)) {
24454
+ if (isResultParameter19(rawKey)) {
24333
24455
  continue;
24334
24456
  }
24335
- out.push({ rawKey, code: stripModifier18(rawKey) });
24457
+ out.push({ rawKey, code: stripModifier19(rawKey) });
24336
24458
  }
24337
24459
  return out;
24338
24460
  }
24339
- function buildUnknownParamDiagnostics18(unknownCodes) {
24461
+ function buildUnknownParamDiagnostics19(unknownCodes) {
24340
24462
  const validCodes = getRegisteredSearchParameters(LOCATION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
24341
24463
  const codes = unknownCodes.join(", ");
24342
24464
  const isPlural = unknownCodes.length !== 1;
@@ -24345,7 +24467,7 @@ function buildUnknownParamDiagnostics18(unknownCodes) {
24345
24467
  `Valid codes: ${validCodes}.`
24346
24468
  ].join(" ");
24347
24469
  }
24348
- function findMalformedReference18(query, searchParamKeys) {
24470
+ function findMalformedReference19(query, searchParamKeys) {
24349
24471
  const referenceCodes = new Set(
24350
24472
  getRegisteredSearchParameters(LOCATION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
24351
24473
  );
@@ -24371,7 +24493,7 @@ function findMalformedReference18(query, searchParamKeys) {
24371
24493
  return void 0;
24372
24494
  }
24373
24495
  async function listLocationsRoute(req, res) {
24374
- const searchParamKeys = extractSearchParamKeys18(
24496
+ const searchParamKeys = extractSearchParamKeys19(
24375
24497
  req.query
24376
24498
  );
24377
24499
  if (searchParamKeys.length === 0) {
@@ -24387,17 +24509,17 @@ async function listLocationsRoute(req, res) {
24387
24509
  const validCodes = new Set(registered.map((p) => p.code));
24388
24510
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
24389
24511
  if (unknownCodes.length > 0) {
24390
- return sendInvalidSearch40018(
24512
+ return sendInvalidSearch40019(
24391
24513
  res,
24392
- buildUnknownParamDiagnostics18([...new Set(unknownCodes)])
24514
+ buildUnknownParamDiagnostics19([...new Set(unknownCodes)])
24393
24515
  );
24394
24516
  }
24395
- const malformedRef = findMalformedReference18(
24517
+ const malformedRef = findMalformedReference19(
24396
24518
  req.query,
24397
24519
  searchParamKeys
24398
24520
  );
24399
24521
  if (malformedRef !== void 0) {
24400
- return sendInvalidSearch40018(
24522
+ return sendInvalidSearch40019(
24401
24523
  res,
24402
24524
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
24403
24525
  );
@@ -25765,30 +25887,30 @@ async function listMedicationRequestsOperation(params) {
25765
25887
 
25766
25888
  // src/data/rest-api/routes/data/medicationrequest/medicationrequest-list-route.ts
25767
25889
  var MEDICATIONREQUEST_RESOURCE_TYPE = "MedicationRequest";
25768
- function stripModifier19(key) {
25890
+ function stripModifier20(key) {
25769
25891
  const idx = key.indexOf(":");
25770
25892
  return idx === -1 ? key : key.slice(0, idx);
25771
25893
  }
25772
- function isResultParameter19(key) {
25894
+ function isResultParameter20(key) {
25773
25895
  return key.startsWith("_");
25774
25896
  }
25775
- function sendInvalidSearch40019(res, diagnostics) {
25897
+ function sendInvalidSearch40020(res, diagnostics) {
25776
25898
  return res.status(400).json({
25777
25899
  resourceType: "OperationOutcome",
25778
25900
  issue: [{ severity: "error", code: "invalid", diagnostics }]
25779
25901
  });
25780
25902
  }
25781
- function extractSearchParamKeys19(query) {
25903
+ function extractSearchParamKeys20(query) {
25782
25904
  const out = [];
25783
25905
  for (const rawKey of Object.keys(query)) {
25784
- if (isResultParameter19(rawKey)) {
25906
+ if (isResultParameter20(rawKey)) {
25785
25907
  continue;
25786
25908
  }
25787
- out.push({ rawKey, code: stripModifier19(rawKey) });
25909
+ out.push({ rawKey, code: stripModifier20(rawKey) });
25788
25910
  }
25789
25911
  return out;
25790
25912
  }
25791
- function buildUnknownParamDiagnostics19(unknownCodes) {
25913
+ function buildUnknownParamDiagnostics20(unknownCodes) {
25792
25914
  const validCodes = getRegisteredSearchParameters(
25793
25915
  MEDICATIONREQUEST_RESOURCE_TYPE
25794
25916
  ).map((p) => p.code).sort().join(", ");
@@ -25799,7 +25921,7 @@ function buildUnknownParamDiagnostics19(unknownCodes) {
25799
25921
  `Valid codes: ${validCodes}.`
25800
25922
  ].join(" ");
25801
25923
  }
25802
- function findMalformedReference19(query, searchParamKeys) {
25924
+ function findMalformedReference20(query, searchParamKeys) {
25803
25925
  const referenceCodes = new Set(
25804
25926
  getRegisteredSearchParameters(MEDICATIONREQUEST_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
25805
25927
  );
@@ -25822,7 +25944,7 @@ function findMalformedReference19(query, searchParamKeys) {
25822
25944
  return void 0;
25823
25945
  }
25824
25946
  async function listMedicationRequestsRoute(req, res) {
25825
- const searchParamKeys = extractSearchParamKeys19(
25947
+ const searchParamKeys = extractSearchParamKeys20(
25826
25948
  req.query
25827
25949
  );
25828
25950
  if (searchParamKeys.length === 0) {
@@ -25840,17 +25962,17 @@ async function listMedicationRequestsRoute(req, res) {
25840
25962
  const validCodes = new Set(registered.map((p) => p.code));
25841
25963
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
25842
25964
  if (unknownCodes.length > 0) {
25843
- return sendInvalidSearch40019(
25965
+ return sendInvalidSearch40020(
25844
25966
  res,
25845
- buildUnknownParamDiagnostics19([...new Set(unknownCodes)])
25967
+ buildUnknownParamDiagnostics20([...new Set(unknownCodes)])
25846
25968
  );
25847
25969
  }
25848
- const malformedRef = findMalformedReference19(
25970
+ const malformedRef = findMalformedReference20(
25849
25971
  req.query,
25850
25972
  searchParamKeys
25851
25973
  );
25852
25974
  if (malformedRef !== void 0) {
25853
- return sendInvalidSearch40019(
25975
+ return sendInvalidSearch40020(
25854
25976
  res,
25855
25977
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
25856
25978
  );
@@ -26041,30 +26163,30 @@ async function listMedicationStatementsOperation(params) {
26041
26163
 
26042
26164
  // src/data/rest-api/routes/data/medicationstatement/medicationstatement-list-route.ts
26043
26165
  var MEDICATIONSTATEMENT_RESOURCE_TYPE = "MedicationStatement";
26044
- function stripModifier20(key) {
26166
+ function stripModifier21(key) {
26045
26167
  const idx = key.indexOf(":");
26046
26168
  return idx === -1 ? key : key.slice(0, idx);
26047
26169
  }
26048
- function isResultParameter20(key) {
26170
+ function isResultParameter21(key) {
26049
26171
  return key.startsWith("_");
26050
26172
  }
26051
- function sendInvalidSearch40020(res, diagnostics) {
26173
+ function sendInvalidSearch40021(res, diagnostics) {
26052
26174
  return res.status(400).json({
26053
26175
  resourceType: "OperationOutcome",
26054
26176
  issue: [{ severity: "error", code: "invalid", diagnostics }]
26055
26177
  });
26056
26178
  }
26057
- function extractSearchParamKeys20(query) {
26179
+ function extractSearchParamKeys21(query) {
26058
26180
  const out = [];
26059
26181
  for (const rawKey of Object.keys(query)) {
26060
- if (isResultParameter20(rawKey)) {
26182
+ if (isResultParameter21(rawKey)) {
26061
26183
  continue;
26062
26184
  }
26063
- out.push({ rawKey, code: stripModifier20(rawKey) });
26185
+ out.push({ rawKey, code: stripModifier21(rawKey) });
26064
26186
  }
26065
26187
  return out;
26066
26188
  }
26067
- function buildUnknownParamDiagnostics20(unknownCodes) {
26189
+ function buildUnknownParamDiagnostics21(unknownCodes) {
26068
26190
  const validCodes = getRegisteredSearchParameters(
26069
26191
  MEDICATIONSTATEMENT_RESOURCE_TYPE
26070
26192
  ).map((p) => p.code).sort().join(", ");
@@ -26075,7 +26197,7 @@ function buildUnknownParamDiagnostics20(unknownCodes) {
26075
26197
  `Valid codes: ${validCodes}.`
26076
26198
  ].join(" ");
26077
26199
  }
26078
- function findMalformedReference20(query, searchParamKeys) {
26200
+ function findMalformedReference21(query, searchParamKeys) {
26079
26201
  const referenceCodes = new Set(
26080
26202
  getRegisteredSearchParameters(MEDICATIONSTATEMENT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
26081
26203
  );
@@ -26098,7 +26220,7 @@ function findMalformedReference20(query, searchParamKeys) {
26098
26220
  return void 0;
26099
26221
  }
26100
26222
  async function listMedicationStatementsRoute(req, res) {
26101
- const searchParamKeys = extractSearchParamKeys20(
26223
+ const searchParamKeys = extractSearchParamKeys21(
26102
26224
  req.query
26103
26225
  );
26104
26226
  if (searchParamKeys.length === 0) {
@@ -26116,17 +26238,17 @@ async function listMedicationStatementsRoute(req, res) {
26116
26238
  const validCodes = new Set(registered.map((p) => p.code));
26117
26239
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
26118
26240
  if (unknownCodes.length > 0) {
26119
- return sendInvalidSearch40020(
26241
+ return sendInvalidSearch40021(
26120
26242
  res,
26121
- buildUnknownParamDiagnostics20([...new Set(unknownCodes)])
26243
+ buildUnknownParamDiagnostics21([...new Set(unknownCodes)])
26122
26244
  );
26123
26245
  }
26124
- const malformedRef = findMalformedReference20(
26246
+ const malformedRef = findMalformedReference21(
26125
26247
  req.query,
26126
26248
  searchParamKeys
26127
26249
  );
26128
26250
  if (malformedRef !== void 0) {
26129
- return sendInvalidSearch40020(
26251
+ return sendInvalidSearch40021(
26130
26252
  res,
26131
26253
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
26132
26254
  );
@@ -28983,30 +29105,30 @@ async function listObservationsOperation(params) {
28983
29105
 
28984
29106
  // src/data/rest-api/routes/data/observation/observation-list-route.ts
28985
29107
  var OBSERVATION_RESOURCE_TYPE = "Observation";
28986
- function stripModifier21(key) {
29108
+ function stripModifier22(key) {
28987
29109
  const idx = key.indexOf(":");
28988
29110
  return idx === -1 ? key : key.slice(0, idx);
28989
29111
  }
28990
- function isResultParameter21(key) {
29112
+ function isResultParameter22(key) {
28991
29113
  return key.startsWith("_");
28992
29114
  }
28993
- function sendInvalidSearch40021(res, diagnostics) {
29115
+ function sendInvalidSearch40022(res, diagnostics) {
28994
29116
  return res.status(400).json({
28995
29117
  resourceType: "OperationOutcome",
28996
29118
  issue: [{ severity: "error", code: "invalid", diagnostics }]
28997
29119
  });
28998
29120
  }
28999
- function extractSearchParamKeys21(query) {
29121
+ function extractSearchParamKeys22(query) {
29000
29122
  const out = [];
29001
29123
  for (const rawKey of Object.keys(query)) {
29002
- if (isResultParameter21(rawKey)) {
29124
+ if (isResultParameter22(rawKey)) {
29003
29125
  continue;
29004
29126
  }
29005
- out.push({ rawKey, code: stripModifier21(rawKey) });
29127
+ out.push({ rawKey, code: stripModifier22(rawKey) });
29006
29128
  }
29007
29129
  return out;
29008
29130
  }
29009
- function buildUnknownParamDiagnostics21(unknownCodes) {
29131
+ function buildUnknownParamDiagnostics22(unknownCodes) {
29010
29132
  const validCodes = getRegisteredSearchParameters(OBSERVATION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
29011
29133
  const codes = unknownCodes.join(", ");
29012
29134
  const isPlural = unknownCodes.length !== 1;
@@ -29015,7 +29137,7 @@ function buildUnknownParamDiagnostics21(unknownCodes) {
29015
29137
  `Valid codes: ${validCodes}.`
29016
29138
  ].join(" ");
29017
29139
  }
29018
- function findMalformedReference21(query, searchParamKeys) {
29140
+ function findMalformedReference22(query, searchParamKeys) {
29019
29141
  const referenceCodes = new Set(
29020
29142
  getRegisteredSearchParameters(OBSERVATION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
29021
29143
  );
@@ -29038,7 +29160,7 @@ function findMalformedReference21(query, searchParamKeys) {
29038
29160
  return void 0;
29039
29161
  }
29040
29162
  async function listObservationsRoute(req, res) {
29041
- const searchParamKeys = extractSearchParamKeys21(
29163
+ const searchParamKeys = extractSearchParamKeys22(
29042
29164
  req.query
29043
29165
  );
29044
29166
  if (searchParamKeys.length === 0) {
@@ -29054,17 +29176,17 @@ async function listObservationsRoute(req, res) {
29054
29176
  const validCodes = new Set(registered.map((p) => p.code));
29055
29177
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
29056
29178
  if (unknownCodes.length > 0) {
29057
- return sendInvalidSearch40021(
29179
+ return sendInvalidSearch40022(
29058
29180
  res,
29059
- buildUnknownParamDiagnostics21([...new Set(unknownCodes)])
29181
+ buildUnknownParamDiagnostics22([...new Set(unknownCodes)])
29060
29182
  );
29061
29183
  }
29062
- const malformedRef = findMalformedReference21(
29184
+ const malformedRef = findMalformedReference22(
29063
29185
  req.query,
29064
29186
  searchParamKeys
29065
29187
  );
29066
29188
  if (malformedRef !== void 0) {
29067
- return sendInvalidSearch40021(
29189
+ return sendInvalidSearch40022(
29068
29190
  res,
29069
29191
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
29070
29192
  );
@@ -29570,30 +29692,30 @@ async function listOrganizationsOperation(params) {
29570
29692
 
29571
29693
  // src/data/rest-api/routes/data/organization/organization-list-route.ts
29572
29694
  var ORGANIZATION_RESOURCE_TYPE = "Organization";
29573
- function stripModifier22(key) {
29695
+ function stripModifier23(key) {
29574
29696
  const idx = key.indexOf(":");
29575
29697
  return idx === -1 ? key : key.slice(0, idx);
29576
29698
  }
29577
- function isResultParameter22(key) {
29699
+ function isResultParameter23(key) {
29578
29700
  return key.startsWith("_");
29579
29701
  }
29580
- function sendInvalidSearch40022(res, diagnostics) {
29702
+ function sendInvalidSearch40023(res, diagnostics) {
29581
29703
  return res.status(400).json({
29582
29704
  resourceType: "OperationOutcome",
29583
29705
  issue: [{ severity: "error", code: "invalid", diagnostics }]
29584
29706
  });
29585
29707
  }
29586
- function extractSearchParamKeys22(query) {
29708
+ function extractSearchParamKeys23(query) {
29587
29709
  const out = [];
29588
29710
  for (const rawKey of Object.keys(query)) {
29589
- if (isResultParameter22(rawKey)) {
29711
+ if (isResultParameter23(rawKey)) {
29590
29712
  continue;
29591
29713
  }
29592
- out.push({ rawKey, code: stripModifier22(rawKey) });
29714
+ out.push({ rawKey, code: stripModifier23(rawKey) });
29593
29715
  }
29594
29716
  return out;
29595
29717
  }
29596
- function buildUnknownParamDiagnostics22(unknownCodes) {
29718
+ function buildUnknownParamDiagnostics23(unknownCodes) {
29597
29719
  const validCodes = getRegisteredSearchParameters(ORGANIZATION_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
29598
29720
  const codes = unknownCodes.join(", ");
29599
29721
  const isPlural = unknownCodes.length !== 1;
@@ -29602,7 +29724,7 @@ function buildUnknownParamDiagnostics22(unknownCodes) {
29602
29724
  `Valid codes: ${validCodes}.`
29603
29725
  ].join(" ");
29604
29726
  }
29605
- function findMalformedReference22(query, searchParamKeys) {
29727
+ function findMalformedReference23(query, searchParamKeys) {
29606
29728
  const referenceCodes = new Set(
29607
29729
  getRegisteredSearchParameters(ORGANIZATION_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
29608
29730
  );
@@ -29628,7 +29750,7 @@ function findMalformedReference22(query, searchParamKeys) {
29628
29750
  return void 0;
29629
29751
  }
29630
29752
  async function listOrganizationsRoute(req, res) {
29631
- const searchParamKeys = extractSearchParamKeys22(
29753
+ const searchParamKeys = extractSearchParamKeys23(
29632
29754
  req.query
29633
29755
  );
29634
29756
  if (searchParamKeys.length === 0) {
@@ -29644,17 +29766,17 @@ async function listOrganizationsRoute(req, res) {
29644
29766
  const validCodes = new Set(registered.map((p) => p.code));
29645
29767
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
29646
29768
  if (unknownCodes.length > 0) {
29647
- return sendInvalidSearch40022(
29769
+ return sendInvalidSearch40023(
29648
29770
  res,
29649
- buildUnknownParamDiagnostics22([...new Set(unknownCodes)])
29771
+ buildUnknownParamDiagnostics23([...new Set(unknownCodes)])
29650
29772
  );
29651
29773
  }
29652
- const malformedRef = findMalformedReference22(
29774
+ const malformedRef = findMalformedReference23(
29653
29775
  req.query,
29654
29776
  searchParamKeys
29655
29777
  );
29656
29778
  if (malformedRef !== void 0) {
29657
- return sendInvalidSearch40022(
29779
+ return sendInvalidSearch40023(
29658
29780
  res,
29659
29781
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
29660
29782
  );
@@ -30015,30 +30137,30 @@ async function listPatientsOperation(params) {
30015
30137
 
30016
30138
  // src/data/rest-api/routes/data/patient/patient-list-route.ts
30017
30139
  var PATIENT_RESOURCE_TYPE = "Patient";
30018
- function stripModifier23(key) {
30140
+ function stripModifier24(key) {
30019
30141
  const idx = key.indexOf(":");
30020
30142
  return idx === -1 ? key : key.slice(0, idx);
30021
30143
  }
30022
- function isResultParameter23(key) {
30144
+ function isResultParameter24(key) {
30023
30145
  return key.startsWith("_");
30024
30146
  }
30025
- function sendInvalidSearch40023(res, diagnostics) {
30147
+ function sendInvalidSearch40024(res, diagnostics) {
30026
30148
  return res.status(400).json({
30027
30149
  resourceType: "OperationOutcome",
30028
30150
  issue: [{ severity: "error", code: "invalid", diagnostics }]
30029
30151
  });
30030
30152
  }
30031
- function extractSearchParamKeys23(query) {
30153
+ function extractSearchParamKeys24(query) {
30032
30154
  const out = [];
30033
30155
  for (const rawKey of Object.keys(query)) {
30034
- if (isResultParameter23(rawKey)) {
30156
+ if (isResultParameter24(rawKey)) {
30035
30157
  continue;
30036
30158
  }
30037
- out.push({ rawKey, code: stripModifier23(rawKey) });
30159
+ out.push({ rawKey, code: stripModifier24(rawKey) });
30038
30160
  }
30039
30161
  return out;
30040
30162
  }
30041
- function buildUnknownParamDiagnostics23(unknownCodes) {
30163
+ function buildUnknownParamDiagnostics24(unknownCodes) {
30042
30164
  const validCodes = getRegisteredSearchParameters(PATIENT_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
30043
30165
  const codes = unknownCodes.join(", ");
30044
30166
  const isPlural = unknownCodes.length !== 1;
@@ -30047,7 +30169,7 @@ function buildUnknownParamDiagnostics23(unknownCodes) {
30047
30169
  `Valid codes: ${validCodes}.`
30048
30170
  ].join(" ");
30049
30171
  }
30050
- function findMalformedReference23(query, searchParamKeys) {
30172
+ function findMalformedReference24(query, searchParamKeys) {
30051
30173
  const referenceCodes = new Set(
30052
30174
  getRegisteredSearchParameters(PATIENT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
30053
30175
  );
@@ -30070,7 +30192,7 @@ function findMalformedReference23(query, searchParamKeys) {
30070
30192
  return void 0;
30071
30193
  }
30072
30194
  async function listPatientsRoute(req, res) {
30073
- const searchParamKeys = extractSearchParamKeys23(
30195
+ const searchParamKeys = extractSearchParamKeys24(
30074
30196
  req.query
30075
30197
  );
30076
30198
  if (searchParamKeys.length === 0) {
@@ -30086,17 +30208,17 @@ async function listPatientsRoute(req, res) {
30086
30208
  const validCodes = new Set(registered.map((p) => p.code));
30087
30209
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
30088
30210
  if (unknownCodes.length > 0) {
30089
- return sendInvalidSearch40023(
30211
+ return sendInvalidSearch40024(
30090
30212
  res,
30091
- buildUnknownParamDiagnostics23([...new Set(unknownCodes)])
30213
+ buildUnknownParamDiagnostics24([...new Set(unknownCodes)])
30092
30214
  );
30093
30215
  }
30094
- const malformedRef = findMalformedReference23(
30216
+ const malformedRef = findMalformedReference24(
30095
30217
  req.query,
30096
30218
  searchParamKeys
30097
30219
  );
30098
30220
  if (malformedRef !== void 0) {
30099
- return sendInvalidSearch40023(
30221
+ return sendInvalidSearch40024(
30100
30222
  res,
30101
30223
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
30102
30224
  );
@@ -30273,30 +30395,30 @@ async function listPaymentNoticesOperation(params) {
30273
30395
 
30274
30396
  // src/data/rest-api/routes/data/paymentnotice/paymentnotice-list-route.ts
30275
30397
  var PAYMENTNOTICE_RESOURCE_TYPE = "PaymentNotice";
30276
- function stripModifier24(key) {
30398
+ function stripModifier25(key) {
30277
30399
  const idx = key.indexOf(":");
30278
30400
  return idx === -1 ? key : key.slice(0, idx);
30279
30401
  }
30280
- function isResultParameter24(key) {
30402
+ function isResultParameter25(key) {
30281
30403
  return key.startsWith("_");
30282
30404
  }
30283
- function sendInvalidSearch40024(res, diagnostics) {
30405
+ function sendInvalidSearch40025(res, diagnostics) {
30284
30406
  return res.status(400).json({
30285
30407
  resourceType: "OperationOutcome",
30286
30408
  issue: [{ severity: "error", code: "invalid", diagnostics }]
30287
30409
  });
30288
30410
  }
30289
- function extractSearchParamKeys24(query) {
30411
+ function extractSearchParamKeys25(query) {
30290
30412
  const out = [];
30291
30413
  for (const rawKey of Object.keys(query)) {
30292
- if (isResultParameter24(rawKey)) {
30414
+ if (isResultParameter25(rawKey)) {
30293
30415
  continue;
30294
30416
  }
30295
- out.push({ rawKey, code: stripModifier24(rawKey) });
30417
+ out.push({ rawKey, code: stripModifier25(rawKey) });
30296
30418
  }
30297
30419
  return out;
30298
30420
  }
30299
- function buildUnknownParamDiagnostics24(unknownCodes) {
30421
+ function buildUnknownParamDiagnostics25(unknownCodes) {
30300
30422
  const validCodes = getRegisteredSearchParameters(PAYMENTNOTICE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
30301
30423
  const codes = unknownCodes.join(", ");
30302
30424
  const isPlural = unknownCodes.length !== 1;
@@ -30305,7 +30427,7 @@ function buildUnknownParamDiagnostics24(unknownCodes) {
30305
30427
  `Valid codes: ${validCodes}.`
30306
30428
  ].join(" ");
30307
30429
  }
30308
- function findMalformedReference24(query, searchParamKeys) {
30430
+ function findMalformedReference25(query, searchParamKeys) {
30309
30431
  const referenceCodes = new Set(
30310
30432
  getRegisteredSearchParameters(PAYMENTNOTICE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
30311
30433
  );
@@ -30331,7 +30453,7 @@ function findMalformedReference24(query, searchParamKeys) {
30331
30453
  return void 0;
30332
30454
  }
30333
30455
  async function listPaymentNoticesRoute(req, res) {
30334
- const searchParamKeys = extractSearchParamKeys24(
30456
+ const searchParamKeys = extractSearchParamKeys25(
30335
30457
  req.query
30336
30458
  );
30337
30459
  if (searchParamKeys.length === 0) {
@@ -30347,17 +30469,17 @@ async function listPaymentNoticesRoute(req, res) {
30347
30469
  const validCodes = new Set(registered.map((p) => p.code));
30348
30470
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
30349
30471
  if (unknownCodes.length > 0) {
30350
- return sendInvalidSearch40024(
30472
+ return sendInvalidSearch40025(
30351
30473
  res,
30352
- buildUnknownParamDiagnostics24([...new Set(unknownCodes)])
30474
+ buildUnknownParamDiagnostics25([...new Set(unknownCodes)])
30353
30475
  );
30354
30476
  }
30355
- const malformedRef = findMalformedReference24(
30477
+ const malformedRef = findMalformedReference25(
30356
30478
  req.query,
30357
30479
  searchParamKeys
30358
30480
  );
30359
30481
  if (malformedRef !== void 0) {
30360
- return sendInvalidSearch40024(
30482
+ return sendInvalidSearch40025(
30361
30483
  res,
30362
30484
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
30363
30485
  );
@@ -31055,30 +31177,30 @@ async function listPractitionersOperation(params) {
31055
31177
 
31056
31178
  // src/data/rest-api/routes/data/practitioner/practitioner-list-route.ts
31057
31179
  var PRACTITIONER_RESOURCE_TYPE = "Practitioner";
31058
- function stripModifier25(key) {
31180
+ function stripModifier26(key) {
31059
31181
  const idx = key.indexOf(":");
31060
31182
  return idx === -1 ? key : key.slice(0, idx);
31061
31183
  }
31062
- function isResultParameter25(key) {
31184
+ function isResultParameter26(key) {
31063
31185
  return key.startsWith("_");
31064
31186
  }
31065
- function sendInvalidSearch40025(res, diagnostics) {
31187
+ function sendInvalidSearch40026(res, diagnostics) {
31066
31188
  return res.status(400).json({
31067
31189
  resourceType: "OperationOutcome",
31068
31190
  issue: [{ severity: "error", code: "invalid", diagnostics }]
31069
31191
  });
31070
31192
  }
31071
- function extractSearchParamKeys25(query) {
31193
+ function extractSearchParamKeys26(query) {
31072
31194
  const out = [];
31073
31195
  for (const rawKey of Object.keys(query)) {
31074
- if (isResultParameter25(rawKey)) {
31196
+ if (isResultParameter26(rawKey)) {
31075
31197
  continue;
31076
31198
  }
31077
- out.push({ rawKey, code: stripModifier25(rawKey) });
31199
+ out.push({ rawKey, code: stripModifier26(rawKey) });
31078
31200
  }
31079
31201
  return out;
31080
31202
  }
31081
- function buildUnknownParamDiagnostics25(unknownCodes) {
31203
+ function buildUnknownParamDiagnostics26(unknownCodes) {
31082
31204
  const validCodes = getRegisteredSearchParameters(PRACTITIONER_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
31083
31205
  const codes = unknownCodes.join(", ");
31084
31206
  const isPlural = unknownCodes.length !== 1;
@@ -31087,7 +31209,7 @@ function buildUnknownParamDiagnostics25(unknownCodes) {
31087
31209
  `Valid codes: ${validCodes}.`
31088
31210
  ].join(" ");
31089
31211
  }
31090
- function findMalformedReference25(query, searchParamKeys) {
31212
+ function findMalformedReference26(query, searchParamKeys) {
31091
31213
  const referenceCodes = new Set(
31092
31214
  getRegisteredSearchParameters(PRACTITIONER_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
31093
31215
  );
@@ -31113,7 +31235,7 @@ function findMalformedReference25(query, searchParamKeys) {
31113
31235
  return void 0;
31114
31236
  }
31115
31237
  async function listPractitionersRoute(req, res) {
31116
- const searchParamKeys = extractSearchParamKeys25(
31238
+ const searchParamKeys = extractSearchParamKeys26(
31117
31239
  req.query
31118
31240
  );
31119
31241
  if (searchParamKeys.length === 0) {
@@ -31129,17 +31251,17 @@ async function listPractitionersRoute(req, res) {
31129
31251
  const validCodes = new Set(registered.map((p) => p.code));
31130
31252
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
31131
31253
  if (unknownCodes.length > 0) {
31132
- return sendInvalidSearch40025(
31254
+ return sendInvalidSearch40026(
31133
31255
  res,
31134
- buildUnknownParamDiagnostics25([...new Set(unknownCodes)])
31256
+ buildUnknownParamDiagnostics26([...new Set(unknownCodes)])
31135
31257
  );
31136
31258
  }
31137
- const malformedRef = findMalformedReference25(
31259
+ const malformedRef = findMalformedReference26(
31138
31260
  req.query,
31139
31261
  searchParamKeys
31140
31262
  );
31141
31263
  if (malformedRef !== void 0) {
31142
- return sendInvalidSearch40025(
31264
+ return sendInvalidSearch40026(
31143
31265
  res,
31144
31266
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
31145
31267
  );
@@ -31295,30 +31417,30 @@ async function getPractitionerRoleByIdRoute(req, res) {
31295
31417
 
31296
31418
  // src/data/rest-api/routes/data/practitionerrole/practitionerrole-list-route.ts
31297
31419
  var PRACTITIONERROLE_RESOURCE_TYPE = "PractitionerRole";
31298
- function stripModifier26(key) {
31420
+ function stripModifier27(key) {
31299
31421
  const idx = key.indexOf(":");
31300
31422
  return idx === -1 ? key : key.slice(0, idx);
31301
31423
  }
31302
- function isResultParameter26(key) {
31424
+ function isResultParameter27(key) {
31303
31425
  return key.startsWith("_");
31304
31426
  }
31305
- function sendInvalidSearch40026(res, diagnostics) {
31427
+ function sendInvalidSearch40027(res, diagnostics) {
31306
31428
  return res.status(400).json({
31307
31429
  resourceType: "OperationOutcome",
31308
31430
  issue: [{ severity: "error", code: "invalid", diagnostics }]
31309
31431
  });
31310
31432
  }
31311
- function extractSearchParamKeys26(query) {
31433
+ function extractSearchParamKeys27(query) {
31312
31434
  const out = [];
31313
31435
  for (const rawKey of Object.keys(query)) {
31314
- if (isResultParameter26(rawKey)) {
31436
+ if (isResultParameter27(rawKey)) {
31315
31437
  continue;
31316
31438
  }
31317
- out.push({ rawKey, code: stripModifier26(rawKey) });
31439
+ out.push({ rawKey, code: stripModifier27(rawKey) });
31318
31440
  }
31319
31441
  return out;
31320
31442
  }
31321
- function buildUnknownParamDiagnostics26(unknownCodes) {
31443
+ function buildUnknownParamDiagnostics27(unknownCodes) {
31322
31444
  const validCodes = getRegisteredSearchParameters(
31323
31445
  PRACTITIONERROLE_RESOURCE_TYPE
31324
31446
  ).map((p) => p.code).sort().join(", ");
@@ -31329,7 +31451,7 @@ function buildUnknownParamDiagnostics26(unknownCodes) {
31329
31451
  `Valid codes: ${validCodes}.`
31330
31452
  ].join(" ");
31331
31453
  }
31332
- function findMalformedReference26(query, searchParamKeys) {
31454
+ function findMalformedReference27(query, searchParamKeys) {
31333
31455
  const referenceCodes = new Set(
31334
31456
  getRegisteredSearchParameters(PRACTITIONERROLE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
31335
31457
  );
@@ -31352,7 +31474,7 @@ function findMalformedReference26(query, searchParamKeys) {
31352
31474
  return void 0;
31353
31475
  }
31354
31476
  async function listPractitionerRolesRoute(req, res) {
31355
- const searchParamKeys = extractSearchParamKeys26(
31477
+ const searchParamKeys = extractSearchParamKeys27(
31356
31478
  req.query
31357
31479
  );
31358
31480
  if (searchParamKeys.length === 0) {
@@ -31370,17 +31492,17 @@ async function listPractitionerRolesRoute(req, res) {
31370
31492
  const validCodes = new Set(registered.map((p) => p.code));
31371
31493
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
31372
31494
  if (unknownCodes.length > 0) {
31373
- return sendInvalidSearch40026(
31495
+ return sendInvalidSearch40027(
31374
31496
  res,
31375
- buildUnknownParamDiagnostics26([...new Set(unknownCodes)])
31497
+ buildUnknownParamDiagnostics27([...new Set(unknownCodes)])
31376
31498
  );
31377
31499
  }
31378
- const malformedRef = findMalformedReference26(
31500
+ const malformedRef = findMalformedReference27(
31379
31501
  req.query,
31380
31502
  searchParamKeys
31381
31503
  );
31382
31504
  if (malformedRef !== void 0) {
31383
- return sendInvalidSearch40026(
31505
+ return sendInvalidSearch40027(
31384
31506
  res,
31385
31507
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
31386
31508
  );
@@ -31564,30 +31686,30 @@ async function listProceduresOperation(params) {
31564
31686
 
31565
31687
  // src/data/rest-api/routes/data/procedure/procedure-list-route.ts
31566
31688
  var PROCEDURE_RESOURCE_TYPE = "Procedure";
31567
- function stripModifier27(key) {
31689
+ function stripModifier28(key) {
31568
31690
  const idx = key.indexOf(":");
31569
31691
  return idx === -1 ? key : key.slice(0, idx);
31570
31692
  }
31571
- function isResultParameter27(key) {
31693
+ function isResultParameter28(key) {
31572
31694
  return key.startsWith("_");
31573
31695
  }
31574
- function sendInvalidSearch40027(res, diagnostics) {
31696
+ function sendInvalidSearch40028(res, diagnostics) {
31575
31697
  return res.status(400).json({
31576
31698
  resourceType: "OperationOutcome",
31577
31699
  issue: [{ severity: "error", code: "invalid", diagnostics }]
31578
31700
  });
31579
31701
  }
31580
- function extractSearchParamKeys27(query) {
31702
+ function extractSearchParamKeys28(query) {
31581
31703
  const out = [];
31582
31704
  for (const rawKey of Object.keys(query)) {
31583
- if (isResultParameter27(rawKey)) {
31705
+ if (isResultParameter28(rawKey)) {
31584
31706
  continue;
31585
31707
  }
31586
- out.push({ rawKey, code: stripModifier27(rawKey) });
31708
+ out.push({ rawKey, code: stripModifier28(rawKey) });
31587
31709
  }
31588
31710
  return out;
31589
31711
  }
31590
- function buildUnknownParamDiagnostics27(unknownCodes) {
31712
+ function buildUnknownParamDiagnostics28(unknownCodes) {
31591
31713
  const validCodes = getRegisteredSearchParameters(PROCEDURE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
31592
31714
  const codes = unknownCodes.join(", ");
31593
31715
  const isPlural = unknownCodes.length !== 1;
@@ -31596,7 +31718,7 @@ function buildUnknownParamDiagnostics27(unknownCodes) {
31596
31718
  `Valid codes: ${validCodes}.`
31597
31719
  ].join(" ");
31598
31720
  }
31599
- function findMalformedReference27(query, searchParamKeys) {
31721
+ function findMalformedReference28(query, searchParamKeys) {
31600
31722
  const referenceCodes = new Set(
31601
31723
  getRegisteredSearchParameters(PROCEDURE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
31602
31724
  );
@@ -31619,7 +31741,7 @@ function findMalformedReference27(query, searchParamKeys) {
31619
31741
  return void 0;
31620
31742
  }
31621
31743
  async function listProceduresRoute(req, res) {
31622
- const searchParamKeys = extractSearchParamKeys27(
31744
+ const searchParamKeys = extractSearchParamKeys28(
31623
31745
  req.query
31624
31746
  );
31625
31747
  if (searchParamKeys.length === 0) {
@@ -31635,17 +31757,17 @@ async function listProceduresRoute(req, res) {
31635
31757
  const validCodes = new Set(registered.map((p) => p.code));
31636
31758
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
31637
31759
  if (unknownCodes.length > 0) {
31638
- return sendInvalidSearch40027(
31760
+ return sendInvalidSearch40028(
31639
31761
  res,
31640
- buildUnknownParamDiagnostics27([...new Set(unknownCodes)])
31762
+ buildUnknownParamDiagnostics28([...new Set(unknownCodes)])
31641
31763
  );
31642
31764
  }
31643
- const malformedRef = findMalformedReference27(
31765
+ const malformedRef = findMalformedReference28(
31644
31766
  req.query,
31645
31767
  searchParamKeys
31646
31768
  );
31647
31769
  if (malformedRef !== void 0) {
31648
- return sendInvalidSearch40027(
31770
+ return sendInvalidSearch40028(
31649
31771
  res,
31650
31772
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
31651
31773
  );
@@ -32336,30 +32458,30 @@ async function listRelatedPersonsOperation(params) {
32336
32458
 
32337
32459
  // src/data/rest-api/routes/data/relatedperson/relatedperson-list-route.ts
32338
32460
  var RELATEDPERSON_RESOURCE_TYPE = "RelatedPerson";
32339
- function stripModifier28(key) {
32461
+ function stripModifier29(key) {
32340
32462
  const idx = key.indexOf(":");
32341
32463
  return idx === -1 ? key : key.slice(0, idx);
32342
32464
  }
32343
- function isResultParameter28(key) {
32465
+ function isResultParameter29(key) {
32344
32466
  return key.startsWith("_");
32345
32467
  }
32346
- function sendInvalidSearch40028(res, diagnostics) {
32468
+ function sendInvalidSearch40029(res, diagnostics) {
32347
32469
  return res.status(400).json({
32348
32470
  resourceType: "OperationOutcome",
32349
32471
  issue: [{ severity: "error", code: "invalid", diagnostics }]
32350
32472
  });
32351
32473
  }
32352
- function extractSearchParamKeys28(query) {
32474
+ function extractSearchParamKeys29(query) {
32353
32475
  const out = [];
32354
32476
  for (const rawKey of Object.keys(query)) {
32355
- if (isResultParameter28(rawKey)) {
32477
+ if (isResultParameter29(rawKey)) {
32356
32478
  continue;
32357
32479
  }
32358
- out.push({ rawKey, code: stripModifier28(rawKey) });
32480
+ out.push({ rawKey, code: stripModifier29(rawKey) });
32359
32481
  }
32360
32482
  return out;
32361
32483
  }
32362
- function buildUnknownParamDiagnostics28(unknownCodes) {
32484
+ function buildUnknownParamDiagnostics29(unknownCodes) {
32363
32485
  const validCodes = getRegisteredSearchParameters(RELATEDPERSON_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
32364
32486
  const codes = unknownCodes.join(", ");
32365
32487
  const isPlural = unknownCodes.length !== 1;
@@ -32368,7 +32490,7 @@ function buildUnknownParamDiagnostics28(unknownCodes) {
32368
32490
  `Valid codes: ${validCodes}.`
32369
32491
  ].join(" ");
32370
32492
  }
32371
- function findMalformedReference28(query, searchParamKeys) {
32493
+ function findMalformedReference29(query, searchParamKeys) {
32372
32494
  const referenceCodes = new Set(
32373
32495
  getRegisteredSearchParameters(RELATEDPERSON_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
32374
32496
  );
@@ -32391,7 +32513,7 @@ function findMalformedReference28(query, searchParamKeys) {
32391
32513
  return void 0;
32392
32514
  }
32393
32515
  async function listRelatedPersonsRoute(req, res) {
32394
- const searchParamKeys = extractSearchParamKeys28(
32516
+ const searchParamKeys = extractSearchParamKeys29(
32395
32517
  req.query
32396
32518
  );
32397
32519
  if (searchParamKeys.length === 0) {
@@ -32407,17 +32529,17 @@ async function listRelatedPersonsRoute(req, res) {
32407
32529
  const validCodes = new Set(registered.map((p) => p.code));
32408
32530
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
32409
32531
  if (unknownCodes.length > 0) {
32410
- return sendInvalidSearch40028(
32532
+ return sendInvalidSearch40029(
32411
32533
  res,
32412
- buildUnknownParamDiagnostics28([...new Set(unknownCodes)])
32534
+ buildUnknownParamDiagnostics29([...new Set(unknownCodes)])
32413
32535
  );
32414
32536
  }
32415
- const malformedRef = findMalformedReference28(
32537
+ const malformedRef = findMalformedReference29(
32416
32538
  req.query,
32417
32539
  searchParamKeys
32418
32540
  );
32419
32541
  if (malformedRef !== void 0) {
32420
- return sendInvalidSearch40028(
32542
+ return sendInvalidSearch40029(
32421
32543
  res,
32422
32544
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
32423
32545
  );
@@ -33451,15 +33573,120 @@ async function listRiskAssessmentsOperation(params) {
33451
33573
  }
33452
33574
 
33453
33575
  // src/data/rest-api/routes/data/riskassessment/riskassessment-list-route.ts
33454
- async function listRiskAssessmentsRoute(req, res) {
33455
- return handleListRoute({
33456
- req,
33457
- res,
33458
- basePath: BASE_PATH.RISKASSESSMENT,
33459
- listOperation: listRiskAssessmentsOperation,
33460
- errorLogContext: "GET /RiskAssessment list error:"
33576
+ var RISKASSESSMENT_RESOURCE_TYPE = "RiskAssessment";
33577
+ function stripModifier30(key) {
33578
+ const idx = key.indexOf(":");
33579
+ return idx === -1 ? key : key.slice(0, idx);
33580
+ }
33581
+ function isResultParameter30(key) {
33582
+ return key.startsWith("_");
33583
+ }
33584
+ function sendInvalidSearch40030(res, diagnostics) {
33585
+ return res.status(400).json({
33586
+ resourceType: "OperationOutcome",
33587
+ issue: [{ severity: "error", code: "invalid", diagnostics }]
33461
33588
  });
33462
33589
  }
33590
+ function extractSearchParamKeys30(query) {
33591
+ const out = [];
33592
+ for (const rawKey of Object.keys(query)) {
33593
+ if (isResultParameter30(rawKey)) {
33594
+ continue;
33595
+ }
33596
+ out.push({ rawKey, code: stripModifier30(rawKey) });
33597
+ }
33598
+ return out;
33599
+ }
33600
+ function buildUnknownParamDiagnostics30(unknownCodes) {
33601
+ const validCodes = getRegisteredSearchParameters(RISKASSESSMENT_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
33602
+ const codes = unknownCodes.join(", ");
33603
+ const isPlural = unknownCodes.length !== 1;
33604
+ return [
33605
+ `Unknown search ${isPlural ? "parameters" : "parameter"} for RiskAssessment: ${codes}.`,
33606
+ `Valid codes: ${validCodes}.`
33607
+ ].join(" ");
33608
+ }
33609
+ function findMalformedReference30(query, searchParamKeys) {
33610
+ const referenceCodes = new Set(
33611
+ getRegisteredSearchParameters(RISKASSESSMENT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
33612
+ );
33613
+ if (referenceCodes.size === 0) {
33614
+ return void 0;
33615
+ }
33616
+ for (const { rawKey, code } of searchParamKeys) {
33617
+ if (!referenceCodes.has(code)) {
33618
+ continue;
33619
+ }
33620
+ const raw = query[rawKey];
33621
+ const values = typeof raw === "string" ? raw.split(",") : Array.isArray(raw) ? raw.flatMap((v) => v.split(",")) : [];
33622
+ for (const v of values) {
33623
+ const trimmed = v.trim();
33624
+ if (trimmed.length === 0) {
33625
+ continue;
33626
+ }
33627
+ if (parseTypedReference(trimmed) === void 0) {
33628
+ return { rawKey, value: trimmed };
33629
+ }
33630
+ }
33631
+ }
33632
+ return void 0;
33633
+ }
33634
+ async function listRiskAssessmentsRoute(req, res) {
33635
+ const searchParamKeys = extractSearchParamKeys30(
33636
+ req.query
33637
+ );
33638
+ if (searchParamKeys.length === 0) {
33639
+ return handleListRoute({
33640
+ req,
33641
+ res,
33642
+ basePath: BASE_PATH.RISKASSESSMENT,
33643
+ listOperation: listRiskAssessmentsOperation,
33644
+ errorLogContext: "GET /RiskAssessment list error:"
33645
+ });
33646
+ }
33647
+ const registered = getRegisteredSearchParameters(
33648
+ RISKASSESSMENT_RESOURCE_TYPE
33649
+ );
33650
+ const validCodes = new Set(registered.map((p) => p.code));
33651
+ const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
33652
+ if (unknownCodes.length > 0) {
33653
+ return sendInvalidSearch40030(
33654
+ res,
33655
+ buildUnknownParamDiagnostics30([...new Set(unknownCodes)])
33656
+ );
33657
+ }
33658
+ const malformedRef = findMalformedReference30(
33659
+ req.query,
33660
+ searchParamKeys
33661
+ );
33662
+ if (malformedRef !== void 0) {
33663
+ return sendInvalidSearch40030(
33664
+ res,
33665
+ `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
33666
+ );
33667
+ }
33668
+ const ctx = req.openhiContext;
33669
+ try {
33670
+ const result = await genericSearchOperation({
33671
+ resourceType: RISKASSESSMENT_RESOURCE_TYPE,
33672
+ tenantId: ctx.tenantId,
33673
+ workspaceId: ctx.workspaceId,
33674
+ query: req.query,
33675
+ resolver: defaultSearchParameterResolver
33676
+ });
33677
+ const bundle = buildSearchsetBundle(
33678
+ BASE_PATH.RISKASSESSMENT,
33679
+ result.entries
33680
+ );
33681
+ return res.json(bundle);
33682
+ } catch (err) {
33683
+ return sendOperationOutcome500(
33684
+ res,
33685
+ err,
33686
+ "GET /RiskAssessment search error:"
33687
+ );
33688
+ }
33689
+ }
33463
33690
 
33464
33691
  // src/data/operations/data/riskassessment/riskassessment-update-operation.ts
33465
33692
  async function updateRiskAssessmentOperation(params) {
@@ -33801,30 +34028,30 @@ async function listSchedulesOperation(params) {
33801
34028
 
33802
34029
  // src/data/rest-api/routes/data/schedule/schedule-list-route.ts
33803
34030
  var SCHEDULE_RESOURCE_TYPE = "Schedule";
33804
- function stripModifier29(key) {
34031
+ function stripModifier31(key) {
33805
34032
  const idx = key.indexOf(":");
33806
34033
  return idx === -1 ? key : key.slice(0, idx);
33807
34034
  }
33808
- function isResultParameter29(key) {
34035
+ function isResultParameter31(key) {
33809
34036
  return key.startsWith("_");
33810
34037
  }
33811
- function sendInvalidSearch40029(res, diagnostics) {
34038
+ function sendInvalidSearch40031(res, diagnostics) {
33812
34039
  return res.status(400).json({
33813
34040
  resourceType: "OperationOutcome",
33814
34041
  issue: [{ severity: "error", code: "invalid", diagnostics }]
33815
34042
  });
33816
34043
  }
33817
- function extractSearchParamKeys29(query) {
34044
+ function extractSearchParamKeys31(query) {
33818
34045
  const out = [];
33819
34046
  for (const rawKey of Object.keys(query)) {
33820
- if (isResultParameter29(rawKey)) {
34047
+ if (isResultParameter31(rawKey)) {
33821
34048
  continue;
33822
34049
  }
33823
- out.push({ rawKey, code: stripModifier29(rawKey) });
34050
+ out.push({ rawKey, code: stripModifier31(rawKey) });
33824
34051
  }
33825
34052
  return out;
33826
34053
  }
33827
- function buildUnknownParamDiagnostics29(unknownCodes) {
34054
+ function buildUnknownParamDiagnostics31(unknownCodes) {
33828
34055
  const validCodes = getRegisteredSearchParameters(SCHEDULE_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
33829
34056
  const codes = unknownCodes.join(", ");
33830
34057
  const isPlural = unknownCodes.length !== 1;
@@ -33833,7 +34060,7 @@ function buildUnknownParamDiagnostics29(unknownCodes) {
33833
34060
  `Valid codes: ${validCodes}.`
33834
34061
  ].join(" ");
33835
34062
  }
33836
- function findMalformedReference29(query, searchParamKeys) {
34063
+ function findMalformedReference31(query, searchParamKeys) {
33837
34064
  const referenceCodes = new Set(
33838
34065
  getRegisteredSearchParameters(SCHEDULE_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
33839
34066
  );
@@ -33856,7 +34083,7 @@ function findMalformedReference29(query, searchParamKeys) {
33856
34083
  return void 0;
33857
34084
  }
33858
34085
  async function listSchedulesRoute(req, res) {
33859
- const searchParamKeys = extractSearchParamKeys29(
34086
+ const searchParamKeys = extractSearchParamKeys31(
33860
34087
  req.query
33861
34088
  );
33862
34089
  if (searchParamKeys.length === 0) {
@@ -33872,17 +34099,17 @@ async function listSchedulesRoute(req, res) {
33872
34099
  const validCodes = new Set(registered.map((p) => p.code));
33873
34100
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
33874
34101
  if (unknownCodes.length > 0) {
33875
- return sendInvalidSearch40029(
34102
+ return sendInvalidSearch40031(
33876
34103
  res,
33877
- buildUnknownParamDiagnostics29([...new Set(unknownCodes)])
34104
+ buildUnknownParamDiagnostics31([...new Set(unknownCodes)])
33878
34105
  );
33879
34106
  }
33880
- const malformedRef = findMalformedReference29(
34107
+ const malformedRef = findMalformedReference31(
33881
34108
  req.query,
33882
34109
  searchParamKeys
33883
34110
  );
33884
34111
  if (malformedRef !== void 0) {
33885
- return sendInvalidSearch40029(
34112
+ return sendInvalidSearch40031(
33886
34113
  res,
33887
34114
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
33888
34115
  );
@@ -34223,15 +34450,120 @@ async function listServiceRequestsOperation(params) {
34223
34450
  }
34224
34451
 
34225
34452
  // src/data/rest-api/routes/data/servicerequest/servicerequest-list-route.ts
34226
- async function listServiceRequestsRoute(req, res) {
34227
- return handleListRoute({
34228
- req,
34229
- res,
34230
- basePath: BASE_PATH.SERVICEREQUEST,
34231
- listOperation: listServiceRequestsOperation,
34232
- errorLogContext: "GET /ServiceRequest list error:"
34453
+ var SERVICEREQUEST_RESOURCE_TYPE = "ServiceRequest";
34454
+ function stripModifier32(key) {
34455
+ const idx = key.indexOf(":");
34456
+ return idx === -1 ? key : key.slice(0, idx);
34457
+ }
34458
+ function isResultParameter32(key) {
34459
+ return key.startsWith("_");
34460
+ }
34461
+ function sendInvalidSearch40032(res, diagnostics) {
34462
+ return res.status(400).json({
34463
+ resourceType: "OperationOutcome",
34464
+ issue: [{ severity: "error", code: "invalid", diagnostics }]
34233
34465
  });
34234
34466
  }
34467
+ function extractSearchParamKeys32(query) {
34468
+ const out = [];
34469
+ for (const rawKey of Object.keys(query)) {
34470
+ if (isResultParameter32(rawKey)) {
34471
+ continue;
34472
+ }
34473
+ out.push({ rawKey, code: stripModifier32(rawKey) });
34474
+ }
34475
+ return out;
34476
+ }
34477
+ function buildUnknownParamDiagnostics32(unknownCodes) {
34478
+ const validCodes = getRegisteredSearchParameters(SERVICEREQUEST_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
34479
+ const codes = unknownCodes.join(", ");
34480
+ const isPlural = unknownCodes.length !== 1;
34481
+ return [
34482
+ `Unknown search ${isPlural ? "parameters" : "parameter"} for ServiceRequest: ${codes}.`,
34483
+ `Valid codes: ${validCodes}.`
34484
+ ].join(" ");
34485
+ }
34486
+ function findMalformedReference32(query, searchParamKeys) {
34487
+ const referenceCodes = new Set(
34488
+ getRegisteredSearchParameters(SERVICEREQUEST_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
34489
+ );
34490
+ if (referenceCodes.size === 0) {
34491
+ return void 0;
34492
+ }
34493
+ for (const { rawKey, code } of searchParamKeys) {
34494
+ if (!referenceCodes.has(code)) {
34495
+ continue;
34496
+ }
34497
+ const raw = query[rawKey];
34498
+ const values = typeof raw === "string" ? raw.split(",") : Array.isArray(raw) ? raw.flatMap((v) => v.split(",")) : [];
34499
+ for (const v of values) {
34500
+ const trimmed = v.trim();
34501
+ if (trimmed.length === 0) {
34502
+ continue;
34503
+ }
34504
+ if (parseTypedReference(trimmed) === void 0) {
34505
+ return { rawKey, value: trimmed };
34506
+ }
34507
+ }
34508
+ }
34509
+ return void 0;
34510
+ }
34511
+ async function listServiceRequestsRoute(req, res) {
34512
+ const searchParamKeys = extractSearchParamKeys32(
34513
+ req.query
34514
+ );
34515
+ if (searchParamKeys.length === 0) {
34516
+ return handleListRoute({
34517
+ req,
34518
+ res,
34519
+ basePath: BASE_PATH.SERVICEREQUEST,
34520
+ listOperation: listServiceRequestsOperation,
34521
+ errorLogContext: "GET /ServiceRequest list error:"
34522
+ });
34523
+ }
34524
+ const registered = getRegisteredSearchParameters(
34525
+ SERVICEREQUEST_RESOURCE_TYPE
34526
+ );
34527
+ const validCodes = new Set(registered.map((p) => p.code));
34528
+ const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
34529
+ if (unknownCodes.length > 0) {
34530
+ return sendInvalidSearch40032(
34531
+ res,
34532
+ buildUnknownParamDiagnostics32([...new Set(unknownCodes)])
34533
+ );
34534
+ }
34535
+ const malformedRef = findMalformedReference32(
34536
+ req.query,
34537
+ searchParamKeys
34538
+ );
34539
+ if (malformedRef !== void 0) {
34540
+ return sendInvalidSearch40032(
34541
+ res,
34542
+ `?${malformedRef.rawKey} must be a typed reference like "Encounter/<id>"; got "${malformedRef.value}".`
34543
+ );
34544
+ }
34545
+ const ctx = req.openhiContext;
34546
+ try {
34547
+ const result = await genericSearchOperation({
34548
+ resourceType: SERVICEREQUEST_RESOURCE_TYPE,
34549
+ tenantId: ctx.tenantId,
34550
+ workspaceId: ctx.workspaceId,
34551
+ query: req.query,
34552
+ resolver: defaultSearchParameterResolver
34553
+ });
34554
+ const bundle = buildSearchsetBundle(
34555
+ BASE_PATH.SERVICEREQUEST,
34556
+ result.entries
34557
+ );
34558
+ return res.json(bundle);
34559
+ } catch (err) {
34560
+ return sendOperationOutcome500(
34561
+ res,
34562
+ err,
34563
+ "GET /ServiceRequest search error:"
34564
+ );
34565
+ }
34566
+ }
34235
34567
 
34236
34568
  // src/data/operations/data/servicerequest/servicerequest-update-operation.ts
34237
34569
  async function updateServiceRequestOperation(params) {
@@ -34389,30 +34721,30 @@ async function listSlotsOperation(params) {
34389
34721
 
34390
34722
  // src/data/rest-api/routes/data/slot/slot-list-route.ts
34391
34723
  var SLOT_RESOURCE_TYPE = "Slot";
34392
- function stripModifier30(key) {
34724
+ function stripModifier33(key) {
34393
34725
  const idx = key.indexOf(":");
34394
34726
  return idx === -1 ? key : key.slice(0, idx);
34395
34727
  }
34396
- function isResultParameter30(key) {
34728
+ function isResultParameter33(key) {
34397
34729
  return key.startsWith("_");
34398
34730
  }
34399
- function sendInvalidSearch40030(res, diagnostics) {
34731
+ function sendInvalidSearch40033(res, diagnostics) {
34400
34732
  return res.status(400).json({
34401
34733
  resourceType: "OperationOutcome",
34402
34734
  issue: [{ severity: "error", code: "invalid", diagnostics }]
34403
34735
  });
34404
34736
  }
34405
- function extractSearchParamKeys30(query) {
34737
+ function extractSearchParamKeys33(query) {
34406
34738
  const out = [];
34407
34739
  for (const rawKey of Object.keys(query)) {
34408
- if (isResultParameter30(rawKey)) {
34740
+ if (isResultParameter33(rawKey)) {
34409
34741
  continue;
34410
34742
  }
34411
- out.push({ rawKey, code: stripModifier30(rawKey) });
34743
+ out.push({ rawKey, code: stripModifier33(rawKey) });
34412
34744
  }
34413
34745
  return out;
34414
34746
  }
34415
- function buildUnknownParamDiagnostics30(unknownCodes) {
34747
+ function buildUnknownParamDiagnostics33(unknownCodes) {
34416
34748
  const validCodes = getRegisteredSearchParameters(SLOT_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
34417
34749
  const codes = unknownCodes.join(", ");
34418
34750
  const isPlural = unknownCodes.length !== 1;
@@ -34421,7 +34753,7 @@ function buildUnknownParamDiagnostics30(unknownCodes) {
34421
34753
  `Valid codes: ${validCodes}.`
34422
34754
  ].join(" ");
34423
34755
  }
34424
- function findMalformedReference30(query, searchParamKeys) {
34756
+ function findMalformedReference33(query, searchParamKeys) {
34425
34757
  const referenceCodes = new Set(
34426
34758
  getRegisteredSearchParameters(SLOT_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
34427
34759
  );
@@ -34444,7 +34776,7 @@ function findMalformedReference30(query, searchParamKeys) {
34444
34776
  return void 0;
34445
34777
  }
34446
34778
  async function listSlotsRoute(req, res) {
34447
- const searchParamKeys = extractSearchParamKeys30(
34779
+ const searchParamKeys = extractSearchParamKeys33(
34448
34780
  req.query
34449
34781
  );
34450
34782
  if (searchParamKeys.length === 0) {
@@ -34460,17 +34792,17 @@ async function listSlotsRoute(req, res) {
34460
34792
  const validCodes = new Set(registered.map((p) => p.code));
34461
34793
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
34462
34794
  if (unknownCodes.length > 0) {
34463
- return sendInvalidSearch40030(
34795
+ return sendInvalidSearch40033(
34464
34796
  res,
34465
- buildUnknownParamDiagnostics30([...new Set(unknownCodes)])
34797
+ buildUnknownParamDiagnostics33([...new Set(unknownCodes)])
34466
34798
  );
34467
34799
  }
34468
- const malformedRef = findMalformedReference30(
34800
+ const malformedRef = findMalformedReference33(
34469
34801
  req.query,
34470
34802
  searchParamKeys
34471
34803
  );
34472
34804
  if (malformedRef !== void 0) {
34473
- return sendInvalidSearch40030(
34805
+ return sendInvalidSearch40033(
34474
34806
  res,
34475
34807
  `?${malformedRef.rawKey} must be a typed reference like "Schedule/<id>"; got "${malformedRef.value}".`
34476
34808
  );
@@ -34647,30 +34979,30 @@ async function listSpecimensOperation(params) {
34647
34979
 
34648
34980
  // src/data/rest-api/routes/data/specimen/specimen-list-route.ts
34649
34981
  var SPECIMEN_RESOURCE_TYPE = "Specimen";
34650
- function stripModifier31(key) {
34982
+ function stripModifier34(key) {
34651
34983
  const idx = key.indexOf(":");
34652
34984
  return idx === -1 ? key : key.slice(0, idx);
34653
34985
  }
34654
- function isResultParameter31(key) {
34986
+ function isResultParameter34(key) {
34655
34987
  return key.startsWith("_");
34656
34988
  }
34657
- function sendInvalidSearch40031(res, diagnostics) {
34989
+ function sendInvalidSearch40034(res, diagnostics) {
34658
34990
  return res.status(400).json({
34659
34991
  resourceType: "OperationOutcome",
34660
34992
  issue: [{ severity: "error", code: "invalid", diagnostics }]
34661
34993
  });
34662
34994
  }
34663
- function extractSearchParamKeys31(query) {
34995
+ function extractSearchParamKeys34(query) {
34664
34996
  const out = [];
34665
34997
  for (const rawKey of Object.keys(query)) {
34666
- if (isResultParameter31(rawKey)) {
34998
+ if (isResultParameter34(rawKey)) {
34667
34999
  continue;
34668
35000
  }
34669
- out.push({ rawKey, code: stripModifier31(rawKey) });
35001
+ out.push({ rawKey, code: stripModifier34(rawKey) });
34670
35002
  }
34671
35003
  return out;
34672
35004
  }
34673
- function buildUnknownParamDiagnostics31(unknownCodes) {
35005
+ function buildUnknownParamDiagnostics34(unknownCodes) {
34674
35006
  const validCodes = getRegisteredSearchParameters(SPECIMEN_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
34675
35007
  const codes = unknownCodes.join(", ");
34676
35008
  const isPlural = unknownCodes.length !== 1;
@@ -34679,7 +35011,7 @@ function buildUnknownParamDiagnostics31(unknownCodes) {
34679
35011
  `Valid codes: ${validCodes}.`
34680
35012
  ].join(" ");
34681
35013
  }
34682
- function findMalformedReference31(query, searchParamKeys) {
35014
+ function findMalformedReference34(query, searchParamKeys) {
34683
35015
  const referenceCodes = new Set(
34684
35016
  getRegisteredSearchParameters(SPECIMEN_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
34685
35017
  );
@@ -34705,7 +35037,7 @@ function findMalformedReference31(query, searchParamKeys) {
34705
35037
  return void 0;
34706
35038
  }
34707
35039
  async function listSpecimensRoute(req, res) {
34708
- const searchParamKeys = extractSearchParamKeys31(
35040
+ const searchParamKeys = extractSearchParamKeys34(
34709
35041
  req.query
34710
35042
  );
34711
35043
  if (searchParamKeys.length === 0) {
@@ -34721,17 +35053,17 @@ async function listSpecimensRoute(req, res) {
34721
35053
  const validCodes = new Set(registered.map((p) => p.code));
34722
35054
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
34723
35055
  if (unknownCodes.length > 0) {
34724
- return sendInvalidSearch40031(
35056
+ return sendInvalidSearch40034(
34725
35057
  res,
34726
- buildUnknownParamDiagnostics31([...new Set(unknownCodes)])
35058
+ buildUnknownParamDiagnostics34([...new Set(unknownCodes)])
34727
35059
  );
34728
35060
  }
34729
- const malformedRef = findMalformedReference31(
35061
+ const malformedRef = findMalformedReference34(
34730
35062
  req.query,
34731
35063
  searchParamKeys
34732
35064
  );
34733
35065
  if (malformedRef !== void 0) {
34734
- return sendInvalidSearch40031(
35066
+ return sendInvalidSearch40034(
34735
35067
  res,
34736
35068
  `?${malformedRef.rawKey} must be a typed reference like "Patient/<id>"; got "${malformedRef.value}".`
34737
35069
  );
@@ -37135,30 +37467,30 @@ async function listTasksOperation(params) {
37135
37467
 
37136
37468
  // src/data/rest-api/routes/data/task/task-list-route.ts
37137
37469
  var TASK_RESOURCE_TYPE = "Task";
37138
- function stripModifier32(key) {
37470
+ function stripModifier35(key) {
37139
37471
  const idx = key.indexOf(":");
37140
37472
  return idx === -1 ? key : key.slice(0, idx);
37141
37473
  }
37142
- function isResultParameter32(key) {
37474
+ function isResultParameter35(key) {
37143
37475
  return key.startsWith("_");
37144
37476
  }
37145
- function sendInvalidSearch40032(res, diagnostics) {
37477
+ function sendInvalidSearch40035(res, diagnostics) {
37146
37478
  return res.status(400).json({
37147
37479
  resourceType: "OperationOutcome",
37148
37480
  issue: [{ severity: "error", code: "invalid", diagnostics }]
37149
37481
  });
37150
37482
  }
37151
- function extractSearchParamKeys32(query) {
37483
+ function extractSearchParamKeys35(query) {
37152
37484
  const out = [];
37153
37485
  for (const rawKey of Object.keys(query)) {
37154
- if (isResultParameter32(rawKey)) {
37486
+ if (isResultParameter35(rawKey)) {
37155
37487
  continue;
37156
37488
  }
37157
- out.push({ rawKey, code: stripModifier32(rawKey) });
37489
+ out.push({ rawKey, code: stripModifier35(rawKey) });
37158
37490
  }
37159
37491
  return out;
37160
37492
  }
37161
- function buildUnknownParamDiagnostics32(unknownCodes) {
37493
+ function buildUnknownParamDiagnostics35(unknownCodes) {
37162
37494
  const validCodes = getRegisteredSearchParameters(TASK_RESOURCE_TYPE).map((p) => p.code).sort().join(", ");
37163
37495
  const codes = unknownCodes.join(", ");
37164
37496
  const isPlural = unknownCodes.length !== 1;
@@ -37167,7 +37499,7 @@ function buildUnknownParamDiagnostics32(unknownCodes) {
37167
37499
  `Valid codes: ${validCodes}.`
37168
37500
  ].join(" ");
37169
37501
  }
37170
- function findMalformedReference32(query, searchParamKeys) {
37502
+ function findMalformedReference35(query, searchParamKeys) {
37171
37503
  const referenceCodes = new Set(
37172
37504
  getRegisteredSearchParameters(TASK_RESOURCE_TYPE).filter((p) => p.type === "reference").map((p) => p.code)
37173
37505
  );
@@ -37190,7 +37522,7 @@ function findMalformedReference32(query, searchParamKeys) {
37190
37522
  return void 0;
37191
37523
  }
37192
37524
  async function listTasksRoute(req, res) {
37193
- const searchParamKeys = extractSearchParamKeys32(
37525
+ const searchParamKeys = extractSearchParamKeys35(
37194
37526
  req.query
37195
37527
  );
37196
37528
  if (searchParamKeys.length === 0) {
@@ -37206,17 +37538,17 @@ async function listTasksRoute(req, res) {
37206
37538
  const validCodes = new Set(registered.map((p) => p.code));
37207
37539
  const unknownCodes = searchParamKeys.map((k) => k.code).filter((code) => !validCodes.has(code));
37208
37540
  if (unknownCodes.length > 0) {
37209
- return sendInvalidSearch40032(
37541
+ return sendInvalidSearch40035(
37210
37542
  res,
37211
- buildUnknownParamDiagnostics32([...new Set(unknownCodes)])
37543
+ buildUnknownParamDiagnostics35([...new Set(unknownCodes)])
37212
37544
  );
37213
37545
  }
37214
- const malformedRef = findMalformedReference32(
37546
+ const malformedRef = findMalformedReference35(
37215
37547
  req.query,
37216
37548
  searchParamKeys
37217
37549
  );
37218
37550
  if (malformedRef !== void 0) {
37219
- return sendInvalidSearch40032(
37551
+ return sendInvalidSearch40035(
37220
37552
  res,
37221
37553
  `?${malformedRef.rawKey} must be a typed reference like "Practitioner/<id>"; got "${malformedRef.value}".`
37222
37554
  );