@haste-health/client 0.16.0 → 0.126.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/http/index.d.ts +7 -7
- package/lib/http/index.js +53 -46
- package/lib/http/index.js.map +1 -1
- package/lib/index.js +6 -18
- package/lib/index.js.map +1 -1
- package/lib/middleware/index.d.ts +4 -3
- package/lib/middleware/index.js +4 -2
- package/lib/middleware/index.js.map +1 -1
- package/package.json +6 -6
- package/src/http/index.ts +77 -75
- package/src/index.ts +6 -18
- package/src/middleware/index.ts +7 -2
- package/lib/.DS_Store +0 -0
- package/lib/types/r4.d.ts +0 -257
- package/lib/types/r4.js +0 -2
- package/lib/types/r4.js.map +0 -1
- package/lib/types/r4b.d.ts +0 -257
- package/lib/types/r4b.js +0 -2
- package/lib/types/r4b.js.map +0 -1
- package/src/.DS_Store +0 -0
package/src/http/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { Bundle, id } from "@haste-health/fhir-types/r4/types";
|
|
3
3
|
import * as r4b from "@haste-health/fhir-types/r4b/types";
|
|
4
|
-
import { FHIR_VERSION
|
|
4
|
+
import { FHIR_VERSION } from "@haste-health/fhir-types/versions";
|
|
5
5
|
import { OperationError, outcomeError } from "@haste-health/operation-outcomes";
|
|
6
6
|
|
|
7
7
|
import { AsynchronousClient } from "../index.js";
|
|
@@ -19,6 +19,13 @@ export type HTTPClientState = {
|
|
|
19
19
|
authenticate?: () => void;
|
|
20
20
|
getAccessToken?: () => Promise<string>;
|
|
21
21
|
url: string | DeriveFHIRURL;
|
|
22
|
+
/**
|
|
23
|
+
* How searches are sent. Defaults to `"GET"` (parameters in the query
|
|
24
|
+
* string). `"POST"` form-encodes them into a `_search` body, keeping
|
|
25
|
+
* identifiers out of URLs and lifting the URL length limit.
|
|
26
|
+
* Allows users to send PHI without worrying about it appearing in URLs.
|
|
27
|
+
*/
|
|
28
|
+
searchMethod?: "GET" | "POST";
|
|
22
29
|
};
|
|
23
30
|
|
|
24
31
|
export type HTTPContext = {
|
|
@@ -26,52 +33,27 @@ export type HTTPContext = {
|
|
|
26
33
|
};
|
|
27
34
|
|
|
28
35
|
function parametersToQueryString(
|
|
29
|
-
parameters: ParsedParameter<string | number>[]
|
|
36
|
+
parameters: ParsedParameter<string | number>[],
|
|
30
37
|
): string {
|
|
31
38
|
return parameters
|
|
32
39
|
.map((p) => {
|
|
33
40
|
const name = p.chains ? [p.name, ...p.chains].join(".") : p.name;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
const modifier = p.modifier ? `:${p.modifier}` : "";
|
|
42
|
+
const value = p.value.map((v) => encodeURIComponent(v)).join(",");
|
|
43
|
+
return `${name}${modifier}=${value}`;
|
|
37
44
|
})
|
|
38
45
|
.join("&");
|
|
39
46
|
}
|
|
40
47
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
function fhirUrlChunk(version: string) {
|
|
45
|
-
switch (version) {
|
|
46
|
-
case R4:
|
|
47
|
-
return "r4";
|
|
48
|
-
case R4B:
|
|
49
|
-
return "r4b";
|
|
50
|
-
default:
|
|
51
|
-
return version;
|
|
52
|
-
}
|
|
48
|
+
/** Renders a query string as a URL suffix, empty when there is none. */
|
|
49
|
+
function querySuffix(queryString: string): string {
|
|
50
|
+
return queryString ? `?${queryString}` : "";
|
|
53
51
|
}
|
|
54
52
|
|
|
55
|
-
/**
|
|
56
|
-
* Used as default and for display purposes in admin app.
|
|
57
|
-
* @param domain HasteHealth Domain
|
|
58
|
-
* @param fhirVersion FHIRVersion
|
|
59
|
-
* @returns HasteHealth VersionedURL.
|
|
60
|
-
*/
|
|
61
|
-
export const deriveHasteHealthVersionedURL = (
|
|
62
|
-
domain: string,
|
|
63
|
-
fhirVersion: FHIR_VERSION
|
|
64
|
-
) => {
|
|
65
|
-
return new URL(
|
|
66
|
-
pathJoin([new URL(domain).pathname, `/${fhirUrlChunk(fhirVersion)}`]),
|
|
67
|
-
domain
|
|
68
|
-
).toString();
|
|
69
|
-
};
|
|
70
|
-
|
|
71
53
|
async function toHTTPRequest(
|
|
72
54
|
state: HTTPClientState,
|
|
73
55
|
context: HTTPContext,
|
|
74
|
-
request: FHIRRequest<FHIR_VERSION, AllInteractions
|
|
56
|
+
request: FHIRRequest<FHIR_VERSION, AllInteractions>,
|
|
75
57
|
): Promise<{
|
|
76
58
|
url: string;
|
|
77
59
|
headers?: Record<string, string>;
|
|
@@ -83,10 +65,11 @@ async function toHTTPRequest(
|
|
|
83
65
|
...context.headers,
|
|
84
66
|
};
|
|
85
67
|
|
|
68
|
+
// A string base URL is the FHIR root and is used as given. The FHIR version
|
|
69
|
+
// belongs to the project, so it is not appended to the path; pass a function
|
|
70
|
+
// if a deployment needs the URL to vary by version.
|
|
86
71
|
let FHIRUrl =
|
|
87
|
-
typeof state.url === "string"
|
|
88
|
-
? deriveHasteHealthVersionedURL(state.url, request.fhirVersion)
|
|
89
|
-
: state.url(request.fhirVersion);
|
|
72
|
+
typeof state.url === "string" ? state.url : state.url(request.fhirVersion);
|
|
90
73
|
if (!FHIRUrl.endsWith("/")) {
|
|
91
74
|
FHIRUrl = FHIRUrl + "/";
|
|
92
75
|
}
|
|
@@ -122,8 +105,8 @@ async function toHTTPRequest(
|
|
|
122
105
|
const queryString = parametersToQueryString(request.parameters);
|
|
123
106
|
return {
|
|
124
107
|
url: new URL(
|
|
125
|
-
`${request.resource}${queryString
|
|
126
|
-
FHIRUrl
|
|
108
|
+
`${request.resource}${querySuffix(queryString)}`,
|
|
109
|
+
FHIRUrl,
|
|
127
110
|
).href,
|
|
128
111
|
method: "PUT",
|
|
129
112
|
body: JSON.stringify(request.body),
|
|
@@ -154,7 +137,7 @@ async function toHTTPRequest(
|
|
|
154
137
|
return {
|
|
155
138
|
url: new URL(
|
|
156
139
|
`${request.resource}/${request.id}/_history/${request.versionId}`,
|
|
157
|
-
FHIRUrl
|
|
140
|
+
FHIRUrl,
|
|
158
141
|
).href,
|
|
159
142
|
method: "GET",
|
|
160
143
|
headers,
|
|
@@ -173,8 +156,8 @@ async function toHTTPRequest(
|
|
|
173
156
|
const queryString = parametersToQueryString(request.parameters);
|
|
174
157
|
return {
|
|
175
158
|
url: new URL(
|
|
176
|
-
`${request.resource}${queryString
|
|
177
|
-
FHIRUrl
|
|
159
|
+
`${request.resource}${querySuffix(queryString)}`,
|
|
160
|
+
FHIRUrl,
|
|
178
161
|
).href,
|
|
179
162
|
method: "DELETE",
|
|
180
163
|
headers,
|
|
@@ -183,8 +166,7 @@ async function toHTTPRequest(
|
|
|
183
166
|
case "system": {
|
|
184
167
|
const queryString = parametersToQueryString(request.parameters);
|
|
185
168
|
return {
|
|
186
|
-
url: new URL(
|
|
187
|
-
.href,
|
|
169
|
+
url: new URL(querySuffix(queryString), FHIRUrl).href,
|
|
188
170
|
method: "DELETE",
|
|
189
171
|
headers,
|
|
190
172
|
};
|
|
@@ -199,7 +181,7 @@ async function toHTTPRequest(
|
|
|
199
181
|
case "instance": {
|
|
200
182
|
historyUrl = new URL(
|
|
201
183
|
`${request.resource}/${request.id}/_history`,
|
|
202
|
-
FHIRUrl
|
|
184
|
+
FHIRUrl,
|
|
203
185
|
).href;
|
|
204
186
|
break;
|
|
205
187
|
}
|
|
@@ -214,8 +196,7 @@ async function toHTTPRequest(
|
|
|
214
196
|
}
|
|
215
197
|
|
|
216
198
|
return {
|
|
217
|
-
url: new URL(
|
|
218
|
-
.href,
|
|
199
|
+
url: new URL(querySuffix(queryString), historyUrl).href,
|
|
219
200
|
method: "GET",
|
|
220
201
|
headers,
|
|
221
202
|
};
|
|
@@ -231,28 +212,49 @@ async function toHTTPRequest(
|
|
|
231
212
|
};
|
|
232
213
|
}
|
|
233
214
|
case "search-request": {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
).href;
|
|
248
|
-
break;
|
|
249
|
-
}
|
|
215
|
+
// Percent-encoded, so this works as a query string or a form body.
|
|
216
|
+
const parameters = parametersToQueryString(request.parameters);
|
|
217
|
+
|
|
218
|
+
if (state.searchMethod === "POST") {
|
|
219
|
+
let searchURL;
|
|
220
|
+
switch (request.level) {
|
|
221
|
+
case "type":
|
|
222
|
+
searchURL = new URL(`${request.resource}/_search`, FHIRUrl).href;
|
|
223
|
+
break;
|
|
224
|
+
case "system":
|
|
225
|
+
searchURL = new URL("_search", FHIRUrl).href;
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
250
228
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
229
|
+
return {
|
|
230
|
+
url: searchURL,
|
|
231
|
+
method: "POST",
|
|
232
|
+
body: parameters,
|
|
233
|
+
headers: {
|
|
234
|
+
...headers,
|
|
235
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
} else {
|
|
239
|
+
const queryString = querySuffix(parameters);
|
|
240
|
+
|
|
241
|
+
let searchURL;
|
|
242
|
+
switch (request.level) {
|
|
243
|
+
case "type":
|
|
244
|
+
searchURL = new URL(`${request.resource}${queryString}`, FHIRUrl)
|
|
245
|
+
.href;
|
|
246
|
+
break;
|
|
247
|
+
case "system":
|
|
248
|
+
searchURL = new URL(queryString, FHIRUrl).href;
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
return {
|
|
253
|
+
url: searchURL,
|
|
254
|
+
method: "GET",
|
|
255
|
+
headers,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
256
258
|
}
|
|
257
259
|
|
|
258
260
|
case "invoke-request": {
|
|
@@ -261,13 +263,13 @@ async function toHTTPRequest(
|
|
|
261
263
|
case "instance":
|
|
262
264
|
invokeURL = new URL(
|
|
263
265
|
`${request.resource}/${request.id}/$${request.operation}`,
|
|
264
|
-
FHIRUrl
|
|
266
|
+
FHIRUrl,
|
|
265
267
|
).href;
|
|
266
268
|
break;
|
|
267
269
|
case "type":
|
|
268
270
|
invokeURL = new URL(
|
|
269
271
|
`${request.resource}/$${request.operation}`,
|
|
270
|
-
FHIRUrl
|
|
272
|
+
FHIRUrl,
|
|
271
273
|
).href;
|
|
272
274
|
break;
|
|
273
275
|
case "system":
|
|
@@ -289,7 +291,7 @@ export class ResponseError<Version extends FHIR_VERSION> extends Error {
|
|
|
289
291
|
private readonly _response: FHIRResponse<Version, "error">;
|
|
290
292
|
constructor(
|
|
291
293
|
request: FHIRRequest<Version, AllInteractions>,
|
|
292
|
-
response: FHIRErrorResponse<Version
|
|
294
|
+
response: FHIRErrorResponse<Version>,
|
|
293
295
|
) {
|
|
294
296
|
super();
|
|
295
297
|
this._request = request;
|
|
@@ -309,7 +311,7 @@ export function isResponseError(e: unknown): e is ResponseError<FHIR_VERSION> {
|
|
|
309
311
|
|
|
310
312
|
async function httpResponseToFHIRResponse<Version extends FHIR_VERSION>(
|
|
311
313
|
request: FHIRRequest<Version, AllInteractions>,
|
|
312
|
-
response: Response
|
|
314
|
+
response: Response,
|
|
313
315
|
): Promise<FHIRResponse<Version, AllInteractions>> {
|
|
314
316
|
if (response.status >= 400) {
|
|
315
317
|
switch (response.status) {
|
|
@@ -627,7 +629,7 @@ function httpMiddleware(state: HTTPClientState): MiddlewareAsync<HTTPContext> {
|
|
|
627
629
|
const httpRequest = await toHTTPRequest(
|
|
628
630
|
state,
|
|
629
631
|
context.ctx,
|
|
630
|
-
context.request
|
|
632
|
+
context.request,
|
|
631
633
|
);
|
|
632
634
|
const response = await fetch(httpRequest.url, {
|
|
633
635
|
method: httpRequest.method,
|
|
@@ -636,7 +638,7 @@ function httpMiddleware(state: HTTPClientState): MiddlewareAsync<HTTPContext> {
|
|
|
636
638
|
});
|
|
637
639
|
const fhirResponse = await httpResponseToFHIRResponse(
|
|
638
640
|
context.request,
|
|
639
|
-
response
|
|
641
|
+
response,
|
|
640
642
|
);
|
|
641
643
|
fhirResponse.http = {
|
|
642
644
|
status: response.status,
|
|
@@ -665,7 +667,7 @@ function httpMiddleware(state: HTTPClientState): MiddlewareAsync<HTTPContext> {
|
|
|
665
667
|
}
|
|
666
668
|
|
|
667
669
|
export default function createHTTPClient(
|
|
668
|
-
initialState: HTTPClientState
|
|
670
|
+
initialState: HTTPClientState,
|
|
669
671
|
): AsynchronousClient<HTTPContext> {
|
|
670
672
|
// Removing trailing slash
|
|
671
673
|
const middleware = httpMiddleware(initialState);
|
package/src/index.ts
CHANGED
|
@@ -148,9 +148,7 @@ export class AsynchronousClient<CTX> implements FHIRClientAsync<CTX> {
|
|
|
148
148
|
const parsedParameters: ParsedParameter<string | number>[] =
|
|
149
149
|
typeof parameters === "string"
|
|
150
150
|
? parseQuery(parameters)
|
|
151
|
-
: parameters
|
|
152
|
-
? parameters
|
|
153
|
-
: [];
|
|
151
|
+
: (parameters ?? []);
|
|
154
152
|
const response = await this.request<typeof fhirVersion, "update">(ctx, {
|
|
155
153
|
fhirVersion,
|
|
156
154
|
type: "update-request",
|
|
@@ -284,9 +282,7 @@ export class AsynchronousClient<CTX> implements FHIRClientAsync<CTX> {
|
|
|
284
282
|
const parsedParameters: ParsedParameter<string | number>[] =
|
|
285
283
|
typeof parameters === "string"
|
|
286
284
|
? parseQuery(parameters)
|
|
287
|
-
: parameters
|
|
288
|
-
? parameters
|
|
289
|
-
: [];
|
|
285
|
+
: (parameters ?? []);
|
|
290
286
|
const response = await this.request<typeof fhirVersion, "delete">(ctx, {
|
|
291
287
|
fhirVersion,
|
|
292
288
|
type: "delete-request",
|
|
@@ -305,9 +301,7 @@ export class AsynchronousClient<CTX> implements FHIRClientAsync<CTX> {
|
|
|
305
301
|
const parsedParameters: ParsedParameter<string | number>[] =
|
|
306
302
|
typeof parameters === "string"
|
|
307
303
|
? parseQuery(parameters)
|
|
308
|
-
: parameters
|
|
309
|
-
? parameters
|
|
310
|
-
: [];
|
|
304
|
+
: (parameters ?? []);
|
|
311
305
|
const response = await this.request<typeof fhirVersion, "delete">(ctx, {
|
|
312
306
|
fhirVersion,
|
|
313
307
|
type: "delete-request",
|
|
@@ -325,9 +319,7 @@ export class AsynchronousClient<CTX> implements FHIRClientAsync<CTX> {
|
|
|
325
319
|
const parsedParameters: ParsedParameter<string | number>[] =
|
|
326
320
|
typeof parameters === "string"
|
|
327
321
|
? parseQuery(parameters)
|
|
328
|
-
: parameters
|
|
329
|
-
? parameters
|
|
330
|
-
: [];
|
|
322
|
+
: (parameters ?? []);
|
|
331
323
|
|
|
332
324
|
const response = await this.request(ctx, {
|
|
333
325
|
fhirVersion,
|
|
@@ -351,9 +343,7 @@ export class AsynchronousClient<CTX> implements FHIRClientAsync<CTX> {
|
|
|
351
343
|
const parsedParameters: ParsedParameter<string | number>[] =
|
|
352
344
|
typeof parameters === "string"
|
|
353
345
|
? parseQuery(parameters)
|
|
354
|
-
: parameters
|
|
355
|
-
? parameters
|
|
356
|
-
: [];
|
|
346
|
+
: (parameters ?? []);
|
|
357
347
|
const response = await this.request<typeof fhirVersion, "history">(ctx, {
|
|
358
348
|
fhirVersion,
|
|
359
349
|
type: "history-request",
|
|
@@ -378,9 +368,7 @@ export class AsynchronousClient<CTX> implements FHIRClientAsync<CTX> {
|
|
|
378
368
|
const parsedParameters: ParsedParameter<string | number>[] =
|
|
379
369
|
typeof parameters === "string"
|
|
380
370
|
? parseQuery(parameters)
|
|
381
|
-
: parameters
|
|
382
|
-
? parameters
|
|
383
|
-
: [];
|
|
371
|
+
: (parameters ?? []);
|
|
384
372
|
const response = await this.request<typeof fhirVersion, "history">(ctx, {
|
|
385
373
|
fhirVersion,
|
|
386
374
|
type: "history-request",
|
package/src/middleware/index.ts
CHANGED
|
@@ -9,6 +9,11 @@ type Context<CTX, Request, Response> = {
|
|
|
9
9
|
response?: Response;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
+
type MiddlewareOptions = { logging?: boolean };
|
|
13
|
+
|
|
14
|
+
/** Shared default so each call does not allocate a fresh options object. */
|
|
15
|
+
const DEFAULT_OPTIONS: MiddlewareOptions = Object.freeze({ logging: false });
|
|
16
|
+
|
|
12
17
|
export type MiddlewareAsyncChain<
|
|
13
18
|
State,
|
|
14
19
|
CTX,
|
|
@@ -45,7 +50,7 @@ function createNext<
|
|
|
45
50
|
Response = FHIRResponse<FHIR_VERSION, AllInteractions | "error">
|
|
46
51
|
>(
|
|
47
52
|
middlewareChain: MiddlewareAsyncChain<State, CTX, Request, Response>[],
|
|
48
|
-
options:
|
|
53
|
+
options: MiddlewareOptions = DEFAULT_OPTIONS
|
|
49
54
|
): Next<State, CTX, Request, Response> {
|
|
50
55
|
const [first, ...rest] = middlewareChain;
|
|
51
56
|
|
|
@@ -72,7 +77,7 @@ export function createMiddlewareAsync<
|
|
|
72
77
|
>(
|
|
73
78
|
_state: State,
|
|
74
79
|
middlewareChain: MiddlewareAsyncChain<State, CTX, Request, Response>[],
|
|
75
|
-
options:
|
|
80
|
+
options: MiddlewareOptions = DEFAULT_OPTIONS
|
|
76
81
|
): MiddlewareAsync<CTX, Request, Response> {
|
|
77
82
|
let state = _state;
|
|
78
83
|
|
package/lib/.DS_Store
DELETED
|
Binary file
|
package/lib/types/r4.d.ts
DELETED
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Bundle,
|
|
3
|
-
CapabilityStatement,
|
|
4
|
-
OperationOutcome,
|
|
5
|
-
Parameters,
|
|
6
|
-
Resource,
|
|
7
|
-
ResourceType,
|
|
8
|
-
code,
|
|
9
|
-
id,
|
|
10
|
-
} from "@oxidized-health/fhir-types/r4/types";
|
|
11
|
-
import { R4 } from "@oxidized-health/fhir-types/versions";
|
|
12
|
-
import type { ParsedParameter } from "../url.js";
|
|
13
|
-
import {
|
|
14
|
-
Request,
|
|
15
|
-
RequestInteractionTypes,
|
|
16
|
-
RequestLevel,
|
|
17
|
-
ResponseInteractionTypes,
|
|
18
|
-
} from "./utilities.js";
|
|
19
|
-
export interface R4InstanceInteraction extends Request<R4, "instance"> {
|
|
20
|
-
resource: ResourceType;
|
|
21
|
-
id: id;
|
|
22
|
-
}
|
|
23
|
-
export interface R4TypeInteraction extends Request<R4, "type"> {
|
|
24
|
-
resource: ResourceType;
|
|
25
|
-
}
|
|
26
|
-
export interface R4SystemInteraction extends Request<R4, "system"> {}
|
|
27
|
-
export type R4ReadRequest = R4InstanceInteraction & {
|
|
28
|
-
type: RequestInteractionTypes["read"];
|
|
29
|
-
};
|
|
30
|
-
export type R4VersionReadRequest = R4InstanceInteraction & {
|
|
31
|
-
type: RequestInteractionTypes["vread"];
|
|
32
|
-
versionId: string;
|
|
33
|
-
};
|
|
34
|
-
export type R4UpdateRequest = R4InstanceInteraction & {
|
|
35
|
-
type: RequestInteractionTypes["update"];
|
|
36
|
-
body: Resource;
|
|
37
|
-
};
|
|
38
|
-
export type R4PatchRequest = R4InstanceInteraction & {
|
|
39
|
-
type: RequestInteractionTypes["patch"];
|
|
40
|
-
body: unknown;
|
|
41
|
-
};
|
|
42
|
-
export type R4InstanceDeleteRequest = R4InstanceInteraction & {
|
|
43
|
-
type: RequestInteractionTypes["delete"];
|
|
44
|
-
};
|
|
45
|
-
export type R4TypeDeleteRequest = R4TypeInteraction & {
|
|
46
|
-
parameters: ParsedParameter<string | number>[];
|
|
47
|
-
type: RequestInteractionTypes["delete"];
|
|
48
|
-
};
|
|
49
|
-
export type R4SystemDeleteRequest = R4SystemInteraction & {
|
|
50
|
-
parameters: ParsedParameter<string | number>[];
|
|
51
|
-
type: RequestInteractionTypes["delete"];
|
|
52
|
-
};
|
|
53
|
-
export type R4HistoryInstanceRequest = R4InstanceInteraction & {
|
|
54
|
-
type: RequestInteractionTypes["history"];
|
|
55
|
-
parameters?: ParsedParameter<string | number>[];
|
|
56
|
-
};
|
|
57
|
-
export type R4CreateRequest = R4TypeInteraction & {
|
|
58
|
-
type: RequestInteractionTypes["create"];
|
|
59
|
-
body: Resource;
|
|
60
|
-
};
|
|
61
|
-
export type R4ConditinalUpdateRequest = R4TypeInteraction & {
|
|
62
|
-
type: RequestInteractionTypes["update"];
|
|
63
|
-
parameters: ParsedParameter<string | number>[];
|
|
64
|
-
body: Resource;
|
|
65
|
-
};
|
|
66
|
-
export type R4TypeSearchRequest = R4TypeInteraction & {
|
|
67
|
-
parameters: ParsedParameter<string | number>[];
|
|
68
|
-
type: RequestInteractionTypes["search"];
|
|
69
|
-
};
|
|
70
|
-
export type R4TypeHistoryRequest = R4TypeInteraction & {
|
|
71
|
-
type: RequestInteractionTypes["history"];
|
|
72
|
-
parameters?: ParsedParameter<string | number>[];
|
|
73
|
-
};
|
|
74
|
-
export type R4CapabilitiesRequest = R4SystemInteraction & {
|
|
75
|
-
type: RequestInteractionTypes["capabilities"];
|
|
76
|
-
};
|
|
77
|
-
export type R4BatchRequest = R4SystemInteraction & {
|
|
78
|
-
type: RequestInteractionTypes["batch"];
|
|
79
|
-
body: Bundle;
|
|
80
|
-
};
|
|
81
|
-
export type R4TransactionRequest = R4SystemInteraction & {
|
|
82
|
-
type: RequestInteractionTypes["transaction"];
|
|
83
|
-
body: Bundle;
|
|
84
|
-
};
|
|
85
|
-
export type R4SystemHistoryRequest = R4SystemInteraction & {
|
|
86
|
-
type: RequestInteractionTypes["history"];
|
|
87
|
-
parameters?: ParsedParameter<string | number>[];
|
|
88
|
-
};
|
|
89
|
-
export type R4SystemSearchRequest = R4SystemInteraction & {
|
|
90
|
-
parameters: ParsedParameter<string | number>[];
|
|
91
|
-
type: RequestInteractionTypes["search"];
|
|
92
|
-
};
|
|
93
|
-
export type R4InvokeInstanceRequest = R4InstanceInteraction & {
|
|
94
|
-
type: RequestInteractionTypes["invoke"];
|
|
95
|
-
operation: code;
|
|
96
|
-
body: Resource;
|
|
97
|
-
};
|
|
98
|
-
export type R4InvokeTypeRequest = R4TypeInteraction & {
|
|
99
|
-
type: RequestInteractionTypes["invoke"];
|
|
100
|
-
operation: code;
|
|
101
|
-
body: Resource;
|
|
102
|
-
};
|
|
103
|
-
export type R4InvokeSystemRequest = R4SystemInteraction & {
|
|
104
|
-
type: RequestInteractionTypes["invoke"];
|
|
105
|
-
operation: code;
|
|
106
|
-
body: Resource;
|
|
107
|
-
};
|
|
108
|
-
export type R4FHIRRequest =
|
|
109
|
-
| R4InvokeInstanceRequest
|
|
110
|
-
| R4InvokeTypeRequest
|
|
111
|
-
| R4InvokeSystemRequest
|
|
112
|
-
| R4ReadRequest
|
|
113
|
-
| R4VersionReadRequest
|
|
114
|
-
| R4UpdateRequest
|
|
115
|
-
| R4PatchRequest
|
|
116
|
-
| R4HistoryInstanceRequest
|
|
117
|
-
| R4InstanceDeleteRequest
|
|
118
|
-
| R4CreateRequest
|
|
119
|
-
| R4TypeSearchRequest
|
|
120
|
-
| R4TypeHistoryRequest
|
|
121
|
-
| R4TypeDeleteRequest
|
|
122
|
-
| R4CapabilitiesRequest
|
|
123
|
-
| R4BatchRequest
|
|
124
|
-
| R4TransactionRequest
|
|
125
|
-
| R4SystemHistoryRequest
|
|
126
|
-
| R4SystemSearchRequest
|
|
127
|
-
| R4SystemDeleteRequest
|
|
128
|
-
| R4ConditinalUpdateRequest;
|
|
129
|
-
export type R4ReadResponse = R4InstanceInteraction & {
|
|
130
|
-
type: ResponseInteractionTypes["read"];
|
|
131
|
-
body: Resource;
|
|
132
|
-
};
|
|
133
|
-
export type R4VersionReadResponse = R4InstanceInteraction & {
|
|
134
|
-
type: ResponseInteractionTypes["vread"];
|
|
135
|
-
versionId: string;
|
|
136
|
-
body: Resource;
|
|
137
|
-
};
|
|
138
|
-
export type R4UpdateResponse = R4InstanceInteraction & {
|
|
139
|
-
type: ResponseInteractionTypes["update"];
|
|
140
|
-
created?: boolean;
|
|
141
|
-
body: Resource;
|
|
142
|
-
};
|
|
143
|
-
export type R4PatchResponse = R4InstanceInteraction & {
|
|
144
|
-
type: ResponseInteractionTypes["patch"];
|
|
145
|
-
body: Resource;
|
|
146
|
-
};
|
|
147
|
-
export type R4InstanceDeleteResponse = R4InstanceInteraction & {
|
|
148
|
-
type: ResponseInteractionTypes["delete"];
|
|
149
|
-
};
|
|
150
|
-
export type R4TypeDeleteResponse = R4TypeInteraction & {
|
|
151
|
-
parameters: ParsedParameter<string | number>[];
|
|
152
|
-
type: ResponseInteractionTypes["delete"];
|
|
153
|
-
deletions?: {
|
|
154
|
-
id: id;
|
|
155
|
-
type: ResourceType;
|
|
156
|
-
}[];
|
|
157
|
-
};
|
|
158
|
-
export type R4SystemDeleteResponse = R4SystemInteraction & {
|
|
159
|
-
parameters: ParsedParameter<string | number>[];
|
|
160
|
-
type: ResponseInteractionTypes["delete"];
|
|
161
|
-
deletions?: {
|
|
162
|
-
id: id;
|
|
163
|
-
type: ResourceType;
|
|
164
|
-
}[];
|
|
165
|
-
};
|
|
166
|
-
export type R4InstanceHistoryResponse = R4InstanceInteraction & {
|
|
167
|
-
type: ResponseInteractionTypes["history"];
|
|
168
|
-
body: Bundle;
|
|
169
|
-
};
|
|
170
|
-
export type R4CreateResponse = R4TypeInteraction & {
|
|
171
|
-
type: ResponseInteractionTypes["create"];
|
|
172
|
-
body: Resource;
|
|
173
|
-
};
|
|
174
|
-
export type R4TypeSearchResponse = R4TypeInteraction & {
|
|
175
|
-
parameters: ParsedParameter<string | number>[];
|
|
176
|
-
type: ResponseInteractionTypes["search"];
|
|
177
|
-
body: Bundle;
|
|
178
|
-
};
|
|
179
|
-
export type R4TypeHistoryResponse = R4TypeInteraction & {
|
|
180
|
-
type: ResponseInteractionTypes["history"];
|
|
181
|
-
body: Bundle;
|
|
182
|
-
};
|
|
183
|
-
export type R4CapabilitiesResponse = R4SystemInteraction & {
|
|
184
|
-
type: ResponseInteractionTypes["capabilities"];
|
|
185
|
-
body: CapabilityStatement;
|
|
186
|
-
};
|
|
187
|
-
export type R4BatchResponse = R4SystemInteraction & {
|
|
188
|
-
type: ResponseInteractionTypes["batch"];
|
|
189
|
-
body: Bundle;
|
|
190
|
-
};
|
|
191
|
-
export type R4TransactionResponse = R4SystemInteraction & {
|
|
192
|
-
type: ResponseInteractionTypes["transaction"];
|
|
193
|
-
body: Bundle;
|
|
194
|
-
};
|
|
195
|
-
export type R4SystemHistoryResponse = R4SystemInteraction & {
|
|
196
|
-
type: ResponseInteractionTypes["history"];
|
|
197
|
-
body: Bundle;
|
|
198
|
-
};
|
|
199
|
-
export type R4SystemSearchResponse = R4SystemInteraction & {
|
|
200
|
-
parameters: ParsedParameter<string | number>[];
|
|
201
|
-
type: ResponseInteractionTypes["search"];
|
|
202
|
-
body: Bundle;
|
|
203
|
-
};
|
|
204
|
-
export type R4InvokeInstanceResponse = R4InstanceInteraction & {
|
|
205
|
-
type: ResponseInteractionTypes["invoke"];
|
|
206
|
-
operation: code;
|
|
207
|
-
body: Parameters;
|
|
208
|
-
};
|
|
209
|
-
export type R4InvokeTypeResponse = R4TypeInteraction & {
|
|
210
|
-
type: ResponseInteractionTypes["invoke"];
|
|
211
|
-
operation: code;
|
|
212
|
-
body: Parameters;
|
|
213
|
-
};
|
|
214
|
-
export type R4InvokeSystemResponse = R4SystemInteraction & {
|
|
215
|
-
type: ResponseInteractionTypes["invoke"];
|
|
216
|
-
operation: code;
|
|
217
|
-
body: Parameters;
|
|
218
|
-
};
|
|
219
|
-
export type R4InvokeResponse =
|
|
220
|
-
| R4InvokeInstanceResponse
|
|
221
|
-
| R4InvokeTypeResponse
|
|
222
|
-
| R4InvokeSystemResponse;
|
|
223
|
-
export type R4InvokeRequest =
|
|
224
|
-
| R4InvokeInstanceRequest
|
|
225
|
-
| R4InvokeTypeRequest
|
|
226
|
-
| R4InvokeSystemRequest;
|
|
227
|
-
interface R4ErrorResponse<Level extends keyof RequestLevel>
|
|
228
|
-
extends Request<R4, Level> {
|
|
229
|
-
type: ResponseInteractionTypes["error"];
|
|
230
|
-
body: OperationOutcome;
|
|
231
|
-
}
|
|
232
|
-
export type R4FHIRErrorResponse =
|
|
233
|
-
| R4ErrorResponse<"system">
|
|
234
|
-
| R4ErrorResponse<"type">
|
|
235
|
-
| R4ErrorResponse<"instance">;
|
|
236
|
-
export type R4FHIRResponse =
|
|
237
|
-
| R4FHIRErrorResponse
|
|
238
|
-
| R4InvokeInstanceResponse
|
|
239
|
-
| R4InvokeTypeResponse
|
|
240
|
-
| R4InvokeSystemResponse
|
|
241
|
-
| R4ReadResponse
|
|
242
|
-
| R4VersionReadResponse
|
|
243
|
-
| R4UpdateResponse
|
|
244
|
-
| R4PatchResponse
|
|
245
|
-
| R4InstanceHistoryResponse
|
|
246
|
-
| R4InstanceDeleteResponse
|
|
247
|
-
| R4CreateResponse
|
|
248
|
-
| R4TypeSearchResponse
|
|
249
|
-
| R4TypeHistoryResponse
|
|
250
|
-
| R4TypeDeleteResponse
|
|
251
|
-
| R4CapabilitiesResponse
|
|
252
|
-
| R4BatchResponse
|
|
253
|
-
| R4TransactionResponse
|
|
254
|
-
| R4SystemHistoryResponse
|
|
255
|
-
| R4SystemSearchResponse
|
|
256
|
-
| R4SystemDeleteResponse;
|
|
257
|
-
export {};
|
package/lib/types/r4.js
DELETED
package/lib/types/r4.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"r4.js","sourceRoot":"","sources":["../../src/types/r4.ts"],"names":[],"mappings":""}
|