phenoml 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/cjs/Client.js +2 -2
  2. package/dist/cjs/api/resources/agent/client/Client.d.ts +2 -0
  3. package/dist/cjs/api/resources/agent/client/Client.js +20 -2
  4. package/dist/cjs/api/resources/agent/client/requests/AgentChatRequest.d.ts +12 -0
  5. package/dist/cjs/api/resources/construe/client/Client.d.ts +0 -18
  6. package/dist/cjs/api/resources/construe/client/Client.js +0 -74
  7. package/dist/cjs/api/resources/construe/client/requests/index.d.ts +0 -1
  8. package/dist/cjs/api/resources/construe/types/ExtractRequestConfig.d.ts +28 -2
  9. package/dist/cjs/api/resources/construe/types/ExtractRequestConfig.js +14 -2
  10. package/dist/cjs/api/resources/construe/types/ExtractRequestSystem.d.ts +2 -0
  11. package/dist/cjs/api/resources/construe/types/index.d.ts +0 -4
  12. package/dist/cjs/api/resources/construe/types/index.js +0 -4
  13. package/dist/cjs/api/resources/fhir/client/Client.d.ts +18 -9
  14. package/dist/cjs/api/resources/fhir/client/Client.js +30 -15
  15. package/dist/cjs/api/resources/fhir/client/requests/FhirCreateRequest.d.ts +11 -2
  16. package/dist/cjs/api/resources/fhir/client/requests/FhirDeleteRequest.d.ts +11 -2
  17. package/dist/cjs/api/resources/fhir/client/requests/FhirExecuteBundleRequest.d.ts +11 -2
  18. package/dist/cjs/api/resources/fhir/client/requests/FhirPatchRequest.d.ts +17 -5
  19. package/dist/cjs/api/resources/fhir/client/requests/FhirSearchRequest.d.ts +13 -3
  20. package/dist/cjs/api/resources/fhir/client/requests/FhirUpsertRequest.d.ts +11 -2
  21. package/dist/cjs/api/resources/fhirProvider/client/Client.js +2 -2
  22. package/dist/cjs/api/resources/fhirProvider/client/requests/FhirProviderAddAuthConfigRequest.d.ts +2 -1
  23. package/dist/cjs/api/resources/fhirProvider/client/requests/FhirProviderCreateRequest.d.ts +2 -1
  24. package/dist/cjs/api/resources/fhirProvider/types/AuthMethod.d.ts +2 -1
  25. package/dist/cjs/api/resources/fhirProvider/types/AuthMethod.js +2 -1
  26. package/dist/cjs/api/resources/fhirProvider/types/Role.d.ts +22 -0
  27. package/dist/cjs/api/resources/fhirProvider/types/Role.js +25 -0
  28. package/dist/cjs/api/resources/fhirProvider/types/index.d.ts +1 -0
  29. package/dist/cjs/api/resources/fhirProvider/types/index.js +1 -0
  30. package/dist/cjs/api/resources/tools/client/Client.d.ts +6 -0
  31. package/dist/cjs/api/resources/tools/client/Client.js +38 -6
  32. package/dist/cjs/api/resources/tools/client/requests/CohortRequest.d.ts +12 -0
  33. package/dist/cjs/api/resources/tools/client/requests/Lang2FhirAndCreateRequest.d.ts +12 -0
  34. package/dist/cjs/api/resources/tools/client/requests/Lang2FhirAndSearchRequest.d.ts +12 -0
  35. package/dist/cjs/version.d.ts +1 -1
  36. package/dist/cjs/version.js +1 -1
  37. package/dist/esm/Client.mjs +2 -2
  38. package/dist/esm/api/resources/agent/client/Client.d.mts +2 -0
  39. package/dist/esm/api/resources/agent/client/Client.mjs +20 -2
  40. package/dist/esm/api/resources/agent/client/requests/AgentChatRequest.d.mts +12 -0
  41. package/dist/esm/api/resources/construe/client/Client.d.mts +0 -18
  42. package/dist/esm/api/resources/construe/client/Client.mjs +0 -74
  43. package/dist/esm/api/resources/construe/client/requests/index.d.mts +0 -1
  44. package/dist/esm/api/resources/construe/types/ExtractRequestConfig.d.mts +28 -2
  45. package/dist/esm/api/resources/construe/types/ExtractRequestConfig.mjs +14 -2
  46. package/dist/esm/api/resources/construe/types/ExtractRequestSystem.d.mts +2 -0
  47. package/dist/esm/api/resources/construe/types/index.d.mts +0 -4
  48. package/dist/esm/api/resources/construe/types/index.mjs +0 -4
  49. package/dist/esm/api/resources/fhir/client/Client.d.mts +18 -9
  50. package/dist/esm/api/resources/fhir/client/Client.mjs +30 -15
  51. package/dist/esm/api/resources/fhir/client/requests/FhirCreateRequest.d.mts +11 -2
  52. package/dist/esm/api/resources/fhir/client/requests/FhirDeleteRequest.d.mts +11 -2
  53. package/dist/esm/api/resources/fhir/client/requests/FhirExecuteBundleRequest.d.mts +11 -2
  54. package/dist/esm/api/resources/fhir/client/requests/FhirPatchRequest.d.mts +17 -5
  55. package/dist/esm/api/resources/fhir/client/requests/FhirSearchRequest.d.mts +13 -3
  56. package/dist/esm/api/resources/fhir/client/requests/FhirUpsertRequest.d.mts +11 -2
  57. package/dist/esm/api/resources/fhirProvider/client/Client.mjs +2 -2
  58. package/dist/esm/api/resources/fhirProvider/client/requests/FhirProviderAddAuthConfigRequest.d.mts +2 -1
  59. package/dist/esm/api/resources/fhirProvider/client/requests/FhirProviderCreateRequest.d.mts +2 -1
  60. package/dist/esm/api/resources/fhirProvider/types/AuthMethod.d.mts +2 -1
  61. package/dist/esm/api/resources/fhirProvider/types/AuthMethod.mjs +2 -1
  62. package/dist/esm/api/resources/fhirProvider/types/Role.d.mts +22 -0
  63. package/dist/esm/api/resources/fhirProvider/types/Role.mjs +22 -0
  64. package/dist/esm/api/resources/fhirProvider/types/index.d.mts +1 -0
  65. package/dist/esm/api/resources/fhirProvider/types/index.mjs +1 -0
  66. package/dist/esm/api/resources/tools/client/Client.d.mts +6 -0
  67. package/dist/esm/api/resources/tools/client/Client.mjs +38 -6
  68. package/dist/esm/api/resources/tools/client/requests/CohortRequest.d.mts +12 -0
  69. package/dist/esm/api/resources/tools/client/requests/Lang2FhirAndCreateRequest.d.mts +12 -0
  70. package/dist/esm/api/resources/tools/client/requests/Lang2FhirAndSearchRequest.d.mts +12 -0
  71. package/dist/esm/version.d.mts +1 -1
  72. package/dist/esm/version.mjs +1 -1
  73. package/package.json +1 -1
  74. package/reference.md +20 -72
  75. package/dist/cjs/api/resources/construe/client/requests/ConstrueCohortRequest.d.ts +0 -23
  76. package/dist/cjs/api/resources/construe/client/requests/ConstrueCohortRequest.js +0 -3
  77. package/dist/cjs/api/resources/construe/types/BadRequestErrorBody.d.ts +0 -6
  78. package/dist/cjs/api/resources/construe/types/BadRequestErrorBody.js +0 -3
  79. package/dist/cjs/api/resources/construe/types/ConstrueCohortResponse.d.ts +0 -46
  80. package/dist/cjs/api/resources/construe/types/ConstrueCohortResponse.js +0 -3
  81. package/dist/cjs/api/resources/construe/types/InternalServerErrorBody.d.ts +0 -6
  82. package/dist/cjs/api/resources/construe/types/InternalServerErrorBody.js +0 -3
  83. package/dist/cjs/api/resources/construe/types/UnauthorizedErrorBody.d.ts +0 -6
  84. package/dist/cjs/api/resources/construe/types/UnauthorizedErrorBody.js +0 -3
  85. package/dist/esm/api/resources/construe/client/requests/ConstrueCohortRequest.d.mts +0 -23
  86. package/dist/esm/api/resources/construe/client/requests/ConstrueCohortRequest.mjs +0 -2
  87. package/dist/esm/api/resources/construe/types/BadRequestErrorBody.d.mts +0 -6
  88. package/dist/esm/api/resources/construe/types/BadRequestErrorBody.mjs +0 -2
  89. package/dist/esm/api/resources/construe/types/ConstrueCohortResponse.d.mts +0 -46
  90. package/dist/esm/api/resources/construe/types/ConstrueCohortResponse.mjs +0 -2
  91. package/dist/esm/api/resources/construe/types/InternalServerErrorBody.d.mts +0 -6
  92. package/dist/esm/api/resources/construe/types/InternalServerErrorBody.mjs +0 -2
  93. package/dist/esm/api/resources/construe/types/UnauthorizedErrorBody.d.mts +0 -6
  94. package/dist/esm/api/resources/construe/types/UnauthorizedErrorBody.mjs +0 -2
@@ -52,23 +52,5 @@ export declare class Construe {
52
52
  */
53
53
  extractCodes(request: phenoml.construe.ExtractRequest, requestOptions?: Construe.RequestOptions): core.HttpResponsePromise<phenoml.construe.ExtractCodesResult>;
54
54
  private __extractCodes;
55
- /**
56
- * Creates a patient cohort based on a natural language description.
57
- * Translates the description into FHIR search queries and optional SQL queries.
58
- *
59
- * @param {phenoml.construe.ConstrueCohortRequest} request
60
- * @param {Construe.RequestOptions} requestOptions - Request-specific configuration.
61
- *
62
- * @throws {@link phenoml.construe.BadRequestError}
63
- * @throws {@link phenoml.construe.UnauthorizedError}
64
- * @throws {@link phenoml.construe.InternalServerError}
65
- *
66
- * @example
67
- * await client.construe.cohort({
68
- * text: "Between 20 and 40 years old with hyperlipidemia"
69
- * })
70
- */
71
- cohort(request: phenoml.construe.ConstrueCohortRequest, requestOptions?: Construe.RequestOptions): core.HttpResponsePromise<phenoml.construe.ConstrueCohortResponse>;
72
- private __cohort;
73
55
  protected _getAuthorizationHeader(): Promise<string>;
74
56
  }
@@ -174,80 +174,6 @@ export class Construe {
174
174
  }
175
175
  });
176
176
  }
177
- /**
178
- * Creates a patient cohort based on a natural language description.
179
- * Translates the description into FHIR search queries and optional SQL queries.
180
- *
181
- * @param {phenoml.construe.ConstrueCohortRequest} request
182
- * @param {Construe.RequestOptions} requestOptions - Request-specific configuration.
183
- *
184
- * @throws {@link phenoml.construe.BadRequestError}
185
- * @throws {@link phenoml.construe.UnauthorizedError}
186
- * @throws {@link phenoml.construe.InternalServerError}
187
- *
188
- * @example
189
- * await client.construe.cohort({
190
- * text: "Between 20 and 40 years old with hyperlipidemia"
191
- * })
192
- */
193
- cohort(request, requestOptions) {
194
- return core.HttpResponsePromise.fromPromise(this.__cohort(request, requestOptions));
195
- }
196
- __cohort(request, requestOptions) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
199
- const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
200
- const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
201
- url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.phenomlEnvironment.Default, "construe/cohort"),
202
- method: "POST",
203
- headers: _headers,
204
- contentType: "application/json",
205
- queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
206
- requestType: "json",
207
- body: request,
208
- timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
209
- maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
210
- abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
211
- });
212
- if (_response.ok) {
213
- return {
214
- data: _response.body,
215
- rawResponse: _response.rawResponse,
216
- };
217
- }
218
- if (_response.error.reason === "status-code") {
219
- switch (_response.error.statusCode) {
220
- case 400:
221
- throw new phenoml.construe.BadRequestError(_response.error.body, _response.rawResponse);
222
- case 401:
223
- throw new phenoml.construe.UnauthorizedError(_response.error.body, _response.rawResponse);
224
- case 500:
225
- throw new phenoml.construe.InternalServerError(_response.error.body, _response.rawResponse);
226
- default:
227
- throw new errors.phenomlError({
228
- statusCode: _response.error.statusCode,
229
- body: _response.error.body,
230
- rawResponse: _response.rawResponse,
231
- });
232
- }
233
- }
234
- switch (_response.error.reason) {
235
- case "non-json":
236
- throw new errors.phenomlError({
237
- statusCode: _response.error.statusCode,
238
- body: _response.error.rawBody,
239
- rawResponse: _response.rawResponse,
240
- });
241
- case "timeout":
242
- throw new errors.phenomlTimeoutError("Timeout exceeded when calling POST /construe/cohort.");
243
- case "unknown":
244
- throw new errors.phenomlError({
245
- message: _response.error.errorMessage,
246
- rawResponse: _response.rawResponse,
247
- });
248
- }
249
- });
250
- }
251
177
  _getAuthorizationHeader() {
252
178
  return __awaiter(this, void 0, void 0, function* () {
253
179
  return `Bearer ${yield core.Supplier.get(this._options.token)}`;
@@ -1,3 +1,2 @@
1
- export type { ConstrueCohortRequest } from "./ConstrueCohortRequest.mjs";
2
1
  export type { ExtractRequest } from "./ExtractRequest.mjs";
3
2
  export type { UploadRequest } from "./UploadRequest.mjs";
@@ -1,15 +1,41 @@
1
1
  export interface ExtractRequestConfig {
2
+ /** Method for splitting input text into chunks before code extraction */
2
3
  chunking_method?: ExtractRequestConfig.ChunkingMethod;
4
+ /** Maximum number of codes to extract per chunk */
3
5
  max_codes_per_chunk?: number;
6
+ /** Threshold for filtering similar codes (0.0-1.0) */
4
7
  code_similarity_filter?: number;
8
+ /**
9
+ * Method for validating extracted codes:
10
+ * * none - No validation, returns all candidate codes
11
+ * * simple - LLM-based validation
12
+ * * medication_search - LLM-based validation tailored for medication concepts
13
+ */
14
+ validation_method?: ExtractRequestConfig.ValidationMethod;
15
+ /** Whether to include explanations for why each code was extracted */
5
16
  include_rationale?: boolean;
17
+ /** Whether to include ancestor/parent codes in the results */
18
+ include_ancestors?: boolean;
6
19
  }
7
20
  export declare namespace ExtractRequestConfig {
21
+ /** Method for splitting input text into chunks before code extraction */
8
22
  const ChunkingMethod: {
9
23
  readonly None: "none";
10
- readonly Sentence: "sentence";
11
- readonly Paragraph: "paragraph";
24
+ readonly Sentences: "sentences";
25
+ readonly Paragraphs: "paragraphs";
12
26
  readonly Topics: "topics";
13
27
  };
14
28
  type ChunkingMethod = (typeof ChunkingMethod)[keyof typeof ChunkingMethod];
29
+ /**
30
+ * Method for validating extracted codes:
31
+ * * none - No validation, returns all candidate codes
32
+ * * simple - LLM-based validation
33
+ * * medication_search - LLM-based validation tailored for medication concepts
34
+ */
35
+ const ValidationMethod: {
36
+ readonly None: "none";
37
+ readonly Simple: "simple";
38
+ readonly MedicationSearch: "medication_search";
39
+ };
40
+ type ValidationMethod = (typeof ValidationMethod)[keyof typeof ValidationMethod];
15
41
  }
@@ -1,10 +1,22 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  export var ExtractRequestConfig;
3
3
  (function (ExtractRequestConfig) {
4
+ /** Method for splitting input text into chunks before code extraction */
4
5
  ExtractRequestConfig.ChunkingMethod = {
5
6
  None: "none",
6
- Sentence: "sentence",
7
- Paragraph: "paragraph",
7
+ Sentences: "sentences",
8
+ Paragraphs: "paragraphs",
8
9
  Topics: "topics",
9
10
  };
11
+ /**
12
+ * Method for validating extracted codes:
13
+ * * none - No validation, returns all candidate codes
14
+ * * simple - LLM-based validation
15
+ * * medication_search - LLM-based validation tailored for medication concepts
16
+ */
17
+ ExtractRequestConfig.ValidationMethod = {
18
+ None: "none",
19
+ Simple: "simple",
20
+ MedicationSearch: "medication_search",
21
+ };
10
22
  })(ExtractRequestConfig || (ExtractRequestConfig = {}));
@@ -8,6 +8,8 @@ export interface ExtractRequestSystem {
8
8
  * * ICD-10-CM - version 2025
9
9
  * * ICD-10-PCS - version 2025
10
10
  * * LOINC - version 2.78
11
+ * * HPO - version 2025
12
+ * * CPT - version 2025
11
13
  *
12
14
  * Custom systems:
13
15
  * * Any valid system name configured in your environment. Must have self-hosted construe module.
@@ -1,9 +1,5 @@
1
- export * from "./BadRequestErrorBody.mjs";
2
- export * from "./ConstrueCohortResponse.mjs";
3
1
  export * from "./ConstrueUploadCodeSystemResponse.mjs";
4
2
  export * from "./ExtractCodesResult.mjs";
5
3
  export * from "./ExtractedCodeResult.mjs";
6
4
  export * from "./ExtractRequestConfig.mjs";
7
5
  export * from "./ExtractRequestSystem.mjs";
8
- export * from "./InternalServerErrorBody.mjs";
9
- export * from "./UnauthorizedErrorBody.mjs";
@@ -1,9 +1,5 @@
1
- export * from "./BadRequestErrorBody.mjs";
2
- export * from "./ConstrueCohortResponse.mjs";
3
1
  export * from "./ConstrueUploadCodeSystemResponse.mjs";
4
2
  export * from "./ExtractCodesResult.mjs";
5
3
  export * from "./ExtractedCodeResult.mjs";
6
4
  export * from "./ExtractRequestConfig.mjs";
7
5
  export * from "./ExtractRequestSystem.mjs";
8
- export * from "./InternalServerErrorBody.mjs";
9
- export * from "./UnauthorizedErrorBody.mjs";
@@ -33,7 +33,8 @@ export declare class Fhir {
33
33
  *
34
34
  * @example
35
35
  * await client.fhir.search("550e8400-e29b-41d4-a716-446655440000", "Patient", {
36
- * "X-Phenoml-On-Behalf-Of": "user@example.com"
36
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
37
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c..."
37
38
  * })
38
39
  */
39
40
  search(fhirProviderId: string, fhirPath: string, request?: phenoml.fhir.FhirSearchRequest, requestOptions?: Fhir.RequestOptions): core.HttpResponsePromise<phenoml.fhir.FhirSearchResponse>;
@@ -60,7 +61,8 @@ export declare class Fhir {
60
61
  *
61
62
  * @example
62
63
  * await client.fhir.create("550e8400-e29b-41d4-a716-446655440000", "Patient", {
63
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
64
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
65
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
64
66
  * body: {
65
67
  * resourceType: "Patient",
66
68
  * name: [
@@ -100,7 +102,8 @@ export declare class Fhir {
100
102
  *
101
103
  * @example
102
104
  * await client.fhir.upsert("550e8400-e29b-41d4-a716-446655440000", "Patient", {
103
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
105
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
106
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
104
107
  * body: {
105
108
  * resourceType: "Patient",
106
109
  * id: "123",
@@ -143,7 +146,8 @@ export declare class Fhir {
143
146
  *
144
147
  * @example
145
148
  * await client.fhir.delete("550e8400-e29b-41d4-a716-446655440000", "Patient", {
146
- * "X-Phenoml-On-Behalf-Of": "user@example.com"
149
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
150
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c..."
147
151
  * })
148
152
  */
149
153
  delete(fhirProviderId: string, fhirPath: string, request?: phenoml.fhir.FhirDeleteRequest, requestOptions?: Fhir.RequestOptions): core.HttpResponsePromise<Record<string, unknown>>;
@@ -176,7 +180,8 @@ export declare class Fhir {
176
180
  *
177
181
  * @example
178
182
  * await client.fhir.patch("550e8400-e29b-41d4-a716-446655440000", "Patient", {
179
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
183
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
184
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
180
185
  * body: [{
181
186
  * op: "replace",
182
187
  * path: "/name/0/family",
@@ -186,7 +191,8 @@ export declare class Fhir {
186
191
  *
187
192
  * @example
188
193
  * await client.fhir.patch("550e8400-e29b-41d4-a716-446655440000", "Patient", {
189
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
194
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
195
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
190
196
  * body: [{
191
197
  * op: "add",
192
198
  * path: "/telecom/-",
@@ -200,7 +206,8 @@ export declare class Fhir {
200
206
  *
201
207
  * @example
202
208
  * await client.fhir.patch("550e8400-e29b-41d4-a716-446655440000", "Patient", {
203
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
209
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
210
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
204
211
  * body: [{
205
212
  * op: "replace",
206
213
  * path: "/name/0/family",
@@ -220,7 +227,8 @@ export declare class Fhir {
220
227
  *
221
228
  * @example
222
229
  * await client.fhir.patch("550e8400-e29b-41d4-a716-446655440000", "Patient", {
223
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
230
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
231
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
224
232
  * body: [{
225
233
  * op: "test",
226
234
  * path: "/gender",
@@ -253,7 +261,8 @@ export declare class Fhir {
253
261
  *
254
262
  * @example
255
263
  * await client.fhir.executeBundle("550e8400-e29b-41d4-a716-446655440000", {
256
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
264
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
265
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
257
266
  * body: {
258
267
  * resourceType: "Bundle",
259
268
  * entry: [{
@@ -41,7 +41,8 @@ export class Fhir {
41
41
  *
42
42
  * @example
43
43
  * await client.fhir.search("550e8400-e29b-41d4-a716-446655440000", "Patient", {
44
- * "X-Phenoml-On-Behalf-Of": "user@example.com"
44
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
45
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c..."
45
46
  * })
46
47
  */
47
48
  search(fhirProviderId, fhirPath, request = {}, requestOptions) {
@@ -50,7 +51,7 @@ export class Fhir {
50
51
  __search(fhirProviderId_1, fhirPath_1) {
51
52
  return __awaiter(this, arguments, void 0, function* (fhirProviderId, fhirPath, request = {}, requestOptions) {
52
53
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
53
- const { query_parameters: queryParameters, "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf } = request;
54
+ const { query_parameters: queryParameters, "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, "X-Phenoml-Fhir-Provider": phenomlFhirProvider, } = request;
54
55
  const _queryParams = {};
55
56
  if (queryParameters != null) {
56
57
  _queryParams.query_parameters = toJson(queryParameters);
@@ -58,6 +59,7 @@ export class Fhir {
58
59
  const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
59
60
  Authorization: yield this._getAuthorizationHeader(),
60
61
  "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf != null ? phenomlOnBehalfOf : undefined,
62
+ "X-Phenoml-Fhir-Provider": phenomlFhirProvider != null ? phenomlFhirProvider : undefined,
61
63
  }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
62
64
  const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
63
65
  url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.phenomlEnvironment.Default, `fhir-provider/${core.url.encodePathParam(fhirProviderId)}/fhir/${core.url.encodePathParam(fhirPath)}`),
@@ -128,7 +130,8 @@ export class Fhir {
128
130
  *
129
131
  * @example
130
132
  * await client.fhir.create("550e8400-e29b-41d4-a716-446655440000", "Patient", {
131
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
133
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
134
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
132
135
  * body: {
133
136
  * resourceType: "Patient",
134
137
  * name: [
@@ -150,10 +153,11 @@ export class Fhir {
150
153
  __create(fhirProviderId, fhirPath, request, requestOptions) {
151
154
  return __awaiter(this, void 0, void 0, function* () {
152
155
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
153
- const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, body: _body } = request;
156
+ const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, "X-Phenoml-Fhir-Provider": phenomlFhirProvider, body: _body, } = request;
154
157
  const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
155
158
  Authorization: yield this._getAuthorizationHeader(),
156
159
  "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf != null ? phenomlOnBehalfOf : undefined,
160
+ "X-Phenoml-Fhir-Provider": phenomlFhirProvider != null ? phenomlFhirProvider : undefined,
157
161
  }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
158
162
  const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
159
163
  url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.phenomlEnvironment.Default, `fhir-provider/${core.url.encodePathParam(fhirProviderId)}/fhir/${core.url.encodePathParam(fhirPath)}`),
@@ -225,7 +229,8 @@ export class Fhir {
225
229
  *
226
230
  * @example
227
231
  * await client.fhir.upsert("550e8400-e29b-41d4-a716-446655440000", "Patient", {
228
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
232
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
233
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
229
234
  * body: {
230
235
  * resourceType: "Patient",
231
236
  * id: "123",
@@ -249,10 +254,11 @@ export class Fhir {
249
254
  __upsert(fhirProviderId, fhirPath, request, requestOptions) {
250
255
  return __awaiter(this, void 0, void 0, function* () {
251
256
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
252
- const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, body: _body } = request;
257
+ const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, "X-Phenoml-Fhir-Provider": phenomlFhirProvider, body: _body, } = request;
253
258
  const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
254
259
  Authorization: yield this._getAuthorizationHeader(),
255
260
  "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf != null ? phenomlOnBehalfOf : undefined,
261
+ "X-Phenoml-Fhir-Provider": phenomlFhirProvider != null ? phenomlFhirProvider : undefined,
256
262
  }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
257
263
  const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
258
264
  url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.phenomlEnvironment.Default, `fhir-provider/${core.url.encodePathParam(fhirProviderId)}/fhir/${core.url.encodePathParam(fhirPath)}`),
@@ -325,7 +331,8 @@ export class Fhir {
325
331
  *
326
332
  * @example
327
333
  * await client.fhir.delete("550e8400-e29b-41d4-a716-446655440000", "Patient", {
328
- * "X-Phenoml-On-Behalf-Of": "user@example.com"
334
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
335
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c..."
329
336
  * })
330
337
  */
331
338
  delete(fhirProviderId, fhirPath, request = {}, requestOptions) {
@@ -334,10 +341,11 @@ export class Fhir {
334
341
  __delete(fhirProviderId_1, fhirPath_1) {
335
342
  return __awaiter(this, arguments, void 0, function* (fhirProviderId, fhirPath, request = {}, requestOptions) {
336
343
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
337
- const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf } = request;
344
+ const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, "X-Phenoml-Fhir-Provider": phenomlFhirProvider } = request;
338
345
  const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
339
346
  Authorization: yield this._getAuthorizationHeader(),
340
347
  "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf != null ? phenomlOnBehalfOf : undefined,
348
+ "X-Phenoml-Fhir-Provider": phenomlFhirProvider != null ? phenomlFhirProvider : undefined,
341
349
  }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
342
350
  const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
343
351
  url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.phenomlEnvironment.Default, `fhir-provider/${core.url.encodePathParam(fhirProviderId)}/fhir/${core.url.encodePathParam(fhirPath)}`),
@@ -414,7 +422,8 @@ export class Fhir {
414
422
  *
415
423
  * @example
416
424
  * await client.fhir.patch("550e8400-e29b-41d4-a716-446655440000", "Patient", {
417
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
425
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
426
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
418
427
  * body: [{
419
428
  * op: "replace",
420
429
  * path: "/name/0/family",
@@ -424,7 +433,8 @@ export class Fhir {
424
433
  *
425
434
  * @example
426
435
  * await client.fhir.patch("550e8400-e29b-41d4-a716-446655440000", "Patient", {
427
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
436
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
437
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
428
438
  * body: [{
429
439
  * op: "add",
430
440
  * path: "/telecom/-",
@@ -438,7 +448,8 @@ export class Fhir {
438
448
  *
439
449
  * @example
440
450
  * await client.fhir.patch("550e8400-e29b-41d4-a716-446655440000", "Patient", {
441
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
451
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
452
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
442
453
  * body: [{
443
454
  * op: "replace",
444
455
  * path: "/name/0/family",
@@ -458,7 +469,8 @@ export class Fhir {
458
469
  *
459
470
  * @example
460
471
  * await client.fhir.patch("550e8400-e29b-41d4-a716-446655440000", "Patient", {
461
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
472
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
473
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
462
474
  * body: [{
463
475
  * op: "test",
464
476
  * path: "/gender",
@@ -476,10 +488,11 @@ export class Fhir {
476
488
  __patch(fhirProviderId, fhirPath, request, requestOptions) {
477
489
  return __awaiter(this, void 0, void 0, function* () {
478
490
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
479
- const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, body: _body } = request;
491
+ const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, "X-Phenoml-Fhir-Provider": phenomlFhirProvider, body: _body, } = request;
480
492
  const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
481
493
  Authorization: yield this._getAuthorizationHeader(),
482
494
  "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf != null ? phenomlOnBehalfOf : undefined,
495
+ "X-Phenoml-Fhir-Provider": phenomlFhirProvider != null ? phenomlFhirProvider : undefined,
483
496
  }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
484
497
  const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
485
498
  url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.phenomlEnvironment.Default, `fhir-provider/${core.url.encodePathParam(fhirProviderId)}/fhir/${core.url.encodePathParam(fhirPath)}`),
@@ -550,7 +563,8 @@ export class Fhir {
550
563
  *
551
564
  * @example
552
565
  * await client.fhir.executeBundle("550e8400-e29b-41d4-a716-446655440000", {
553
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
566
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
567
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
554
568
  * body: {
555
569
  * resourceType: "Bundle",
556
570
  * entry: [{
@@ -591,10 +605,11 @@ export class Fhir {
591
605
  __executeBundle(fhirProviderId, request, requestOptions) {
592
606
  return __awaiter(this, void 0, void 0, function* () {
593
607
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
594
- const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, body: _body } = request;
608
+ const { "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf, "X-Phenoml-Fhir-Provider": phenomlFhirProvider, body: _body, } = request;
595
609
  const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({
596
610
  Authorization: yield this._getAuthorizationHeader(),
597
611
  "X-Phenoml-On-Behalf-Of": phenomlOnBehalfOf != null ? phenomlOnBehalfOf : undefined,
612
+ "X-Phenoml-Fhir-Provider": phenomlFhirProvider != null ? phenomlFhirProvider : undefined,
598
613
  }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
599
614
  const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
600
615
  url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.phenomlEnvironment.Default, `fhir-provider/${core.url.encodePathParam(fhirProviderId)}/fhir`),
@@ -2,7 +2,8 @@ import type * as phenoml from "../../../../index.mjs";
2
2
  /**
3
3
  * @example
4
4
  * {
5
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
5
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
6
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
6
7
  * body: {
7
8
  * resourceType: "Patient",
8
9
  * name: [
@@ -19,7 +20,15 @@ import type * as phenoml from "../../../../index.mjs";
19
20
  * }
20
21
  */
21
22
  export interface FhirCreateRequest {
22
- /** Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity. */
23
+ /**
24
+ * Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
25
+ * Must be in the format: Patient/{uuid} or Practitioner/{uuid}
26
+ */
23
27
  "X-Phenoml-On-Behalf-Of"?: string;
28
+ /**
29
+ * Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
30
+ * Multiple FHIR provider integrations can be provided as comma-separated values.
31
+ */
32
+ "X-Phenoml-Fhir-Provider"?: string;
24
33
  body: phenoml.fhir.FhirResource;
25
34
  }
@@ -1,10 +1,19 @@
1
1
  /**
2
2
  * @example
3
3
  * {
4
- * "X-Phenoml-On-Behalf-Of": "user@example.com"
4
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
5
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c..."
5
6
  * }
6
7
  */
7
8
  export interface FhirDeleteRequest {
8
- /** Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity. */
9
+ /**
10
+ * Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
11
+ * Must be in the format: Patient/{uuid} or Practitioner/{uuid}
12
+ */
9
13
  "X-Phenoml-On-Behalf-Of"?: string;
14
+ /**
15
+ * Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
16
+ * Multiple FHIR provider integrations can be provided as comma-separated values.
17
+ */
18
+ "X-Phenoml-Fhir-Provider"?: string;
10
19
  }
@@ -2,7 +2,8 @@ import type * as phenoml from "../../../../index.mjs";
2
2
  /**
3
3
  * @example
4
4
  * {
5
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
5
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
6
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
6
7
  * body: {
7
8
  * resourceType: "Bundle",
8
9
  * entry: [{
@@ -38,7 +39,15 @@ import type * as phenoml from "../../../../index.mjs";
38
39
  * }
39
40
  */
40
41
  export interface FhirExecuteBundleRequest {
41
- /** Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity. */
42
+ /**
43
+ * Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
44
+ * Must be in the format: Patient/{uuid} or Practitioner/{uuid}
45
+ */
42
46
  "X-Phenoml-On-Behalf-Of"?: string;
47
+ /**
48
+ * Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
49
+ * Multiple FHIR provider integrations can be provided as comma-separated values.
50
+ */
51
+ "X-Phenoml-Fhir-Provider"?: string;
43
52
  body: phenoml.fhir.FhirBundle;
44
53
  }
@@ -2,7 +2,8 @@ import type * as phenoml from "../../../../index.mjs";
2
2
  /**
3
3
  * @example
4
4
  * {
5
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
5
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
6
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
6
7
  * body: [{
7
8
  * op: "replace",
8
9
  * path: "/name/0/family",
@@ -12,7 +13,8 @@ import type * as phenoml from "../../../../index.mjs";
12
13
  *
13
14
  * @example
14
15
  * {
15
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
16
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
17
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
16
18
  * body: [{
17
19
  * op: "add",
18
20
  * path: "/telecom/-",
@@ -26,7 +28,8 @@ import type * as phenoml from "../../../../index.mjs";
26
28
  *
27
29
  * @example
28
30
  * {
29
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
31
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
32
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
30
33
  * body: [{
31
34
  * op: "replace",
32
35
  * path: "/name/0/family",
@@ -46,7 +49,8 @@ import type * as phenoml from "../../../../index.mjs";
46
49
  *
47
50
  * @example
48
51
  * {
49
- * "X-Phenoml-On-Behalf-Of": "user@example.com",
52
+ * "X-Phenoml-On-Behalf-Of": "Patient/550e8400-e29b-41d4-a716-446655440000",
53
+ * "X-Phenoml-Fhir-Provider": "550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
50
54
  * body: [{
51
55
  * op: "test",
52
56
  * path: "/gender",
@@ -59,8 +63,16 @@ import type * as phenoml from "../../../../index.mjs";
59
63
  * }
60
64
  */
61
65
  export interface FhirPatchRequest {
62
- /** Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity. */
66
+ /**
67
+ * Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
68
+ * Must be in the format: Patient/{uuid} or Practitioner/{uuid}
69
+ */
63
70
  "X-Phenoml-On-Behalf-Of"?: string;
71
+ /**
72
+ * Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
73
+ * Multiple FHIR provider integrations can be provided as comma-separated values.
74
+ */
75
+ "X-Phenoml-Fhir-Provider"?: string;
64
76
  /** Array of JSON Patch operations following RFC 6902 */
65
77
  body: phenoml.fhir.FhirPatchRequestBodyItem[];
66
78
  }