@medplum/fhirtypes 0.3.0

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 (199) hide show
  1. package/README.md +61 -0
  2. package/dist/AccessPolicy.d.ts +95 -0
  3. package/dist/Account.d.ts +286 -0
  4. package/dist/ActivityDefinition.d.ts +580 -0
  5. package/dist/Address.d.ts +93 -0
  6. package/dist/AdverseEvent.d.ts +353 -0
  7. package/dist/Age.d.ts +60 -0
  8. package/dist/AllergyIntolerance.d.ts +329 -0
  9. package/dist/Annotation.d.ts +54 -0
  10. package/dist/Appointment.d.ts +330 -0
  11. package/dist/AppointmentResponse.d.ts +154 -0
  12. package/dist/Attachment.d.ts +74 -0
  13. package/dist/AuditEvent.d.ts +532 -0
  14. package/dist/Basic.d.ts +130 -0
  15. package/dist/Binary.d.ts +78 -0
  16. package/dist/BiologicallyDerivedProduct.d.ts +416 -0
  17. package/dist/BodyStructure.d.ts +142 -0
  18. package/dist/Bot.d.ts +64 -0
  19. package/dist/Bundle.d.ts +438 -0
  20. package/dist/CapabilityStatement.d.ts +1193 -0
  21. package/dist/CarePlan.d.ts +518 -0
  22. package/dist/CareTeam.d.ts +247 -0
  23. package/dist/CatalogEntry.d.ts +230 -0
  24. package/dist/ChargeItem.d.ts +338 -0
  25. package/dist/ChargeItemDefinition.d.ts +460 -0
  26. package/dist/Claim.d.ts +1269 -0
  27. package/dist/ClaimResponse.d.ts +1204 -0
  28. package/dist/ClientApplication.d.ts +61 -0
  29. package/dist/ClinicalImpression.d.ts +355 -0
  30. package/dist/CodeSystem.d.ts +627 -0
  31. package/dist/CodeableConcept.d.ts +43 -0
  32. package/dist/Coding.d.ts +63 -0
  33. package/dist/Communication.d.ts +309 -0
  34. package/dist/CommunicationRequest.d.ts +306 -0
  35. package/dist/CompartmentDefinition.d.ts +253 -0
  36. package/dist/Composition.d.ts +494 -0
  37. package/dist/ConceptMap.d.ts +596 -0
  38. package/dist/Condition.d.ts +379 -0
  39. package/dist/Consent.d.ts +529 -0
  40. package/dist/ContactDetail.d.ts +41 -0
  41. package/dist/ContactPoint.d.ts +60 -0
  42. package/dist/Contract.d.ts +1676 -0
  43. package/dist/Contributor.d.ts +48 -0
  44. package/dist/Count.d.ts +62 -0
  45. package/dist/Coverage.d.ts +380 -0
  46. package/dist/CoverageEligibilityRequest.d.ts +468 -0
  47. package/dist/CoverageEligibilityResponse.d.ts +507 -0
  48. package/dist/DataRequirement.d.ts +276 -0
  49. package/dist/DetectedIssue.d.ts +293 -0
  50. package/dist/Device.d.ts +570 -0
  51. package/dist/DeviceDefinition.d.ts +563 -0
  52. package/dist/DeviceMetric.d.ts +231 -0
  53. package/dist/DeviceRequest.d.ts +347 -0
  54. package/dist/DeviceUseStatement.d.ts +198 -0
  55. package/dist/DiagnosticReport.d.ts +294 -0
  56. package/dist/Distance.d.ts +60 -0
  57. package/dist/DocumentManifest.d.ts +229 -0
  58. package/dist/DocumentReference.d.ts +403 -0
  59. package/dist/Dosage.d.ts +184 -0
  60. package/dist/Duration.d.ts +59 -0
  61. package/dist/EffectEvidenceSynthesis.d.ts +686 -0
  62. package/dist/Element.d.ts +29 -0
  63. package/dist/ElementDefinition.d.ts +3010 -0
  64. package/dist/Encounter.d.ts +643 -0
  65. package/dist/Endpoint.d.ts +166 -0
  66. package/dist/EnrollmentRequest.d.ts +135 -0
  67. package/dist/EnrollmentResponse.d.ts +140 -0
  68. package/dist/EpisodeOfCare.d.ts +286 -0
  69. package/dist/EventDefinition.d.ts +297 -0
  70. package/dist/Evidence.d.ts +295 -0
  71. package/dist/EvidenceVariable.d.ts +431 -0
  72. package/dist/ExampleScenario.d.ts +728 -0
  73. package/dist/ExplanationOfBenefit.d.ts +2140 -0
  74. package/dist/Expression.d.ts +58 -0
  75. package/dist/Extension.d.ts +365 -0
  76. package/dist/FamilyMemberHistory.d.ts +359 -0
  77. package/dist/Flag.d.ts +155 -0
  78. package/dist/Goal.d.ts +345 -0
  79. package/dist/GraphDefinition.d.ts +408 -0
  80. package/dist/Group.d.ts +315 -0
  81. package/dist/GuidanceResponse.d.ts +228 -0
  82. package/dist/HealthcareService.d.ts +415 -0
  83. package/dist/HumanName.d.ts +73 -0
  84. package/dist/Identifier.d.ts +67 -0
  85. package/dist/ImagingStudy.d.ts +472 -0
  86. package/dist/Immunization.d.ts +520 -0
  87. package/dist/ImmunizationEvaluation.d.ts +179 -0
  88. package/dist/ImmunizationRecommendation.d.ts +298 -0
  89. package/dist/ImplementationGuide.d.ts +944 -0
  90. package/dist/InsurancePlan.d.ts +719 -0
  91. package/dist/Invoice.d.ts +399 -0
  92. package/dist/JsonWebKey.d.ts +126 -0
  93. package/dist/Library.d.ts +324 -0
  94. package/dist/Linkage.d.ts +170 -0
  95. package/dist/List.d.ts +236 -0
  96. package/dist/Location.d.ts +324 -0
  97. package/dist/Login.d.ts +146 -0
  98. package/dist/MarketingStatus.d.ts +96 -0
  99. package/dist/Measure.d.ts +715 -0
  100. package/dist/MeasureReport.d.ts +531 -0
  101. package/dist/Media.d.ts +243 -0
  102. package/dist/Medication.d.ts +267 -0
  103. package/dist/MedicationAdministration.d.ts +403 -0
  104. package/dist/MedicationDispense.d.ts +398 -0
  105. package/dist/MedicationKnowledge.d.ts +1136 -0
  106. package/dist/MedicationRequest.d.ts +554 -0
  107. package/dist/MedicationStatement.d.ts +262 -0
  108. package/dist/MedicinalProduct.d.ts +530 -0
  109. package/dist/MedicinalProductAuthorization.d.ts +320 -0
  110. package/dist/MedicinalProductContraindication.d.ts +199 -0
  111. package/dist/MedicinalProductIndication.d.ts +210 -0
  112. package/dist/MedicinalProductIngredient.d.ts +391 -0
  113. package/dist/MedicinalProductInteraction.d.ts +186 -0
  114. package/dist/MedicinalProductManufactured.d.ts +135 -0
  115. package/dist/MedicinalProductPackaged.d.ts +305 -0
  116. package/dist/MedicinalProductPharmaceutical.d.ts +383 -0
  117. package/dist/MedicinalProductUndesirableEffect.d.ts +121 -0
  118. package/dist/MessageDefinition.d.ts +384 -0
  119. package/dist/MessageHeader.d.ts +374 -0
  120. package/dist/Meta.d.ts +92 -0
  121. package/dist/MolecularSequence.d.ts +875 -0
  122. package/dist/Money.d.ts +39 -0
  123. package/dist/NamingSystem.d.ts +255 -0
  124. package/dist/Narrative.d.ts +42 -0
  125. package/dist/NutritionOrder.d.ts +650 -0
  126. package/dist/Observation.d.ts +601 -0
  127. package/dist/ObservationDefinition.d.ts +326 -0
  128. package/dist/OperationDefinition.d.ts +542 -0
  129. package/dist/OperationOutcome.d.ts +186 -0
  130. package/dist/Organization.d.ts +217 -0
  131. package/dist/OrganizationAffiliation.d.ts +172 -0
  132. package/dist/ParameterDefinition.d.ts +72 -0
  133. package/dist/Parameters.d.ts +388 -0
  134. package/dist/PasswordChangeRequest.d.ts +66 -0
  135. package/dist/Patient.d.ts +398 -0
  136. package/dist/PaymentNotice.d.ts +162 -0
  137. package/dist/PaymentReconciliation.d.ts +330 -0
  138. package/dist/Period.d.ts +42 -0
  139. package/dist/Person.d.ts +206 -0
  140. package/dist/PlanDefinition.d.ts +968 -0
  141. package/dist/Population.d.ts +76 -0
  142. package/dist/Practitioner.d.ts +223 -0
  143. package/dist/PractitionerRole.d.ts +302 -0
  144. package/dist/Procedure.d.ts +432 -0
  145. package/dist/ProdCharacteristic.d.ts +132 -0
  146. package/dist/ProductShelfLife.d.ts +83 -0
  147. package/dist/Project.d.ts +57 -0
  148. package/dist/ProjectMembership.d.ts +83 -0
  149. package/dist/Provenance.d.ts +299 -0
  150. package/dist/Quantity.d.ts +59 -0
  151. package/dist/Questionnaire.d.ts +703 -0
  152. package/dist/QuestionnaireResponse.d.ts +365 -0
  153. package/dist/Range.d.ts +40 -0
  154. package/dist/Ratio.d.ts +40 -0
  155. package/dist/Reference.d.ts +80 -0
  156. package/dist/RelatedArtifact.d.ts +72 -0
  157. package/dist/RelatedPerson.d.ts +223 -0
  158. package/dist/RequestGroup.d.ts +509 -0
  159. package/dist/ResearchDefinition.d.ts +341 -0
  160. package/dist/ResearchElementDefinition.d.ts +505 -0
  161. package/dist/ResearchStudy.d.ts +370 -0
  162. package/dist/ResearchSubject.d.ts +142 -0
  163. package/dist/Resource.d.ts +316 -0
  164. package/dist/RiskAssessment.d.ts +291 -0
  165. package/dist/RiskEvidenceSynthesis.d.ts +616 -0
  166. package/dist/SampledData.d.ts +77 -0
  167. package/dist/Schedule.d.ts +152 -0
  168. package/dist/SearchParameter.d.ts +324 -0
  169. package/dist/ServiceRequest.d.ts +362 -0
  170. package/dist/Signature.d.ts +86 -0
  171. package/dist/Slot.d.ts +160 -0
  172. package/dist/Specimen.d.ts +427 -0
  173. package/dist/SpecimenDefinition.d.ts +423 -0
  174. package/dist/StructureDefinition.d.ts +504 -0
  175. package/dist/StructureMap.d.ts +1064 -0
  176. package/dist/Subscription.d.ts +202 -0
  177. package/dist/Substance.d.ts +249 -0
  178. package/dist/SubstanceAmount.d.ts +135 -0
  179. package/dist/SubstanceNucleicAcid.d.ts +356 -0
  180. package/dist/SubstancePolymer.d.ts +470 -0
  181. package/dist/SubstanceProtein.d.ts +249 -0
  182. package/dist/SubstanceReferenceInformation.d.ts +386 -0
  183. package/dist/SubstanceSourceMaterial.d.ts +596 -0
  184. package/dist/SubstanceSpecification.d.ts +965 -0
  185. package/dist/SupplyDelivery.d.ts +240 -0
  186. package/dist/SupplyRequest.d.ts +279 -0
  187. package/dist/Task.d.ts +970 -0
  188. package/dist/TerminologyCapabilities.d.ts +820 -0
  189. package/dist/TestReport.d.ts +631 -0
  190. package/dist/TestScript.d.ts +1364 -0
  191. package/dist/Timing.d.ts +210 -0
  192. package/dist/TriggerDefinition.d.ts +81 -0
  193. package/dist/UsageContext.d.ts +74 -0
  194. package/dist/User.d.ts +59 -0
  195. package/dist/ValueSet.d.ts +830 -0
  196. package/dist/VerificationResult.d.ts +399 -0
  197. package/dist/VisionPrescription.d.ts +311 -0
  198. package/dist/index.d.ts +201 -0
  199. package/package.json +36 -0
@@ -0,0 +1,1193 @@
1
+ /*
2
+ * Generated by @medplum/generator
3
+ * Do not edit manually.
4
+ */
5
+
6
+ import { CodeableConcept } from './CodeableConcept';
7
+ import { Coding } from './Coding';
8
+ import { ContactDetail } from './ContactDetail';
9
+ import { Extension } from './Extension';
10
+ import { Meta } from './Meta';
11
+ import { Narrative } from './Narrative';
12
+ import { Organization } from './Organization';
13
+ import { Reference } from './Reference';
14
+ import { Resource } from './Resource';
15
+ import { UsageContext } from './UsageContext';
16
+
17
+ /**
18
+ * A Capability Statement documents a set of capabilities (behaviors) of
19
+ * a FHIR Server for a particular version of FHIR that may be used as a
20
+ * statement of actual server functionality or a statement of required or
21
+ * desired server implementation.
22
+ */
23
+ export interface CapabilityStatement {
24
+
25
+ /**
26
+ * This is a CapabilityStatement resource
27
+ */
28
+ readonly resourceType: 'CapabilityStatement';
29
+
30
+ /**
31
+ * The logical id of the resource, as used in the URL for the resource.
32
+ * Once assigned, this value never changes.
33
+ */
34
+ readonly id?: string;
35
+
36
+ /**
37
+ * The metadata about the resource. This is content that is maintained by
38
+ * the infrastructure. Changes to the content might not always be
39
+ * associated with version changes to the resource.
40
+ */
41
+ readonly meta?: Meta;
42
+
43
+ /**
44
+ * A reference to a set of rules that were followed when the resource was
45
+ * constructed, and which must be understood when processing the content.
46
+ * Often, this is a reference to an implementation guide that defines the
47
+ * special rules along with other profiles etc.
48
+ */
49
+ readonly implicitRules?: string;
50
+
51
+ /**
52
+ * The base language in which the resource is written.
53
+ */
54
+ readonly language?: string;
55
+
56
+ /**
57
+ * A human-readable narrative that contains a summary of the resource and
58
+ * can be used to represent the content of the resource to a human. The
59
+ * narrative need not encode all the structured data, but is required to
60
+ * contain sufficient detail to make it "clinically safe" for a human to
61
+ * just read the narrative. Resource definitions may define what content
62
+ * should be represented in the narrative to ensure clinical safety.
63
+ */
64
+ readonly text?: Narrative;
65
+
66
+ /**
67
+ * These resources do not have an independent existence apart from the
68
+ * resource that contains them - they cannot be identified independently,
69
+ * and nor can they have their own independent transaction scope.
70
+ */
71
+ readonly contained?: Resource[];
72
+
73
+ /**
74
+ * May be used to represent additional information that is not part of
75
+ * the basic definition of the resource. To make the use of extensions
76
+ * safe and manageable, there is a strict set of governance applied to
77
+ * the definition and use of extensions. Though any implementer can
78
+ * define an extension, there is a set of requirements that SHALL be met
79
+ * as part of the definition of the extension.
80
+ */
81
+ readonly extension?: Extension[];
82
+
83
+ /**
84
+ * May be used to represent additional information that is not part of
85
+ * the basic definition of the resource and that modifies the
86
+ * understanding of the element that contains it and/or the understanding
87
+ * of the containing element's descendants. Usually modifier elements
88
+ * provide negation or qualification. To make the use of extensions safe
89
+ * and manageable, there is a strict set of governance applied to the
90
+ * definition and use of extensions. Though any implementer is allowed to
91
+ * define an extension, there is a set of requirements that SHALL be met
92
+ * as part of the definition of the extension. Applications processing a
93
+ * resource are required to check for modifier extensions.
94
+ *
95
+ * Modifier extensions SHALL NOT change the meaning of any elements on
96
+ * Resource or DomainResource (including cannot change the meaning of
97
+ * modifierExtension itself).
98
+ */
99
+ readonly modifierExtension?: Extension[];
100
+
101
+ /**
102
+ * An absolute URI that is used to identify this capability statement
103
+ * when it is referenced in a specification, model, design or an
104
+ * instance; also called its canonical identifier. This SHOULD be
105
+ * globally unique and SHOULD be a literal address at which at which an
106
+ * authoritative instance of this capability statement is (or will be)
107
+ * published. This URL can be the target of a canonical reference. It
108
+ * SHALL remain the same when the capability statement is stored on
109
+ * different servers.
110
+ */
111
+ readonly url?: string;
112
+
113
+ /**
114
+ * The identifier that is used to identify this version of the capability
115
+ * statement when it is referenced in a specification, model, design or
116
+ * instance. This is an arbitrary value managed by the capability
117
+ * statement author and is not expected to be globally unique. For
118
+ * example, it might be a timestamp (e.g. yyyymmdd) if a managed version
119
+ * is not available. There is also no expectation that versions can be
120
+ * placed in a lexicographical sequence.
121
+ */
122
+ readonly version?: string;
123
+
124
+ /**
125
+ * A natural language name identifying the capability statement. This
126
+ * name should be usable as an identifier for the module by machine
127
+ * processing applications such as code generation.
128
+ */
129
+ readonly name?: string;
130
+
131
+ /**
132
+ * A short, descriptive, user-friendly title for the capability
133
+ * statement.
134
+ */
135
+ readonly title?: string;
136
+
137
+ /**
138
+ * The status of this capability statement. Enables tracking the
139
+ * life-cycle of the content.
140
+ */
141
+ readonly status?: string;
142
+
143
+ /**
144
+ * A Boolean value to indicate that this capability statement is authored
145
+ * for testing purposes (or education/evaluation/marketing) and is not
146
+ * intended to be used for genuine usage.
147
+ */
148
+ readonly experimental?: boolean;
149
+
150
+ /**
151
+ * The date (and optionally time) when the capability statement was
152
+ * published. The date must change when the business version changes and
153
+ * it must change if the status code changes. In addition, it should
154
+ * change when the substantive content of the capability statement
155
+ * changes.
156
+ */
157
+ readonly date?: string;
158
+
159
+ /**
160
+ * The name of the organization or individual that published the
161
+ * capability statement.
162
+ */
163
+ readonly publisher?: string;
164
+
165
+ /**
166
+ * Contact details to assist a user in finding and communicating with the
167
+ * publisher.
168
+ */
169
+ readonly contact?: ContactDetail[];
170
+
171
+ /**
172
+ * A free text natural language description of the capability statement
173
+ * from a consumer's perspective. Typically, this is used when the
174
+ * capability statement describes a desired rather than an actual
175
+ * solution, for example as a formal expression of requirements as part
176
+ * of an RFP.
177
+ */
178
+ readonly description?: string;
179
+
180
+ /**
181
+ * The content was developed with a focus and intent of supporting the
182
+ * contexts that are listed. These contexts may be general categories
183
+ * (gender, age, ...) or may be references to specific programs
184
+ * (insurance plans, studies, ...) and may be used to assist with
185
+ * indexing and searching for appropriate capability statement instances.
186
+ */
187
+ readonly useContext?: UsageContext[];
188
+
189
+ /**
190
+ * A legal or geographic region in which the capability statement is
191
+ * intended to be used.
192
+ */
193
+ readonly jurisdiction?: CodeableConcept[];
194
+
195
+ /**
196
+ * Explanation of why this capability statement is needed and why it has
197
+ * been designed as it has.
198
+ */
199
+ readonly purpose?: string;
200
+
201
+ /**
202
+ * A copyright statement relating to the capability statement and/or its
203
+ * contents. Copyright statements are generally legal restrictions on the
204
+ * use and publishing of the capability statement.
205
+ */
206
+ readonly copyright?: string;
207
+
208
+ /**
209
+ * The way that this statement is intended to be used, to describe an
210
+ * actual running instance of software, a particular product (kind, not
211
+ * instance of software) or a class of implementation (e.g. a desired
212
+ * purchase).
213
+ */
214
+ readonly kind?: string;
215
+
216
+ /**
217
+ * Reference to a canonical URL of another CapabilityStatement that this
218
+ * software implements. This capability statement is a published API
219
+ * description that corresponds to a business service. The server may
220
+ * actually implement a subset of the capability statement it claims to
221
+ * implement, so the capability statement must specify the full
222
+ * capability details.
223
+ */
224
+ readonly instantiates?: string[];
225
+
226
+ /**
227
+ * Reference to a canonical URL of another CapabilityStatement that this
228
+ * software adds to. The capability statement automatically includes
229
+ * everything in the other statement, and it is not duplicated, though
230
+ * the server may repeat the same resources, interactions and operations
231
+ * to add additional details to them.
232
+ */
233
+ readonly imports?: string[];
234
+
235
+ /**
236
+ * Software that is covered by this capability statement. It is used
237
+ * when the capability statement describes the capabilities of a
238
+ * particular software version, independent of an installation.
239
+ */
240
+ readonly software?: CapabilityStatementSoftware;
241
+
242
+ /**
243
+ * Identifies a specific implementation instance that is described by the
244
+ * capability statement - i.e. a particular installation, rather than the
245
+ * capabilities of a software program.
246
+ */
247
+ readonly implementation?: CapabilityStatementImplementation;
248
+
249
+ /**
250
+ * The version of the FHIR specification that this CapabilityStatement
251
+ * describes (which SHALL be the same as the FHIR version of the
252
+ * CapabilityStatement itself). There is no default value.
253
+ */
254
+ readonly fhirVersion?: string;
255
+
256
+ /**
257
+ * A list of the formats supported by this implementation using their
258
+ * content types.
259
+ */
260
+ readonly format?: string[];
261
+
262
+ /**
263
+ * A list of the patch formats supported by this implementation using
264
+ * their content types.
265
+ */
266
+ readonly patchFormat?: string[];
267
+
268
+ /**
269
+ * A list of implementation guides that the server does (or should)
270
+ * support in their entirety.
271
+ */
272
+ readonly implementationGuide?: string[];
273
+
274
+ /**
275
+ * A definition of the restful capabilities of the solution, if any.
276
+ */
277
+ readonly rest?: CapabilityStatementRest[];
278
+
279
+ /**
280
+ * A description of the messaging capabilities of the solution.
281
+ */
282
+ readonly messaging?: CapabilityStatementMessaging[];
283
+
284
+ /**
285
+ * A document definition.
286
+ */
287
+ readonly document?: CapabilityStatementDocument[];
288
+ }
289
+
290
+ /**
291
+ * A document definition.
292
+ */
293
+ export interface CapabilityStatementDocument {
294
+
295
+ /**
296
+ * Unique id for the element within a resource (for internal references).
297
+ * This may be any string value that does not contain spaces.
298
+ */
299
+ readonly id?: string;
300
+
301
+ /**
302
+ * May be used to represent additional information that is not part of
303
+ * the basic definition of the element. To make the use of extensions
304
+ * safe and manageable, there is a strict set of governance applied to
305
+ * the definition and use of extensions. Though any implementer can
306
+ * define an extension, there is a set of requirements that SHALL be met
307
+ * as part of the definition of the extension.
308
+ */
309
+ readonly extension?: Extension[];
310
+
311
+ /**
312
+ * May be used to represent additional information that is not part of
313
+ * the basic definition of the element and that modifies the
314
+ * understanding of the element in which it is contained and/or the
315
+ * understanding of the containing element's descendants. Usually
316
+ * modifier elements provide negation or qualification. To make the use
317
+ * of extensions safe and manageable, there is a strict set of governance
318
+ * applied to the definition and use of extensions. Though any
319
+ * implementer can define an extension, there is a set of requirements
320
+ * that SHALL be met as part of the definition of the extension.
321
+ * Applications processing a resource are required to check for modifier
322
+ * extensions.
323
+ *
324
+ * Modifier extensions SHALL NOT change the meaning of any elements on
325
+ * Resource or DomainResource (including cannot change the meaning of
326
+ * modifierExtension itself).
327
+ */
328
+ readonly modifierExtension?: Extension[];
329
+
330
+ /**
331
+ * Mode of this document declaration - whether an application is a
332
+ * producer or consumer.
333
+ */
334
+ readonly mode?: string;
335
+
336
+ /**
337
+ * A description of how the application supports or uses the specified
338
+ * document profile. For example, when documents are created, what
339
+ * action is taken with consumed documents, etc.
340
+ */
341
+ readonly documentation?: string;
342
+
343
+ /**
344
+ * A profile on the document Bundle that constrains which resources are
345
+ * present, and their contents.
346
+ */
347
+ readonly profile?: string;
348
+ }
349
+
350
+ /**
351
+ * Identifies a specific implementation instance that is described by the
352
+ * capability statement - i.e. a particular installation, rather than the
353
+ * capabilities of a software program.
354
+ */
355
+ export interface CapabilityStatementImplementation {
356
+
357
+ /**
358
+ * Unique id for the element within a resource (for internal references).
359
+ * This may be any string value that does not contain spaces.
360
+ */
361
+ readonly id?: string;
362
+
363
+ /**
364
+ * May be used to represent additional information that is not part of
365
+ * the basic definition of the element. To make the use of extensions
366
+ * safe and manageable, there is a strict set of governance applied to
367
+ * the definition and use of extensions. Though any implementer can
368
+ * define an extension, there is a set of requirements that SHALL be met
369
+ * as part of the definition of the extension.
370
+ */
371
+ readonly extension?: Extension[];
372
+
373
+ /**
374
+ * May be used to represent additional information that is not part of
375
+ * the basic definition of the element and that modifies the
376
+ * understanding of the element in which it is contained and/or the
377
+ * understanding of the containing element's descendants. Usually
378
+ * modifier elements provide negation or qualification. To make the use
379
+ * of extensions safe and manageable, there is a strict set of governance
380
+ * applied to the definition and use of extensions. Though any
381
+ * implementer can define an extension, there is a set of requirements
382
+ * that SHALL be met as part of the definition of the extension.
383
+ * Applications processing a resource are required to check for modifier
384
+ * extensions.
385
+ *
386
+ * Modifier extensions SHALL NOT change the meaning of any elements on
387
+ * Resource or DomainResource (including cannot change the meaning of
388
+ * modifierExtension itself).
389
+ */
390
+ readonly modifierExtension?: Extension[];
391
+
392
+ /**
393
+ * Information about the specific installation that this capability
394
+ * statement relates to.
395
+ */
396
+ readonly description?: string;
397
+
398
+ /**
399
+ * An absolute base URL for the implementation. This forms the base for
400
+ * REST interfaces as well as the mailbox and document interfaces.
401
+ */
402
+ readonly url?: string;
403
+
404
+ /**
405
+ * The organization responsible for the management of the instance and
406
+ * oversight of the data on the server at the specified URL.
407
+ */
408
+ readonly custodian?: Reference<Organization>;
409
+ }
410
+
411
+ /**
412
+ * A description of the messaging capabilities of the solution.
413
+ */
414
+ export interface CapabilityStatementMessaging {
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
+ readonly 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 manageable, there is a strict set of governance applied to
426
+ * the definition and use of extensions. Though any implementer can
427
+ * define an extension, there is a set of requirements that SHALL be met
428
+ * as part of the definition of the extension.
429
+ */
430
+ readonly 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 manageable, 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
+ readonly modifierExtension?: Extension[];
450
+
451
+ /**
452
+ * An endpoint (network accessible address) to which messages and/or
453
+ * replies are to be sent.
454
+ */
455
+ readonly endpoint?: CapabilityStatementMessagingEndpoint[];
456
+
457
+ /**
458
+ * Length if the receiver's reliable messaging cache in minutes (if a
459
+ * receiver) or how long the cache length on the receiver should be (if a
460
+ * sender).
461
+ */
462
+ readonly reliableCache?: number;
463
+
464
+ /**
465
+ * Documentation about the system's messaging capabilities for this
466
+ * endpoint not otherwise documented by the capability statement. For
467
+ * example, the process for becoming an authorized messaging exchange
468
+ * partner.
469
+ */
470
+ readonly documentation?: string;
471
+
472
+ /**
473
+ * References to message definitions for messages this system can send or
474
+ * receive.
475
+ */
476
+ readonly supportedMessage?: CapabilityStatementMessagingSupportedMessage[];
477
+ }
478
+
479
+ /**
480
+ * An endpoint (network accessible address) to which messages and/or
481
+ * replies are to be sent.
482
+ */
483
+ export interface CapabilityStatementMessagingEndpoint {
484
+
485
+ /**
486
+ * Unique id for the element within a resource (for internal references).
487
+ * This may be any string value that does not contain spaces.
488
+ */
489
+ readonly id?: string;
490
+
491
+ /**
492
+ * May be used to represent additional information that is not part of
493
+ * the basic definition of the element. To make the use of extensions
494
+ * safe and manageable, there is a strict set of governance applied to
495
+ * the definition and use of extensions. Though any implementer can
496
+ * define an extension, there is a set of requirements that SHALL be met
497
+ * as part of the definition of the extension.
498
+ */
499
+ readonly extension?: Extension[];
500
+
501
+ /**
502
+ * May be used to represent additional information that is not part of
503
+ * the basic definition of the element and that modifies the
504
+ * understanding of the element in which it is contained and/or the
505
+ * understanding of the containing element's descendants. Usually
506
+ * modifier elements provide negation or qualification. To make the use
507
+ * of extensions safe and manageable, there is a strict set of governance
508
+ * applied to the definition and use of extensions. Though any
509
+ * implementer can define an extension, there is a set of requirements
510
+ * that SHALL be met as part of the definition of the extension.
511
+ * Applications processing a resource are required to check for modifier
512
+ * extensions.
513
+ *
514
+ * Modifier extensions SHALL NOT change the meaning of any elements on
515
+ * Resource or DomainResource (including cannot change the meaning of
516
+ * modifierExtension itself).
517
+ */
518
+ readonly modifierExtension?: Extension[];
519
+
520
+ /**
521
+ * A list of the messaging transport protocol(s) identifiers, supported
522
+ * by this endpoint.
523
+ */
524
+ readonly protocol?: Coding;
525
+
526
+ /**
527
+ * The network address of the endpoint. For solutions that do not use
528
+ * network addresses for routing, it can be just an identifier.
529
+ */
530
+ readonly address?: string;
531
+ }
532
+
533
+ /**
534
+ * References to message definitions for messages this system can send or
535
+ * receive.
536
+ */
537
+ export interface CapabilityStatementMessagingSupportedMessage {
538
+
539
+ /**
540
+ * Unique id for the element within a resource (for internal references).
541
+ * This may be any string value that does not contain spaces.
542
+ */
543
+ readonly id?: string;
544
+
545
+ /**
546
+ * May be used to represent additional information that is not part of
547
+ * the basic definition of the element. To make the use of extensions
548
+ * safe and manageable, there is a strict set of governance applied to
549
+ * the definition and use of extensions. Though any implementer can
550
+ * define an extension, there is a set of requirements that SHALL be met
551
+ * as part of the definition of the extension.
552
+ */
553
+ readonly extension?: Extension[];
554
+
555
+ /**
556
+ * May be used to represent additional information that is not part of
557
+ * the basic definition of the element and that modifies the
558
+ * understanding of the element in which it is contained and/or the
559
+ * understanding of the containing element's descendants. Usually
560
+ * modifier elements provide negation or qualification. To make the use
561
+ * of extensions safe and manageable, there is a strict set of governance
562
+ * applied to the definition and use of extensions. Though any
563
+ * implementer can define an extension, there is a set of requirements
564
+ * that SHALL be met as part of the definition of the extension.
565
+ * Applications processing a resource are required to check for modifier
566
+ * extensions.
567
+ *
568
+ * Modifier extensions SHALL NOT change the meaning of any elements on
569
+ * Resource or DomainResource (including cannot change the meaning of
570
+ * modifierExtension itself).
571
+ */
572
+ readonly modifierExtension?: Extension[];
573
+
574
+ /**
575
+ * The mode of this event declaration - whether application is sender or
576
+ * receiver.
577
+ */
578
+ readonly mode?: string;
579
+
580
+ /**
581
+ * Points to a message definition that identifies the messaging event,
582
+ * message structure, allowed responses, etc.
583
+ */
584
+ readonly definition?: string;
585
+ }
586
+
587
+ /**
588
+ * A definition of the restful capabilities of the solution, if any.
589
+ */
590
+ export interface CapabilityStatementRest {
591
+
592
+ /**
593
+ * Unique id for the element within a resource (for internal references).
594
+ * This may be any string value that does not contain spaces.
595
+ */
596
+ readonly id?: string;
597
+
598
+ /**
599
+ * May be used to represent additional information that is not part of
600
+ * the basic definition of the element. To make the use of extensions
601
+ * safe and manageable, there is a strict set of governance applied to
602
+ * the definition and use of extensions. Though any implementer can
603
+ * define an extension, there is a set of requirements that SHALL be met
604
+ * as part of the definition of the extension.
605
+ */
606
+ readonly extension?: Extension[];
607
+
608
+ /**
609
+ * May be used to represent additional information that is not part of
610
+ * the basic definition of the element and that modifies the
611
+ * understanding of the element in which it is contained and/or the
612
+ * understanding of the containing element's descendants. Usually
613
+ * modifier elements provide negation or qualification. To make the use
614
+ * of extensions safe and manageable, there is a strict set of governance
615
+ * applied to the definition and use of extensions. Though any
616
+ * implementer can define an extension, there is a set of requirements
617
+ * that SHALL be met as part of the definition of the extension.
618
+ * Applications processing a resource are required to check for modifier
619
+ * extensions.
620
+ *
621
+ * Modifier extensions SHALL NOT change the meaning of any elements on
622
+ * Resource or DomainResource (including cannot change the meaning of
623
+ * modifierExtension itself).
624
+ */
625
+ readonly modifierExtension?: Extension[];
626
+
627
+ /**
628
+ * Identifies whether this portion of the statement is describing the
629
+ * ability to initiate or receive restful operations.
630
+ */
631
+ readonly mode?: string;
632
+
633
+ /**
634
+ * Information about the system's restful capabilities that apply across
635
+ * all applications, such as security.
636
+ */
637
+ readonly documentation?: string;
638
+
639
+ /**
640
+ * Information about security implementation from an interface
641
+ * perspective - what a client needs to know.
642
+ */
643
+ readonly security?: CapabilityStatementRestSecurity;
644
+
645
+ /**
646
+ * A specification of the restful capabilities of the solution for a
647
+ * specific resource type.
648
+ */
649
+ readonly resource?: CapabilityStatementRestResource[];
650
+
651
+ /**
652
+ * A specification of restful operations supported by the system.
653
+ */
654
+ readonly interaction?: CapabilityStatementRestInteraction[];
655
+
656
+ /**
657
+ * Search parameters that are supported for searching all resources for
658
+ * implementations to support and/or make use of - either references to
659
+ * ones defined in the specification, or additional ones defined for/by
660
+ * the implementation.
661
+ */
662
+ readonly searchParam?: CapabilityStatementRestResourceSearchParam[];
663
+
664
+ /**
665
+ * Definition of an operation or a named query together with its
666
+ * parameters and their meaning and type.
667
+ */
668
+ readonly operation?: CapabilityStatementRestResourceOperation[];
669
+
670
+ /**
671
+ * An absolute URI which is a reference to the definition of a
672
+ * compartment that the system supports. The reference is to a
673
+ * CompartmentDefinition resource by its canonical URL .
674
+ */
675
+ readonly compartment?: string[];
676
+ }
677
+
678
+ /**
679
+ * A specification of restful operations supported by the system.
680
+ */
681
+ export interface CapabilityStatementRestInteraction {
682
+
683
+ /**
684
+ * Unique id for the element within a resource (for internal references).
685
+ * This may be any string value that does not contain spaces.
686
+ */
687
+ readonly id?: string;
688
+
689
+ /**
690
+ * May be used to represent additional information that is not part of
691
+ * the basic definition of the element. To make the use of extensions
692
+ * safe and manageable, there is a strict set of governance applied to
693
+ * the definition and use of extensions. Though any implementer can
694
+ * define an extension, there is a set of requirements that SHALL be met
695
+ * as part of the definition of the extension.
696
+ */
697
+ readonly extension?: Extension[];
698
+
699
+ /**
700
+ * May be used to represent additional information that is not part of
701
+ * the basic definition of the element and that modifies the
702
+ * understanding of the element in which it is contained and/or the
703
+ * understanding of the containing element's descendants. Usually
704
+ * modifier elements provide negation or qualification. To make the use
705
+ * of extensions safe and manageable, there is a strict set of governance
706
+ * applied to the definition and use of extensions. Though any
707
+ * implementer can define an extension, there is a set of requirements
708
+ * that SHALL be met as part of the definition of the extension.
709
+ * Applications processing a resource are required to check for modifier
710
+ * extensions.
711
+ *
712
+ * Modifier extensions SHALL NOT change the meaning of any elements on
713
+ * Resource or DomainResource (including cannot change the meaning of
714
+ * modifierExtension itself).
715
+ */
716
+ readonly modifierExtension?: Extension[];
717
+
718
+ /**
719
+ * A coded identifier of the operation, supported by the system.
720
+ */
721
+ readonly code?: string;
722
+
723
+ /**
724
+ * Guidance specific to the implementation of this operation, such as
725
+ * limitations on the kind of transactions allowed, or information about
726
+ * system wide search is implemented.
727
+ */
728
+ readonly documentation?: string;
729
+ }
730
+
731
+ /**
732
+ * A specification of the restful capabilities of the solution for a
733
+ * specific resource type.
734
+ */
735
+ export interface CapabilityStatementRestResource {
736
+
737
+ /**
738
+ * Unique id for the element within a resource (for internal references).
739
+ * This may be any string value that does not contain spaces.
740
+ */
741
+ readonly id?: string;
742
+
743
+ /**
744
+ * May be used to represent additional information that is not part of
745
+ * the basic definition of the element. To make the use of extensions
746
+ * safe and manageable, there is a strict set of governance applied to
747
+ * the definition and use of extensions. Though any implementer can
748
+ * define an extension, there is a set of requirements that SHALL be met
749
+ * as part of the definition of the extension.
750
+ */
751
+ readonly extension?: Extension[];
752
+
753
+ /**
754
+ * May be used to represent additional information that is not part of
755
+ * the basic definition of the element and that modifies the
756
+ * understanding of the element in which it is contained and/or the
757
+ * understanding of the containing element's descendants. Usually
758
+ * modifier elements provide negation or qualification. To make the use
759
+ * of extensions safe and manageable, there is a strict set of governance
760
+ * applied to the definition and use of extensions. Though any
761
+ * implementer can define an extension, there is a set of requirements
762
+ * that SHALL be met as part of the definition of the extension.
763
+ * Applications processing a resource are required to check for modifier
764
+ * extensions.
765
+ *
766
+ * Modifier extensions SHALL NOT change the meaning of any elements on
767
+ * Resource or DomainResource (including cannot change the meaning of
768
+ * modifierExtension itself).
769
+ */
770
+ readonly modifierExtension?: Extension[];
771
+
772
+ /**
773
+ * A type of resource exposed via the restful interface.
774
+ */
775
+ readonly type?: string;
776
+
777
+ /**
778
+ * A specification of the profile that describes the solution's overall
779
+ * support for the resource, including any constraints on cardinality,
780
+ * bindings, lengths or other limitations. See further discussion in
781
+ * [Using Profiles](profiling.html#profile-uses).
782
+ */
783
+ readonly profile?: string;
784
+
785
+ /**
786
+ * A list of profiles that represent different use cases supported by the
787
+ * system. For a server, &quot;supported by the system&quot; means the system
788
+ * hosts/produces a set of resources that are conformant to a particular
789
+ * profile, and allows clients that use its services to search using this
790
+ * profile and to find appropriate data. For a client, it means the
791
+ * system will search by this profile and process data according to the
792
+ * guidance implicit in the profile. See further discussion in [Using
793
+ * Profiles](profiling.html#profile-uses).
794
+ */
795
+ readonly supportedProfile?: string[];
796
+
797
+ /**
798
+ * Additional information about the resource type used by the system.
799
+ */
800
+ readonly documentation?: string;
801
+
802
+ /**
803
+ * Identifies a restful operation supported by the solution.
804
+ */
805
+ readonly interaction?: CapabilityStatementRestResourceInteraction[];
806
+
807
+ /**
808
+ * This field is set to no-version to specify that the system does not
809
+ * support (server) or use (client) versioning for this resource type. If
810
+ * this has some other value, the server must at least correctly track
811
+ * and populate the versionId meta-property on resources. If the value is
812
+ * 'versioned-update', then the server supports all the versioning
813
+ * features, including using e-tags for version integrity in the API.
814
+ */
815
+ readonly versioning?: string;
816
+
817
+ /**
818
+ * A flag for whether the server is able to return past versions as part
819
+ * of the vRead operation.
820
+ */
821
+ readonly readHistory?: boolean;
822
+
823
+ /**
824
+ * A flag to indicate that the server allows or needs to allow the client
825
+ * to create new identities on the server (that is, the client PUTs to a
826
+ * location where there is no existing resource). Allowing this operation
827
+ * means that the server allows the client to create new identities on
828
+ * the server.
829
+ */
830
+ readonly updateCreate?: boolean;
831
+
832
+ /**
833
+ * A flag that indicates that the server supports conditional create.
834
+ */
835
+ readonly conditionalCreate?: boolean;
836
+
837
+ /**
838
+ * A code that indicates how the server supports conditional read.
839
+ */
840
+ readonly conditionalRead?: string;
841
+
842
+ /**
843
+ * A flag that indicates that the server supports conditional update.
844
+ */
845
+ readonly conditionalUpdate?: boolean;
846
+
847
+ /**
848
+ * A code that indicates how the server supports conditional delete.
849
+ */
850
+ readonly conditionalDelete?: string;
851
+
852
+ /**
853
+ * A set of flags that defines how references are supported.
854
+ */
855
+ readonly referencePolicy?: string[];
856
+
857
+ /**
858
+ * A list of _include values supported by the server.
859
+ */
860
+ readonly searchInclude?: string[];
861
+
862
+ /**
863
+ * A list of _revinclude (reverse include) values supported by the
864
+ * server.
865
+ */
866
+ readonly searchRevInclude?: string[];
867
+
868
+ /**
869
+ * Search parameters for implementations to support and/or make use of -
870
+ * either references to ones defined in the specification, or additional
871
+ * ones defined for/by the implementation.
872
+ */
873
+ readonly searchParam?: CapabilityStatementRestResourceSearchParam[];
874
+
875
+ /**
876
+ * Definition of an operation or a named query together with its
877
+ * parameters and their meaning and type. Consult the definition of the
878
+ * operation for details about how to invoke the operation, and the
879
+ * parameters.
880
+ */
881
+ readonly operation?: CapabilityStatementRestResourceOperation[];
882
+ }
883
+
884
+ /**
885
+ * Identifies a restful operation supported by the solution.
886
+ */
887
+ export interface CapabilityStatementRestResourceInteraction {
888
+
889
+ /**
890
+ * Unique id for the element within a resource (for internal references).
891
+ * This may be any string value that does not contain spaces.
892
+ */
893
+ readonly id?: string;
894
+
895
+ /**
896
+ * May be used to represent additional information that is not part of
897
+ * the basic definition of the element. To make the use of extensions
898
+ * safe and manageable, there is a strict set of governance applied to
899
+ * the definition and use of extensions. Though any implementer can
900
+ * define an extension, there is a set of requirements that SHALL be met
901
+ * as part of the definition of the extension.
902
+ */
903
+ readonly extension?: Extension[];
904
+
905
+ /**
906
+ * May be used to represent additional information that is not part of
907
+ * the basic definition of the element and that modifies the
908
+ * understanding of the element in which it is contained and/or the
909
+ * understanding of the containing element's descendants. Usually
910
+ * modifier elements provide negation or qualification. To make the use
911
+ * of extensions safe and manageable, there is a strict set of governance
912
+ * applied to the definition and use of extensions. Though any
913
+ * implementer can define an extension, there is a set of requirements
914
+ * that SHALL be met as part of the definition of the extension.
915
+ * Applications processing a resource are required to check for modifier
916
+ * extensions.
917
+ *
918
+ * Modifier extensions SHALL NOT change the meaning of any elements on
919
+ * Resource or DomainResource (including cannot change the meaning of
920
+ * modifierExtension itself).
921
+ */
922
+ readonly modifierExtension?: Extension[];
923
+
924
+ /**
925
+ * Coded identifier of the operation, supported by the system resource.
926
+ */
927
+ readonly code?: string;
928
+
929
+ /**
930
+ * Guidance specific to the implementation of this operation, such as
931
+ * 'delete is a logical delete' or 'updates are only allowed with version
932
+ * id' or 'creates permitted from pre-authorized certificates only'.
933
+ */
934
+ readonly documentation?: string;
935
+ }
936
+
937
+ /**
938
+ * Definition of an operation or a named query together with its
939
+ * parameters and their meaning and type. Consult the definition of the
940
+ * operation for details about how to invoke the operation, and the
941
+ * parameters.
942
+ */
943
+ export interface CapabilityStatementRestResourceOperation {
944
+
945
+ /**
946
+ * Unique id for the element within a resource (for internal references).
947
+ * This may be any string value that does not contain spaces.
948
+ */
949
+ readonly id?: string;
950
+
951
+ /**
952
+ * May be used to represent additional information that is not part of
953
+ * the basic definition of the element. To make the use of extensions
954
+ * safe and manageable, there is a strict set of governance applied to
955
+ * the definition and use of extensions. Though any implementer can
956
+ * define an extension, there is a set of requirements that SHALL be met
957
+ * as part of the definition of the extension.
958
+ */
959
+ readonly extension?: Extension[];
960
+
961
+ /**
962
+ * May be used to represent additional information that is not part of
963
+ * the basic definition of the element and that modifies the
964
+ * understanding of the element in which it is contained and/or the
965
+ * understanding of the containing element's descendants. Usually
966
+ * modifier elements provide negation or qualification. To make the use
967
+ * of extensions safe and manageable, there is a strict set of governance
968
+ * applied to the definition and use of extensions. Though any
969
+ * implementer can define an extension, there is a set of requirements
970
+ * that SHALL be met as part of the definition of the extension.
971
+ * Applications processing a resource are required to check for modifier
972
+ * extensions.
973
+ *
974
+ * Modifier extensions SHALL NOT change the meaning of any elements on
975
+ * Resource or DomainResource (including cannot change the meaning of
976
+ * modifierExtension itself).
977
+ */
978
+ readonly modifierExtension?: Extension[];
979
+
980
+ /**
981
+ * The name of the operation or query. For an operation, this is the name
982
+ * prefixed with $ and used in the URL. For a query, this is the name
983
+ * used in the _query parameter when the query is called.
984
+ */
985
+ readonly name?: string;
986
+
987
+ /**
988
+ * Where the formal definition can be found. If a server references the
989
+ * base definition of an Operation (i.e. from the specification itself
990
+ * such as
991
+ * ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that
992
+ * means it supports the full capabilities of the operation - e.g. both
993
+ * GET and POST invocation. If it only supports a subset, it must define
994
+ * its own custom [OperationDefinition](operationdefinition.html#) with a
995
+ * 'base' of the original OperationDefinition. The custom definition
996
+ * would describe the specific subset of functionality supported.
997
+ */
998
+ readonly definition?: string;
999
+
1000
+ /**
1001
+ * Documentation that describes anything special about the operation
1002
+ * behavior, possibly detailing different behavior for system, type and
1003
+ * instance-level invocation of the operation.
1004
+ */
1005
+ readonly documentation?: string;
1006
+ }
1007
+
1008
+ /**
1009
+ * Search parameters for implementations to support and/or make use of -
1010
+ * either references to ones defined in the specification, or additional
1011
+ * ones defined for/by the implementation.
1012
+ */
1013
+ export interface CapabilityStatementRestResourceSearchParam {
1014
+
1015
+ /**
1016
+ * Unique id for the element within a resource (for internal references).
1017
+ * This may be any string value that does not contain spaces.
1018
+ */
1019
+ readonly id?: string;
1020
+
1021
+ /**
1022
+ * May be used to represent additional information that is not part of
1023
+ * the basic definition of the element. To make the use of extensions
1024
+ * safe and manageable, there is a strict set of governance applied to
1025
+ * the definition and use of extensions. Though any implementer can
1026
+ * define an extension, there is a set of requirements that SHALL be met
1027
+ * as part of the definition of the extension.
1028
+ */
1029
+ readonly extension?: Extension[];
1030
+
1031
+ /**
1032
+ * May be used to represent additional information that is not part of
1033
+ * the basic definition of the element and that modifies the
1034
+ * understanding of the element in which it is contained and/or the
1035
+ * understanding of the containing element's descendants. Usually
1036
+ * modifier elements provide negation or qualification. To make the use
1037
+ * of extensions safe and manageable, there is a strict set of governance
1038
+ * applied to the definition and use of extensions. Though any
1039
+ * implementer can define an extension, there is a set of requirements
1040
+ * that SHALL be met as part of the definition of the extension.
1041
+ * Applications processing a resource are required to check for modifier
1042
+ * extensions.
1043
+ *
1044
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1045
+ * Resource or DomainResource (including cannot change the meaning of
1046
+ * modifierExtension itself).
1047
+ */
1048
+ readonly modifierExtension?: Extension[];
1049
+
1050
+ /**
1051
+ * The name of the search parameter used in the interface.
1052
+ */
1053
+ readonly name?: string;
1054
+
1055
+ /**
1056
+ * An absolute URI that is a formal reference to where this parameter was
1057
+ * first defined, so that a client can be confident of the meaning of the
1058
+ * search parameter (a reference to
1059
+ * [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)).
1060
+ * This element SHALL be populated if the search parameter refers to a
1061
+ * SearchParameter defined by the FHIR core specification or externally
1062
+ * defined IGs.
1063
+ */
1064
+ readonly definition?: string;
1065
+
1066
+ /**
1067
+ * The type of value a search parameter refers to, and how the content is
1068
+ * interpreted.
1069
+ */
1070
+ readonly type?: string;
1071
+
1072
+ /**
1073
+ * This allows documentation of any distinct behaviors about how the
1074
+ * search parameter is used. For example, text matching algorithms.
1075
+ */
1076
+ readonly documentation?: string;
1077
+ }
1078
+
1079
+ /**
1080
+ * Information about security implementation from an interface
1081
+ * perspective - what a client needs to know.
1082
+ */
1083
+ export interface CapabilityStatementRestSecurity {
1084
+
1085
+ /**
1086
+ * Unique id for the element within a resource (for internal references).
1087
+ * This may be any string value that does not contain spaces.
1088
+ */
1089
+ readonly id?: string;
1090
+
1091
+ /**
1092
+ * May be used to represent additional information that is not part of
1093
+ * the basic definition of the element. To make the use of extensions
1094
+ * safe and manageable, there is a strict set of governance applied to
1095
+ * the definition and use of extensions. Though any implementer can
1096
+ * define an extension, there is a set of requirements that SHALL be met
1097
+ * as part of the definition of the extension.
1098
+ */
1099
+ readonly extension?: Extension[];
1100
+
1101
+ /**
1102
+ * May be used to represent additional information that is not part of
1103
+ * the basic definition of the element and that modifies the
1104
+ * understanding of the element in which it is contained and/or the
1105
+ * understanding of the containing element's descendants. Usually
1106
+ * modifier elements provide negation or qualification. To make the use
1107
+ * of extensions safe and manageable, there is a strict set of governance
1108
+ * applied to the definition and use of extensions. Though any
1109
+ * implementer can define an extension, there is a set of requirements
1110
+ * that SHALL be met as part of the definition of the extension.
1111
+ * Applications processing a resource are required to check for modifier
1112
+ * extensions.
1113
+ *
1114
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1115
+ * Resource or DomainResource (including cannot change the meaning of
1116
+ * modifierExtension itself).
1117
+ */
1118
+ readonly modifierExtension?: Extension[];
1119
+
1120
+ /**
1121
+ * Server adds CORS headers when responding to requests - this enables
1122
+ * Javascript applications to use the server.
1123
+ */
1124
+ readonly cors?: boolean;
1125
+
1126
+ /**
1127
+ * Types of security services that are supported/required by the system.
1128
+ */
1129
+ readonly service?: CodeableConcept[];
1130
+
1131
+ /**
1132
+ * General description of how security works.
1133
+ */
1134
+ readonly description?: string;
1135
+ }
1136
+
1137
+ /**
1138
+ * Software that is covered by this capability statement. It is used
1139
+ * when the capability statement describes the capabilities of a
1140
+ * particular software version, independent of an installation.
1141
+ */
1142
+ export interface CapabilityStatementSoftware {
1143
+
1144
+ /**
1145
+ * Unique id for the element within a resource (for internal references).
1146
+ * This may be any string value that does not contain spaces.
1147
+ */
1148
+ readonly id?: string;
1149
+
1150
+ /**
1151
+ * May be used to represent additional information that is not part of
1152
+ * the basic definition of the element. To make the use of extensions
1153
+ * safe and manageable, there is a strict set of governance applied to
1154
+ * the definition and use of extensions. Though any implementer can
1155
+ * define an extension, there is a set of requirements that SHALL be met
1156
+ * as part of the definition of the extension.
1157
+ */
1158
+ readonly extension?: Extension[];
1159
+
1160
+ /**
1161
+ * May be used to represent additional information that is not part of
1162
+ * the basic definition of the element and that modifies the
1163
+ * understanding of the element in which it is contained and/or the
1164
+ * understanding of the containing element's descendants. Usually
1165
+ * modifier elements provide negation or qualification. To make the use
1166
+ * of extensions safe and manageable, there is a strict set of governance
1167
+ * applied to the definition and use of extensions. Though any
1168
+ * implementer can define an extension, there is a set of requirements
1169
+ * that SHALL be met as part of the definition of the extension.
1170
+ * Applications processing a resource are required to check for modifier
1171
+ * extensions.
1172
+ *
1173
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1174
+ * Resource or DomainResource (including cannot change the meaning of
1175
+ * modifierExtension itself).
1176
+ */
1177
+ readonly modifierExtension?: Extension[];
1178
+
1179
+ /**
1180
+ * Name the software is known by.
1181
+ */
1182
+ readonly name?: string;
1183
+
1184
+ /**
1185
+ * The version identifier for the software covered by this statement.
1186
+ */
1187
+ readonly version?: string;
1188
+
1189
+ /**
1190
+ * Date this version of the software was released.
1191
+ */
1192
+ readonly releaseDate?: string;
1193
+ }