@medplum/fhirtypes 3.1.8 → 3.1.10

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/README.md CHANGED
@@ -64,4 +64,4 @@ Medplum is a healthcare platform that helps you quickly develop high-quality com
64
64
 
65
65
  ## License
66
66
 
67
- Apache 2.0. Copyright © Medplum 2023
67
+ Apache 2.0. Copyright © Medplum 2024
@@ -141,4 +141,9 @@ export interface ClientApplication {
141
141
  * Optional external Identity Provider (IdP) for the client application.
142
142
  */
143
143
  identityProvider?: IdentityProvider;
144
+
145
+ /**
146
+ * Optional configuration to set the refresh token duration
147
+ */
148
+ refreshTokenLifetime?: string;
144
149
  }
@@ -11,49 +11,168 @@ import { Narrative } from './Narrative';
11
11
  import { Resource } from './Resource';
12
12
  import { UsageContext } from './UsageContext';
13
13
 
14
+ /**
15
+ * Common Ancestor declaration for conformance and knowledge artifact
16
+ * resources.
17
+ */
14
18
  export interface MetadataResource {
19
+
15
20
  /**
16
- * This is a MetadataResource resource
21
+ * The logical id of the resource, as used in the URL for the resource.
22
+ * Once assigned, this value never changes.
17
23
  */
18
- readonly resourceType: 'MetadataResource';
19
-
20
24
  id?: string;
21
25
 
26
+ /**
27
+ * The metadata about the resource. This is content that is maintained by
28
+ * the infrastructure. Changes to the content might not always be
29
+ * associated with version changes to the resource.
30
+ */
22
31
  meta?: Meta;
23
32
 
33
+ /**
34
+ * A reference to a set of rules that were followed when the resource was
35
+ * constructed, and which must be understood when processing the content.
36
+ * Often, this is a reference to an implementation guide that defines the
37
+ * special rules along with other profiles etc.
38
+ */
24
39
  implicitRules?: string;
25
40
 
41
+ /**
42
+ * The base language in which the resource is written.
43
+ */
26
44
  language?: string;
27
45
 
46
+ /**
47
+ * A human-readable narrative that contains a summary of the resource and
48
+ * can be used to represent the content of the resource to a human. The
49
+ * narrative need not encode all the structured data, but is required to
50
+ * contain sufficient detail to make it "clinically safe" for a human to
51
+ * just read the narrative. Resource definitions may define what content
52
+ * should be represented in the narrative to ensure clinical safety.
53
+ */
28
54
  text?: Narrative;
29
55
 
56
+ /**
57
+ * These resources do not have an independent existence apart from the
58
+ * resource that contains them - they cannot be identified independently,
59
+ * and nor can they have their own independent transaction scope.
60
+ */
30
61
  contained?: Resource[];
31
62
 
63
+ /**
64
+ * May be used to represent additional information that is not part of
65
+ * the basic definition of the resource. To make the use of extensions
66
+ * safe and manageable, there is a strict set of governance applied to
67
+ * the definition and use of extensions. Though any implementer can
68
+ * define an extension, there is a set of requirements that SHALL be met
69
+ * as part of the definition of the extension.
70
+ */
32
71
  extension?: Extension[];
33
72
 
73
+ /**
74
+ * May be used to represent additional information that is not part of
75
+ * the basic definition of the resource and that modifies the
76
+ * understanding of the element that contains it and/or the understanding
77
+ * of the containing element's descendants. Usually modifier elements
78
+ * provide negation or qualification. To make the use of extensions safe
79
+ * and manageable, there is a strict set of governance applied to the
80
+ * definition and use of extensions. Though any implementer is allowed to
81
+ * define an extension, there is a set of requirements that SHALL be met
82
+ * as part of the definition of the extension. Applications processing a
83
+ * resource are required to check for modifier extensions.
84
+ *
85
+ * Modifier extensions SHALL NOT change the meaning of any elements on
86
+ * Resource or DomainResource (including cannot change the meaning of
87
+ * modifierExtension itself).
88
+ */
34
89
  modifierExtension?: Extension[];
35
90
 
91
+ /**
92
+ * An absolute URI that is used to identify this metadata resource when
93
+ * it is referenced in a specification, model, design or an instance;
94
+ * also called its canonical identifier. This SHOULD be globally unique
95
+ * and SHOULD be a literal address at which at which an authoritative
96
+ * instance of this metadata resource is (or will be) published. This URL
97
+ * can be the target of a canonical reference. It SHALL remain the same
98
+ * when the metadata resource is stored on different servers.
99
+ */
36
100
  url?: string;
37
101
 
102
+ /**
103
+ * The identifier that is used to identify this version of the metadata
104
+ * resource when it is referenced in a specification, model, design or
105
+ * instance. This is an arbitrary value managed by the metadata resource
106
+ * author and is not expected to be globally unique. For example, it
107
+ * might be a timestamp (e.g. yyyymmdd) if a managed version is not
108
+ * available. There is also no expectation that versions can be placed in
109
+ * a lexicographical sequence.
110
+ */
38
111
  version?: string;
39
112
 
113
+ /**
114
+ * A natural language name identifying the metadata resource. This name
115
+ * should be usable as an identifier for the module by machine processing
116
+ * applications such as code generation.
117
+ */
40
118
  name?: string;
41
119
 
120
+ /**
121
+ * A short, descriptive, user-friendly title for the metadata resource.
122
+ */
42
123
  title?: string;
43
124
 
44
- status?: string;
125
+ /**
126
+ * The status of this metadata resource. Enables tracking the life-cycle
127
+ * of the content.
128
+ */
129
+ status: 'draft' | 'active' | 'retired' | 'unknown';
45
130
 
131
+ /**
132
+ * A Boolean value to indicate that this metadata resource is authored
133
+ * for testing purposes (or education/evaluation/marketing) and is not
134
+ * intended to be used for genuine usage.
135
+ */
46
136
  experimental?: boolean;
47
137
 
138
+ /**
139
+ * The date (and optionally time) when the metadata resource was
140
+ * published. The date must change when the business version changes and
141
+ * it must change if the status code changes. In addition, it should
142
+ * change when the substantive content of the metadata resource changes.
143
+ */
48
144
  date?: string;
49
145
 
146
+ /**
147
+ * The name of the organization or individual that published the metadata
148
+ * resource.
149
+ */
50
150
  publisher?: string;
51
151
 
152
+ /**
153
+ * Contact details to assist a user in finding and communicating with the
154
+ * publisher.
155
+ */
52
156
  contact?: ContactDetail[];
53
157
 
158
+ /**
159
+ * A free text natural language description of the metadata resource from
160
+ * a consumer's perspective.
161
+ */
54
162
  description?: string;
55
163
 
164
+ /**
165
+ * The content was developed with a focus and intent of supporting the
166
+ * contexts that are listed. These contexts may be general categories
167
+ * (gender, age, ...) or may be references to specific programs
168
+ * (insurance plans, studies, ...) and may be used to assist with
169
+ * indexing and searching for appropriate metadata resource instances.
170
+ */
56
171
  useContext?: UsageContext[];
57
172
 
173
+ /**
174
+ * A legal or geographic region in which the metadata resource is
175
+ * intended to be used.
176
+ */
58
177
  jurisdiction?: CodeableConcept[];
59
178
  }
package/dist/Project.d.ts CHANGED
@@ -116,7 +116,8 @@ export interface Project {
116
116
  superAdmin?: boolean;
117
117
 
118
118
  /**
119
- * Whether this project uses strict FHIR validation.
119
+ * Whether this project uses strict FHIR validation. This setting has
120
+ * been deprecated, and can only be set by a super admin.
120
121
  */
121
122
  strictMode?: boolean;
122
123
 
@@ -0,0 +1,706 @@
1
+ /*
2
+ * Generated by @medplum/generator
3
+ * Do not edit manually.
4
+ */
5
+
6
+ import { ContactDetail } from './ContactDetail';
7
+ import { Extension } from './Extension';
8
+ import { Identifier } from './Identifier';
9
+ import { Meta } from './Meta';
10
+ import { ResourceType } from './ResourceType';
11
+ import { UsageContext } from './UsageContext';
12
+
13
+ /**
14
+ * View definitions represent a tabular projection of a FHIR resource,
15
+ * where the columns and inclusion
16
+ * criteria are defined by FHIRPath expressions.
17
+ */
18
+ export interface ViewDefinition {
19
+
20
+ /**
21
+ * Canonical identifier for this view definition, represented as a URI
22
+ * (globally unique)
23
+ */
24
+ url?: string;
25
+
26
+ /**
27
+ * Additional identifier for the view definition
28
+ */
29
+ identifier?: Identifier;
30
+
31
+ /**
32
+ * Name of the view definition, must be in a database-friendly format.
33
+ */
34
+ name?: string;
35
+
36
+ /**
37
+ * A optional human-readable description of the view.
38
+ */
39
+ title?: string;
40
+
41
+ /**
42
+ * Metadata about the view definition
43
+ */
44
+ meta?: Meta;
45
+
46
+ /**
47
+ * draft | active | retired | unknown
48
+ */
49
+ status: 'draft' | 'active' | 'retired' | 'unknown';
50
+
51
+ /**
52
+ * For testing purposes, not real usage
53
+ */
54
+ experimental?: boolean;
55
+
56
+ /**
57
+ * Name of the publisher/steward (organization or individual)
58
+ */
59
+ publisher?: string;
60
+
61
+ /**
62
+ * Contact details for the publisher
63
+ */
64
+ contact?: ContactDetail[];
65
+
66
+ /**
67
+ * Natural language description of the view definition
68
+ */
69
+ description?: string;
70
+
71
+ /**
72
+ * The context that the content is intended to support
73
+ */
74
+ useContext?: UsageContext[];
75
+
76
+ /**
77
+ * Use and/or publishing restrictions
78
+ */
79
+ copyright?: string;
80
+
81
+ /**
82
+ * The FHIR resource that the view is based upon, e.g. 'Patient' or
83
+ * 'Observation'.
84
+ */
85
+ resource: ResourceType;
86
+
87
+ /**
88
+ * The FHIR version(s) for the FHIR resource. The value of this element
89
+ * is the
90
+ * formal version of the specification, without the revision number, e.g.
91
+ * [publication].[major].[minor].
92
+ */
93
+ fhirVersion?: ('0.01' | '0.05' | '0.06' | '0.11' | '0.0.80' | '0.0.81' | '0.0.82' | '0.4.0' | '0.5.0' | '1.0.0' |
94
+ '1.0.1' | '1.0.2' | '1.1.0' | '1.4.0' | '1.6.0' | '1.8.0' | '3.0.0' | '3.0.1' | '3.3.0' | '3.5.0' | '4.0.0' |
95
+ '4.0.1')[];
96
+
97
+ /**
98
+ * A constant is a value that is injected into a FHIRPath expression
99
+ * through the use of a FHIRPath
100
+ * external constant with the same name.
101
+ */
102
+ constant?: ViewDefinitionConstant[];
103
+
104
+ /**
105
+ * The select structure defines the columns to be used in the resulting
106
+ * view. These are expressed
107
+ * in the `column` structure below, or in nested `select`s for nested
108
+ * resources.
109
+ */
110
+ select: ViewDefinitionSelect[];
111
+
112
+ /**
113
+ * A series of zero or more FHIRPath constraints to filter resources for
114
+ * the view. Every constraint
115
+ * must evaluate to true for the resource to be included in the view.
116
+ */
117
+ where?: ViewDefinitionWhere[];
118
+ }
119
+
120
+ /**
121
+ * A constant is a value that is injected into a FHIRPath expression
122
+ * through the use of a FHIRPath
123
+ * external constant with the same name.
124
+ */
125
+ export interface ViewDefinitionConstant {
126
+
127
+ /**
128
+ * Unique id for the element within a resource (for internal references).
129
+ * This may be any string value that does not contain spaces.
130
+ */
131
+ id?: string;
132
+
133
+ /**
134
+ * May be used to represent additional information that is not part of
135
+ * the basic definition of the element. To make the use of extensions
136
+ * safe and managable, there is a strict set of governance applied to the
137
+ * definition and use of extensions. Though any implementer can define an
138
+ * extension, there is a set of requirements that SHALL be met as part of
139
+ * the definition of the extension.
140
+ */
141
+ extension?: Extension[];
142
+
143
+ /**
144
+ * May be used to represent additional information that is not part of
145
+ * the basic definition of the element and that modifies the
146
+ * understanding of the element in which it is contained and/or the
147
+ * understanding of the containing element's descendants. Usually
148
+ * modifier elements provide negation or qualification. To make the use
149
+ * of extensions safe and managable, there is a strict set of governance
150
+ * applied to the definition and use of extensions. Though any
151
+ * implementer can define an extension, there is a set of requirements
152
+ * that SHALL be met as part of the definition of the extension.
153
+ * Applications processing a resource are required to check for modifier
154
+ * extensions.
155
+ *
156
+ * Modifier extensions SHALL NOT change the meaning of any elements on
157
+ * Resource or DomainResource (including cannot change the meaning of
158
+ * modifierExtension itself).
159
+ */
160
+ modifierExtension?: Extension[];
161
+
162
+ /**
163
+ * Name of constant (referred to in FHIRPath as %[name])
164
+ */
165
+ name: string;
166
+
167
+ /**
168
+ * The value that will be substituted in place of the constant reference.
169
+ * This
170
+ * is done by including `%your_constant_name` in a FHIRPath expression,
171
+ * which effectively converts
172
+ * the FHIR literal defined here to a FHIRPath literal used in the path
173
+ * expression.
174
+ *
175
+ * Support for additional types may be added in the future.
176
+ */
177
+ valueBase64Binary?: string;
178
+
179
+ /**
180
+ * The value that will be substituted in place of the constant reference.
181
+ * This
182
+ * is done by including `%your_constant_name` in a FHIRPath expression,
183
+ * which effectively converts
184
+ * the FHIR literal defined here to a FHIRPath literal used in the path
185
+ * expression.
186
+ *
187
+ * Support for additional types may be added in the future.
188
+ */
189
+ valueBoolean?: boolean;
190
+
191
+ /**
192
+ * The value that will be substituted in place of the constant reference.
193
+ * This
194
+ * is done by including `%your_constant_name` in a FHIRPath expression,
195
+ * which effectively converts
196
+ * the FHIR literal defined here to a FHIRPath literal used in the path
197
+ * expression.
198
+ *
199
+ * Support for additional types may be added in the future.
200
+ */
201
+ valueCanonical?: string;
202
+
203
+ /**
204
+ * The value that will be substituted in place of the constant reference.
205
+ * This
206
+ * is done by including `%your_constant_name` in a FHIRPath expression,
207
+ * which effectively converts
208
+ * the FHIR literal defined here to a FHIRPath literal used in the path
209
+ * expression.
210
+ *
211
+ * Support for additional types may be added in the future.
212
+ */
213
+ valueCode?: string;
214
+
215
+ /**
216
+ * The value that will be substituted in place of the constant reference.
217
+ * This
218
+ * is done by including `%your_constant_name` in a FHIRPath expression,
219
+ * which effectively converts
220
+ * the FHIR literal defined here to a FHIRPath literal used in the path
221
+ * expression.
222
+ *
223
+ * Support for additional types may be added in the future.
224
+ */
225
+ valueDate?: string;
226
+
227
+ /**
228
+ * The value that will be substituted in place of the constant reference.
229
+ * This
230
+ * is done by including `%your_constant_name` in a FHIRPath expression,
231
+ * which effectively converts
232
+ * the FHIR literal defined here to a FHIRPath literal used in the path
233
+ * expression.
234
+ *
235
+ * Support for additional types may be added in the future.
236
+ */
237
+ valueDateTime?: string;
238
+
239
+ /**
240
+ * The value that will be substituted in place of the constant reference.
241
+ * This
242
+ * is done by including `%your_constant_name` in a FHIRPath expression,
243
+ * which effectively converts
244
+ * the FHIR literal defined here to a FHIRPath literal used in the path
245
+ * expression.
246
+ *
247
+ * Support for additional types may be added in the future.
248
+ */
249
+ valueDecimal?: number;
250
+
251
+ /**
252
+ * The value that will be substituted in place of the constant reference.
253
+ * This
254
+ * is done by including `%your_constant_name` in a FHIRPath expression,
255
+ * which effectively converts
256
+ * the FHIR literal defined here to a FHIRPath literal used in the path
257
+ * expression.
258
+ *
259
+ * Support for additional types may be added in the future.
260
+ */
261
+ valueId?: string;
262
+
263
+ /**
264
+ * The value that will be substituted in place of the constant reference.
265
+ * This
266
+ * is done by including `%your_constant_name` in a FHIRPath expression,
267
+ * which effectively converts
268
+ * the FHIR literal defined here to a FHIRPath literal used in the path
269
+ * expression.
270
+ *
271
+ * Support for additional types may be added in the future.
272
+ */
273
+ valueInstant?: string;
274
+
275
+ /**
276
+ * The value that will be substituted in place of the constant reference.
277
+ * This
278
+ * is done by including `%your_constant_name` in a FHIRPath expression,
279
+ * which effectively converts
280
+ * the FHIR literal defined here to a FHIRPath literal used in the path
281
+ * expression.
282
+ *
283
+ * Support for additional types may be added in the future.
284
+ */
285
+ valueInteger?: number;
286
+
287
+ /**
288
+ * The value that will be substituted in place of the constant reference.
289
+ * This
290
+ * is done by including `%your_constant_name` in a FHIRPath expression,
291
+ * which effectively converts
292
+ * the FHIR literal defined here to a FHIRPath literal used in the path
293
+ * expression.
294
+ *
295
+ * Support for additional types may be added in the future.
296
+ */
297
+ valueInteger64?: integer64;
298
+
299
+ /**
300
+ * The value that will be substituted in place of the constant reference.
301
+ * This
302
+ * is done by including `%your_constant_name` in a FHIRPath expression,
303
+ * which effectively converts
304
+ * the FHIR literal defined here to a FHIRPath literal used in the path
305
+ * expression.
306
+ *
307
+ * Support for additional types may be added in the future.
308
+ */
309
+ valueOid?: string;
310
+
311
+ /**
312
+ * The value that will be substituted in place of the constant reference.
313
+ * This
314
+ * is done by including `%your_constant_name` in a FHIRPath expression,
315
+ * which effectively converts
316
+ * the FHIR literal defined here to a FHIRPath literal used in the path
317
+ * expression.
318
+ *
319
+ * Support for additional types may be added in the future.
320
+ */
321
+ valueString?: string;
322
+
323
+ /**
324
+ * The value that will be substituted in place of the constant reference.
325
+ * This
326
+ * is done by including `%your_constant_name` in a FHIRPath expression,
327
+ * which effectively converts
328
+ * the FHIR literal defined here to a FHIRPath literal used in the path
329
+ * expression.
330
+ *
331
+ * Support for additional types may be added in the future.
332
+ */
333
+ valuePositiveInt?: number;
334
+
335
+ /**
336
+ * The value that will be substituted in place of the constant reference.
337
+ * This
338
+ * is done by including `%your_constant_name` in a FHIRPath expression,
339
+ * which effectively converts
340
+ * the FHIR literal defined here to a FHIRPath literal used in the path
341
+ * expression.
342
+ *
343
+ * Support for additional types may be added in the future.
344
+ */
345
+ valueTime?: string;
346
+
347
+ /**
348
+ * The value that will be substituted in place of the constant reference.
349
+ * This
350
+ * is done by including `%your_constant_name` in a FHIRPath expression,
351
+ * which effectively converts
352
+ * the FHIR literal defined here to a FHIRPath literal used in the path
353
+ * expression.
354
+ *
355
+ * Support for additional types may be added in the future.
356
+ */
357
+ valueUnsignedInt?: number;
358
+
359
+ /**
360
+ * The value that will be substituted in place of the constant reference.
361
+ * This
362
+ * is done by including `%your_constant_name` in a FHIRPath expression,
363
+ * which effectively converts
364
+ * the FHIR literal defined here to a FHIRPath literal used in the path
365
+ * expression.
366
+ *
367
+ * Support for additional types may be added in the future.
368
+ */
369
+ valueUri?: string;
370
+
371
+ /**
372
+ * The value that will be substituted in place of the constant reference.
373
+ * This
374
+ * is done by including `%your_constant_name` in a FHIRPath expression,
375
+ * which effectively converts
376
+ * the FHIR literal defined here to a FHIRPath literal used in the path
377
+ * expression.
378
+ *
379
+ * Support for additional types may be added in the future.
380
+ */
381
+ valueUrl?: string;
382
+
383
+ /**
384
+ * The value that will be substituted in place of the constant reference.
385
+ * This
386
+ * is done by including `%your_constant_name` in a FHIRPath expression,
387
+ * which effectively converts
388
+ * the FHIR literal defined here to a FHIRPath literal used in the path
389
+ * expression.
390
+ *
391
+ * Support for additional types may be added in the future.
392
+ */
393
+ valueUuid?: string;
394
+ }
395
+
396
+ /**
397
+ * The value that will be substituted in place of the constant reference.
398
+ * This
399
+ * is done by including `%your_constant_name` in a FHIRPath expression,
400
+ * which effectively converts
401
+ * the FHIR literal defined here to a FHIRPath literal used in the path
402
+ * expression.
403
+ *
404
+ * Support for additional types may be added in the future.
405
+ */
406
+ export type ViewDefinitionConstantValue = boolean | integer64 | number | string;
407
+
408
+ /**
409
+ * The select structure defines the columns to be used in the resulting
410
+ * view. These are expressed
411
+ * in the `column` structure below, or in nested `select`s for nested
412
+ * resources.
413
+ */
414
+ export interface ViewDefinitionSelect {
415
+
416
+ /**
417
+ * Unique id for the element within a resource (for internal references).
418
+ * This may be any string value that does not contain spaces.
419
+ */
420
+ id?: string;
421
+
422
+ /**
423
+ * May be used to represent additional information that is not part of
424
+ * the basic definition of the element. To make the use of extensions
425
+ * safe and managable, there is a strict set of governance applied to the
426
+ * definition and use of extensions. Though any implementer can define an
427
+ * extension, there is a set of requirements that SHALL be met as part of
428
+ * the definition of the extension.
429
+ */
430
+ extension?: Extension[];
431
+
432
+ /**
433
+ * May be used to represent additional information that is not part of
434
+ * the basic definition of the element and that modifies the
435
+ * understanding of the element in which it is contained and/or the
436
+ * understanding of the containing element's descendants. Usually
437
+ * modifier elements provide negation or qualification. To make the use
438
+ * of extensions safe and managable, there is a strict set of governance
439
+ * applied to the definition and use of extensions. Though any
440
+ * implementer can define an extension, there is a set of requirements
441
+ * that SHALL be met as part of the definition of the extension.
442
+ * Applications processing a resource are required to check for modifier
443
+ * extensions.
444
+ *
445
+ * Modifier extensions SHALL NOT change the meaning of any elements on
446
+ * Resource or DomainResource (including cannot change the meaning of
447
+ * modifierExtension itself).
448
+ */
449
+ modifierExtension?: Extension[];
450
+
451
+ /**
452
+ * A column to be produced in the resulting table. The column is relative
453
+ * to the select structure
454
+ * that contains it.
455
+ */
456
+ column?: ViewDefinitionSelectColumn[];
457
+
458
+ /**
459
+ * Nested select relative to a parent expression. If the parent `select`
460
+ * has a `forEach` or `forEachOrNull`, this child select will apply for
461
+ * each item in that expression.
462
+ */
463
+ select?: ViewDefinitionSelect[];
464
+
465
+ /**
466
+ * A FHIRPath expression to retrieve the parent element(s) used in the
467
+ * containing select, relative to the root resource or parent `select`,
468
+ * if applicable. `forEach` will produce a row for each element selected
469
+ * in the expression. For example, using forEach on `address` in Patient
470
+ * will
471
+ * generate a new row for each address, with columns defined in the
472
+ * corresponding `column` structure.
473
+ */
474
+ forEach?: string;
475
+
476
+ /**
477
+ * Same as forEach, but produces a single row with null values in the
478
+ * nested expression if the collection is empty. For example,
479
+ * with a Patient resource, a `forEachOrNull` on address will produce a
480
+ * row for each patient even if there are no addresses; it will
481
+ * simply set the address columns to `null`.
482
+ */
483
+ forEachOrNull?: string;
484
+
485
+ /**
486
+ * A `unionAll` combines the results of multiple selection structures.
487
+ * Each structure under the `unionAll` must produce the same column names
488
+ * and types. The results from each nested selection will then have their
489
+ * own row.
490
+ */
491
+ unionAll?: ViewDefinitionSelect[];
492
+ }
493
+
494
+ /**
495
+ * A column to be produced in the resulting table. The column is relative
496
+ * to the select structure
497
+ * that contains it.
498
+ */
499
+ export interface ViewDefinitionSelectColumn {
500
+
501
+ /**
502
+ * Unique id for the element within a resource (for internal references).
503
+ * This may be any string value that does not contain spaces.
504
+ */
505
+ id?: string;
506
+
507
+ /**
508
+ * May be used to represent additional information that is not part of
509
+ * the basic definition of the element. To make the use of extensions
510
+ * safe and managable, there is a strict set of governance applied to the
511
+ * definition and use of extensions. Though any implementer can define an
512
+ * extension, there is a set of requirements that SHALL be met as part of
513
+ * the definition of the extension.
514
+ */
515
+ extension?: Extension[];
516
+
517
+ /**
518
+ * May be used to represent additional information that is not part of
519
+ * the basic definition of the element and that modifies the
520
+ * understanding of the element in which it is contained and/or the
521
+ * understanding of the containing element's descendants. Usually
522
+ * modifier elements provide negation or qualification. To make the use
523
+ * of extensions safe and managable, there is a strict set of governance
524
+ * applied to the definition and use of extensions. Though any
525
+ * implementer can define an extension, there is a set of requirements
526
+ * that SHALL be met as part of the definition of the extension.
527
+ * Applications processing a resource are required to check for modifier
528
+ * extensions.
529
+ *
530
+ * Modifier extensions SHALL NOT change the meaning of any elements on
531
+ * Resource or DomainResource (including cannot change the meaning of
532
+ * modifierExtension itself).
533
+ */
534
+ modifierExtension?: Extension[];
535
+
536
+ /**
537
+ * A FHIRPath expression that evaluates to the value that will be output
538
+ * in the column for each
539
+ * resource. The input context is the collection of resources of the type
540
+ * specified in the resource
541
+ * element. Constants defined in Reference({constant}) can be referenced
542
+ * as %[name].
543
+ */
544
+ path: string;
545
+
546
+ /**
547
+ * Name of the column produced in the output, must be in a
548
+ * database-friendly format. The column
549
+ * names in the output must not have any duplicates.
550
+ */
551
+ name: string;
552
+
553
+ /**
554
+ * A human-readable description of the column.
555
+ */
556
+ description?: string;
557
+
558
+ /**
559
+ * Indicates whether the column may have multiple values. Defaults to
560
+ * `false` if unset.
561
+ *
562
+ * ViewDefinitions must have this set to `true` if multiple values may be
563
+ * returned. Implementations SHALL
564
+ * report an error if multiple values are produced when that is not the
565
+ * case.
566
+ */
567
+ collection?: boolean;
568
+
569
+ /**
570
+ * A FHIR StructureDefinition URI for the column's type. Relative URIs
571
+ * are implicitly given
572
+ * the 'http://hl7.org/fhir/StructureDefinition/' prefix. The URI may
573
+ * also use FHIR element ID notation to indicate
574
+ * a backbone element within a structure. For instance,
575
+ * `Observation.referenceRange` may be specified to indicate
576
+ * the returned type is that backbone element.
577
+ *
578
+ * This field *must* be provided if a ViewDefinition returns a
579
+ * non-primitive type. Implementations should report an error
580
+ * if the returned type does not match the type set here, or if a
581
+ * non-primitive type is returned but this field is unset.
582
+ */
583
+ type?: string;
584
+
585
+ /**
586
+ * Tags can be used to attach additional metadata to columns, such as
587
+ * implementation-specific
588
+ * directives or database-specific type hints.
589
+ */
590
+ tag?: ViewDefinitionSelectColumnTag[];
591
+ }
592
+
593
+ /**
594
+ * Tags can be used to attach additional metadata to columns, such as
595
+ * implementation-specific
596
+ * directives or database-specific type hints.
597
+ */
598
+ export interface ViewDefinitionSelectColumnTag {
599
+
600
+ /**
601
+ * Unique id for the element within a resource (for internal references).
602
+ * This may be any string value that does not contain spaces.
603
+ */
604
+ id?: string;
605
+
606
+ /**
607
+ * May be used to represent additional information that is not part of
608
+ * the basic definition of the element. To make the use of extensions
609
+ * safe and managable, there is a strict set of governance applied to the
610
+ * definition and use of extensions. Though any implementer can define an
611
+ * extension, there is a set of requirements that SHALL be met as part of
612
+ * the definition of the extension.
613
+ */
614
+ extension?: Extension[];
615
+
616
+ /**
617
+ * May be used to represent additional information that is not part of
618
+ * the basic definition of the element and that modifies the
619
+ * understanding of the element in which it is contained and/or the
620
+ * understanding of the containing element's descendants. Usually
621
+ * modifier elements provide negation or qualification. To make the use
622
+ * of extensions safe and managable, there is a strict set of governance
623
+ * applied to the definition and use of extensions. Though any
624
+ * implementer can define an extension, there is a set of requirements
625
+ * that SHALL be met as part of the definition of the extension.
626
+ * Applications processing a resource are required to check for modifier
627
+ * extensions.
628
+ *
629
+ * Modifier extensions SHALL NOT change the meaning of any elements on
630
+ * Resource or DomainResource (including cannot change the meaning of
631
+ * modifierExtension itself).
632
+ */
633
+ modifierExtension?: Extension[];
634
+
635
+ /**
636
+ * A name that identifies the meaning of the tag. A namespace should be
637
+ * used to scope the tag to
638
+ * a particular context. For example, 'ansi/type' could be used to
639
+ * indicate the type that should
640
+ * be used to represent the value within an ANSI SQL database.
641
+ */
642
+ name: string;
643
+
644
+ /**
645
+ * Value of tag
646
+ */
647
+ value: string;
648
+ }
649
+
650
+ /**
651
+ * A series of zero or more FHIRPath constraints to filter resources for
652
+ * the view. Every constraint
653
+ * must evaluate to true for the resource to be included in the view.
654
+ */
655
+ export interface ViewDefinitionWhere {
656
+
657
+ /**
658
+ * Unique id for the element within a resource (for internal references).
659
+ * This may be any string value that does not contain spaces.
660
+ */
661
+ id?: string;
662
+
663
+ /**
664
+ * May be used to represent additional information that is not part of
665
+ * the basic definition of the element. To make the use of extensions
666
+ * safe and managable, there is a strict set of governance applied to the
667
+ * definition and use of extensions. Though any implementer can define an
668
+ * extension, there is a set of requirements that SHALL be met as part of
669
+ * the definition of the extension.
670
+ */
671
+ extension?: Extension[];
672
+
673
+ /**
674
+ * May be used to represent additional information that is not part of
675
+ * the basic definition of the element and that modifies the
676
+ * understanding of the element in which it is contained and/or the
677
+ * understanding of the containing element's descendants. Usually
678
+ * modifier elements provide negation or qualification. To make the use
679
+ * of extensions safe and managable, there is a strict set of governance
680
+ * applied to the definition and use of extensions. Though any
681
+ * implementer can define an extension, there is a set of requirements
682
+ * that SHALL be met as part of the definition of the extension.
683
+ * Applications processing a resource are required to check for modifier
684
+ * extensions.
685
+ *
686
+ * Modifier extensions SHALL NOT change the meaning of any elements on
687
+ * Resource or DomainResource (including cannot change the meaning of
688
+ * modifierExtension itself).
689
+ */
690
+ modifierExtension?: Extension[];
691
+
692
+ /**
693
+ * A FHIRPath expression that defines a filter that must evaluate to true
694
+ * for a resource to be
695
+ * included in the output. The input context is the collection of
696
+ * resources of the type specified in
697
+ * the resource element. Constants defined in Reference({constant}) can
698
+ * be referenced as %[name].
699
+ */
700
+ path: string;
701
+
702
+ /**
703
+ * A human-readable description of the above where constraint.
704
+ */
705
+ description?: string;
706
+ }
package/dist/index.d.ts CHANGED
@@ -212,4 +212,5 @@ export * from './UserConfiguration';
212
212
  export * from './UserSecurityRequest';
213
213
  export * from './ValueSet';
214
214
  export * from './VerificationResult';
215
+ export * from './ViewDefinition';
215
216
  export * from './VisionPrescription';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medplum/fhirtypes",
3
- "version": "3.1.8",
3
+ "version": "3.1.10",
4
4
  "description": "Medplum FHIR Type Definitions",
5
5
  "keywords": [
6
6
  "medplum",