fhir_rs/resource/r5/
test_script.rs

1use crate::prelude::*;
2
3#[derive(Resource, Debug, Clone, Default)]
4#[fhir(base="DomainResource")]
5pub struct TestScript {
6    /// Logical id of this artifact
7    #[fhir(name="id", min="0", max="1", summary=true, modifier=false, choice="")]
8    pub id: Option<Id>,
9    /// Metadata about the resource
10    #[fhir(name="meta", min="0", max="1", summary=true, modifier=false, choice="")]
11    pub meta: Option<Meta>,
12    /// A set of rules under which this content was created
13    #[fhir(name="implicitRules", min="0", max="1", summary=true, modifier=true)]
14    pub implicit_rules: Option<UriDt>,
15    /// Language of the resource content
16    #[fhir(name="language", min="0", max="1", summary=false, modifier=false, choice="")]
17    pub language: Option<CodeDt>,
18    /// Text summary of the resource, for human interpretation
19    #[fhir(name="text", min="0", max="1", summary=false, modifier=false, choice="")]
20    pub text: Option<Narrative>,
21    /// Contained, inline Resources
22    #[fhir(name="contained", min="0", max="*", summary=false, modifier=false, choice="")]
23    pub contained: Option<Vec<AnyResource>>,
24    /// Additional content defined by implementations
25    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
26    pub extension: Option<Vec<Extension>>,
27    /// Extensions that cannot be ignored
28    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
29    pub modifier_extension: Option<Vec<Extension>>,
30    /// Canonical identifier for this test script, represented as a URI (globally unique)
31    #[fhir(name="url", min="0", max="1", summary=true, modifier=false, choice="")]
32    pub url: Option<UriDt>,
33    /// Additional identifier for the test script
34    #[fhir(name="identifier", min="0", max="*", summary=true, modifier=false, choice="")]
35    pub identifier: Option<Vec<Identifier>>,
36    /// Business version of the test script
37    #[fhir(name="version", min="0", max="1", summary=true, modifier=false, choice="")]
38    pub version: Option<StringDt>,
39    /// How to compare versions
40    #[fhir(name="versionAlgorithm", min="0", max="1", summary=true, modifier=false, choice="")]
41    pub version_algorithm: Option<Coding>,
42    /// Name for this test script (computer friendly)
43    #[fhir(name="name", min="1", max="1", summary=true, modifier=false, choice="")]
44    pub name: Option<StringDt>,
45    /// Name for this test script (human friendly)
46    #[fhir(name="title", min="0", max="1", summary=true, modifier=false, choice="")]
47    pub title: Option<StringDt>,
48    /// draft | active | retired | unknown
49    #[fhir(name="status", min="1", max="1", summary=true, modifier=true)]
50    pub status: Option<CodeDt>,
51    /// For testing purposes, not real usage
52    #[fhir(name="experimental", min="0", max="1", summary=true, modifier=false, choice="")]
53    pub experimental: Option<BooleanDt>,
54    /// Date last changed
55    #[fhir(name="date", min="0", max="1", summary=true, modifier=false, choice="")]
56    pub date: Option<DateTimeDt>,
57    /// Name of the publisher/steward (organization or individual)
58    #[fhir(name="publisher", min="0", max="1", summary=true, modifier=false, choice="")]
59    pub publisher: Option<StringDt>,
60    /// Contact details for the publisher
61    #[fhir(name="contact", min="0", max="*", summary=true, modifier=false, choice="")]
62    pub contact: Option<Vec<ContactDetail>>,
63    /// Natural language description of the test script
64    #[fhir(name="description", min="0", max="1", summary=false, modifier=false, choice="")]
65    pub description: Option<MarkdownDt>,
66    /// The context that the content is intended to support
67    #[fhir(name="useContext", min="0", max="*", summary=true, modifier=false, choice="")]
68    pub use_context: Option<Vec<UsageContext>>,
69    /// Intended jurisdiction for test script (if applicable)
70    #[fhir(name="jurisdiction", min="0", max="*", summary=true, modifier=false, choice="")]
71    pub jurisdiction: Option<Vec<CodeableConcept>>,
72    /// Why this test script is defined
73    #[fhir(name="purpose", min="0", max="1", summary=false, modifier=false, choice="")]
74    pub purpose: Option<MarkdownDt>,
75    /// Use and/or publishing restrictions
76    #[fhir(name="copyright", min="0", max="1", summary=false, modifier=false, choice="")]
77    pub copyright: Option<MarkdownDt>,
78    /// Copyright holder and year(s)
79    #[fhir(name="copyrightLabel", min="0", max="1", summary=false, modifier=false, choice="")]
80    pub copyright_label: Option<StringDt>,
81    /// An abstract server representing a client or sender in a message exchange
82    #[fhir(name="origin", min="0", max="*", summary=false, modifier=false, choice="")]
83    pub origin: Option<Vec<TestScriptOriginBackboneElement>>,
84    /// An abstract server representing a destination or receiver in a message exchange
85    #[fhir(name="destination", min="0", max="*", summary=false, modifier=false, choice="")]
86    pub destination: Option<Vec<TestScriptDestinationBackboneElement>>,
87    /// Required capability that is assumed to function correctly on the FHIR server being tested
88    #[fhir(name="metadata", min="0", max="1", summary=false, modifier=false, choice="")]
89    pub metadata: Option<TestScriptMetadataBackboneElement>,
90    /// Indication of the artifact(s) that are tested by this test case
91    #[fhir(name="scope", min="0", max="*", summary=false, modifier=false, choice="")]
92    pub scope: Option<Vec<TestScriptScopeBackboneElement>>,
93    /// Fixture in the test script - by reference (uri)
94    #[fhir(name="fixture", min="0", max="*", summary=false, modifier=false, choice="")]
95    pub fixture: Option<Vec<TestScriptFixtureBackboneElement>>,
96    /// Reference of the validation profile
97    #[fhir(name="profile", min="0", max="*", summary=false, modifier=false, choice="")]
98    pub profile: Option<Vec<CanonicalDt>>,
99    /// Placeholder for evaluated elements
100    #[fhir(name="variable", min="0", max="*", summary=false, modifier=false, choice="")]
101    pub variable: Option<Vec<TestScriptVariableBackboneElement>>,
102    /// A series of required setup operations before tests are executed
103    #[fhir(name="setup", min="0", max="1", summary=false, modifier=false, choice="")]
104    pub setup: Option<TestScriptSetupBackboneElement>,
105    /// A test in this script
106    #[fhir(name="test", min="0", max="*", summary=false, modifier=false, choice="")]
107    pub test: Option<Vec<TestScriptTestBackboneElement>>,
108    /// A series of required clean up steps
109    #[fhir(name="teardown", min="0", max="1", summary=false, modifier=false, choice="")]
110    pub teardown: Option<TestScriptTeardownBackboneElement>,
111}
112
113#[derive(Element, BackboneElement, Debug, Clone, Default)]
114pub struct TestScriptMetadataBackboneElement {
115    /// Unique id for inter-element referencing
116    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
117    pub id: Option<String>,
118    /// Additional content defined by implementations
119    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
120    pub extension: Option<Vec<Extension>>,
121    /// Extensions that cannot be ignored even if unrecognized
122    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
123    pub modifier_extension: Option<Vec<Extension>>,
124    /// Links to the FHIR specification
125    #[fhir(name="link", min="0", max="*", summary=false, modifier=false, choice="")]
126    pub link: Option<Vec<TestScriptMetadataLinkBackboneElement>>,
127    /// Capabilities  that are assumed to function correctly on the FHIR server being tested
128    #[fhir(name="capability", min="1", max="*", summary=false, modifier=false, choice="")]
129    pub capability: Option<Vec<TestScriptMetadataCapabilityBackboneElement>>,
130}
131
132#[derive(Element, BackboneElement, Debug, Clone, Default)]
133pub struct TestScriptMetadataCapabilityBackboneElement {
134    /// Unique id for inter-element referencing
135    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
136    pub id: Option<String>,
137    /// Additional content defined by implementations
138    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
139    pub extension: Option<Vec<Extension>>,
140    /// Extensions that cannot be ignored even if unrecognized
141    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
142    pub modifier_extension: Option<Vec<Extension>>,
143    /// Are the capabilities required?
144    #[fhir(name="required", min="1", max="1", summary=false, modifier=false, choice="")]
145    pub required: Option<BooleanDt>,
146    /// Are the capabilities validated?
147    #[fhir(name="validated", min="1", max="1", summary=false, modifier=false, choice="")]
148    pub validated: Option<BooleanDt>,
149    /// The expected capabilities of the server
150    #[fhir(name="description", min="0", max="1", summary=false, modifier=false, choice="")]
151    pub description: Option<StringDt>,
152    /// Which origin server these requirements apply to
153    #[fhir(name="origin", min="0", max="*", summary=false, modifier=false, choice="")]
154    pub origin: Option<Vec<IntegerDt>>,
155    /// Which server these requirements apply to
156    #[fhir(name="destination", min="0", max="1", summary=false, modifier=false, choice="")]
157    pub destination: Option<IntegerDt>,
158    /// Links to the FHIR specification
159    #[fhir(name="link", min="0", max="*", summary=false, modifier=false, choice="")]
160    pub link: Option<Vec<UriDt>>,
161    /// Required Capability Statement
162    #[fhir(name="capabilities", min="1", max="1", summary=false, modifier=false, choice="")]
163    pub capabilities: Option<CanonicalDt>,
164}
165
166#[derive(Element, BackboneElement, Debug, Clone, Default)]
167pub struct TestScriptMetadataLinkBackboneElement {
168    /// Unique id for inter-element referencing
169    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
170    pub id: Option<String>,
171    /// Additional content defined by implementations
172    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
173    pub extension: Option<Vec<Extension>>,
174    /// Extensions that cannot be ignored even if unrecognized
175    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
176    pub modifier_extension: Option<Vec<Extension>>,
177    /// URL to the specification
178    #[fhir(name="url", min="1", max="1", summary=false, modifier=false, choice="")]
179    pub url: Option<UriDt>,
180    /// Short description
181    #[fhir(name="description", min="0", max="1", summary=false, modifier=false, choice="")]
182    pub description: Option<StringDt>,
183}
184
185#[derive(Element, BackboneElement, Debug, Clone, Default)]
186pub struct TestScriptSetupBackboneElement {
187    /// Unique id for inter-element referencing
188    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
189    pub id: Option<String>,
190    /// Additional content defined by implementations
191    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
192    pub extension: Option<Vec<Extension>>,
193    /// Extensions that cannot be ignored even if unrecognized
194    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
195    pub modifier_extension: Option<Vec<Extension>>,
196    /// A setup operation or assert to perform
197    #[fhir(name="action", min="1", max="*", summary=false, modifier=false, choice="")]
198    pub action: Option<Vec<TestScriptSetupActionBackboneElement>>,
199}
200
201#[derive(Element, BackboneElement, Debug, Clone, Default)]
202pub struct TestScriptSetupActionBackboneElement {
203    /// Unique id for inter-element referencing
204    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
205    pub id: Option<String>,
206    /// Additional content defined by implementations
207    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
208    pub extension: Option<Vec<Extension>>,
209    /// Extensions that cannot be ignored even if unrecognized
210    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
211    pub modifier_extension: Option<Vec<Extension>>,
212    /// The setup operation to perform
213    #[fhir(name="operation", min="0", max="1", summary=false, modifier=false, choice="")]
214    pub operation: Option<TestScriptSetupActionOperationBackboneElement>,
215    /// The assertion to perform
216    #[fhir(name="assert", min="0", max="1", summary=false, modifier=false, choice="")]
217    pub assert: Option<TestScriptSetupActionAssertBackboneElement>,
218}
219
220#[derive(Element, BackboneElement, Debug, Clone, Default)]
221pub struct TestScriptSetupActionOperationBackboneElement {
222    /// Unique id for inter-element referencing
223    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
224    pub id: Option<String>,
225    /// Additional content defined by implementations
226    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
227    pub extension: Option<Vec<Extension>>,
228    /// Extensions that cannot be ignored even if unrecognized
229    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
230    pub modifier_extension: Option<Vec<Extension>>,
231    /// The operation code type that will be executed
232    #[fhir(name="type", min="0", max="1", summary=false, modifier=false, choice="")]
233    pub type_: Option<Coding>,
234    /// Resource type
235    #[fhir(name="resource", min="0", max="1", summary=false, modifier=false, choice="")]
236    pub resource: Option<UriDt>,
237    /// Tracking/logging operation label
238    #[fhir(name="label", min="0", max="1", summary=false, modifier=false, choice="")]
239    pub label: Option<StringDt>,
240    /// Tracking/reporting operation description
241    #[fhir(name="description", min="0", max="1", summary=false, modifier=false, choice="")]
242    pub description: Option<StringDt>,
243    /// Mime type to accept in the payload of the response, with charset etc
244    #[fhir(name="accept", min="0", max="1", summary=false, modifier=false, choice="")]
245    pub accept: Option<CodeDt>,
246    /// Mime type of the request payload contents, with charset etc
247    #[fhir(name="contentType", min="0", max="1", summary=false, modifier=false, choice="")]
248    pub content_type: Option<CodeDt>,
249    /// Server responding to the request
250    #[fhir(name="destination", min="0", max="1", summary=false, modifier=false, choice="")]
251    pub destination: Option<IntegerDt>,
252    /// Whether or not to send the request url in encoded format
253    #[fhir(name="encodeRequestUrl", min="1", max="1", summary=false, modifier=false, choice="")]
254    pub encode_request_url: Option<BooleanDt>,
255    /// delete | get | options | patch | post | put | head
256    #[fhir(name="method", min="0", max="1", summary=false, modifier=false, choice="")]
257    pub method: Option<CodeDt>,
258    /// Server initiating the request
259    #[fhir(name="origin", min="0", max="1", summary=false, modifier=false, choice="")]
260    pub origin: Option<IntegerDt>,
261    /// Explicitly defined path parameters
262    #[fhir(name="params", min="0", max="1", summary=false, modifier=false, choice="")]
263    pub params: Option<StringDt>,
264    /// Each operation can have one or more header elements
265    #[fhir(name="requestHeader", min="0", max="*", summary=false, modifier=false, choice="")]
266    pub request_header: Option<Vec<TestScriptSetupActionOperationRequestHeaderBackboneElement>>,
267    /// Fixture Id of mapped request
268    #[fhir(name="requestId", min="0", max="1", summary=false, modifier=false, choice="")]
269    pub request_id: Option<IdDt>,
270    /// Fixture Id of mapped response
271    #[fhir(name="responseId", min="0", max="1", summary=false, modifier=false, choice="")]
272    pub response_id: Option<IdDt>,
273    /// Fixture Id of body for PUT and POST requests
274    #[fhir(name="sourceId", min="0", max="1", summary=false, modifier=false, choice="")]
275    pub source_id: Option<IdDt>,
276    /// Id of fixture used for extracting the [id],  [type], and [vid] for GET requests
277    #[fhir(name="targetId", min="0", max="1", summary=false, modifier=false, choice="")]
278    pub target_id: Option<IdDt>,
279    /// Request URL
280    #[fhir(name="url", min="0", max="1", summary=false, modifier=false, choice="")]
281    pub url: Option<StringDt>,
282}
283
284#[derive(Element, BackboneElement, Debug, Clone, Default)]
285pub struct TestScriptSetupActionOperationRequestHeaderBackboneElement {
286    /// Unique id for inter-element referencing
287    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
288    pub id: Option<String>,
289    /// Additional content defined by implementations
290    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
291    pub extension: Option<Vec<Extension>>,
292    /// Extensions that cannot be ignored even if unrecognized
293    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
294    pub modifier_extension: Option<Vec<Extension>>,
295    /// HTTP header field name
296    #[fhir(name="field", min="1", max="1", summary=false, modifier=false, choice="")]
297    pub field: Option<StringDt>,
298    /// HTTP headerfield value
299    #[fhir(name="value", min="1", max="1", summary=false, modifier=false, choice="")]
300    pub value: Option<StringDt>,
301}
302
303#[derive(Element, BackboneElement, Debug, Clone, Default)]
304pub struct TestScriptSetupActionAssertBackboneElement {
305    /// Unique id for inter-element referencing
306    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
307    pub id: Option<String>,
308    /// Additional content defined by implementations
309    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
310    pub extension: Option<Vec<Extension>>,
311    /// Extensions that cannot be ignored even if unrecognized
312    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
313    pub modifier_extension: Option<Vec<Extension>>,
314    /// Tracking/logging assertion label
315    #[fhir(name="label", min="0", max="1", summary=false, modifier=false, choice="")]
316    pub label: Option<StringDt>,
317    /// Tracking/reporting assertion description
318    #[fhir(name="description", min="0", max="1", summary=false, modifier=false, choice="")]
319    pub description: Option<StringDt>,
320    /// response | request
321    #[fhir(name="direction", min="0", max="1", summary=false, modifier=false, choice="")]
322    pub direction: Option<CodeDt>,
323    /// Id of the source fixture to be evaluated
324    #[fhir(name="compareToSourceId", min="0", max="1", summary=false, modifier=false, choice="")]
325    pub compare_to_source_id: Option<StringDt>,
326    /// The FHIRPath expression to evaluate against the source fixture
327    #[fhir(name="compareToSourceExpression", min="0", max="1", summary=false, modifier=false, choice="")]
328    pub compare_to_source_expression: Option<StringDt>,
329    /// XPath or JSONPath expression to evaluate against the source fixture
330    #[fhir(name="compareToSourcePath", min="0", max="1", summary=false, modifier=false, choice="")]
331    pub compare_to_source_path: Option<StringDt>,
332    /// Mime type to compare against the 'Content-Type' header
333    #[fhir(name="contentType", min="0", max="1", summary=false, modifier=false, choice="")]
334    pub content_type: Option<CodeDt>,
335    /// fail | pass | skip | stop
336    #[fhir(name="defaultManualCompletion", min="0", max="1", summary=false, modifier=false, choice="")]
337    pub default_manual_completion: Option<CodeDt>,
338    /// The FHIRPath expression to be evaluated
339    #[fhir(name="expression", min="0", max="1", summary=false, modifier=false, choice="")]
340    pub expression: Option<StringDt>,
341    /// HTTP header field name
342    #[fhir(name="headerField", min="0", max="1", summary=false, modifier=false, choice="")]
343    pub header_field: Option<StringDt>,
344    /// Fixture Id of minimum content resource
345    #[fhir(name="minimumId", min="0", max="1", summary=false, modifier=false, choice="")]
346    pub minimum_id: Option<StringDt>,
347    /// Perform validation on navigation links?
348    #[fhir(name="navigationLinks", min="0", max="1", summary=false, modifier=false, choice="")]
349    pub navigation_links: Option<BooleanDt>,
350    /// equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval | manualEval
351    #[fhir(name="operator", min="0", max="1", summary=false, modifier=false, choice="")]
352    pub operator: Option<CodeDt>,
353    /// XPath or JSONPath expression
354    #[fhir(name="path", min="0", max="1", summary=false, modifier=false, choice="")]
355    pub path: Option<StringDt>,
356    /// delete | get | options | patch | post | put | head
357    #[fhir(name="requestMethod", min="0", max="1", summary=false, modifier=false, choice="")]
358    pub request_method: Option<CodeDt>,
359    /// Request URL comparison value
360    #[fhir(name="requestURL", min="0", max="1", summary=false, modifier=false, choice="")]
361    pub request_url: Option<StringDt>,
362    /// Resource type
363    #[fhir(name="resource", min="0", max="1", summary=false, modifier=false, choice="")]
364    pub resource: Option<UriDt>,
365    /// continue | switchingProtocols | okay | created | accepted | nonAuthoritativeInformation | noContent | resetContent | partialContent | multipleChoices | movedPermanently | found | seeOther | notModified | useProxy | temporaryRedirect | permanentRedirect | badRequest | unauthorized | paymentRequired | forbidden | notFound | methodNotAllowed | notAcceptable | proxyAuthenticationRequired | requestTimeout | conflict | gone | lengthRequired | preconditionFailed | contentTooLarge | uriTooLong | unsupportedMediaType | rangeNotSatisfiable | expectationFailed | misdirectedRequest | unprocessableContent | upgradeRequired | internalServerError | notImplemented | badGateway | serviceUnavailable | gatewayTimeout | httpVersionNotSupported
366    #[fhir(name="response", min="0", max="1", summary=false, modifier=false, choice="")]
367    pub response: Option<CodeDt>,
368    /// HTTP response code to test
369    #[fhir(name="responseCode", min="0", max="1", summary=false, modifier=false, choice="")]
370    pub response_code: Option<StringDt>,
371    /// Fixture Id of source expression or headerField
372    #[fhir(name="sourceId", min="0", max="1", summary=false, modifier=false, choice="")]
373    pub source_id: Option<IdDt>,
374    /// If this assert fails, will the current test execution stop?
375    #[fhir(name="stopTestOnFail", min="1", max="1", summary=false, modifier=false, choice="")]
376    pub stop_test_on_fail: Option<BooleanDt>,
377    /// Profile Id of validation profile reference
378    #[fhir(name="validateProfileId", min="0", max="1", summary=false, modifier=false, choice="")]
379    pub validate_profile_id: Option<IdDt>,
380    /// The value to compare to
381    #[fhir(name="value", min="0", max="1", summary=false, modifier=false, choice="")]
382    pub value: Option<StringDt>,
383    /// Will this assert produce a warning only on error?
384    #[fhir(name="warningOnly", min="1", max="1", summary=false, modifier=false, choice="")]
385    pub warning_only: Option<BooleanDt>,
386    /// Links or references to the testing requirements
387    #[fhir(name="requirement", min="0", max="*", summary=false, modifier=false, choice="")]
388    pub requirement: Option<Vec<TestScriptSetupActionAssertRequirementBackboneElement>>,
389}
390
391#[derive(Element, BackboneElement, Debug, Clone, Default)]
392pub struct TestScriptSetupActionAssertRequirementBackboneElement {
393    /// Unique id for inter-element referencing
394    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
395    pub id: Option<String>,
396    /// Additional content defined by implementations
397    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
398    pub extension: Option<Vec<Extension>>,
399    /// Extensions that cannot be ignored even if unrecognized
400    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
401    pub modifier_extension: Option<Vec<Extension>>,
402    /// Link or reference to the testing requirement
403    #[fhir(name="link", min="0", max="1", summary=false, modifier=false, choice="")]
404    pub link: Option<CanonicalDt>,
405}
406
407#[derive(Element, BackboneElement, Debug, Clone, Default)]
408pub struct TestScriptTeardownBackboneElement {
409    /// Unique id for inter-element referencing
410    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
411    pub id: Option<String>,
412    /// Additional content defined by implementations
413    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
414    pub extension: Option<Vec<Extension>>,
415    /// Extensions that cannot be ignored even if unrecognized
416    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
417    pub modifier_extension: Option<Vec<Extension>>,
418    /// One or more teardown operations to perform
419    #[fhir(name="action", min="1", max="*", summary=false, modifier=false, choice="")]
420    pub action: Option<Vec<TestScriptTeardownActionBackboneElement>>,
421}
422
423#[derive(Element, BackboneElement, Debug, Clone, Default)]
424pub struct TestScriptTeardownActionBackboneElement {
425    /// Unique id for inter-element referencing
426    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
427    pub id: Option<String>,
428    /// Additional content defined by implementations
429    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
430    pub extension: Option<Vec<Extension>>,
431    /// Extensions that cannot be ignored even if unrecognized
432    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
433    pub modifier_extension: Option<Vec<Extension>>,
434    /// The teardown operation to perform
435    #[fhir(name="operation", min="1", max="1", summary=false, modifier=false, choice="")]
436    pub operation: Option<TestScriptSetupActionOperationBackboneElement>,
437}
438
439#[derive(Element, BackboneElement, Debug, Clone, Default)]
440pub struct TestScriptDestinationBackboneElement {
441    /// Unique id for inter-element referencing
442    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
443    pub id: Option<String>,
444    /// Additional content defined by implementations
445    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
446    pub extension: Option<Vec<Extension>>,
447    /// Extensions that cannot be ignored even if unrecognized
448    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
449    pub modifier_extension: Option<Vec<Extension>>,
450    /// The index of the abstract destination server starting at 1
451    #[fhir(name="index", min="1", max="1", summary=false, modifier=false, choice="")]
452    pub index: Option<IntegerDt>,
453    /// FHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor
454    #[fhir(name="profile", min="1", max="1", summary=false, modifier=false, choice="")]
455    pub profile: Option<Coding>,
456    /// The url path of the destination server
457    #[fhir(name="url", min="0", max="1", summary=false, modifier=false, choice="")]
458    pub url: Option<UrlDt>,
459}
460
461#[derive(Element, BackboneElement, Debug, Clone, Default)]
462pub struct TestScriptVariableBackboneElement {
463    /// Unique id for inter-element referencing
464    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
465    pub id: Option<String>,
466    /// Additional content defined by implementations
467    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
468    pub extension: Option<Vec<Extension>>,
469    /// Extensions that cannot be ignored even if unrecognized
470    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
471    pub modifier_extension: Option<Vec<Extension>>,
472    /// Descriptive name for this variable
473    #[fhir(name="name", min="1", max="1", summary=false, modifier=false, choice="")]
474    pub name: Option<StringDt>,
475    /// Default, hard-coded, or user-defined value for this variable
476    #[fhir(name="defaultValue", min="0", max="1", summary=false, modifier=false, choice="")]
477    pub default_value: Option<StringDt>,
478    /// Natural language description of the variable
479    #[fhir(name="description", min="0", max="1", summary=false, modifier=false, choice="")]
480    pub description: Option<StringDt>,
481    /// The FHIRPath expression against the fixture body
482    #[fhir(name="expression", min="0", max="1", summary=false, modifier=false, choice="")]
483    pub expression: Option<StringDt>,
484    /// HTTP header field name for source
485    #[fhir(name="headerField", min="0", max="1", summary=false, modifier=false, choice="")]
486    pub header_field: Option<StringDt>,
487    /// Hint help text for default value to enter
488    #[fhir(name="hint", min="0", max="1", summary=false, modifier=false, choice="")]
489    pub hint: Option<StringDt>,
490    /// XPath or JSONPath against the fixture body
491    #[fhir(name="path", min="0", max="1", summary=false, modifier=false, choice="")]
492    pub path: Option<StringDt>,
493    /// Fixture Id of source expression or headerField within this variable
494    #[fhir(name="sourceId", min="0", max="1", summary=false, modifier=false, choice="")]
495    pub source_id: Option<IdDt>,
496}
497
498#[derive(Element, BackboneElement, Debug, Clone, Default)]
499pub struct TestScriptFixtureBackboneElement {
500    /// Unique id for inter-element referencing
501    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
502    pub id: Option<String>,
503    /// Additional content defined by implementations
504    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
505    pub extension: Option<Vec<Extension>>,
506    /// Extensions that cannot be ignored even if unrecognized
507    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
508    pub modifier_extension: Option<Vec<Extension>>,
509    /// Whether or not to implicitly create the fixture during setup
510    #[fhir(name="autocreate", min="1", max="1", summary=false, modifier=false, choice="")]
511    pub autocreate: Option<BooleanDt>,
512    /// Whether or not to implicitly delete the fixture during teardown
513    #[fhir(name="autodelete", min="1", max="1", summary=false, modifier=false, choice="")]
514    pub autodelete: Option<BooleanDt>,
515    /// Reference of the resource
516    #[fhir(name="resource", min="0", max="1", summary=false, modifier=false, choice="")]
517    pub resource: Option<Reference>,
518}
519
520#[derive(Element, BackboneElement, Debug, Clone, Default)]
521pub struct TestScriptOriginBackboneElement {
522    /// Unique id for inter-element referencing
523    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
524    pub id: Option<String>,
525    /// Additional content defined by implementations
526    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
527    pub extension: Option<Vec<Extension>>,
528    /// Extensions that cannot be ignored even if unrecognized
529    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
530    pub modifier_extension: Option<Vec<Extension>>,
531    /// The index of the abstract origin server starting at 1
532    #[fhir(name="index", min="1", max="1", summary=false, modifier=false, choice="")]
533    pub index: Option<IntegerDt>,
534    /// FHIR-Client | FHIR-SDC-FormFiller
535    #[fhir(name="profile", min="1", max="1", summary=false, modifier=false, choice="")]
536    pub profile: Option<Coding>,
537    /// The url path of the origin server
538    #[fhir(name="url", min="0", max="1", summary=false, modifier=false, choice="")]
539    pub url: Option<UrlDt>,
540}
541
542#[derive(Element, BackboneElement, Debug, Clone, Default)]
543pub struct TestScriptScopeBackboneElement {
544    /// Unique id for inter-element referencing
545    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
546    pub id: Option<String>,
547    /// Additional content defined by implementations
548    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
549    pub extension: Option<Vec<Extension>>,
550    /// Extensions that cannot be ignored even if unrecognized
551    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
552    pub modifier_extension: Option<Vec<Extension>>,
553    /// The specific conformance artifact being tested
554    #[fhir(name="artifact", min="1", max="1", summary=false, modifier=false, choice="")]
555    pub artifact: Option<CanonicalDt>,
556    /// required | optional | strict
557    #[fhir(name="conformance", min="0", max="1", summary=false, modifier=false, choice="")]
558    pub conformance: Option<CodeableConcept>,
559    /// unit | integration | production
560    #[fhir(name="phase", min="0", max="1", summary=false, modifier=false, choice="")]
561    pub phase: Option<CodeableConcept>,
562}
563
564#[derive(Element, BackboneElement, Debug, Clone, Default)]
565pub struct TestScriptTestBackboneElement {
566    /// Unique id for inter-element referencing
567    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
568    pub id: Option<String>,
569    /// Additional content defined by implementations
570    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
571    pub extension: Option<Vec<Extension>>,
572    /// Extensions that cannot be ignored even if unrecognized
573    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
574    pub modifier_extension: Option<Vec<Extension>>,
575    /// Tracking/logging name of this test
576    #[fhir(name="name", min="0", max="1", summary=false, modifier=false, choice="")]
577    pub name: Option<StringDt>,
578    /// Tracking/reporting short description of the test
579    #[fhir(name="description", min="0", max="1", summary=false, modifier=false, choice="")]
580    pub description: Option<StringDt>,
581    /// A test operation or assert to perform
582    #[fhir(name="action", min="1", max="*", summary=false, modifier=false, choice="")]
583    pub action: Option<Vec<TestScriptTestActionBackboneElement>>,
584}
585
586#[derive(Element, BackboneElement, Debug, Clone, Default)]
587pub struct TestScriptTestActionBackboneElement {
588    /// Unique id for inter-element referencing
589    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
590    pub id: Option<String>,
591    /// Additional content defined by implementations
592    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
593    pub extension: Option<Vec<Extension>>,
594    /// Extensions that cannot be ignored even if unrecognized
595    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
596    pub modifier_extension: Option<Vec<Extension>>,
597    /// The setup operation to perform
598    #[fhir(name="operation", min="0", max="1", summary=false, modifier=false, choice="")]
599    pub operation: Option<TestScriptSetupActionOperationBackboneElement>,
600    /// The setup assertion to perform
601    #[fhir(name="assert", min="0", max="1", summary=false, modifier=false, choice="")]
602    pub assert: Option<TestScriptSetupActionAssertBackboneElement>,
603}
604