@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,1364 @@
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 { Identifier } from './Identifier';
11
+ import { Meta } from './Meta';
12
+ import { Narrative } from './Narrative';
13
+ import { Reference } from './Reference';
14
+ import { Resource } from './Resource';
15
+ import { UsageContext } from './UsageContext';
16
+
17
+ /**
18
+ * A structured set of tests against a FHIR server or client
19
+ * implementation to determine compliance against the FHIR specification.
20
+ */
21
+ export interface TestScript {
22
+
23
+ /**
24
+ * This is a TestScript resource
25
+ */
26
+ readonly resourceType: 'TestScript';
27
+
28
+ /**
29
+ * The logical id of the resource, as used in the URL for the resource.
30
+ * Once assigned, this value never changes.
31
+ */
32
+ readonly id?: string;
33
+
34
+ /**
35
+ * The metadata about the resource. This is content that is maintained by
36
+ * the infrastructure. Changes to the content might not always be
37
+ * associated with version changes to the resource.
38
+ */
39
+ readonly meta?: Meta;
40
+
41
+ /**
42
+ * A reference to a set of rules that were followed when the resource was
43
+ * constructed, and which must be understood when processing the content.
44
+ * Often, this is a reference to an implementation guide that defines the
45
+ * special rules along with other profiles etc.
46
+ */
47
+ readonly implicitRules?: string;
48
+
49
+ /**
50
+ * The base language in which the resource is written.
51
+ */
52
+ readonly language?: string;
53
+
54
+ /**
55
+ * A human-readable narrative that contains a summary of the resource and
56
+ * can be used to represent the content of the resource to a human. The
57
+ * narrative need not encode all the structured data, but is required to
58
+ * contain sufficient detail to make it "clinically safe" for a human to
59
+ * just read the narrative. Resource definitions may define what content
60
+ * should be represented in the narrative to ensure clinical safety.
61
+ */
62
+ readonly text?: Narrative;
63
+
64
+ /**
65
+ * These resources do not have an independent existence apart from the
66
+ * resource that contains them - they cannot be identified independently,
67
+ * and nor can they have their own independent transaction scope.
68
+ */
69
+ readonly contained?: Resource[];
70
+
71
+ /**
72
+ * May be used to represent additional information that is not part of
73
+ * the basic definition of the resource. To make the use of extensions
74
+ * safe and manageable, there is a strict set of governance applied to
75
+ * the definition and use of extensions. Though any implementer can
76
+ * define an extension, there is a set of requirements that SHALL be met
77
+ * as part of the definition of the extension.
78
+ */
79
+ readonly extension?: Extension[];
80
+
81
+ /**
82
+ * May be used to represent additional information that is not part of
83
+ * the basic definition of the resource and that modifies the
84
+ * understanding of the element that contains it and/or the understanding
85
+ * of the containing element's descendants. Usually modifier elements
86
+ * provide negation or qualification. To make the use of extensions safe
87
+ * and manageable, there is a strict set of governance applied to the
88
+ * definition and use of extensions. Though any implementer is allowed to
89
+ * define an extension, there is a set of requirements that SHALL be met
90
+ * as part of the definition of the extension. Applications processing a
91
+ * resource are required to check for modifier extensions.
92
+ *
93
+ * Modifier extensions SHALL NOT change the meaning of any elements on
94
+ * Resource or DomainResource (including cannot change the meaning of
95
+ * modifierExtension itself).
96
+ */
97
+ readonly modifierExtension?: Extension[];
98
+
99
+ /**
100
+ * An absolute URI that is used to identify this test script when it is
101
+ * referenced in a specification, model, design or an instance; also
102
+ * called its canonical identifier. This SHOULD be globally unique and
103
+ * SHOULD be a literal address at which at which an authoritative
104
+ * instance of this test script is (or will be) published. This URL can
105
+ * be the target of a canonical reference. It SHALL remain the same when
106
+ * the test script is stored on different servers.
107
+ */
108
+ readonly url?: string;
109
+
110
+ /**
111
+ * A formal identifier that is used to identify this test script when it
112
+ * is represented in other formats, or referenced in a specification,
113
+ * model, design or an instance.
114
+ */
115
+ readonly identifier?: Identifier;
116
+
117
+ /**
118
+ * The identifier that is used to identify this version of the test
119
+ * script when it is referenced in a specification, model, design or
120
+ * instance. This is an arbitrary value managed by the test script author
121
+ * and is not expected to be globally unique. For example, it might be a
122
+ * timestamp (e.g. yyyymmdd) if a managed version is not available. There
123
+ * is also no expectation that versions can be placed in a
124
+ * lexicographical sequence.
125
+ */
126
+ readonly version?: string;
127
+
128
+ /**
129
+ * A natural language name identifying the test script. This name should
130
+ * be usable as an identifier for the module by machine processing
131
+ * applications such as code generation.
132
+ */
133
+ readonly name?: string;
134
+
135
+ /**
136
+ * A short, descriptive, user-friendly title for the test script.
137
+ */
138
+ readonly title?: string;
139
+
140
+ /**
141
+ * The status of this test script. Enables tracking the life-cycle of the
142
+ * content.
143
+ */
144
+ readonly status?: string;
145
+
146
+ /**
147
+ * A Boolean value to indicate that this test script is authored for
148
+ * testing purposes (or education/evaluation/marketing) and is not
149
+ * intended to be used for genuine usage.
150
+ */
151
+ readonly experimental?: boolean;
152
+
153
+ /**
154
+ * The date (and optionally time) when the test script was published.
155
+ * The date must change when the business version changes and it must
156
+ * change if the status code changes. In addition, it should change when
157
+ * the substantive content of the test script changes.
158
+ */
159
+ readonly date?: string;
160
+
161
+ /**
162
+ * The name of the organization or individual that published the test
163
+ * script.
164
+ */
165
+ readonly publisher?: string;
166
+
167
+ /**
168
+ * Contact details to assist a user in finding and communicating with the
169
+ * publisher.
170
+ */
171
+ readonly contact?: ContactDetail[];
172
+
173
+ /**
174
+ * A free text natural language description of the test script from a
175
+ * consumer's perspective.
176
+ */
177
+ readonly description?: string;
178
+
179
+ /**
180
+ * The content was developed with a focus and intent of supporting the
181
+ * contexts that are listed. These contexts may be general categories
182
+ * (gender, age, ...) or may be references to specific programs
183
+ * (insurance plans, studies, ...) and may be used to assist with
184
+ * indexing and searching for appropriate test script instances.
185
+ */
186
+ readonly useContext?: UsageContext[];
187
+
188
+ /**
189
+ * A legal or geographic region in which the test script is intended to
190
+ * be used.
191
+ */
192
+ readonly jurisdiction?: CodeableConcept[];
193
+
194
+ /**
195
+ * Explanation of why this test script is needed and why it has been
196
+ * designed as it has.
197
+ */
198
+ readonly purpose?: string;
199
+
200
+ /**
201
+ * A copyright statement relating to the test script and/or its contents.
202
+ * Copyright statements are generally legal restrictions on the use and
203
+ * publishing of the test script.
204
+ */
205
+ readonly copyright?: string;
206
+
207
+ /**
208
+ * An abstract server used in operations within this test script in the
209
+ * origin element.
210
+ */
211
+ readonly origin?: TestScriptOrigin[];
212
+
213
+ /**
214
+ * An abstract server used in operations within this test script in the
215
+ * destination element.
216
+ */
217
+ readonly destination?: TestScriptDestination[];
218
+
219
+ /**
220
+ * The required capability must exist and are assumed to function
221
+ * correctly on the FHIR server being tested.
222
+ */
223
+ readonly metadata?: TestScriptMetadata;
224
+
225
+ /**
226
+ * Fixture in the test script - by reference (uri). All fixtures are
227
+ * required for the test script to execute.
228
+ */
229
+ readonly fixture?: TestScriptFixture[];
230
+
231
+ /**
232
+ * Reference to the profile to be used for validation.
233
+ */
234
+ readonly profile?: Reference<Resource>[];
235
+
236
+ /**
237
+ * Variable is set based either on element value in response body or on
238
+ * header field value in the response headers.
239
+ */
240
+ readonly variable?: TestScriptVariable[];
241
+
242
+ /**
243
+ * A series of required setup operations before tests are executed.
244
+ */
245
+ readonly setup?: TestScriptSetup;
246
+
247
+ /**
248
+ * A test in this script.
249
+ */
250
+ readonly test?: TestScriptTest[];
251
+
252
+ /**
253
+ * A series of operations required to clean up after all the tests are
254
+ * executed (successfully or otherwise).
255
+ */
256
+ readonly teardown?: TestScriptTeardown;
257
+ }
258
+
259
+ /**
260
+ * An abstract server used in operations within this test script in the
261
+ * destination element.
262
+ */
263
+ export interface TestScriptDestination {
264
+
265
+ /**
266
+ * Unique id for the element within a resource (for internal references).
267
+ * This may be any string value that does not contain spaces.
268
+ */
269
+ readonly id?: string;
270
+
271
+ /**
272
+ * May be used to represent additional information that is not part of
273
+ * the basic definition of the element. To make the use of extensions
274
+ * safe and manageable, there is a strict set of governance applied to
275
+ * the definition and use of extensions. Though any implementer can
276
+ * define an extension, there is a set of requirements that SHALL be met
277
+ * as part of the definition of the extension.
278
+ */
279
+ readonly extension?: Extension[];
280
+
281
+ /**
282
+ * May be used to represent additional information that is not part of
283
+ * the basic definition of the element and that modifies the
284
+ * understanding of the element in which it is contained and/or the
285
+ * understanding of the containing element's descendants. Usually
286
+ * modifier elements provide negation or qualification. To make the use
287
+ * of extensions safe and manageable, there is a strict set of governance
288
+ * applied to the definition and use of extensions. Though any
289
+ * implementer can define an extension, there is a set of requirements
290
+ * that SHALL be met as part of the definition of the extension.
291
+ * Applications processing a resource are required to check for modifier
292
+ * extensions.
293
+ *
294
+ * Modifier extensions SHALL NOT change the meaning of any elements on
295
+ * Resource or DomainResource (including cannot change the meaning of
296
+ * modifierExtension itself).
297
+ */
298
+ readonly modifierExtension?: Extension[];
299
+
300
+ /**
301
+ * Abstract name given to a destination server in this test script. The
302
+ * name is provided as a number starting at 1.
303
+ */
304
+ readonly index?: number;
305
+
306
+ /**
307
+ * The type of destination profile the test system supports.
308
+ */
309
+ readonly profile?: Coding;
310
+ }
311
+
312
+ /**
313
+ * Fixture in the test script - by reference (uri). All fixtures are
314
+ * required for the test script to execute.
315
+ */
316
+ export interface TestScriptFixture {
317
+
318
+ /**
319
+ * Unique id for the element within a resource (for internal references).
320
+ * This may be any string value that does not contain spaces.
321
+ */
322
+ readonly id?: string;
323
+
324
+ /**
325
+ * May be used to represent additional information that is not part of
326
+ * the basic definition of the element. To make the use of extensions
327
+ * safe and manageable, there is a strict set of governance applied to
328
+ * the definition and use of extensions. Though any implementer can
329
+ * define an extension, there is a set of requirements that SHALL be met
330
+ * as part of the definition of the extension.
331
+ */
332
+ readonly extension?: Extension[];
333
+
334
+ /**
335
+ * May be used to represent additional information that is not part of
336
+ * the basic definition of the element and that modifies the
337
+ * understanding of the element in which it is contained and/or the
338
+ * understanding of the containing element's descendants. Usually
339
+ * modifier elements provide negation or qualification. To make the use
340
+ * of extensions safe and manageable, there is a strict set of governance
341
+ * applied to the definition and use of extensions. Though any
342
+ * implementer can define an extension, there is a set of requirements
343
+ * that SHALL be met as part of the definition of the extension.
344
+ * Applications processing a resource are required to check for modifier
345
+ * extensions.
346
+ *
347
+ * Modifier extensions SHALL NOT change the meaning of any elements on
348
+ * Resource or DomainResource (including cannot change the meaning of
349
+ * modifierExtension itself).
350
+ */
351
+ readonly modifierExtension?: Extension[];
352
+
353
+ /**
354
+ * Whether or not to implicitly create the fixture during setup. If true,
355
+ * the fixture is automatically created on each server being tested
356
+ * during setup, therefore no create operation is required for this
357
+ * fixture in the TestScript.setup section.
358
+ */
359
+ readonly autocreate?: boolean;
360
+
361
+ /**
362
+ * Whether or not to implicitly delete the fixture during teardown. If
363
+ * true, the fixture is automatically deleted on each server being tested
364
+ * during teardown, therefore no delete operation is required for this
365
+ * fixture in the TestScript.teardown section.
366
+ */
367
+ readonly autodelete?: boolean;
368
+
369
+ /**
370
+ * Reference to the resource (containing the contents of the resource
371
+ * needed for operations).
372
+ */
373
+ readonly resource?: Reference<Resource>;
374
+ }
375
+
376
+ /**
377
+ * The required capability must exist and are assumed to function
378
+ * correctly on the FHIR server being tested.
379
+ */
380
+ export interface TestScriptMetadata {
381
+
382
+ /**
383
+ * Unique id for the element within a resource (for internal references).
384
+ * This may be any string value that does not contain spaces.
385
+ */
386
+ readonly id?: string;
387
+
388
+ /**
389
+ * May be used to represent additional information that is not part of
390
+ * the basic definition of the element. To make the use of extensions
391
+ * safe and manageable, there is a strict set of governance applied to
392
+ * the definition and use of extensions. Though any implementer can
393
+ * define an extension, there is a set of requirements that SHALL be met
394
+ * as part of the definition of the extension.
395
+ */
396
+ readonly extension?: Extension[];
397
+
398
+ /**
399
+ * May be used to represent additional information that is not part of
400
+ * the basic definition of the element and that modifies the
401
+ * understanding of the element in which it is contained and/or the
402
+ * understanding of the containing element's descendants. Usually
403
+ * modifier elements provide negation or qualification. To make the use
404
+ * of extensions safe and manageable, there is a strict set of governance
405
+ * applied to the definition and use of extensions. Though any
406
+ * implementer can define an extension, there is a set of requirements
407
+ * that SHALL be met as part of the definition of the extension.
408
+ * Applications processing a resource are required to check for modifier
409
+ * extensions.
410
+ *
411
+ * Modifier extensions SHALL NOT change the meaning of any elements on
412
+ * Resource or DomainResource (including cannot change the meaning of
413
+ * modifierExtension itself).
414
+ */
415
+ readonly modifierExtension?: Extension[];
416
+
417
+ /**
418
+ * A link to the FHIR specification that this test is covering.
419
+ */
420
+ readonly link?: TestScriptMetadataLink[];
421
+
422
+ /**
423
+ * Capabilities that must exist and are assumed to function correctly on
424
+ * the FHIR server being tested.
425
+ */
426
+ readonly capability?: TestScriptMetadataCapability[];
427
+ }
428
+
429
+ /**
430
+ * Capabilities that must exist and are assumed to function correctly on
431
+ * the FHIR server being tested.
432
+ */
433
+ export interface TestScriptMetadataCapability {
434
+
435
+ /**
436
+ * Unique id for the element within a resource (for internal references).
437
+ * This may be any string value that does not contain spaces.
438
+ */
439
+ readonly id?: string;
440
+
441
+ /**
442
+ * May be used to represent additional information that is not part of
443
+ * the basic definition of the element. To make the use of extensions
444
+ * safe and manageable, there is a strict set of governance applied to
445
+ * the definition and use of extensions. Though any implementer can
446
+ * define an extension, there is a set of requirements that SHALL be met
447
+ * as part of the definition of the extension.
448
+ */
449
+ readonly extension?: Extension[];
450
+
451
+ /**
452
+ * May be used to represent additional information that is not part of
453
+ * the basic definition of the element and that modifies the
454
+ * understanding of the element in which it is contained and/or the
455
+ * understanding of the containing element's descendants. Usually
456
+ * modifier elements provide negation or qualification. To make the use
457
+ * of extensions safe and manageable, there is a strict set of governance
458
+ * applied to the definition and use of extensions. Though any
459
+ * implementer can define an extension, there is a set of requirements
460
+ * that SHALL be met as part of the definition of the extension.
461
+ * Applications processing a resource are required to check for modifier
462
+ * extensions.
463
+ *
464
+ * Modifier extensions SHALL NOT change the meaning of any elements on
465
+ * Resource or DomainResource (including cannot change the meaning of
466
+ * modifierExtension itself).
467
+ */
468
+ readonly modifierExtension?: Extension[];
469
+
470
+ /**
471
+ * Whether or not the test execution will require the given capabilities
472
+ * of the server in order for this test script to execute.
473
+ */
474
+ readonly required?: boolean;
475
+
476
+ /**
477
+ * Whether or not the test execution will validate the given capabilities
478
+ * of the server in order for this test script to execute.
479
+ */
480
+ readonly validated?: boolean;
481
+
482
+ /**
483
+ * Description of the capabilities that this test script is requiring the
484
+ * server to support.
485
+ */
486
+ readonly description?: string;
487
+
488
+ /**
489
+ * Which origin server these requirements apply to.
490
+ */
491
+ readonly origin?: number[];
492
+
493
+ /**
494
+ * Which server these requirements apply to.
495
+ */
496
+ readonly destination?: number;
497
+
498
+ /**
499
+ * Links to the FHIR specification that describes this interaction and
500
+ * the resources involved in more detail.
501
+ */
502
+ readonly link?: string[];
503
+
504
+ /**
505
+ * Minimum capabilities required of server for test script to execute
506
+ * successfully. If server does not meet at a minimum the referenced
507
+ * capability statement, then all tests in this script are skipped.
508
+ */
509
+ readonly capabilities?: string;
510
+ }
511
+
512
+ /**
513
+ * A link to the FHIR specification that this test is covering.
514
+ */
515
+ export interface TestScriptMetadataLink {
516
+
517
+ /**
518
+ * Unique id for the element within a resource (for internal references).
519
+ * This may be any string value that does not contain spaces.
520
+ */
521
+ readonly id?: string;
522
+
523
+ /**
524
+ * May be used to represent additional information that is not part of
525
+ * the basic definition of the element. To make the use of extensions
526
+ * safe and manageable, there is a strict set of governance applied to
527
+ * the definition and use of extensions. Though any implementer can
528
+ * define an extension, there is a set of requirements that SHALL be met
529
+ * as part of the definition of the extension.
530
+ */
531
+ readonly extension?: Extension[];
532
+
533
+ /**
534
+ * May be used to represent additional information that is not part of
535
+ * the basic definition of the element and that modifies the
536
+ * understanding of the element in which it is contained and/or the
537
+ * understanding of the containing element's descendants. Usually
538
+ * modifier elements provide negation or qualification. To make the use
539
+ * of extensions safe and manageable, there is a strict set of governance
540
+ * applied to the definition and use of extensions. Though any
541
+ * implementer can define an extension, there is a set of requirements
542
+ * that SHALL be met as part of the definition of the extension.
543
+ * Applications processing a resource are required to check for modifier
544
+ * extensions.
545
+ *
546
+ * Modifier extensions SHALL NOT change the meaning of any elements on
547
+ * Resource or DomainResource (including cannot change the meaning of
548
+ * modifierExtension itself).
549
+ */
550
+ readonly modifierExtension?: Extension[];
551
+
552
+ /**
553
+ * URL to a particular requirement or feature within the FHIR
554
+ * specification.
555
+ */
556
+ readonly url?: string;
557
+
558
+ /**
559
+ * Short description of the link.
560
+ */
561
+ readonly description?: string;
562
+ }
563
+
564
+ /**
565
+ * An abstract server used in operations within this test script in the
566
+ * origin element.
567
+ */
568
+ export interface TestScriptOrigin {
569
+
570
+ /**
571
+ * Unique id for the element within a resource (for internal references).
572
+ * This may be any string value that does not contain spaces.
573
+ */
574
+ readonly id?: string;
575
+
576
+ /**
577
+ * May be used to represent additional information that is not part of
578
+ * the basic definition of the element. To make the use of extensions
579
+ * safe and manageable, there is a strict set of governance applied to
580
+ * the definition and use of extensions. Though any implementer can
581
+ * define an extension, there is a set of requirements that SHALL be met
582
+ * as part of the definition of the extension.
583
+ */
584
+ readonly extension?: Extension[];
585
+
586
+ /**
587
+ * May be used to represent additional information that is not part of
588
+ * the basic definition of the element and that modifies the
589
+ * understanding of the element in which it is contained and/or the
590
+ * understanding of the containing element's descendants. Usually
591
+ * modifier elements provide negation or qualification. To make the use
592
+ * of extensions safe and manageable, there is a strict set of governance
593
+ * applied to the definition and use of extensions. Though any
594
+ * implementer can define an extension, there is a set of requirements
595
+ * that SHALL be met as part of the definition of the extension.
596
+ * Applications processing a resource are required to check for modifier
597
+ * extensions.
598
+ *
599
+ * Modifier extensions SHALL NOT change the meaning of any elements on
600
+ * Resource or DomainResource (including cannot change the meaning of
601
+ * modifierExtension itself).
602
+ */
603
+ readonly modifierExtension?: Extension[];
604
+
605
+ /**
606
+ * Abstract name given to an origin server in this test script. The name
607
+ * is provided as a number starting at 1.
608
+ */
609
+ readonly index?: number;
610
+
611
+ /**
612
+ * The type of origin profile the test system supports.
613
+ */
614
+ readonly profile?: Coding;
615
+ }
616
+
617
+ /**
618
+ * A series of required setup operations before tests are executed.
619
+ */
620
+ export interface TestScriptSetup {
621
+
622
+ /**
623
+ * Unique id for the element within a resource (for internal references).
624
+ * This may be any string value that does not contain spaces.
625
+ */
626
+ readonly id?: string;
627
+
628
+ /**
629
+ * May be used to represent additional information that is not part of
630
+ * the basic definition of the element. To make the use of extensions
631
+ * safe and manageable, there is a strict set of governance applied to
632
+ * the definition and use of extensions. Though any implementer can
633
+ * define an extension, there is a set of requirements that SHALL be met
634
+ * as part of the definition of the extension.
635
+ */
636
+ readonly extension?: Extension[];
637
+
638
+ /**
639
+ * May be used to represent additional information that is not part of
640
+ * the basic definition of the element and that modifies the
641
+ * understanding of the element in which it is contained and/or the
642
+ * understanding of the containing element's descendants. Usually
643
+ * modifier elements provide negation or qualification. To make the use
644
+ * of extensions safe and manageable, there is a strict set of governance
645
+ * applied to the definition and use of extensions. Though any
646
+ * implementer can define an extension, there is a set of requirements
647
+ * that SHALL be met as part of the definition of the extension.
648
+ * Applications processing a resource are required to check for modifier
649
+ * extensions.
650
+ *
651
+ * Modifier extensions SHALL NOT change the meaning of any elements on
652
+ * Resource or DomainResource (including cannot change the meaning of
653
+ * modifierExtension itself).
654
+ */
655
+ readonly modifierExtension?: Extension[];
656
+
657
+ /**
658
+ * Action would contain either an operation or an assertion.
659
+ */
660
+ readonly action?: TestScriptSetupAction[];
661
+ }
662
+
663
+ /**
664
+ * Action would contain either an operation or an assertion.
665
+ */
666
+ export interface TestScriptSetupAction {
667
+
668
+ /**
669
+ * Unique id for the element within a resource (for internal references).
670
+ * This may be any string value that does not contain spaces.
671
+ */
672
+ readonly id?: string;
673
+
674
+ /**
675
+ * May be used to represent additional information that is not part of
676
+ * the basic definition of the element. To make the use of extensions
677
+ * safe and manageable, there is a strict set of governance applied to
678
+ * the definition and use of extensions. Though any implementer can
679
+ * define an extension, there is a set of requirements that SHALL be met
680
+ * as part of the definition of the extension.
681
+ */
682
+ readonly extension?: Extension[];
683
+
684
+ /**
685
+ * May be used to represent additional information that is not part of
686
+ * the basic definition of the element and that modifies the
687
+ * understanding of the element in which it is contained and/or the
688
+ * understanding of the containing element's descendants. Usually
689
+ * modifier elements provide negation or qualification. To make the use
690
+ * of extensions safe and manageable, there is a strict set of governance
691
+ * applied to the definition and use of extensions. Though any
692
+ * implementer can define an extension, there is a set of requirements
693
+ * that SHALL be met as part of the definition of the extension.
694
+ * Applications processing a resource are required to check for modifier
695
+ * extensions.
696
+ *
697
+ * Modifier extensions SHALL NOT change the meaning of any elements on
698
+ * Resource or DomainResource (including cannot change the meaning of
699
+ * modifierExtension itself).
700
+ */
701
+ readonly modifierExtension?: Extension[];
702
+
703
+ /**
704
+ * The operation to perform.
705
+ */
706
+ readonly operation?: TestScriptSetupActionOperation;
707
+
708
+ /**
709
+ * Evaluates the results of previous operations to determine if the
710
+ * server under test behaves appropriately.
711
+ */
712
+ readonly assert?: TestScriptSetupActionAssert;
713
+ }
714
+
715
+ /**
716
+ * Evaluates the results of previous operations to determine if the
717
+ * server under test behaves appropriately.
718
+ */
719
+ export interface TestScriptSetupActionAssert {
720
+
721
+ /**
722
+ * Unique id for the element within a resource (for internal references).
723
+ * This may be any string value that does not contain spaces.
724
+ */
725
+ readonly id?: string;
726
+
727
+ /**
728
+ * May be used to represent additional information that is not part of
729
+ * the basic definition of the element. To make the use of extensions
730
+ * safe and manageable, there is a strict set of governance applied to
731
+ * the definition and use of extensions. Though any implementer can
732
+ * define an extension, there is a set of requirements that SHALL be met
733
+ * as part of the definition of the extension.
734
+ */
735
+ readonly extension?: Extension[];
736
+
737
+ /**
738
+ * May be used to represent additional information that is not part of
739
+ * the basic definition of the element and that modifies the
740
+ * understanding of the element in which it is contained and/or the
741
+ * understanding of the containing element's descendants. Usually
742
+ * modifier elements provide negation or qualification. To make the use
743
+ * of extensions safe and manageable, there is a strict set of governance
744
+ * applied to the definition and use of extensions. Though any
745
+ * implementer can define an extension, there is a set of requirements
746
+ * that SHALL be met as part of the definition of the extension.
747
+ * Applications processing a resource are required to check for modifier
748
+ * extensions.
749
+ *
750
+ * Modifier extensions SHALL NOT change the meaning of any elements on
751
+ * Resource or DomainResource (including cannot change the meaning of
752
+ * modifierExtension itself).
753
+ */
754
+ readonly modifierExtension?: Extension[];
755
+
756
+ /**
757
+ * The label would be used for tracking/logging purposes by test engines.
758
+ */
759
+ readonly label?: string;
760
+
761
+ /**
762
+ * The description would be used by test engines for tracking and
763
+ * reporting purposes.
764
+ */
765
+ readonly description?: string;
766
+
767
+ /**
768
+ * The direction to use for the assertion.
769
+ */
770
+ readonly direction?: string;
771
+
772
+ /**
773
+ * Id of the source fixture used as the contents to be evaluated by
774
+ * either the &quot;source/expression&quot; or &quot;sourceId/path&quot; definition.
775
+ */
776
+ readonly compareToSourceId?: string;
777
+
778
+ /**
779
+ * The FHIRPath expression to evaluate against the source fixture. When
780
+ * compareToSourceId is defined, either compareToSourceExpression or
781
+ * compareToSourcePath must be defined, but not both.
782
+ */
783
+ readonly compareToSourceExpression?: string;
784
+
785
+ /**
786
+ * XPath or JSONPath expression to evaluate against the source fixture.
787
+ * When compareToSourceId is defined, either compareToSourceExpression or
788
+ * compareToSourcePath must be defined, but not both.
789
+ */
790
+ readonly compareToSourcePath?: string;
791
+
792
+ /**
793
+ * The mime-type contents to compare against the request or response
794
+ * message 'Content-Type' header.
795
+ */
796
+ readonly contentType?: string;
797
+
798
+ /**
799
+ * The FHIRPath expression to be evaluated against the request or
800
+ * response message contents - HTTP headers and payload.
801
+ */
802
+ readonly expression?: string;
803
+
804
+ /**
805
+ * The HTTP header field name e.g. 'Location'.
806
+ */
807
+ readonly headerField?: string;
808
+
809
+ /**
810
+ * The ID of a fixture. Asserts that the response contains at a minimum
811
+ * the fixture specified by minimumId.
812
+ */
813
+ readonly minimumId?: string;
814
+
815
+ /**
816
+ * Whether or not the test execution performs validation on the bundle
817
+ * navigation links.
818
+ */
819
+ readonly navigationLinks?: boolean;
820
+
821
+ /**
822
+ * The operator type defines the conditional behavior of the assert. If
823
+ * not defined, the default is equals.
824
+ */
825
+ readonly operator?: string;
826
+
827
+ /**
828
+ * The XPath or JSONPath expression to be evaluated against the fixture
829
+ * representing the response received from server.
830
+ */
831
+ readonly path?: string;
832
+
833
+ /**
834
+ * The request method or HTTP operation code to compare against that used
835
+ * by the client system under test.
836
+ */
837
+ readonly requestMethod?: string;
838
+
839
+ /**
840
+ * The value to use in a comparison against the request URL path string.
841
+ */
842
+ readonly requestURL?: string;
843
+
844
+ /**
845
+ * The type of the resource. See
846
+ * http://build.fhir.org/resourcelist.html.
847
+ */
848
+ readonly resource?: string;
849
+
850
+ /**
851
+ * okay | created | noContent | notModified | bad | forbidden | notFound
852
+ * | methodNotAllowed | conflict | gone | preconditionFailed |
853
+ * unprocessable.
854
+ */
855
+ readonly response?: string;
856
+
857
+ /**
858
+ * The value of the HTTP response code to be tested.
859
+ */
860
+ readonly responseCode?: string;
861
+
862
+ /**
863
+ * Fixture to evaluate the XPath/JSONPath expression or the headerField
864
+ * against.
865
+ */
866
+ readonly sourceId?: string;
867
+
868
+ /**
869
+ * The ID of the Profile to validate against.
870
+ */
871
+ readonly validateProfileId?: string;
872
+
873
+ /**
874
+ * The value to compare to.
875
+ */
876
+ readonly value?: string;
877
+
878
+ /**
879
+ * Whether or not the test execution will produce a warning only on error
880
+ * for this assert.
881
+ */
882
+ readonly warningOnly?: boolean;
883
+ }
884
+
885
+ /**
886
+ * The operation to perform.
887
+ */
888
+ export interface TestScriptSetupActionOperation {
889
+
890
+ /**
891
+ * Unique id for the element within a resource (for internal references).
892
+ * This may be any string value that does not contain spaces.
893
+ */
894
+ readonly id?: string;
895
+
896
+ /**
897
+ * May be used to represent additional information that is not part of
898
+ * the basic definition of the element. To make the use of extensions
899
+ * safe and manageable, there is a strict set of governance applied to
900
+ * the definition and use of extensions. Though any implementer can
901
+ * define an extension, there is a set of requirements that SHALL be met
902
+ * as part of the definition of the extension.
903
+ */
904
+ readonly extension?: Extension[];
905
+
906
+ /**
907
+ * May be used to represent additional information that is not part of
908
+ * the basic definition of the element and that modifies the
909
+ * understanding of the element in which it is contained and/or the
910
+ * understanding of the containing element's descendants. Usually
911
+ * modifier elements provide negation or qualification. To make the use
912
+ * of extensions safe and manageable, there is a strict set of governance
913
+ * applied to the definition and use of extensions. Though any
914
+ * implementer can define an extension, there is a set of requirements
915
+ * that SHALL be met as part of the definition of the extension.
916
+ * Applications processing a resource are required to check for modifier
917
+ * extensions.
918
+ *
919
+ * Modifier extensions SHALL NOT change the meaning of any elements on
920
+ * Resource or DomainResource (including cannot change the meaning of
921
+ * modifierExtension itself).
922
+ */
923
+ readonly modifierExtension?: Extension[];
924
+
925
+ /**
926
+ * Server interaction or operation type.
927
+ */
928
+ readonly type?: Coding;
929
+
930
+ /**
931
+ * The type of the resource. See
932
+ * http://build.fhir.org/resourcelist.html.
933
+ */
934
+ readonly resource?: string;
935
+
936
+ /**
937
+ * The label would be used for tracking/logging purposes by test engines.
938
+ */
939
+ readonly label?: string;
940
+
941
+ /**
942
+ * The description would be used by test engines for tracking and
943
+ * reporting purposes.
944
+ */
945
+ readonly description?: string;
946
+
947
+ /**
948
+ * The mime-type to use for RESTful operation in the 'Accept' header.
949
+ */
950
+ readonly accept?: string;
951
+
952
+ /**
953
+ * The mime-type to use for RESTful operation in the 'Content-Type'
954
+ * header.
955
+ */
956
+ readonly contentType?: string;
957
+
958
+ /**
959
+ * The server where the request message is destined for. Must be one of
960
+ * the server numbers listed in TestScript.destination section.
961
+ */
962
+ readonly destination?: number;
963
+
964
+ /**
965
+ * Whether or not to implicitly send the request url in encoded format.
966
+ * The default is true to match the standard RESTful client behavior. Set
967
+ * to false when communicating with a server that does not support
968
+ * encoded url paths.
969
+ */
970
+ readonly encodeRequestUrl?: boolean;
971
+
972
+ /**
973
+ * The HTTP method the test engine MUST use for this operation regardless
974
+ * of any other operation details.
975
+ */
976
+ readonly method?: string;
977
+
978
+ /**
979
+ * The server where the request message originates from. Must be one of
980
+ * the server numbers listed in TestScript.origin section.
981
+ */
982
+ readonly origin?: number;
983
+
984
+ /**
985
+ * Path plus parameters after [type]. Used to set parts of the request
986
+ * URL explicitly.
987
+ */
988
+ readonly params?: string;
989
+
990
+ /**
991
+ * Header elements would be used to set HTTP headers.
992
+ */
993
+ readonly requestHeader?: TestScriptSetupActionOperationRequestHeader[];
994
+
995
+ /**
996
+ * The fixture id (maybe new) to map to the request.
997
+ */
998
+ readonly requestId?: string;
999
+
1000
+ /**
1001
+ * The fixture id (maybe new) to map to the response.
1002
+ */
1003
+ readonly responseId?: string;
1004
+
1005
+ /**
1006
+ * The id of the fixture used as the body of a PUT or POST request.
1007
+ */
1008
+ readonly sourceId?: string;
1009
+
1010
+ /**
1011
+ * Id of fixture used for extracting the [id], [type], and [vid] for GET
1012
+ * requests.
1013
+ */
1014
+ readonly targetId?: string;
1015
+
1016
+ /**
1017
+ * Complete request URL.
1018
+ */
1019
+ readonly url?: string;
1020
+ }
1021
+
1022
+ /**
1023
+ * Header elements would be used to set HTTP headers.
1024
+ */
1025
+ export interface TestScriptSetupActionOperationRequestHeader {
1026
+
1027
+ /**
1028
+ * Unique id for the element within a resource (for internal references).
1029
+ * This may be any string value that does not contain spaces.
1030
+ */
1031
+ readonly id?: string;
1032
+
1033
+ /**
1034
+ * May be used to represent additional information that is not part of
1035
+ * the basic definition of the element. To make the use of extensions
1036
+ * safe and manageable, there is a strict set of governance applied to
1037
+ * the definition and use of extensions. Though any implementer can
1038
+ * define an extension, there is a set of requirements that SHALL be met
1039
+ * as part of the definition of the extension.
1040
+ */
1041
+ readonly extension?: Extension[];
1042
+
1043
+ /**
1044
+ * May be used to represent additional information that is not part of
1045
+ * the basic definition of the element and that modifies the
1046
+ * understanding of the element in which it is contained and/or the
1047
+ * understanding of the containing element's descendants. Usually
1048
+ * modifier elements provide negation or qualification. To make the use
1049
+ * of extensions safe and manageable, there is a strict set of governance
1050
+ * applied to the definition and use of extensions. Though any
1051
+ * implementer can define an extension, there is a set of requirements
1052
+ * that SHALL be met as part of the definition of the extension.
1053
+ * Applications processing a resource are required to check for modifier
1054
+ * extensions.
1055
+ *
1056
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1057
+ * Resource or DomainResource (including cannot change the meaning of
1058
+ * modifierExtension itself).
1059
+ */
1060
+ readonly modifierExtension?: Extension[];
1061
+
1062
+ /**
1063
+ * The HTTP header field e.g. &quot;Accept&quot;.
1064
+ */
1065
+ readonly field?: string;
1066
+
1067
+ /**
1068
+ * The value of the header e.g. &quot;application/fhir+xml&quot;.
1069
+ */
1070
+ readonly value?: string;
1071
+ }
1072
+
1073
+ /**
1074
+ * A series of operations required to clean up after all the tests are
1075
+ * executed (successfully or otherwise).
1076
+ */
1077
+ export interface TestScriptTeardown {
1078
+
1079
+ /**
1080
+ * Unique id for the element within a resource (for internal references).
1081
+ * This may be any string value that does not contain spaces.
1082
+ */
1083
+ readonly id?: string;
1084
+
1085
+ /**
1086
+ * May be used to represent additional information that is not part of
1087
+ * the basic definition of the element. To make the use of extensions
1088
+ * safe and manageable, there is a strict set of governance applied to
1089
+ * the definition and use of extensions. Though any implementer can
1090
+ * define an extension, there is a set of requirements that SHALL be met
1091
+ * as part of the definition of the extension.
1092
+ */
1093
+ readonly extension?: Extension[];
1094
+
1095
+ /**
1096
+ * May be used to represent additional information that is not part of
1097
+ * the basic definition of the element and that modifies the
1098
+ * understanding of the element in which it is contained and/or the
1099
+ * understanding of the containing element's descendants. Usually
1100
+ * modifier elements provide negation or qualification. To make the use
1101
+ * of extensions safe and manageable, there is a strict set of governance
1102
+ * applied to the definition and use of extensions. Though any
1103
+ * implementer can define an extension, there is a set of requirements
1104
+ * that SHALL be met as part of the definition of the extension.
1105
+ * Applications processing a resource are required to check for modifier
1106
+ * extensions.
1107
+ *
1108
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1109
+ * Resource or DomainResource (including cannot change the meaning of
1110
+ * modifierExtension itself).
1111
+ */
1112
+ readonly modifierExtension?: Extension[];
1113
+
1114
+ /**
1115
+ * The teardown action will only contain an operation.
1116
+ */
1117
+ readonly action?: TestScriptTeardownAction[];
1118
+ }
1119
+
1120
+ /**
1121
+ * The teardown action will only contain an operation.
1122
+ */
1123
+ export interface TestScriptTeardownAction {
1124
+
1125
+ /**
1126
+ * Unique id for the element within a resource (for internal references).
1127
+ * This may be any string value that does not contain spaces.
1128
+ */
1129
+ readonly id?: string;
1130
+
1131
+ /**
1132
+ * May be used to represent additional information that is not part of
1133
+ * the basic definition of the element. To make the use of extensions
1134
+ * safe and manageable, there is a strict set of governance applied to
1135
+ * the definition and use of extensions. Though any implementer can
1136
+ * define an extension, there is a set of requirements that SHALL be met
1137
+ * as part of the definition of the extension.
1138
+ */
1139
+ readonly extension?: Extension[];
1140
+
1141
+ /**
1142
+ * May be used to represent additional information that is not part of
1143
+ * the basic definition of the element and that modifies the
1144
+ * understanding of the element in which it is contained and/or the
1145
+ * understanding of the containing element's descendants. Usually
1146
+ * modifier elements provide negation or qualification. To make the use
1147
+ * of extensions safe and manageable, there is a strict set of governance
1148
+ * applied to the definition and use of extensions. Though any
1149
+ * implementer can define an extension, there is a set of requirements
1150
+ * that SHALL be met as part of the definition of the extension.
1151
+ * Applications processing a resource are required to check for modifier
1152
+ * extensions.
1153
+ *
1154
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1155
+ * Resource or DomainResource (including cannot change the meaning of
1156
+ * modifierExtension itself).
1157
+ */
1158
+ readonly modifierExtension?: Extension[];
1159
+
1160
+ /**
1161
+ * An operation would involve a REST request to a server.
1162
+ */
1163
+ readonly operation?: TestScriptSetupActionOperation;
1164
+ }
1165
+
1166
+ /**
1167
+ * A test in this script.
1168
+ */
1169
+ export interface TestScriptTest {
1170
+
1171
+ /**
1172
+ * Unique id for the element within a resource (for internal references).
1173
+ * This may be any string value that does not contain spaces.
1174
+ */
1175
+ readonly id?: string;
1176
+
1177
+ /**
1178
+ * May be used to represent additional information that is not part of
1179
+ * the basic definition of the element. To make the use of extensions
1180
+ * safe and manageable, there is a strict set of governance applied to
1181
+ * the definition and use of extensions. Though any implementer can
1182
+ * define an extension, there is a set of requirements that SHALL be met
1183
+ * as part of the definition of the extension.
1184
+ */
1185
+ readonly extension?: Extension[];
1186
+
1187
+ /**
1188
+ * May be used to represent additional information that is not part of
1189
+ * the basic definition of the element and that modifies the
1190
+ * understanding of the element in which it is contained and/or the
1191
+ * understanding of the containing element's descendants. Usually
1192
+ * modifier elements provide negation or qualification. To make the use
1193
+ * of extensions safe and manageable, there is a strict set of governance
1194
+ * applied to the definition and use of extensions. Though any
1195
+ * implementer can define an extension, there is a set of requirements
1196
+ * that SHALL be met as part of the definition of the extension.
1197
+ * Applications processing a resource are required to check for modifier
1198
+ * extensions.
1199
+ *
1200
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1201
+ * Resource or DomainResource (including cannot change the meaning of
1202
+ * modifierExtension itself).
1203
+ */
1204
+ readonly modifierExtension?: Extension[];
1205
+
1206
+ /**
1207
+ * The name of this test used for tracking/logging purposes by test
1208
+ * engines.
1209
+ */
1210
+ readonly name?: string;
1211
+
1212
+ /**
1213
+ * A short description of the test used by test engines for tracking and
1214
+ * reporting purposes.
1215
+ */
1216
+ readonly description?: string;
1217
+
1218
+ /**
1219
+ * Action would contain either an operation or an assertion.
1220
+ */
1221
+ readonly action?: TestScriptTestAction[];
1222
+ }
1223
+
1224
+ /**
1225
+ * Action would contain either an operation or an assertion.
1226
+ */
1227
+ export interface TestScriptTestAction {
1228
+
1229
+ /**
1230
+ * Unique id for the element within a resource (for internal references).
1231
+ * This may be any string value that does not contain spaces.
1232
+ */
1233
+ readonly id?: string;
1234
+
1235
+ /**
1236
+ * May be used to represent additional information that is not part of
1237
+ * the basic definition of the element. To make the use of extensions
1238
+ * safe and manageable, there is a strict set of governance applied to
1239
+ * the definition and use of extensions. Though any implementer can
1240
+ * define an extension, there is a set of requirements that SHALL be met
1241
+ * as part of the definition of the extension.
1242
+ */
1243
+ readonly extension?: Extension[];
1244
+
1245
+ /**
1246
+ * May be used to represent additional information that is not part of
1247
+ * the basic definition of the element and that modifies the
1248
+ * understanding of the element in which it is contained and/or the
1249
+ * understanding of the containing element's descendants. Usually
1250
+ * modifier elements provide negation or qualification. To make the use
1251
+ * of extensions safe and manageable, there is a strict set of governance
1252
+ * applied to the definition and use of extensions. Though any
1253
+ * implementer can define an extension, there is a set of requirements
1254
+ * that SHALL be met as part of the definition of the extension.
1255
+ * Applications processing a resource are required to check for modifier
1256
+ * extensions.
1257
+ *
1258
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1259
+ * Resource or DomainResource (including cannot change the meaning of
1260
+ * modifierExtension itself).
1261
+ */
1262
+ readonly modifierExtension?: Extension[];
1263
+
1264
+ /**
1265
+ * An operation would involve a REST request to a server.
1266
+ */
1267
+ readonly operation?: TestScriptSetupActionOperation;
1268
+
1269
+ /**
1270
+ * Evaluates the results of previous operations to determine if the
1271
+ * server under test behaves appropriately.
1272
+ */
1273
+ readonly assert?: TestScriptSetupActionAssert;
1274
+ }
1275
+
1276
+ /**
1277
+ * Variable is set based either on element value in response body or on
1278
+ * header field value in the response headers.
1279
+ */
1280
+ export interface TestScriptVariable {
1281
+
1282
+ /**
1283
+ * Unique id for the element within a resource (for internal references).
1284
+ * This may be any string value that does not contain spaces.
1285
+ */
1286
+ readonly id?: string;
1287
+
1288
+ /**
1289
+ * May be used to represent additional information that is not part of
1290
+ * the basic definition of the element. To make the use of extensions
1291
+ * safe and manageable, there is a strict set of governance applied to
1292
+ * the definition and use of extensions. Though any implementer can
1293
+ * define an extension, there is a set of requirements that SHALL be met
1294
+ * as part of the definition of the extension.
1295
+ */
1296
+ readonly extension?: Extension[];
1297
+
1298
+ /**
1299
+ * May be used to represent additional information that is not part of
1300
+ * the basic definition of the element and that modifies the
1301
+ * understanding of the element in which it is contained and/or the
1302
+ * understanding of the containing element's descendants. Usually
1303
+ * modifier elements provide negation or qualification. To make the use
1304
+ * of extensions safe and manageable, there is a strict set of governance
1305
+ * applied to the definition and use of extensions. Though any
1306
+ * implementer can define an extension, there is a set of requirements
1307
+ * that SHALL be met as part of the definition of the extension.
1308
+ * Applications processing a resource are required to check for modifier
1309
+ * extensions.
1310
+ *
1311
+ * Modifier extensions SHALL NOT change the meaning of any elements on
1312
+ * Resource or DomainResource (including cannot change the meaning of
1313
+ * modifierExtension itself).
1314
+ */
1315
+ readonly modifierExtension?: Extension[];
1316
+
1317
+ /**
1318
+ * Descriptive name for this variable.
1319
+ */
1320
+ readonly name?: string;
1321
+
1322
+ /**
1323
+ * A default, hard-coded, or user-defined value for this variable.
1324
+ */
1325
+ readonly defaultValue?: string;
1326
+
1327
+ /**
1328
+ * A free text natural language description of the variable and its
1329
+ * purpose.
1330
+ */
1331
+ readonly description?: string;
1332
+
1333
+ /**
1334
+ * The FHIRPath expression to evaluate against the fixture body. When
1335
+ * variables are defined, only one of either expression, headerField or
1336
+ * path must be specified.
1337
+ */
1338
+ readonly expression?: string;
1339
+
1340
+ /**
1341
+ * Will be used to grab the HTTP header field value from the headers that
1342
+ * sourceId is pointing to.
1343
+ */
1344
+ readonly headerField?: string;
1345
+
1346
+ /**
1347
+ * Displayable text string with hint help information to the user when
1348
+ * entering a default value.
1349
+ */
1350
+ readonly hint?: string;
1351
+
1352
+ /**
1353
+ * XPath or JSONPath to evaluate against the fixture body. When
1354
+ * variables are defined, only one of either expression, headerField or
1355
+ * path must be specified.
1356
+ */
1357
+ readonly path?: string;
1358
+
1359
+ /**
1360
+ * Fixture to evaluate the XPath/JSONPath expression or the headerField
1361
+ * against within this variable.
1362
+ */
1363
+ readonly sourceId?: string;
1364
+ }