@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,3010 @@
1
+ /*
2
+ * Generated by @medplum/generator
3
+ * Do not edit manually.
4
+ */
5
+
6
+ import { Address } from './Address';
7
+ import { Age } from './Age';
8
+ import { Annotation } from './Annotation';
9
+ import { Attachment } from './Attachment';
10
+ import { CodeableConcept } from './CodeableConcept';
11
+ import { Coding } from './Coding';
12
+ import { ContactDetail } from './ContactDetail';
13
+ import { ContactPoint } from './ContactPoint';
14
+ import { Contributor } from './Contributor';
15
+ import { Count } from './Count';
16
+ import { DataRequirement } from './DataRequirement';
17
+ import { Distance } from './Distance';
18
+ import { Dosage } from './Dosage';
19
+ import { Duration } from './Duration';
20
+ import { Expression } from './Expression';
21
+ import { Extension } from './Extension';
22
+ import { HumanName } from './HumanName';
23
+ import { Identifier } from './Identifier';
24
+ import { Meta } from './Meta';
25
+ import { Money } from './Money';
26
+ import { ParameterDefinition } from './ParameterDefinition';
27
+ import { Period } from './Period';
28
+ import { Quantity } from './Quantity';
29
+ import { Range } from './Range';
30
+ import { Ratio } from './Ratio';
31
+ import { Reference } from './Reference';
32
+ import { RelatedArtifact } from './RelatedArtifact';
33
+ import { SampledData } from './SampledData';
34
+ import { Signature } from './Signature';
35
+ import { Timing } from './Timing';
36
+ import { TriggerDefinition } from './TriggerDefinition';
37
+ import { UsageContext } from './UsageContext';
38
+
39
+ /**
40
+ * Base StructureDefinition for ElementDefinition Type: Captures
41
+ * constraints on each element within the resource, profile, or
42
+ * extension.
43
+ */
44
+ export interface ElementDefinition {
45
+
46
+ /**
47
+ * Unique id for the element within a resource (for internal references).
48
+ * This may be any string value that does not contain spaces.
49
+ */
50
+ readonly id?: string;
51
+
52
+ /**
53
+ * May be used to represent additional information that is not part of
54
+ * the basic definition of the element. To make the use of extensions
55
+ * safe and manageable, there is a strict set of governance applied to
56
+ * the definition and use of extensions. Though any implementer can
57
+ * define an extension, there is a set of requirements that SHALL be met
58
+ * as part of the definition of the extension.
59
+ */
60
+ readonly extension?: Extension[];
61
+
62
+ /**
63
+ * May be used to represent additional information that is not part of
64
+ * the basic definition of the element and that modifies the
65
+ * understanding of the element in which it is contained and/or the
66
+ * understanding of the containing element's descendants. Usually
67
+ * modifier elements provide negation or qualification. To make the use
68
+ * of extensions safe and manageable, there is a strict set of governance
69
+ * applied to the definition and use of extensions. Though any
70
+ * implementer can define an extension, there is a set of requirements
71
+ * that SHALL be met as part of the definition of the extension.
72
+ * Applications processing a resource are required to check for modifier
73
+ * extensions.
74
+ *
75
+ * Modifier extensions SHALL NOT change the meaning of any elements on
76
+ * Resource or DomainResource (including cannot change the meaning of
77
+ * modifierExtension itself).
78
+ */
79
+ readonly modifierExtension?: Extension[];
80
+
81
+ /**
82
+ * The path identifies the element and is expressed as a "."-separated
83
+ * list of ancestor elements, beginning with the name of the resource or
84
+ * extension.
85
+ */
86
+ readonly path?: string;
87
+
88
+ /**
89
+ * Codes that define how this element is represented in instances, when
90
+ * the deviation varies from the normal case.
91
+ */
92
+ readonly representation?: string[];
93
+
94
+ /**
95
+ * The name of this element definition slice, when slicing is working.
96
+ * The name must be a token with no dots or spaces. This is a unique name
97
+ * referring to a specific set of constraints applied to this element,
98
+ * used to provide a name to different slices of the same element.
99
+ */
100
+ readonly sliceName?: string;
101
+
102
+ /**
103
+ * If true, indicates that this slice definition is constraining a slice
104
+ * definition with the same name in an inherited profile. If false, the
105
+ * slice is not overriding any slice in an inherited profile. If missing,
106
+ * the slice might or might not be overriding a slice in an inherited
107
+ * profile, depending on the sliceName.
108
+ */
109
+ readonly sliceIsConstraining?: boolean;
110
+
111
+ /**
112
+ * A single preferred label which is the text to display beside the
113
+ * element indicating its meaning or to use to prompt for the element in
114
+ * a user display or form.
115
+ */
116
+ readonly label?: string;
117
+
118
+ /**
119
+ * A code that has the same meaning as the element in a particular
120
+ * terminology.
121
+ */
122
+ readonly code?: Coding[];
123
+
124
+ /**
125
+ * Indicates that the element is sliced into a set of alternative
126
+ * definitions (i.e. in a structure definition, there are multiple
127
+ * different constraints on a single element in the base resource).
128
+ * Slicing can be used in any resource that has cardinality ..* on the
129
+ * base resource, or any resource with a choice of types. The set of
130
+ * slices is any elements that come after this in the element sequence
131
+ * that have the same path, until a shorter path occurs (the shorter path
132
+ * terminates the set).
133
+ */
134
+ readonly slicing?: ElementDefinitionSlicing;
135
+
136
+ /**
137
+ * A concise description of what this element means (e.g. for use in
138
+ * autogenerated summaries).
139
+ */
140
+ readonly short?: string;
141
+
142
+ /**
143
+ * Provides a complete explanation of the meaning of the data element for
144
+ * human readability. For the case of elements derived from existing
145
+ * elements (e.g. constraints), the definition SHALL be consistent with
146
+ * the base definition, but convey the meaning of the element in the
147
+ * particular context of use of the resource. (Note: The text you are
148
+ * reading is specified in ElementDefinition.definition).
149
+ */
150
+ readonly definition?: string;
151
+
152
+ /**
153
+ * Explanatory notes and implementation guidance about the data element,
154
+ * including notes about how to use the data properly, exceptions to
155
+ * proper use, etc. (Note: The text you are reading is specified in
156
+ * ElementDefinition.comment).
157
+ */
158
+ readonly comment?: string;
159
+
160
+ /**
161
+ * This element is for traceability of why the element was created and
162
+ * why the constraints exist as they do. This may be used to point to
163
+ * source materials or specifications that drove the structure of this
164
+ * element.
165
+ */
166
+ readonly requirements?: string;
167
+
168
+ /**
169
+ * Identifies additional names by which this element might also be known.
170
+ */
171
+ readonly alias?: string[];
172
+
173
+ /**
174
+ * The minimum number of times this element SHALL appear in the instance.
175
+ */
176
+ readonly min?: number;
177
+
178
+ /**
179
+ * The maximum number of times this element is permitted to appear in the
180
+ * instance.
181
+ */
182
+ readonly max?: string;
183
+
184
+ /**
185
+ * Information about the base definition of the element, provided to make
186
+ * it unnecessary for tools to trace the deviation of the element through
187
+ * the derived and related profiles. When the element definition is not
188
+ * the original definition of an element - i.g. either in a constraint on
189
+ * another type, or for elements from a super type in a snap shot - then
190
+ * the information in provided in the element definition may be different
191
+ * to the base definition. On the original definition of the element, it
192
+ * will be same.
193
+ */
194
+ readonly base?: ElementDefinitionBase;
195
+
196
+ /**
197
+ * Identifies an element defined elsewhere in the definition whose
198
+ * content rules should be applied to the current element.
199
+ * ContentReferences bring across all the rules that are in the
200
+ * ElementDefinition for the element, including definitions, cardinality
201
+ * constraints, bindings, invariants etc.
202
+ */
203
+ readonly contentReference?: string;
204
+
205
+ /**
206
+ * The data type or resource that the value of this element is permitted
207
+ * to be.
208
+ */
209
+ readonly type?: ElementDefinitionType[];
210
+
211
+ /**
212
+ * The value that should be used if there is no value stated in the
213
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
214
+ */
215
+ readonly defaultValueBase64Binary?: string;
216
+
217
+ /**
218
+ * The value that should be used if there is no value stated in the
219
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
220
+ */
221
+ readonly defaultValueBoolean?: boolean;
222
+
223
+ /**
224
+ * The value that should be used if there is no value stated in the
225
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
226
+ */
227
+ readonly defaultValueCanonical?: string;
228
+
229
+ /**
230
+ * The value that should be used if there is no value stated in the
231
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
232
+ */
233
+ readonly defaultValueCode?: string;
234
+
235
+ /**
236
+ * The value that should be used if there is no value stated in the
237
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
238
+ */
239
+ readonly defaultValueDate?: string;
240
+
241
+ /**
242
+ * The value that should be used if there is no value stated in the
243
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
244
+ */
245
+ readonly defaultValueDateTime?: string;
246
+
247
+ /**
248
+ * The value that should be used if there is no value stated in the
249
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
250
+ */
251
+ readonly defaultValueDecimal?: number;
252
+
253
+ /**
254
+ * The value that should be used if there is no value stated in the
255
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
256
+ */
257
+ readonly defaultValueId?: string;
258
+
259
+ /**
260
+ * The value that should be used if there is no value stated in the
261
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
262
+ */
263
+ readonly defaultValueInstant?: string;
264
+
265
+ /**
266
+ * The value that should be used if there is no value stated in the
267
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
268
+ */
269
+ readonly defaultValueInteger?: number;
270
+
271
+ /**
272
+ * The value that should be used if there is no value stated in the
273
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
274
+ */
275
+ readonly defaultValueMarkdown?: string;
276
+
277
+ /**
278
+ * The value that should be used if there is no value stated in the
279
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
280
+ */
281
+ readonly defaultValueOid?: string;
282
+
283
+ /**
284
+ * The value that should be used if there is no value stated in the
285
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
286
+ */
287
+ readonly defaultValuePositiveInt?: number;
288
+
289
+ /**
290
+ * The value that should be used if there is no value stated in the
291
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
292
+ */
293
+ readonly defaultValueString?: string;
294
+
295
+ /**
296
+ * The value that should be used if there is no value stated in the
297
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
298
+ */
299
+ readonly defaultValueTime?: string;
300
+
301
+ /**
302
+ * The value that should be used if there is no value stated in the
303
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
304
+ */
305
+ readonly defaultValueUnsignedInt?: number;
306
+
307
+ /**
308
+ * The value that should be used if there is no value stated in the
309
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
310
+ */
311
+ readonly defaultValueUri?: string;
312
+
313
+ /**
314
+ * The value that should be used if there is no value stated in the
315
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
316
+ */
317
+ readonly defaultValueUrl?: string;
318
+
319
+ /**
320
+ * The value that should be used if there is no value stated in the
321
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
322
+ */
323
+ readonly defaultValueUuid?: string;
324
+
325
+ /**
326
+ * The value that should be used if there is no value stated in the
327
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
328
+ */
329
+ readonly defaultValueAddress?: Address;
330
+
331
+ /**
332
+ * The value that should be used if there is no value stated in the
333
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
334
+ */
335
+ readonly defaultValueAge?: Age;
336
+
337
+ /**
338
+ * The value that should be used if there is no value stated in the
339
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
340
+ */
341
+ readonly defaultValueAnnotation?: Annotation;
342
+
343
+ /**
344
+ * The value that should be used if there is no value stated in the
345
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
346
+ */
347
+ readonly defaultValueAttachment?: Attachment;
348
+
349
+ /**
350
+ * The value that should be used if there is no value stated in the
351
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
352
+ */
353
+ readonly defaultValueCodeableConcept?: CodeableConcept;
354
+
355
+ /**
356
+ * The value that should be used if there is no value stated in the
357
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
358
+ */
359
+ readonly defaultValueCoding?: Coding;
360
+
361
+ /**
362
+ * The value that should be used if there is no value stated in the
363
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
364
+ */
365
+ readonly defaultValueContactPoint?: ContactPoint;
366
+
367
+ /**
368
+ * The value that should be used if there is no value stated in the
369
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
370
+ */
371
+ readonly defaultValueCount?: Count;
372
+
373
+ /**
374
+ * The value that should be used if there is no value stated in the
375
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
376
+ */
377
+ readonly defaultValueDistance?: Distance;
378
+
379
+ /**
380
+ * The value that should be used if there is no value stated in the
381
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
382
+ */
383
+ readonly defaultValueDuration?: Duration;
384
+
385
+ /**
386
+ * The value that should be used if there is no value stated in the
387
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
388
+ */
389
+ readonly defaultValueHumanName?: HumanName;
390
+
391
+ /**
392
+ * The value that should be used if there is no value stated in the
393
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
394
+ */
395
+ readonly defaultValueIdentifier?: Identifier;
396
+
397
+ /**
398
+ * The value that should be used if there is no value stated in the
399
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
400
+ */
401
+ readonly defaultValueMoney?: Money;
402
+
403
+ /**
404
+ * The value that should be used if there is no value stated in the
405
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
406
+ */
407
+ readonly defaultValuePeriod?: Period;
408
+
409
+ /**
410
+ * The value that should be used if there is no value stated in the
411
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
412
+ */
413
+ readonly defaultValueQuantity?: Quantity;
414
+
415
+ /**
416
+ * The value that should be used if there is no value stated in the
417
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
418
+ */
419
+ readonly defaultValueRange?: Range;
420
+
421
+ /**
422
+ * The value that should be used if there is no value stated in the
423
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
424
+ */
425
+ readonly defaultValueRatio?: Ratio;
426
+
427
+ /**
428
+ * The value that should be used if there is no value stated in the
429
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
430
+ */
431
+ readonly defaultValueReference?: Reference;
432
+
433
+ /**
434
+ * The value that should be used if there is no value stated in the
435
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
436
+ */
437
+ readonly defaultValueSampledData?: SampledData;
438
+
439
+ /**
440
+ * The value that should be used if there is no value stated in the
441
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
442
+ */
443
+ readonly defaultValueSignature?: Signature;
444
+
445
+ /**
446
+ * The value that should be used if there is no value stated in the
447
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
448
+ */
449
+ readonly defaultValueTiming?: Timing;
450
+
451
+ /**
452
+ * The value that should be used if there is no value stated in the
453
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
454
+ */
455
+ readonly defaultValueContactDetail?: ContactDetail;
456
+
457
+ /**
458
+ * The value that should be used if there is no value stated in the
459
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
460
+ */
461
+ readonly defaultValueContributor?: Contributor;
462
+
463
+ /**
464
+ * The value that should be used if there is no value stated in the
465
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
466
+ */
467
+ readonly defaultValueDataRequirement?: DataRequirement;
468
+
469
+ /**
470
+ * The value that should be used if there is no value stated in the
471
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
472
+ */
473
+ readonly defaultValueExpression?: Expression;
474
+
475
+ /**
476
+ * The value that should be used if there is no value stated in the
477
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
478
+ */
479
+ readonly defaultValueParameterDefinition?: ParameterDefinition;
480
+
481
+ /**
482
+ * The value that should be used if there is no value stated in the
483
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
484
+ */
485
+ readonly defaultValueRelatedArtifact?: RelatedArtifact;
486
+
487
+ /**
488
+ * The value that should be used if there is no value stated in the
489
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
490
+ */
491
+ readonly defaultValueTriggerDefinition?: TriggerDefinition;
492
+
493
+ /**
494
+ * The value that should be used if there is no value stated in the
495
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
496
+ */
497
+ readonly defaultValueUsageContext?: UsageContext;
498
+
499
+ /**
500
+ * The value that should be used if there is no value stated in the
501
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
502
+ */
503
+ readonly defaultValueDosage?: Dosage;
504
+
505
+ /**
506
+ * The value that should be used if there is no value stated in the
507
+ * instance (e.g. 'if not otherwise specified, the abstract is false').
508
+ */
509
+ readonly defaultValueMeta?: Meta;
510
+
511
+ /**
512
+ * The Implicit meaning that is to be understood when this element is
513
+ * missing (e.g. 'when this element is missing, the period is ongoing').
514
+ */
515
+ readonly meaningWhenMissing?: string;
516
+
517
+ /**
518
+ * If present, indicates that the order of the repeating element has
519
+ * meaning and describes what that meaning is. If absent, it means that
520
+ * the order of the element has no meaning.
521
+ */
522
+ readonly orderMeaning?: string;
523
+
524
+ /**
525
+ * Specifies a value that SHALL be exactly the value for this element in
526
+ * the instance. For purposes of comparison, non-significant whitespace
527
+ * is ignored, and all values must be an exact match (case and accent
528
+ * sensitive). Missing elements/attributes must also be missing.
529
+ */
530
+ readonly fixedBase64Binary?: string;
531
+
532
+ /**
533
+ * Specifies a value that SHALL be exactly the value for this element in
534
+ * the instance. For purposes of comparison, non-significant whitespace
535
+ * is ignored, and all values must be an exact match (case and accent
536
+ * sensitive). Missing elements/attributes must also be missing.
537
+ */
538
+ readonly fixedBoolean?: boolean;
539
+
540
+ /**
541
+ * Specifies a value that SHALL be exactly the value for this element in
542
+ * the instance. For purposes of comparison, non-significant whitespace
543
+ * is ignored, and all values must be an exact match (case and accent
544
+ * sensitive). Missing elements/attributes must also be missing.
545
+ */
546
+ readonly fixedCanonical?: string;
547
+
548
+ /**
549
+ * Specifies a value that SHALL be exactly the value for this element in
550
+ * the instance. For purposes of comparison, non-significant whitespace
551
+ * is ignored, and all values must be an exact match (case and accent
552
+ * sensitive). Missing elements/attributes must also be missing.
553
+ */
554
+ readonly fixedCode?: string;
555
+
556
+ /**
557
+ * Specifies a value that SHALL be exactly the value for this element in
558
+ * the instance. For purposes of comparison, non-significant whitespace
559
+ * is ignored, and all values must be an exact match (case and accent
560
+ * sensitive). Missing elements/attributes must also be missing.
561
+ */
562
+ readonly fixedDate?: string;
563
+
564
+ /**
565
+ * Specifies a value that SHALL be exactly the value for this element in
566
+ * the instance. For purposes of comparison, non-significant whitespace
567
+ * is ignored, and all values must be an exact match (case and accent
568
+ * sensitive). Missing elements/attributes must also be missing.
569
+ */
570
+ readonly fixedDateTime?: string;
571
+
572
+ /**
573
+ * Specifies a value that SHALL be exactly the value for this element in
574
+ * the instance. For purposes of comparison, non-significant whitespace
575
+ * is ignored, and all values must be an exact match (case and accent
576
+ * sensitive). Missing elements/attributes must also be missing.
577
+ */
578
+ readonly fixedDecimal?: number;
579
+
580
+ /**
581
+ * Specifies a value that SHALL be exactly the value for this element in
582
+ * the instance. For purposes of comparison, non-significant whitespace
583
+ * is ignored, and all values must be an exact match (case and accent
584
+ * sensitive). Missing elements/attributes must also be missing.
585
+ */
586
+ readonly fixedId?: string;
587
+
588
+ /**
589
+ * Specifies a value that SHALL be exactly the value for this element in
590
+ * the instance. For purposes of comparison, non-significant whitespace
591
+ * is ignored, and all values must be an exact match (case and accent
592
+ * sensitive). Missing elements/attributes must also be missing.
593
+ */
594
+ readonly fixedInstant?: string;
595
+
596
+ /**
597
+ * Specifies a value that SHALL be exactly the value for this element in
598
+ * the instance. For purposes of comparison, non-significant whitespace
599
+ * is ignored, and all values must be an exact match (case and accent
600
+ * sensitive). Missing elements/attributes must also be missing.
601
+ */
602
+ readonly fixedInteger?: number;
603
+
604
+ /**
605
+ * Specifies a value that SHALL be exactly the value for this element in
606
+ * the instance. For purposes of comparison, non-significant whitespace
607
+ * is ignored, and all values must be an exact match (case and accent
608
+ * sensitive). Missing elements/attributes must also be missing.
609
+ */
610
+ readonly fixedMarkdown?: string;
611
+
612
+ /**
613
+ * Specifies a value that SHALL be exactly the value for this element in
614
+ * the instance. For purposes of comparison, non-significant whitespace
615
+ * is ignored, and all values must be an exact match (case and accent
616
+ * sensitive). Missing elements/attributes must also be missing.
617
+ */
618
+ readonly fixedOid?: string;
619
+
620
+ /**
621
+ * Specifies a value that SHALL be exactly the value for this element in
622
+ * the instance. For purposes of comparison, non-significant whitespace
623
+ * is ignored, and all values must be an exact match (case and accent
624
+ * sensitive). Missing elements/attributes must also be missing.
625
+ */
626
+ readonly fixedPositiveInt?: number;
627
+
628
+ /**
629
+ * Specifies a value that SHALL be exactly the value for this element in
630
+ * the instance. For purposes of comparison, non-significant whitespace
631
+ * is ignored, and all values must be an exact match (case and accent
632
+ * sensitive). Missing elements/attributes must also be missing.
633
+ */
634
+ readonly fixedString?: string;
635
+
636
+ /**
637
+ * Specifies a value that SHALL be exactly the value for this element in
638
+ * the instance. For purposes of comparison, non-significant whitespace
639
+ * is ignored, and all values must be an exact match (case and accent
640
+ * sensitive). Missing elements/attributes must also be missing.
641
+ */
642
+ readonly fixedTime?: string;
643
+
644
+ /**
645
+ * Specifies a value that SHALL be exactly the value for this element in
646
+ * the instance. For purposes of comparison, non-significant whitespace
647
+ * is ignored, and all values must be an exact match (case and accent
648
+ * sensitive). Missing elements/attributes must also be missing.
649
+ */
650
+ readonly fixedUnsignedInt?: number;
651
+
652
+ /**
653
+ * Specifies a value that SHALL be exactly the value for this element in
654
+ * the instance. For purposes of comparison, non-significant whitespace
655
+ * is ignored, and all values must be an exact match (case and accent
656
+ * sensitive). Missing elements/attributes must also be missing.
657
+ */
658
+ readonly fixedUri?: string;
659
+
660
+ /**
661
+ * Specifies a value that SHALL be exactly the value for this element in
662
+ * the instance. For purposes of comparison, non-significant whitespace
663
+ * is ignored, and all values must be an exact match (case and accent
664
+ * sensitive). Missing elements/attributes must also be missing.
665
+ */
666
+ readonly fixedUrl?: string;
667
+
668
+ /**
669
+ * Specifies a value that SHALL be exactly the value for this element in
670
+ * the instance. For purposes of comparison, non-significant whitespace
671
+ * is ignored, and all values must be an exact match (case and accent
672
+ * sensitive). Missing elements/attributes must also be missing.
673
+ */
674
+ readonly fixedUuid?: string;
675
+
676
+ /**
677
+ * Specifies a value that SHALL be exactly the value for this element in
678
+ * the instance. For purposes of comparison, non-significant whitespace
679
+ * is ignored, and all values must be an exact match (case and accent
680
+ * sensitive). Missing elements/attributes must also be missing.
681
+ */
682
+ readonly fixedAddress?: Address;
683
+
684
+ /**
685
+ * Specifies a value that SHALL be exactly the value for this element in
686
+ * the instance. For purposes of comparison, non-significant whitespace
687
+ * is ignored, and all values must be an exact match (case and accent
688
+ * sensitive). Missing elements/attributes must also be missing.
689
+ */
690
+ readonly fixedAge?: Age;
691
+
692
+ /**
693
+ * Specifies a value that SHALL be exactly the value for this element in
694
+ * the instance. For purposes of comparison, non-significant whitespace
695
+ * is ignored, and all values must be an exact match (case and accent
696
+ * sensitive). Missing elements/attributes must also be missing.
697
+ */
698
+ readonly fixedAnnotation?: Annotation;
699
+
700
+ /**
701
+ * Specifies a value that SHALL be exactly the value for this element in
702
+ * the instance. For purposes of comparison, non-significant whitespace
703
+ * is ignored, and all values must be an exact match (case and accent
704
+ * sensitive). Missing elements/attributes must also be missing.
705
+ */
706
+ readonly fixedAttachment?: Attachment;
707
+
708
+ /**
709
+ * Specifies a value that SHALL be exactly the value for this element in
710
+ * the instance. For purposes of comparison, non-significant whitespace
711
+ * is ignored, and all values must be an exact match (case and accent
712
+ * sensitive). Missing elements/attributes must also be missing.
713
+ */
714
+ readonly fixedCodeableConcept?: CodeableConcept;
715
+
716
+ /**
717
+ * Specifies a value that SHALL be exactly the value for this element in
718
+ * the instance. For purposes of comparison, non-significant whitespace
719
+ * is ignored, and all values must be an exact match (case and accent
720
+ * sensitive). Missing elements/attributes must also be missing.
721
+ */
722
+ readonly fixedCoding?: Coding;
723
+
724
+ /**
725
+ * Specifies a value that SHALL be exactly the value for this element in
726
+ * the instance. For purposes of comparison, non-significant whitespace
727
+ * is ignored, and all values must be an exact match (case and accent
728
+ * sensitive). Missing elements/attributes must also be missing.
729
+ */
730
+ readonly fixedContactPoint?: ContactPoint;
731
+
732
+ /**
733
+ * Specifies a value that SHALL be exactly the value for this element in
734
+ * the instance. For purposes of comparison, non-significant whitespace
735
+ * is ignored, and all values must be an exact match (case and accent
736
+ * sensitive). Missing elements/attributes must also be missing.
737
+ */
738
+ readonly fixedCount?: Count;
739
+
740
+ /**
741
+ * Specifies a value that SHALL be exactly the value for this element in
742
+ * the instance. For purposes of comparison, non-significant whitespace
743
+ * is ignored, and all values must be an exact match (case and accent
744
+ * sensitive). Missing elements/attributes must also be missing.
745
+ */
746
+ readonly fixedDistance?: Distance;
747
+
748
+ /**
749
+ * Specifies a value that SHALL be exactly the value for this element in
750
+ * the instance. For purposes of comparison, non-significant whitespace
751
+ * is ignored, and all values must be an exact match (case and accent
752
+ * sensitive). Missing elements/attributes must also be missing.
753
+ */
754
+ readonly fixedDuration?: Duration;
755
+
756
+ /**
757
+ * Specifies a value that SHALL be exactly the value for this element in
758
+ * the instance. For purposes of comparison, non-significant whitespace
759
+ * is ignored, and all values must be an exact match (case and accent
760
+ * sensitive). Missing elements/attributes must also be missing.
761
+ */
762
+ readonly fixedHumanName?: HumanName;
763
+
764
+ /**
765
+ * Specifies a value that SHALL be exactly the value for this element in
766
+ * the instance. For purposes of comparison, non-significant whitespace
767
+ * is ignored, and all values must be an exact match (case and accent
768
+ * sensitive). Missing elements/attributes must also be missing.
769
+ */
770
+ readonly fixedIdentifier?: Identifier;
771
+
772
+ /**
773
+ * Specifies a value that SHALL be exactly the value for this element in
774
+ * the instance. For purposes of comparison, non-significant whitespace
775
+ * is ignored, and all values must be an exact match (case and accent
776
+ * sensitive). Missing elements/attributes must also be missing.
777
+ */
778
+ readonly fixedMoney?: Money;
779
+
780
+ /**
781
+ * Specifies a value that SHALL be exactly the value for this element in
782
+ * the instance. For purposes of comparison, non-significant whitespace
783
+ * is ignored, and all values must be an exact match (case and accent
784
+ * sensitive). Missing elements/attributes must also be missing.
785
+ */
786
+ readonly fixedPeriod?: Period;
787
+
788
+ /**
789
+ * Specifies a value that SHALL be exactly the value for this element in
790
+ * the instance. For purposes of comparison, non-significant whitespace
791
+ * is ignored, and all values must be an exact match (case and accent
792
+ * sensitive). Missing elements/attributes must also be missing.
793
+ */
794
+ readonly fixedQuantity?: Quantity;
795
+
796
+ /**
797
+ * Specifies a value that SHALL be exactly the value for this element in
798
+ * the instance. For purposes of comparison, non-significant whitespace
799
+ * is ignored, and all values must be an exact match (case and accent
800
+ * sensitive). Missing elements/attributes must also be missing.
801
+ */
802
+ readonly fixedRange?: Range;
803
+
804
+ /**
805
+ * Specifies a value that SHALL be exactly the value for this element in
806
+ * the instance. For purposes of comparison, non-significant whitespace
807
+ * is ignored, and all values must be an exact match (case and accent
808
+ * sensitive). Missing elements/attributes must also be missing.
809
+ */
810
+ readonly fixedRatio?: Ratio;
811
+
812
+ /**
813
+ * Specifies a value that SHALL be exactly the value for this element in
814
+ * the instance. For purposes of comparison, non-significant whitespace
815
+ * is ignored, and all values must be an exact match (case and accent
816
+ * sensitive). Missing elements/attributes must also be missing.
817
+ */
818
+ readonly fixedReference?: Reference;
819
+
820
+ /**
821
+ * Specifies a value that SHALL be exactly the value for this element in
822
+ * the instance. For purposes of comparison, non-significant whitespace
823
+ * is ignored, and all values must be an exact match (case and accent
824
+ * sensitive). Missing elements/attributes must also be missing.
825
+ */
826
+ readonly fixedSampledData?: SampledData;
827
+
828
+ /**
829
+ * Specifies a value that SHALL be exactly the value for this element in
830
+ * the instance. For purposes of comparison, non-significant whitespace
831
+ * is ignored, and all values must be an exact match (case and accent
832
+ * sensitive). Missing elements/attributes must also be missing.
833
+ */
834
+ readonly fixedSignature?: Signature;
835
+
836
+ /**
837
+ * Specifies a value that SHALL be exactly the value for this element in
838
+ * the instance. For purposes of comparison, non-significant whitespace
839
+ * is ignored, and all values must be an exact match (case and accent
840
+ * sensitive). Missing elements/attributes must also be missing.
841
+ */
842
+ readonly fixedTiming?: Timing;
843
+
844
+ /**
845
+ * Specifies a value that SHALL be exactly the value for this element in
846
+ * the instance. For purposes of comparison, non-significant whitespace
847
+ * is ignored, and all values must be an exact match (case and accent
848
+ * sensitive). Missing elements/attributes must also be missing.
849
+ */
850
+ readonly fixedContactDetail?: ContactDetail;
851
+
852
+ /**
853
+ * Specifies a value that SHALL be exactly the value for this element in
854
+ * the instance. For purposes of comparison, non-significant whitespace
855
+ * is ignored, and all values must be an exact match (case and accent
856
+ * sensitive). Missing elements/attributes must also be missing.
857
+ */
858
+ readonly fixedContributor?: Contributor;
859
+
860
+ /**
861
+ * Specifies a value that SHALL be exactly the value for this element in
862
+ * the instance. For purposes of comparison, non-significant whitespace
863
+ * is ignored, and all values must be an exact match (case and accent
864
+ * sensitive). Missing elements/attributes must also be missing.
865
+ */
866
+ readonly fixedDataRequirement?: DataRequirement;
867
+
868
+ /**
869
+ * Specifies a value that SHALL be exactly the value for this element in
870
+ * the instance. For purposes of comparison, non-significant whitespace
871
+ * is ignored, and all values must be an exact match (case and accent
872
+ * sensitive). Missing elements/attributes must also be missing.
873
+ */
874
+ readonly fixedExpression?: Expression;
875
+
876
+ /**
877
+ * Specifies a value that SHALL be exactly the value for this element in
878
+ * the instance. For purposes of comparison, non-significant whitespace
879
+ * is ignored, and all values must be an exact match (case and accent
880
+ * sensitive). Missing elements/attributes must also be missing.
881
+ */
882
+ readonly fixedParameterDefinition?: ParameterDefinition;
883
+
884
+ /**
885
+ * Specifies a value that SHALL be exactly the value for this element in
886
+ * the instance. For purposes of comparison, non-significant whitespace
887
+ * is ignored, and all values must be an exact match (case and accent
888
+ * sensitive). Missing elements/attributes must also be missing.
889
+ */
890
+ readonly fixedRelatedArtifact?: RelatedArtifact;
891
+
892
+ /**
893
+ * Specifies a value that SHALL be exactly the value for this element in
894
+ * the instance. For purposes of comparison, non-significant whitespace
895
+ * is ignored, and all values must be an exact match (case and accent
896
+ * sensitive). Missing elements/attributes must also be missing.
897
+ */
898
+ readonly fixedTriggerDefinition?: TriggerDefinition;
899
+
900
+ /**
901
+ * Specifies a value that SHALL be exactly the value for this element in
902
+ * the instance. For purposes of comparison, non-significant whitespace
903
+ * is ignored, and all values must be an exact match (case and accent
904
+ * sensitive). Missing elements/attributes must also be missing.
905
+ */
906
+ readonly fixedUsageContext?: UsageContext;
907
+
908
+ /**
909
+ * Specifies a value that SHALL be exactly the value for this element in
910
+ * the instance. For purposes of comparison, non-significant whitespace
911
+ * is ignored, and all values must be an exact match (case and accent
912
+ * sensitive). Missing elements/attributes must also be missing.
913
+ */
914
+ readonly fixedDosage?: Dosage;
915
+
916
+ /**
917
+ * Specifies a value that SHALL be exactly the value for this element in
918
+ * the instance. For purposes of comparison, non-significant whitespace
919
+ * is ignored, and all values must be an exact match (case and accent
920
+ * sensitive). Missing elements/attributes must also be missing.
921
+ */
922
+ readonly fixedMeta?: Meta;
923
+
924
+ /**
925
+ * Specifies a value that the value in the instance SHALL follow - that
926
+ * is, any value in the pattern must be found in the instance. Other
927
+ * additional values may be found too. This is effectively constraint by
928
+ * example.
929
+ *
930
+ * When pattern[x] is used to constrain a primitive, it means that the
931
+ * value provided in the pattern[x] must match the instance value
932
+ * exactly.
933
+ *
934
+ * When pattern[x] is used to constrain an array, it means that each
935
+ * element provided in the pattern[x] array must (recursively) match at
936
+ * least one element from the instance array.
937
+ *
938
+ * When pattern[x] is used to constrain a complex object, it means that
939
+ * each property in the pattern must be present in the complex object,
940
+ * and its value must recursively match -- i.e.,
941
+ *
942
+ * 1. If primitive: it must match exactly the pattern value
943
+ * 2. If a complex object: it must match (recursively) the pattern value
944
+ * 3. If an array: it must match (recursively) the pattern value.
945
+ */
946
+ readonly patternBase64Binary?: string;
947
+
948
+ /**
949
+ * Specifies a value that the value in the instance SHALL follow - that
950
+ * is, any value in the pattern must be found in the instance. Other
951
+ * additional values may be found too. This is effectively constraint by
952
+ * example.
953
+ *
954
+ * When pattern[x] is used to constrain a primitive, it means that the
955
+ * value provided in the pattern[x] must match the instance value
956
+ * exactly.
957
+ *
958
+ * When pattern[x] is used to constrain an array, it means that each
959
+ * element provided in the pattern[x] array must (recursively) match at
960
+ * least one element from the instance array.
961
+ *
962
+ * When pattern[x] is used to constrain a complex object, it means that
963
+ * each property in the pattern must be present in the complex object,
964
+ * and its value must recursively match -- i.e.,
965
+ *
966
+ * 1. If primitive: it must match exactly the pattern value
967
+ * 2. If a complex object: it must match (recursively) the pattern value
968
+ * 3. If an array: it must match (recursively) the pattern value.
969
+ */
970
+ readonly patternBoolean?: boolean;
971
+
972
+ /**
973
+ * Specifies a value that the value in the instance SHALL follow - that
974
+ * is, any value in the pattern must be found in the instance. Other
975
+ * additional values may be found too. This is effectively constraint by
976
+ * example.
977
+ *
978
+ * When pattern[x] is used to constrain a primitive, it means that the
979
+ * value provided in the pattern[x] must match the instance value
980
+ * exactly.
981
+ *
982
+ * When pattern[x] is used to constrain an array, it means that each
983
+ * element provided in the pattern[x] array must (recursively) match at
984
+ * least one element from the instance array.
985
+ *
986
+ * When pattern[x] is used to constrain a complex object, it means that
987
+ * each property in the pattern must be present in the complex object,
988
+ * and its value must recursively match -- i.e.,
989
+ *
990
+ * 1. If primitive: it must match exactly the pattern value
991
+ * 2. If a complex object: it must match (recursively) the pattern value
992
+ * 3. If an array: it must match (recursively) the pattern value.
993
+ */
994
+ readonly patternCanonical?: string;
995
+
996
+ /**
997
+ * Specifies a value that the value in the instance SHALL follow - that
998
+ * is, any value in the pattern must be found in the instance. Other
999
+ * additional values may be found too. This is effectively constraint by
1000
+ * example.
1001
+ *
1002
+ * When pattern[x] is used to constrain a primitive, it means that the
1003
+ * value provided in the pattern[x] must match the instance value
1004
+ * exactly.
1005
+ *
1006
+ * When pattern[x] is used to constrain an array, it means that each
1007
+ * element provided in the pattern[x] array must (recursively) match at
1008
+ * least one element from the instance array.
1009
+ *
1010
+ * When pattern[x] is used to constrain a complex object, it means that
1011
+ * each property in the pattern must be present in the complex object,
1012
+ * and its value must recursively match -- i.e.,
1013
+ *
1014
+ * 1. If primitive: it must match exactly the pattern value
1015
+ * 2. If a complex object: it must match (recursively) the pattern value
1016
+ * 3. If an array: it must match (recursively) the pattern value.
1017
+ */
1018
+ readonly patternCode?: string;
1019
+
1020
+ /**
1021
+ * Specifies a value that the value in the instance SHALL follow - that
1022
+ * is, any value in the pattern must be found in the instance. Other
1023
+ * additional values may be found too. This is effectively constraint by
1024
+ * example.
1025
+ *
1026
+ * When pattern[x] is used to constrain a primitive, it means that the
1027
+ * value provided in the pattern[x] must match the instance value
1028
+ * exactly.
1029
+ *
1030
+ * When pattern[x] is used to constrain an array, it means that each
1031
+ * element provided in the pattern[x] array must (recursively) match at
1032
+ * least one element from the instance array.
1033
+ *
1034
+ * When pattern[x] is used to constrain a complex object, it means that
1035
+ * each property in the pattern must be present in the complex object,
1036
+ * and its value must recursively match -- i.e.,
1037
+ *
1038
+ * 1. If primitive: it must match exactly the pattern value
1039
+ * 2. If a complex object: it must match (recursively) the pattern value
1040
+ * 3. If an array: it must match (recursively) the pattern value.
1041
+ */
1042
+ readonly patternDate?: string;
1043
+
1044
+ /**
1045
+ * Specifies a value that the value in the instance SHALL follow - that
1046
+ * is, any value in the pattern must be found in the instance. Other
1047
+ * additional values may be found too. This is effectively constraint by
1048
+ * example.
1049
+ *
1050
+ * When pattern[x] is used to constrain a primitive, it means that the
1051
+ * value provided in the pattern[x] must match the instance value
1052
+ * exactly.
1053
+ *
1054
+ * When pattern[x] is used to constrain an array, it means that each
1055
+ * element provided in the pattern[x] array must (recursively) match at
1056
+ * least one element from the instance array.
1057
+ *
1058
+ * When pattern[x] is used to constrain a complex object, it means that
1059
+ * each property in the pattern must be present in the complex object,
1060
+ * and its value must recursively match -- i.e.,
1061
+ *
1062
+ * 1. If primitive: it must match exactly the pattern value
1063
+ * 2. If a complex object: it must match (recursively) the pattern value
1064
+ * 3. If an array: it must match (recursively) the pattern value.
1065
+ */
1066
+ readonly patternDateTime?: string;
1067
+
1068
+ /**
1069
+ * Specifies a value that the value in the instance SHALL follow - that
1070
+ * is, any value in the pattern must be found in the instance. Other
1071
+ * additional values may be found too. This is effectively constraint by
1072
+ * example.
1073
+ *
1074
+ * When pattern[x] is used to constrain a primitive, it means that the
1075
+ * value provided in the pattern[x] must match the instance value
1076
+ * exactly.
1077
+ *
1078
+ * When pattern[x] is used to constrain an array, it means that each
1079
+ * element provided in the pattern[x] array must (recursively) match at
1080
+ * least one element from the instance array.
1081
+ *
1082
+ * When pattern[x] is used to constrain a complex object, it means that
1083
+ * each property in the pattern must be present in the complex object,
1084
+ * and its value must recursively match -- i.e.,
1085
+ *
1086
+ * 1. If primitive: it must match exactly the pattern value
1087
+ * 2. If a complex object: it must match (recursively) the pattern value
1088
+ * 3. If an array: it must match (recursively) the pattern value.
1089
+ */
1090
+ readonly patternDecimal?: number;
1091
+
1092
+ /**
1093
+ * Specifies a value that the value in the instance SHALL follow - that
1094
+ * is, any value in the pattern must be found in the instance. Other
1095
+ * additional values may be found too. This is effectively constraint by
1096
+ * example.
1097
+ *
1098
+ * When pattern[x] is used to constrain a primitive, it means that the
1099
+ * value provided in the pattern[x] must match the instance value
1100
+ * exactly.
1101
+ *
1102
+ * When pattern[x] is used to constrain an array, it means that each
1103
+ * element provided in the pattern[x] array must (recursively) match at
1104
+ * least one element from the instance array.
1105
+ *
1106
+ * When pattern[x] is used to constrain a complex object, it means that
1107
+ * each property in the pattern must be present in the complex object,
1108
+ * and its value must recursively match -- i.e.,
1109
+ *
1110
+ * 1. If primitive: it must match exactly the pattern value
1111
+ * 2. If a complex object: it must match (recursively) the pattern value
1112
+ * 3. If an array: it must match (recursively) the pattern value.
1113
+ */
1114
+ readonly patternId?: string;
1115
+
1116
+ /**
1117
+ * Specifies a value that the value in the instance SHALL follow - that
1118
+ * is, any value in the pattern must be found in the instance. Other
1119
+ * additional values may be found too. This is effectively constraint by
1120
+ * example.
1121
+ *
1122
+ * When pattern[x] is used to constrain a primitive, it means that the
1123
+ * value provided in the pattern[x] must match the instance value
1124
+ * exactly.
1125
+ *
1126
+ * When pattern[x] is used to constrain an array, it means that each
1127
+ * element provided in the pattern[x] array must (recursively) match at
1128
+ * least one element from the instance array.
1129
+ *
1130
+ * When pattern[x] is used to constrain a complex object, it means that
1131
+ * each property in the pattern must be present in the complex object,
1132
+ * and its value must recursively match -- i.e.,
1133
+ *
1134
+ * 1. If primitive: it must match exactly the pattern value
1135
+ * 2. If a complex object: it must match (recursively) the pattern value
1136
+ * 3. If an array: it must match (recursively) the pattern value.
1137
+ */
1138
+ readonly patternInstant?: string;
1139
+
1140
+ /**
1141
+ * Specifies a value that the value in the instance SHALL follow - that
1142
+ * is, any value in the pattern must be found in the instance. Other
1143
+ * additional values may be found too. This is effectively constraint by
1144
+ * example.
1145
+ *
1146
+ * When pattern[x] is used to constrain a primitive, it means that the
1147
+ * value provided in the pattern[x] must match the instance value
1148
+ * exactly.
1149
+ *
1150
+ * When pattern[x] is used to constrain an array, it means that each
1151
+ * element provided in the pattern[x] array must (recursively) match at
1152
+ * least one element from the instance array.
1153
+ *
1154
+ * When pattern[x] is used to constrain a complex object, it means that
1155
+ * each property in the pattern must be present in the complex object,
1156
+ * and its value must recursively match -- i.e.,
1157
+ *
1158
+ * 1. If primitive: it must match exactly the pattern value
1159
+ * 2. If a complex object: it must match (recursively) the pattern value
1160
+ * 3. If an array: it must match (recursively) the pattern value.
1161
+ */
1162
+ readonly patternInteger?: number;
1163
+
1164
+ /**
1165
+ * Specifies a value that the value in the instance SHALL follow - that
1166
+ * is, any value in the pattern must be found in the instance. Other
1167
+ * additional values may be found too. This is effectively constraint by
1168
+ * example.
1169
+ *
1170
+ * When pattern[x] is used to constrain a primitive, it means that the
1171
+ * value provided in the pattern[x] must match the instance value
1172
+ * exactly.
1173
+ *
1174
+ * When pattern[x] is used to constrain an array, it means that each
1175
+ * element provided in the pattern[x] array must (recursively) match at
1176
+ * least one element from the instance array.
1177
+ *
1178
+ * When pattern[x] is used to constrain a complex object, it means that
1179
+ * each property in the pattern must be present in the complex object,
1180
+ * and its value must recursively match -- i.e.,
1181
+ *
1182
+ * 1. If primitive: it must match exactly the pattern value
1183
+ * 2. If a complex object: it must match (recursively) the pattern value
1184
+ * 3. If an array: it must match (recursively) the pattern value.
1185
+ */
1186
+ readonly patternMarkdown?: string;
1187
+
1188
+ /**
1189
+ * Specifies a value that the value in the instance SHALL follow - that
1190
+ * is, any value in the pattern must be found in the instance. Other
1191
+ * additional values may be found too. This is effectively constraint by
1192
+ * example.
1193
+ *
1194
+ * When pattern[x] is used to constrain a primitive, it means that the
1195
+ * value provided in the pattern[x] must match the instance value
1196
+ * exactly.
1197
+ *
1198
+ * When pattern[x] is used to constrain an array, it means that each
1199
+ * element provided in the pattern[x] array must (recursively) match at
1200
+ * least one element from the instance array.
1201
+ *
1202
+ * When pattern[x] is used to constrain a complex object, it means that
1203
+ * each property in the pattern must be present in the complex object,
1204
+ * and its value must recursively match -- i.e.,
1205
+ *
1206
+ * 1. If primitive: it must match exactly the pattern value
1207
+ * 2. If a complex object: it must match (recursively) the pattern value
1208
+ * 3. If an array: it must match (recursively) the pattern value.
1209
+ */
1210
+ readonly patternOid?: string;
1211
+
1212
+ /**
1213
+ * Specifies a value that the value in the instance SHALL follow - that
1214
+ * is, any value in the pattern must be found in the instance. Other
1215
+ * additional values may be found too. This is effectively constraint by
1216
+ * example.
1217
+ *
1218
+ * When pattern[x] is used to constrain a primitive, it means that the
1219
+ * value provided in the pattern[x] must match the instance value
1220
+ * exactly.
1221
+ *
1222
+ * When pattern[x] is used to constrain an array, it means that each
1223
+ * element provided in the pattern[x] array must (recursively) match at
1224
+ * least one element from the instance array.
1225
+ *
1226
+ * When pattern[x] is used to constrain a complex object, it means that
1227
+ * each property in the pattern must be present in the complex object,
1228
+ * and its value must recursively match -- i.e.,
1229
+ *
1230
+ * 1. If primitive: it must match exactly the pattern value
1231
+ * 2. If a complex object: it must match (recursively) the pattern value
1232
+ * 3. If an array: it must match (recursively) the pattern value.
1233
+ */
1234
+ readonly patternPositiveInt?: number;
1235
+
1236
+ /**
1237
+ * Specifies a value that the value in the instance SHALL follow - that
1238
+ * is, any value in the pattern must be found in the instance. Other
1239
+ * additional values may be found too. This is effectively constraint by
1240
+ * example.
1241
+ *
1242
+ * When pattern[x] is used to constrain a primitive, it means that the
1243
+ * value provided in the pattern[x] must match the instance value
1244
+ * exactly.
1245
+ *
1246
+ * When pattern[x] is used to constrain an array, it means that each
1247
+ * element provided in the pattern[x] array must (recursively) match at
1248
+ * least one element from the instance array.
1249
+ *
1250
+ * When pattern[x] is used to constrain a complex object, it means that
1251
+ * each property in the pattern must be present in the complex object,
1252
+ * and its value must recursively match -- i.e.,
1253
+ *
1254
+ * 1. If primitive: it must match exactly the pattern value
1255
+ * 2. If a complex object: it must match (recursively) the pattern value
1256
+ * 3. If an array: it must match (recursively) the pattern value.
1257
+ */
1258
+ readonly patternString?: string;
1259
+
1260
+ /**
1261
+ * Specifies a value that the value in the instance SHALL follow - that
1262
+ * is, any value in the pattern must be found in the instance. Other
1263
+ * additional values may be found too. This is effectively constraint by
1264
+ * example.
1265
+ *
1266
+ * When pattern[x] is used to constrain a primitive, it means that the
1267
+ * value provided in the pattern[x] must match the instance value
1268
+ * exactly.
1269
+ *
1270
+ * When pattern[x] is used to constrain an array, it means that each
1271
+ * element provided in the pattern[x] array must (recursively) match at
1272
+ * least one element from the instance array.
1273
+ *
1274
+ * When pattern[x] is used to constrain a complex object, it means that
1275
+ * each property in the pattern must be present in the complex object,
1276
+ * and its value must recursively match -- i.e.,
1277
+ *
1278
+ * 1. If primitive: it must match exactly the pattern value
1279
+ * 2. If a complex object: it must match (recursively) the pattern value
1280
+ * 3. If an array: it must match (recursively) the pattern value.
1281
+ */
1282
+ readonly patternTime?: string;
1283
+
1284
+ /**
1285
+ * Specifies a value that the value in the instance SHALL follow - that
1286
+ * is, any value in the pattern must be found in the instance. Other
1287
+ * additional values may be found too. This is effectively constraint by
1288
+ * example.
1289
+ *
1290
+ * When pattern[x] is used to constrain a primitive, it means that the
1291
+ * value provided in the pattern[x] must match the instance value
1292
+ * exactly.
1293
+ *
1294
+ * When pattern[x] is used to constrain an array, it means that each
1295
+ * element provided in the pattern[x] array must (recursively) match at
1296
+ * least one element from the instance array.
1297
+ *
1298
+ * When pattern[x] is used to constrain a complex object, it means that
1299
+ * each property in the pattern must be present in the complex object,
1300
+ * and its value must recursively match -- i.e.,
1301
+ *
1302
+ * 1. If primitive: it must match exactly the pattern value
1303
+ * 2. If a complex object: it must match (recursively) the pattern value
1304
+ * 3. If an array: it must match (recursively) the pattern value.
1305
+ */
1306
+ readonly patternUnsignedInt?: number;
1307
+
1308
+ /**
1309
+ * Specifies a value that the value in the instance SHALL follow - that
1310
+ * is, any value in the pattern must be found in the instance. Other
1311
+ * additional values may be found too. This is effectively constraint by
1312
+ * example.
1313
+ *
1314
+ * When pattern[x] is used to constrain a primitive, it means that the
1315
+ * value provided in the pattern[x] must match the instance value
1316
+ * exactly.
1317
+ *
1318
+ * When pattern[x] is used to constrain an array, it means that each
1319
+ * element provided in the pattern[x] array must (recursively) match at
1320
+ * least one element from the instance array.
1321
+ *
1322
+ * When pattern[x] is used to constrain a complex object, it means that
1323
+ * each property in the pattern must be present in the complex object,
1324
+ * and its value must recursively match -- i.e.,
1325
+ *
1326
+ * 1. If primitive: it must match exactly the pattern value
1327
+ * 2. If a complex object: it must match (recursively) the pattern value
1328
+ * 3. If an array: it must match (recursively) the pattern value.
1329
+ */
1330
+ readonly patternUri?: string;
1331
+
1332
+ /**
1333
+ * Specifies a value that the value in the instance SHALL follow - that
1334
+ * is, any value in the pattern must be found in the instance. Other
1335
+ * additional values may be found too. This is effectively constraint by
1336
+ * example.
1337
+ *
1338
+ * When pattern[x] is used to constrain a primitive, it means that the
1339
+ * value provided in the pattern[x] must match the instance value
1340
+ * exactly.
1341
+ *
1342
+ * When pattern[x] is used to constrain an array, it means that each
1343
+ * element provided in the pattern[x] array must (recursively) match at
1344
+ * least one element from the instance array.
1345
+ *
1346
+ * When pattern[x] is used to constrain a complex object, it means that
1347
+ * each property in the pattern must be present in the complex object,
1348
+ * and its value must recursively match -- i.e.,
1349
+ *
1350
+ * 1. If primitive: it must match exactly the pattern value
1351
+ * 2. If a complex object: it must match (recursively) the pattern value
1352
+ * 3. If an array: it must match (recursively) the pattern value.
1353
+ */
1354
+ readonly patternUrl?: string;
1355
+
1356
+ /**
1357
+ * Specifies a value that the value in the instance SHALL follow - that
1358
+ * is, any value in the pattern must be found in the instance. Other
1359
+ * additional values may be found too. This is effectively constraint by
1360
+ * example.
1361
+ *
1362
+ * When pattern[x] is used to constrain a primitive, it means that the
1363
+ * value provided in the pattern[x] must match the instance value
1364
+ * exactly.
1365
+ *
1366
+ * When pattern[x] is used to constrain an array, it means that each
1367
+ * element provided in the pattern[x] array must (recursively) match at
1368
+ * least one element from the instance array.
1369
+ *
1370
+ * When pattern[x] is used to constrain a complex object, it means that
1371
+ * each property in the pattern must be present in the complex object,
1372
+ * and its value must recursively match -- i.e.,
1373
+ *
1374
+ * 1. If primitive: it must match exactly the pattern value
1375
+ * 2. If a complex object: it must match (recursively) the pattern value
1376
+ * 3. If an array: it must match (recursively) the pattern value.
1377
+ */
1378
+ readonly patternUuid?: string;
1379
+
1380
+ /**
1381
+ * Specifies a value that the value in the instance SHALL follow - that
1382
+ * is, any value in the pattern must be found in the instance. Other
1383
+ * additional values may be found too. This is effectively constraint by
1384
+ * example.
1385
+ *
1386
+ * When pattern[x] is used to constrain a primitive, it means that the
1387
+ * value provided in the pattern[x] must match the instance value
1388
+ * exactly.
1389
+ *
1390
+ * When pattern[x] is used to constrain an array, it means that each
1391
+ * element provided in the pattern[x] array must (recursively) match at
1392
+ * least one element from the instance array.
1393
+ *
1394
+ * When pattern[x] is used to constrain a complex object, it means that
1395
+ * each property in the pattern must be present in the complex object,
1396
+ * and its value must recursively match -- i.e.,
1397
+ *
1398
+ * 1. If primitive: it must match exactly the pattern value
1399
+ * 2. If a complex object: it must match (recursively) the pattern value
1400
+ * 3. If an array: it must match (recursively) the pattern value.
1401
+ */
1402
+ readonly patternAddress?: Address;
1403
+
1404
+ /**
1405
+ * Specifies a value that the value in the instance SHALL follow - that
1406
+ * is, any value in the pattern must be found in the instance. Other
1407
+ * additional values may be found too. This is effectively constraint by
1408
+ * example.
1409
+ *
1410
+ * When pattern[x] is used to constrain a primitive, it means that the
1411
+ * value provided in the pattern[x] must match the instance value
1412
+ * exactly.
1413
+ *
1414
+ * When pattern[x] is used to constrain an array, it means that each
1415
+ * element provided in the pattern[x] array must (recursively) match at
1416
+ * least one element from the instance array.
1417
+ *
1418
+ * When pattern[x] is used to constrain a complex object, it means that
1419
+ * each property in the pattern must be present in the complex object,
1420
+ * and its value must recursively match -- i.e.,
1421
+ *
1422
+ * 1. If primitive: it must match exactly the pattern value
1423
+ * 2. If a complex object: it must match (recursively) the pattern value
1424
+ * 3. If an array: it must match (recursively) the pattern value.
1425
+ */
1426
+ readonly patternAge?: Age;
1427
+
1428
+ /**
1429
+ * Specifies a value that the value in the instance SHALL follow - that
1430
+ * is, any value in the pattern must be found in the instance. Other
1431
+ * additional values may be found too. This is effectively constraint by
1432
+ * example.
1433
+ *
1434
+ * When pattern[x] is used to constrain a primitive, it means that the
1435
+ * value provided in the pattern[x] must match the instance value
1436
+ * exactly.
1437
+ *
1438
+ * When pattern[x] is used to constrain an array, it means that each
1439
+ * element provided in the pattern[x] array must (recursively) match at
1440
+ * least one element from the instance array.
1441
+ *
1442
+ * When pattern[x] is used to constrain a complex object, it means that
1443
+ * each property in the pattern must be present in the complex object,
1444
+ * and its value must recursively match -- i.e.,
1445
+ *
1446
+ * 1. If primitive: it must match exactly the pattern value
1447
+ * 2. If a complex object: it must match (recursively) the pattern value
1448
+ * 3. If an array: it must match (recursively) the pattern value.
1449
+ */
1450
+ readonly patternAnnotation?: Annotation;
1451
+
1452
+ /**
1453
+ * Specifies a value that the value in the instance SHALL follow - that
1454
+ * is, any value in the pattern must be found in the instance. Other
1455
+ * additional values may be found too. This is effectively constraint by
1456
+ * example.
1457
+ *
1458
+ * When pattern[x] is used to constrain a primitive, it means that the
1459
+ * value provided in the pattern[x] must match the instance value
1460
+ * exactly.
1461
+ *
1462
+ * When pattern[x] is used to constrain an array, it means that each
1463
+ * element provided in the pattern[x] array must (recursively) match at
1464
+ * least one element from the instance array.
1465
+ *
1466
+ * When pattern[x] is used to constrain a complex object, it means that
1467
+ * each property in the pattern must be present in the complex object,
1468
+ * and its value must recursively match -- i.e.,
1469
+ *
1470
+ * 1. If primitive: it must match exactly the pattern value
1471
+ * 2. If a complex object: it must match (recursively) the pattern value
1472
+ * 3. If an array: it must match (recursively) the pattern value.
1473
+ */
1474
+ readonly patternAttachment?: Attachment;
1475
+
1476
+ /**
1477
+ * Specifies a value that the value in the instance SHALL follow - that
1478
+ * is, any value in the pattern must be found in the instance. Other
1479
+ * additional values may be found too. This is effectively constraint by
1480
+ * example.
1481
+ *
1482
+ * When pattern[x] is used to constrain a primitive, it means that the
1483
+ * value provided in the pattern[x] must match the instance value
1484
+ * exactly.
1485
+ *
1486
+ * When pattern[x] is used to constrain an array, it means that each
1487
+ * element provided in the pattern[x] array must (recursively) match at
1488
+ * least one element from the instance array.
1489
+ *
1490
+ * When pattern[x] is used to constrain a complex object, it means that
1491
+ * each property in the pattern must be present in the complex object,
1492
+ * and its value must recursively match -- i.e.,
1493
+ *
1494
+ * 1. If primitive: it must match exactly the pattern value
1495
+ * 2. If a complex object: it must match (recursively) the pattern value
1496
+ * 3. If an array: it must match (recursively) the pattern value.
1497
+ */
1498
+ readonly patternCodeableConcept?: CodeableConcept;
1499
+
1500
+ /**
1501
+ * Specifies a value that the value in the instance SHALL follow - that
1502
+ * is, any value in the pattern must be found in the instance. Other
1503
+ * additional values may be found too. This is effectively constraint by
1504
+ * example.
1505
+ *
1506
+ * When pattern[x] is used to constrain a primitive, it means that the
1507
+ * value provided in the pattern[x] must match the instance value
1508
+ * exactly.
1509
+ *
1510
+ * When pattern[x] is used to constrain an array, it means that each
1511
+ * element provided in the pattern[x] array must (recursively) match at
1512
+ * least one element from the instance array.
1513
+ *
1514
+ * When pattern[x] is used to constrain a complex object, it means that
1515
+ * each property in the pattern must be present in the complex object,
1516
+ * and its value must recursively match -- i.e.,
1517
+ *
1518
+ * 1. If primitive: it must match exactly the pattern value
1519
+ * 2. If a complex object: it must match (recursively) the pattern value
1520
+ * 3. If an array: it must match (recursively) the pattern value.
1521
+ */
1522
+ readonly patternCoding?: Coding;
1523
+
1524
+ /**
1525
+ * Specifies a value that the value in the instance SHALL follow - that
1526
+ * is, any value in the pattern must be found in the instance. Other
1527
+ * additional values may be found too. This is effectively constraint by
1528
+ * example.
1529
+ *
1530
+ * When pattern[x] is used to constrain a primitive, it means that the
1531
+ * value provided in the pattern[x] must match the instance value
1532
+ * exactly.
1533
+ *
1534
+ * When pattern[x] is used to constrain an array, it means that each
1535
+ * element provided in the pattern[x] array must (recursively) match at
1536
+ * least one element from the instance array.
1537
+ *
1538
+ * When pattern[x] is used to constrain a complex object, it means that
1539
+ * each property in the pattern must be present in the complex object,
1540
+ * and its value must recursively match -- i.e.,
1541
+ *
1542
+ * 1. If primitive: it must match exactly the pattern value
1543
+ * 2. If a complex object: it must match (recursively) the pattern value
1544
+ * 3. If an array: it must match (recursively) the pattern value.
1545
+ */
1546
+ readonly patternContactPoint?: ContactPoint;
1547
+
1548
+ /**
1549
+ * Specifies a value that the value in the instance SHALL follow - that
1550
+ * is, any value in the pattern must be found in the instance. Other
1551
+ * additional values may be found too. This is effectively constraint by
1552
+ * example.
1553
+ *
1554
+ * When pattern[x] is used to constrain a primitive, it means that the
1555
+ * value provided in the pattern[x] must match the instance value
1556
+ * exactly.
1557
+ *
1558
+ * When pattern[x] is used to constrain an array, it means that each
1559
+ * element provided in the pattern[x] array must (recursively) match at
1560
+ * least one element from the instance array.
1561
+ *
1562
+ * When pattern[x] is used to constrain a complex object, it means that
1563
+ * each property in the pattern must be present in the complex object,
1564
+ * and its value must recursively match -- i.e.,
1565
+ *
1566
+ * 1. If primitive: it must match exactly the pattern value
1567
+ * 2. If a complex object: it must match (recursively) the pattern value
1568
+ * 3. If an array: it must match (recursively) the pattern value.
1569
+ */
1570
+ readonly patternCount?: Count;
1571
+
1572
+ /**
1573
+ * Specifies a value that the value in the instance SHALL follow - that
1574
+ * is, any value in the pattern must be found in the instance. Other
1575
+ * additional values may be found too. This is effectively constraint by
1576
+ * example.
1577
+ *
1578
+ * When pattern[x] is used to constrain a primitive, it means that the
1579
+ * value provided in the pattern[x] must match the instance value
1580
+ * exactly.
1581
+ *
1582
+ * When pattern[x] is used to constrain an array, it means that each
1583
+ * element provided in the pattern[x] array must (recursively) match at
1584
+ * least one element from the instance array.
1585
+ *
1586
+ * When pattern[x] is used to constrain a complex object, it means that
1587
+ * each property in the pattern must be present in the complex object,
1588
+ * and its value must recursively match -- i.e.,
1589
+ *
1590
+ * 1. If primitive: it must match exactly the pattern value
1591
+ * 2. If a complex object: it must match (recursively) the pattern value
1592
+ * 3. If an array: it must match (recursively) the pattern value.
1593
+ */
1594
+ readonly patternDistance?: Distance;
1595
+
1596
+ /**
1597
+ * Specifies a value that the value in the instance SHALL follow - that
1598
+ * is, any value in the pattern must be found in the instance. Other
1599
+ * additional values may be found too. This is effectively constraint by
1600
+ * example.
1601
+ *
1602
+ * When pattern[x] is used to constrain a primitive, it means that the
1603
+ * value provided in the pattern[x] must match the instance value
1604
+ * exactly.
1605
+ *
1606
+ * When pattern[x] is used to constrain an array, it means that each
1607
+ * element provided in the pattern[x] array must (recursively) match at
1608
+ * least one element from the instance array.
1609
+ *
1610
+ * When pattern[x] is used to constrain a complex object, it means that
1611
+ * each property in the pattern must be present in the complex object,
1612
+ * and its value must recursively match -- i.e.,
1613
+ *
1614
+ * 1. If primitive: it must match exactly the pattern value
1615
+ * 2. If a complex object: it must match (recursively) the pattern value
1616
+ * 3. If an array: it must match (recursively) the pattern value.
1617
+ */
1618
+ readonly patternDuration?: Duration;
1619
+
1620
+ /**
1621
+ * Specifies a value that the value in the instance SHALL follow - that
1622
+ * is, any value in the pattern must be found in the instance. Other
1623
+ * additional values may be found too. This is effectively constraint by
1624
+ * example.
1625
+ *
1626
+ * When pattern[x] is used to constrain a primitive, it means that the
1627
+ * value provided in the pattern[x] must match the instance value
1628
+ * exactly.
1629
+ *
1630
+ * When pattern[x] is used to constrain an array, it means that each
1631
+ * element provided in the pattern[x] array must (recursively) match at
1632
+ * least one element from the instance array.
1633
+ *
1634
+ * When pattern[x] is used to constrain a complex object, it means that
1635
+ * each property in the pattern must be present in the complex object,
1636
+ * and its value must recursively match -- i.e.,
1637
+ *
1638
+ * 1. If primitive: it must match exactly the pattern value
1639
+ * 2. If a complex object: it must match (recursively) the pattern value
1640
+ * 3. If an array: it must match (recursively) the pattern value.
1641
+ */
1642
+ readonly patternHumanName?: HumanName;
1643
+
1644
+ /**
1645
+ * Specifies a value that the value in the instance SHALL follow - that
1646
+ * is, any value in the pattern must be found in the instance. Other
1647
+ * additional values may be found too. This is effectively constraint by
1648
+ * example.
1649
+ *
1650
+ * When pattern[x] is used to constrain a primitive, it means that the
1651
+ * value provided in the pattern[x] must match the instance value
1652
+ * exactly.
1653
+ *
1654
+ * When pattern[x] is used to constrain an array, it means that each
1655
+ * element provided in the pattern[x] array must (recursively) match at
1656
+ * least one element from the instance array.
1657
+ *
1658
+ * When pattern[x] is used to constrain a complex object, it means that
1659
+ * each property in the pattern must be present in the complex object,
1660
+ * and its value must recursively match -- i.e.,
1661
+ *
1662
+ * 1. If primitive: it must match exactly the pattern value
1663
+ * 2. If a complex object: it must match (recursively) the pattern value
1664
+ * 3. If an array: it must match (recursively) the pattern value.
1665
+ */
1666
+ readonly patternIdentifier?: Identifier;
1667
+
1668
+ /**
1669
+ * Specifies a value that the value in the instance SHALL follow - that
1670
+ * is, any value in the pattern must be found in the instance. Other
1671
+ * additional values may be found too. This is effectively constraint by
1672
+ * example.
1673
+ *
1674
+ * When pattern[x] is used to constrain a primitive, it means that the
1675
+ * value provided in the pattern[x] must match the instance value
1676
+ * exactly.
1677
+ *
1678
+ * When pattern[x] is used to constrain an array, it means that each
1679
+ * element provided in the pattern[x] array must (recursively) match at
1680
+ * least one element from the instance array.
1681
+ *
1682
+ * When pattern[x] is used to constrain a complex object, it means that
1683
+ * each property in the pattern must be present in the complex object,
1684
+ * and its value must recursively match -- i.e.,
1685
+ *
1686
+ * 1. If primitive: it must match exactly the pattern value
1687
+ * 2. If a complex object: it must match (recursively) the pattern value
1688
+ * 3. If an array: it must match (recursively) the pattern value.
1689
+ */
1690
+ readonly patternMoney?: Money;
1691
+
1692
+ /**
1693
+ * Specifies a value that the value in the instance SHALL follow - that
1694
+ * is, any value in the pattern must be found in the instance. Other
1695
+ * additional values may be found too. This is effectively constraint by
1696
+ * example.
1697
+ *
1698
+ * When pattern[x] is used to constrain a primitive, it means that the
1699
+ * value provided in the pattern[x] must match the instance value
1700
+ * exactly.
1701
+ *
1702
+ * When pattern[x] is used to constrain an array, it means that each
1703
+ * element provided in the pattern[x] array must (recursively) match at
1704
+ * least one element from the instance array.
1705
+ *
1706
+ * When pattern[x] is used to constrain a complex object, it means that
1707
+ * each property in the pattern must be present in the complex object,
1708
+ * and its value must recursively match -- i.e.,
1709
+ *
1710
+ * 1. If primitive: it must match exactly the pattern value
1711
+ * 2. If a complex object: it must match (recursively) the pattern value
1712
+ * 3. If an array: it must match (recursively) the pattern value.
1713
+ */
1714
+ readonly patternPeriod?: Period;
1715
+
1716
+ /**
1717
+ * Specifies a value that the value in the instance SHALL follow - that
1718
+ * is, any value in the pattern must be found in the instance. Other
1719
+ * additional values may be found too. This is effectively constraint by
1720
+ * example.
1721
+ *
1722
+ * When pattern[x] is used to constrain a primitive, it means that the
1723
+ * value provided in the pattern[x] must match the instance value
1724
+ * exactly.
1725
+ *
1726
+ * When pattern[x] is used to constrain an array, it means that each
1727
+ * element provided in the pattern[x] array must (recursively) match at
1728
+ * least one element from the instance array.
1729
+ *
1730
+ * When pattern[x] is used to constrain a complex object, it means that
1731
+ * each property in the pattern must be present in the complex object,
1732
+ * and its value must recursively match -- i.e.,
1733
+ *
1734
+ * 1. If primitive: it must match exactly the pattern value
1735
+ * 2. If a complex object: it must match (recursively) the pattern value
1736
+ * 3. If an array: it must match (recursively) the pattern value.
1737
+ */
1738
+ readonly patternQuantity?: Quantity;
1739
+
1740
+ /**
1741
+ * Specifies a value that the value in the instance SHALL follow - that
1742
+ * is, any value in the pattern must be found in the instance. Other
1743
+ * additional values may be found too. This is effectively constraint by
1744
+ * example.
1745
+ *
1746
+ * When pattern[x] is used to constrain a primitive, it means that the
1747
+ * value provided in the pattern[x] must match the instance value
1748
+ * exactly.
1749
+ *
1750
+ * When pattern[x] is used to constrain an array, it means that each
1751
+ * element provided in the pattern[x] array must (recursively) match at
1752
+ * least one element from the instance array.
1753
+ *
1754
+ * When pattern[x] is used to constrain a complex object, it means that
1755
+ * each property in the pattern must be present in the complex object,
1756
+ * and its value must recursively match -- i.e.,
1757
+ *
1758
+ * 1. If primitive: it must match exactly the pattern value
1759
+ * 2. If a complex object: it must match (recursively) the pattern value
1760
+ * 3. If an array: it must match (recursively) the pattern value.
1761
+ */
1762
+ readonly patternRange?: Range;
1763
+
1764
+ /**
1765
+ * Specifies a value that the value in the instance SHALL follow - that
1766
+ * is, any value in the pattern must be found in the instance. Other
1767
+ * additional values may be found too. This is effectively constraint by
1768
+ * example.
1769
+ *
1770
+ * When pattern[x] is used to constrain a primitive, it means that the
1771
+ * value provided in the pattern[x] must match the instance value
1772
+ * exactly.
1773
+ *
1774
+ * When pattern[x] is used to constrain an array, it means that each
1775
+ * element provided in the pattern[x] array must (recursively) match at
1776
+ * least one element from the instance array.
1777
+ *
1778
+ * When pattern[x] is used to constrain a complex object, it means that
1779
+ * each property in the pattern must be present in the complex object,
1780
+ * and its value must recursively match -- i.e.,
1781
+ *
1782
+ * 1. If primitive: it must match exactly the pattern value
1783
+ * 2. If a complex object: it must match (recursively) the pattern value
1784
+ * 3. If an array: it must match (recursively) the pattern value.
1785
+ */
1786
+ readonly patternRatio?: Ratio;
1787
+
1788
+ /**
1789
+ * Specifies a value that the value in the instance SHALL follow - that
1790
+ * is, any value in the pattern must be found in the instance. Other
1791
+ * additional values may be found too. This is effectively constraint by
1792
+ * example.
1793
+ *
1794
+ * When pattern[x] is used to constrain a primitive, it means that the
1795
+ * value provided in the pattern[x] must match the instance value
1796
+ * exactly.
1797
+ *
1798
+ * When pattern[x] is used to constrain an array, it means that each
1799
+ * element provided in the pattern[x] array must (recursively) match at
1800
+ * least one element from the instance array.
1801
+ *
1802
+ * When pattern[x] is used to constrain a complex object, it means that
1803
+ * each property in the pattern must be present in the complex object,
1804
+ * and its value must recursively match -- i.e.,
1805
+ *
1806
+ * 1. If primitive: it must match exactly the pattern value
1807
+ * 2. If a complex object: it must match (recursively) the pattern value
1808
+ * 3. If an array: it must match (recursively) the pattern value.
1809
+ */
1810
+ readonly patternReference?: Reference;
1811
+
1812
+ /**
1813
+ * Specifies a value that the value in the instance SHALL follow - that
1814
+ * is, any value in the pattern must be found in the instance. Other
1815
+ * additional values may be found too. This is effectively constraint by
1816
+ * example.
1817
+ *
1818
+ * When pattern[x] is used to constrain a primitive, it means that the
1819
+ * value provided in the pattern[x] must match the instance value
1820
+ * exactly.
1821
+ *
1822
+ * When pattern[x] is used to constrain an array, it means that each
1823
+ * element provided in the pattern[x] array must (recursively) match at
1824
+ * least one element from the instance array.
1825
+ *
1826
+ * When pattern[x] is used to constrain a complex object, it means that
1827
+ * each property in the pattern must be present in the complex object,
1828
+ * and its value must recursively match -- i.e.,
1829
+ *
1830
+ * 1. If primitive: it must match exactly the pattern value
1831
+ * 2. If a complex object: it must match (recursively) the pattern value
1832
+ * 3. If an array: it must match (recursively) the pattern value.
1833
+ */
1834
+ readonly patternSampledData?: SampledData;
1835
+
1836
+ /**
1837
+ * Specifies a value that the value in the instance SHALL follow - that
1838
+ * is, any value in the pattern must be found in the instance. Other
1839
+ * additional values may be found too. This is effectively constraint by
1840
+ * example.
1841
+ *
1842
+ * When pattern[x] is used to constrain a primitive, it means that the
1843
+ * value provided in the pattern[x] must match the instance value
1844
+ * exactly.
1845
+ *
1846
+ * When pattern[x] is used to constrain an array, it means that each
1847
+ * element provided in the pattern[x] array must (recursively) match at
1848
+ * least one element from the instance array.
1849
+ *
1850
+ * When pattern[x] is used to constrain a complex object, it means that
1851
+ * each property in the pattern must be present in the complex object,
1852
+ * and its value must recursively match -- i.e.,
1853
+ *
1854
+ * 1. If primitive: it must match exactly the pattern value
1855
+ * 2. If a complex object: it must match (recursively) the pattern value
1856
+ * 3. If an array: it must match (recursively) the pattern value.
1857
+ */
1858
+ readonly patternSignature?: Signature;
1859
+
1860
+ /**
1861
+ * Specifies a value that the value in the instance SHALL follow - that
1862
+ * is, any value in the pattern must be found in the instance. Other
1863
+ * additional values may be found too. This is effectively constraint by
1864
+ * example.
1865
+ *
1866
+ * When pattern[x] is used to constrain a primitive, it means that the
1867
+ * value provided in the pattern[x] must match the instance value
1868
+ * exactly.
1869
+ *
1870
+ * When pattern[x] is used to constrain an array, it means that each
1871
+ * element provided in the pattern[x] array must (recursively) match at
1872
+ * least one element from the instance array.
1873
+ *
1874
+ * When pattern[x] is used to constrain a complex object, it means that
1875
+ * each property in the pattern must be present in the complex object,
1876
+ * and its value must recursively match -- i.e.,
1877
+ *
1878
+ * 1. If primitive: it must match exactly the pattern value
1879
+ * 2. If a complex object: it must match (recursively) the pattern value
1880
+ * 3. If an array: it must match (recursively) the pattern value.
1881
+ */
1882
+ readonly patternTiming?: Timing;
1883
+
1884
+ /**
1885
+ * Specifies a value that the value in the instance SHALL follow - that
1886
+ * is, any value in the pattern must be found in the instance. Other
1887
+ * additional values may be found too. This is effectively constraint by
1888
+ * example.
1889
+ *
1890
+ * When pattern[x] is used to constrain a primitive, it means that the
1891
+ * value provided in the pattern[x] must match the instance value
1892
+ * exactly.
1893
+ *
1894
+ * When pattern[x] is used to constrain an array, it means that each
1895
+ * element provided in the pattern[x] array must (recursively) match at
1896
+ * least one element from the instance array.
1897
+ *
1898
+ * When pattern[x] is used to constrain a complex object, it means that
1899
+ * each property in the pattern must be present in the complex object,
1900
+ * and its value must recursively match -- i.e.,
1901
+ *
1902
+ * 1. If primitive: it must match exactly the pattern value
1903
+ * 2. If a complex object: it must match (recursively) the pattern value
1904
+ * 3. If an array: it must match (recursively) the pattern value.
1905
+ */
1906
+ readonly patternContactDetail?: ContactDetail;
1907
+
1908
+ /**
1909
+ * Specifies a value that the value in the instance SHALL follow - that
1910
+ * is, any value in the pattern must be found in the instance. Other
1911
+ * additional values may be found too. This is effectively constraint by
1912
+ * example.
1913
+ *
1914
+ * When pattern[x] is used to constrain a primitive, it means that the
1915
+ * value provided in the pattern[x] must match the instance value
1916
+ * exactly.
1917
+ *
1918
+ * When pattern[x] is used to constrain an array, it means that each
1919
+ * element provided in the pattern[x] array must (recursively) match at
1920
+ * least one element from the instance array.
1921
+ *
1922
+ * When pattern[x] is used to constrain a complex object, it means that
1923
+ * each property in the pattern must be present in the complex object,
1924
+ * and its value must recursively match -- i.e.,
1925
+ *
1926
+ * 1. If primitive: it must match exactly the pattern value
1927
+ * 2. If a complex object: it must match (recursively) the pattern value
1928
+ * 3. If an array: it must match (recursively) the pattern value.
1929
+ */
1930
+ readonly patternContributor?: Contributor;
1931
+
1932
+ /**
1933
+ * Specifies a value that the value in the instance SHALL follow - that
1934
+ * is, any value in the pattern must be found in the instance. Other
1935
+ * additional values may be found too. This is effectively constraint by
1936
+ * example.
1937
+ *
1938
+ * When pattern[x] is used to constrain a primitive, it means that the
1939
+ * value provided in the pattern[x] must match the instance value
1940
+ * exactly.
1941
+ *
1942
+ * When pattern[x] is used to constrain an array, it means that each
1943
+ * element provided in the pattern[x] array must (recursively) match at
1944
+ * least one element from the instance array.
1945
+ *
1946
+ * When pattern[x] is used to constrain a complex object, it means that
1947
+ * each property in the pattern must be present in the complex object,
1948
+ * and its value must recursively match -- i.e.,
1949
+ *
1950
+ * 1. If primitive: it must match exactly the pattern value
1951
+ * 2. If a complex object: it must match (recursively) the pattern value
1952
+ * 3. If an array: it must match (recursively) the pattern value.
1953
+ */
1954
+ readonly patternDataRequirement?: DataRequirement;
1955
+
1956
+ /**
1957
+ * Specifies a value that the value in the instance SHALL follow - that
1958
+ * is, any value in the pattern must be found in the instance. Other
1959
+ * additional values may be found too. This is effectively constraint by
1960
+ * example.
1961
+ *
1962
+ * When pattern[x] is used to constrain a primitive, it means that the
1963
+ * value provided in the pattern[x] must match the instance value
1964
+ * exactly.
1965
+ *
1966
+ * When pattern[x] is used to constrain an array, it means that each
1967
+ * element provided in the pattern[x] array must (recursively) match at
1968
+ * least one element from the instance array.
1969
+ *
1970
+ * When pattern[x] is used to constrain a complex object, it means that
1971
+ * each property in the pattern must be present in the complex object,
1972
+ * and its value must recursively match -- i.e.,
1973
+ *
1974
+ * 1. If primitive: it must match exactly the pattern value
1975
+ * 2. If a complex object: it must match (recursively) the pattern value
1976
+ * 3. If an array: it must match (recursively) the pattern value.
1977
+ */
1978
+ readonly patternExpression?: Expression;
1979
+
1980
+ /**
1981
+ * Specifies a value that the value in the instance SHALL follow - that
1982
+ * is, any value in the pattern must be found in the instance. Other
1983
+ * additional values may be found too. This is effectively constraint by
1984
+ * example.
1985
+ *
1986
+ * When pattern[x] is used to constrain a primitive, it means that the
1987
+ * value provided in the pattern[x] must match the instance value
1988
+ * exactly.
1989
+ *
1990
+ * When pattern[x] is used to constrain an array, it means that each
1991
+ * element provided in the pattern[x] array must (recursively) match at
1992
+ * least one element from the instance array.
1993
+ *
1994
+ * When pattern[x] is used to constrain a complex object, it means that
1995
+ * each property in the pattern must be present in the complex object,
1996
+ * and its value must recursively match -- i.e.,
1997
+ *
1998
+ * 1. If primitive: it must match exactly the pattern value
1999
+ * 2. If a complex object: it must match (recursively) the pattern value
2000
+ * 3. If an array: it must match (recursively) the pattern value.
2001
+ */
2002
+ readonly patternParameterDefinition?: ParameterDefinition;
2003
+
2004
+ /**
2005
+ * Specifies a value that the value in the instance SHALL follow - that
2006
+ * is, any value in the pattern must be found in the instance. Other
2007
+ * additional values may be found too. This is effectively constraint by
2008
+ * example.
2009
+ *
2010
+ * When pattern[x] is used to constrain a primitive, it means that the
2011
+ * value provided in the pattern[x] must match the instance value
2012
+ * exactly.
2013
+ *
2014
+ * When pattern[x] is used to constrain an array, it means that each
2015
+ * element provided in the pattern[x] array must (recursively) match at
2016
+ * least one element from the instance array.
2017
+ *
2018
+ * When pattern[x] is used to constrain a complex object, it means that
2019
+ * each property in the pattern must be present in the complex object,
2020
+ * and its value must recursively match -- i.e.,
2021
+ *
2022
+ * 1. If primitive: it must match exactly the pattern value
2023
+ * 2. If a complex object: it must match (recursively) the pattern value
2024
+ * 3. If an array: it must match (recursively) the pattern value.
2025
+ */
2026
+ readonly patternRelatedArtifact?: RelatedArtifact;
2027
+
2028
+ /**
2029
+ * Specifies a value that the value in the instance SHALL follow - that
2030
+ * is, any value in the pattern must be found in the instance. Other
2031
+ * additional values may be found too. This is effectively constraint by
2032
+ * example.
2033
+ *
2034
+ * When pattern[x] is used to constrain a primitive, it means that the
2035
+ * value provided in the pattern[x] must match the instance value
2036
+ * exactly.
2037
+ *
2038
+ * When pattern[x] is used to constrain an array, it means that each
2039
+ * element provided in the pattern[x] array must (recursively) match at
2040
+ * least one element from the instance array.
2041
+ *
2042
+ * When pattern[x] is used to constrain a complex object, it means that
2043
+ * each property in the pattern must be present in the complex object,
2044
+ * and its value must recursively match -- i.e.,
2045
+ *
2046
+ * 1. If primitive: it must match exactly the pattern value
2047
+ * 2. If a complex object: it must match (recursively) the pattern value
2048
+ * 3. If an array: it must match (recursively) the pattern value.
2049
+ */
2050
+ readonly patternTriggerDefinition?: TriggerDefinition;
2051
+
2052
+ /**
2053
+ * Specifies a value that the value in the instance SHALL follow - that
2054
+ * is, any value in the pattern must be found in the instance. Other
2055
+ * additional values may be found too. This is effectively constraint by
2056
+ * example.
2057
+ *
2058
+ * When pattern[x] is used to constrain a primitive, it means that the
2059
+ * value provided in the pattern[x] must match the instance value
2060
+ * exactly.
2061
+ *
2062
+ * When pattern[x] is used to constrain an array, it means that each
2063
+ * element provided in the pattern[x] array must (recursively) match at
2064
+ * least one element from the instance array.
2065
+ *
2066
+ * When pattern[x] is used to constrain a complex object, it means that
2067
+ * each property in the pattern must be present in the complex object,
2068
+ * and its value must recursively match -- i.e.,
2069
+ *
2070
+ * 1. If primitive: it must match exactly the pattern value
2071
+ * 2. If a complex object: it must match (recursively) the pattern value
2072
+ * 3. If an array: it must match (recursively) the pattern value.
2073
+ */
2074
+ readonly patternUsageContext?: UsageContext;
2075
+
2076
+ /**
2077
+ * Specifies a value that the value in the instance SHALL follow - that
2078
+ * is, any value in the pattern must be found in the instance. Other
2079
+ * additional values may be found too. This is effectively constraint by
2080
+ * example.
2081
+ *
2082
+ * When pattern[x] is used to constrain a primitive, it means that the
2083
+ * value provided in the pattern[x] must match the instance value
2084
+ * exactly.
2085
+ *
2086
+ * When pattern[x] is used to constrain an array, it means that each
2087
+ * element provided in the pattern[x] array must (recursively) match at
2088
+ * least one element from the instance array.
2089
+ *
2090
+ * When pattern[x] is used to constrain a complex object, it means that
2091
+ * each property in the pattern must be present in the complex object,
2092
+ * and its value must recursively match -- i.e.,
2093
+ *
2094
+ * 1. If primitive: it must match exactly the pattern value
2095
+ * 2. If a complex object: it must match (recursively) the pattern value
2096
+ * 3. If an array: it must match (recursively) the pattern value.
2097
+ */
2098
+ readonly patternDosage?: Dosage;
2099
+
2100
+ /**
2101
+ * Specifies a value that the value in the instance SHALL follow - that
2102
+ * is, any value in the pattern must be found in the instance. Other
2103
+ * additional values may be found too. This is effectively constraint by
2104
+ * example.
2105
+ *
2106
+ * When pattern[x] is used to constrain a primitive, it means that the
2107
+ * value provided in the pattern[x] must match the instance value
2108
+ * exactly.
2109
+ *
2110
+ * When pattern[x] is used to constrain an array, it means that each
2111
+ * element provided in the pattern[x] array must (recursively) match at
2112
+ * least one element from the instance array.
2113
+ *
2114
+ * When pattern[x] is used to constrain a complex object, it means that
2115
+ * each property in the pattern must be present in the complex object,
2116
+ * and its value must recursively match -- i.e.,
2117
+ *
2118
+ * 1. If primitive: it must match exactly the pattern value
2119
+ * 2. If a complex object: it must match (recursively) the pattern value
2120
+ * 3. If an array: it must match (recursively) the pattern value.
2121
+ */
2122
+ readonly patternMeta?: Meta;
2123
+
2124
+ /**
2125
+ * A sample value for this element demonstrating the type of information
2126
+ * that would typically be found in the element.
2127
+ */
2128
+ readonly example?: ElementDefinitionExample[];
2129
+
2130
+ /**
2131
+ * The minimum allowed value for the element. The value is inclusive.
2132
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2133
+ * integer, and Quantity.
2134
+ */
2135
+ readonly minValueDate?: string;
2136
+
2137
+ /**
2138
+ * The minimum allowed value for the element. The value is inclusive.
2139
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2140
+ * integer, and Quantity.
2141
+ */
2142
+ readonly minValueDateTime?: string;
2143
+
2144
+ /**
2145
+ * The minimum allowed value for the element. The value is inclusive.
2146
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2147
+ * integer, and Quantity.
2148
+ */
2149
+ readonly minValueInstant?: string;
2150
+
2151
+ /**
2152
+ * The minimum allowed value for the element. The value is inclusive.
2153
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2154
+ * integer, and Quantity.
2155
+ */
2156
+ readonly minValueTime?: string;
2157
+
2158
+ /**
2159
+ * The minimum allowed value for the element. The value is inclusive.
2160
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2161
+ * integer, and Quantity.
2162
+ */
2163
+ readonly minValueDecimal?: number;
2164
+
2165
+ /**
2166
+ * The minimum allowed value for the element. The value is inclusive.
2167
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2168
+ * integer, and Quantity.
2169
+ */
2170
+ readonly minValueInteger?: number;
2171
+
2172
+ /**
2173
+ * The minimum allowed value for the element. The value is inclusive.
2174
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2175
+ * integer, and Quantity.
2176
+ */
2177
+ readonly minValuePositiveInt?: number;
2178
+
2179
+ /**
2180
+ * The minimum allowed value for the element. The value is inclusive.
2181
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2182
+ * integer, and Quantity.
2183
+ */
2184
+ readonly minValueUnsignedInt?: number;
2185
+
2186
+ /**
2187
+ * The minimum allowed value for the element. The value is inclusive.
2188
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2189
+ * integer, and Quantity.
2190
+ */
2191
+ readonly minValueQuantity?: Quantity;
2192
+
2193
+ /**
2194
+ * The maximum allowed value for the element. The value is inclusive.
2195
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2196
+ * integer, and Quantity.
2197
+ */
2198
+ readonly maxValueDate?: string;
2199
+
2200
+ /**
2201
+ * The maximum allowed value for the element. The value is inclusive.
2202
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2203
+ * integer, and Quantity.
2204
+ */
2205
+ readonly maxValueDateTime?: string;
2206
+
2207
+ /**
2208
+ * The maximum allowed value for the element. The value is inclusive.
2209
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2210
+ * integer, and Quantity.
2211
+ */
2212
+ readonly maxValueInstant?: string;
2213
+
2214
+ /**
2215
+ * The maximum allowed value for the element. The value is inclusive.
2216
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2217
+ * integer, and Quantity.
2218
+ */
2219
+ readonly maxValueTime?: string;
2220
+
2221
+ /**
2222
+ * The maximum allowed value for the element. The value is inclusive.
2223
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2224
+ * integer, and Quantity.
2225
+ */
2226
+ readonly maxValueDecimal?: number;
2227
+
2228
+ /**
2229
+ * The maximum allowed value for the element. The value is inclusive.
2230
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2231
+ * integer, and Quantity.
2232
+ */
2233
+ readonly maxValueInteger?: number;
2234
+
2235
+ /**
2236
+ * The maximum allowed value for the element. The value is inclusive.
2237
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2238
+ * integer, and Quantity.
2239
+ */
2240
+ readonly maxValuePositiveInt?: number;
2241
+
2242
+ /**
2243
+ * The maximum allowed value for the element. The value is inclusive.
2244
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2245
+ * integer, and Quantity.
2246
+ */
2247
+ readonly maxValueUnsignedInt?: number;
2248
+
2249
+ /**
2250
+ * The maximum allowed value for the element. The value is inclusive.
2251
+ * This is allowed for the types date, dateTime, instant, time, decimal,
2252
+ * integer, and Quantity.
2253
+ */
2254
+ readonly maxValueQuantity?: Quantity;
2255
+
2256
+ /**
2257
+ * Indicates the maximum length in characters that is permitted to be
2258
+ * present in conformant instances and which is expected to be supported
2259
+ * by conformant consumers that support the element.
2260
+ */
2261
+ readonly maxLength?: number;
2262
+
2263
+ /**
2264
+ * A reference to an invariant that may make additional statements about
2265
+ * the cardinality or value in the instance.
2266
+ */
2267
+ readonly condition?: string[];
2268
+
2269
+ /**
2270
+ * Formal constraints such as co-occurrence and other constraints that
2271
+ * can be computationally evaluated within the context of the instance.
2272
+ */
2273
+ readonly constraint?: ElementDefinitionConstraint[];
2274
+
2275
+ /**
2276
+ * If true, implementations that produce or consume resources SHALL
2277
+ * provide "support" for the element in some meaningful way. If false,
2278
+ * the element may be ignored and not supported. If false, whether to
2279
+ * populate or use the data element in any way is at the discretion of
2280
+ * the implementation.
2281
+ */
2282
+ readonly mustSupport?: boolean;
2283
+
2284
+ /**
2285
+ * If true, the value of this element affects the interpretation of the
2286
+ * element or resource that contains it, and the value of the element
2287
+ * cannot be ignored. Typically, this is used for status, negation and
2288
+ * qualification codes. The effect of this is that the element cannot be
2289
+ * ignored by systems: they SHALL either recognize the element and
2290
+ * process it, and/or a pre-determination has been made that it is not
2291
+ * relevant to their particular system.
2292
+ */
2293
+ readonly isModifier?: boolean;
2294
+
2295
+ /**
2296
+ * Explains how that element affects the interpretation of the resource
2297
+ * or element that contains it.
2298
+ */
2299
+ readonly isModifierReason?: string;
2300
+
2301
+ /**
2302
+ * Whether the element should be included if a client requests a search
2303
+ * with the parameter _summary=true.
2304
+ */
2305
+ readonly isSummary?: boolean;
2306
+
2307
+ /**
2308
+ * Binds to a value set if this element is coded (code, Coding,
2309
+ * CodeableConcept, Quantity), or the data types (string, uri).
2310
+ */
2311
+ readonly binding?: ElementDefinitionBinding;
2312
+
2313
+ /**
2314
+ * Identifies a concept from an external specification that roughly
2315
+ * corresponds to this element.
2316
+ */
2317
+ readonly mapping?: ElementDefinitionMapping[];
2318
+ }
2319
+
2320
+ /**
2321
+ * Information about the base definition of the element, provided to make
2322
+ * it unnecessary for tools to trace the deviation of the element through
2323
+ * the derived and related profiles. When the element definition is not
2324
+ * the original definition of an element - i.g. either in a constraint on
2325
+ * another type, or for elements from a super type in a snap shot - then
2326
+ * the information in provided in the element definition may be different
2327
+ * to the base definition. On the original definition of the element, it
2328
+ * will be same.
2329
+ */
2330
+ export interface ElementDefinitionBase {
2331
+
2332
+ /**
2333
+ * Unique id for the element within a resource (for internal references).
2334
+ * This may be any string value that does not contain spaces.
2335
+ */
2336
+ readonly id?: string;
2337
+
2338
+ /**
2339
+ * May be used to represent additional information that is not part of
2340
+ * the basic definition of the element. To make the use of extensions
2341
+ * safe and manageable, there is a strict set of governance applied to
2342
+ * the definition and use of extensions. Though any implementer can
2343
+ * define an extension, there is a set of requirements that SHALL be met
2344
+ * as part of the definition of the extension.
2345
+ */
2346
+ readonly extension?: Extension[];
2347
+
2348
+ /**
2349
+ * The Path that identifies the base element - this matches the
2350
+ * ElementDefinition.path for that element. Across FHIR, there is only
2351
+ * one base definition of any element - that is, an element definition on
2352
+ * a [StructureDefinition](structuredefinition.html#) without a
2353
+ * StructureDefinition.base.
2354
+ */
2355
+ readonly path?: string;
2356
+
2357
+ /**
2358
+ * Minimum cardinality of the base element identified by the path.
2359
+ */
2360
+ readonly min?: number;
2361
+
2362
+ /**
2363
+ * Maximum cardinality of the base element identified by the path.
2364
+ */
2365
+ readonly max?: string;
2366
+ }
2367
+
2368
+ /**
2369
+ * Binds to a value set if this element is coded (code, Coding,
2370
+ * CodeableConcept, Quantity), or the data types (string, uri).
2371
+ */
2372
+ export interface ElementDefinitionBinding {
2373
+
2374
+ /**
2375
+ * Unique id for the element within a resource (for internal references).
2376
+ * This may be any string value that does not contain spaces.
2377
+ */
2378
+ readonly id?: string;
2379
+
2380
+ /**
2381
+ * May be used to represent additional information that is not part of
2382
+ * the basic definition of the element. To make the use of extensions
2383
+ * safe and manageable, there is a strict set of governance applied to
2384
+ * the definition and use of extensions. Though any implementer can
2385
+ * define an extension, there is a set of requirements that SHALL be met
2386
+ * as part of the definition of the extension.
2387
+ */
2388
+ readonly extension?: Extension[];
2389
+
2390
+ /**
2391
+ * Indicates the degree of conformance expectations associated with this
2392
+ * binding - that is, the degree to which the provided value set must be
2393
+ * adhered to in the instances.
2394
+ */
2395
+ readonly strength?: string;
2396
+
2397
+ /**
2398
+ * Describes the intended use of this particular set of codes.
2399
+ */
2400
+ readonly description?: string;
2401
+
2402
+ /**
2403
+ * Refers to the value set that identifies the set of codes the binding
2404
+ * refers to.
2405
+ */
2406
+ readonly valueSet?: string;
2407
+ }
2408
+
2409
+ /**
2410
+ * Formal constraints such as co-occurrence and other constraints that
2411
+ * can be computationally evaluated within the context of the instance.
2412
+ */
2413
+ export interface ElementDefinitionConstraint {
2414
+
2415
+ /**
2416
+ * Unique id for the element within a resource (for internal references).
2417
+ * This may be any string value that does not contain spaces.
2418
+ */
2419
+ readonly id?: string;
2420
+
2421
+ /**
2422
+ * May be used to represent additional information that is not part of
2423
+ * the basic definition of the element. To make the use of extensions
2424
+ * safe and manageable, there is a strict set of governance applied to
2425
+ * the definition and use of extensions. Though any implementer can
2426
+ * define an extension, there is a set of requirements that SHALL be met
2427
+ * as part of the definition of the extension.
2428
+ */
2429
+ readonly extension?: Extension[];
2430
+
2431
+ /**
2432
+ * Allows identification of which elements have their cardinalities
2433
+ * impacted by the constraint. Will not be referenced for constraints
2434
+ * that do not affect cardinality.
2435
+ */
2436
+ readonly key?: string;
2437
+
2438
+ /**
2439
+ * Description of why this constraint is necessary or appropriate.
2440
+ */
2441
+ readonly requirements?: string;
2442
+
2443
+ /**
2444
+ * Identifies the impact constraint violation has on the conformance of
2445
+ * the instance.
2446
+ */
2447
+ readonly severity?: string;
2448
+
2449
+ /**
2450
+ * Text that can be used to describe the constraint in messages
2451
+ * identifying that the constraint has been violated.
2452
+ */
2453
+ readonly human?: string;
2454
+
2455
+ /**
2456
+ * A [FHIRPath](fhirpath.html) expression of constraint that can be
2457
+ * executed to see if this constraint is met.
2458
+ */
2459
+ readonly expression?: string;
2460
+
2461
+ /**
2462
+ * An XPath expression of constraint that can be executed to see if this
2463
+ * constraint is met.
2464
+ */
2465
+ readonly xpath?: string;
2466
+
2467
+ /**
2468
+ * A reference to the original source of the constraint, for traceability
2469
+ * purposes.
2470
+ */
2471
+ readonly source?: string;
2472
+ }
2473
+
2474
+ /**
2475
+ * A sample value for this element demonstrating the type of information
2476
+ * that would typically be found in the element.
2477
+ */
2478
+ export interface ElementDefinitionExample {
2479
+
2480
+ /**
2481
+ * Unique id for the element within a resource (for internal references).
2482
+ * This may be any string value that does not contain spaces.
2483
+ */
2484
+ readonly id?: string;
2485
+
2486
+ /**
2487
+ * May be used to represent additional information that is not part of
2488
+ * the basic definition of the element. To make the use of extensions
2489
+ * safe and manageable, there is a strict set of governance applied to
2490
+ * the definition and use of extensions. Though any implementer can
2491
+ * define an extension, there is a set of requirements that SHALL be met
2492
+ * as part of the definition of the extension.
2493
+ */
2494
+ readonly extension?: Extension[];
2495
+
2496
+ /**
2497
+ * Describes the purpose of this example amoung the set of examples.
2498
+ */
2499
+ readonly label?: string;
2500
+
2501
+ /**
2502
+ * The actual value for the element, which must be one of the types
2503
+ * allowed for this element.
2504
+ */
2505
+ readonly valueBase64Binary?: string;
2506
+
2507
+ /**
2508
+ * The actual value for the element, which must be one of the types
2509
+ * allowed for this element.
2510
+ */
2511
+ readonly valueBoolean?: boolean;
2512
+
2513
+ /**
2514
+ * The actual value for the element, which must be one of the types
2515
+ * allowed for this element.
2516
+ */
2517
+ readonly valueCanonical?: string;
2518
+
2519
+ /**
2520
+ * The actual value for the element, which must be one of the types
2521
+ * allowed for this element.
2522
+ */
2523
+ readonly valueCode?: string;
2524
+
2525
+ /**
2526
+ * The actual value for the element, which must be one of the types
2527
+ * allowed for this element.
2528
+ */
2529
+ readonly valueDate?: string;
2530
+
2531
+ /**
2532
+ * The actual value for the element, which must be one of the types
2533
+ * allowed for this element.
2534
+ */
2535
+ readonly valueDateTime?: string;
2536
+
2537
+ /**
2538
+ * The actual value for the element, which must be one of the types
2539
+ * allowed for this element.
2540
+ */
2541
+ readonly valueDecimal?: number;
2542
+
2543
+ /**
2544
+ * The actual value for the element, which must be one of the types
2545
+ * allowed for this element.
2546
+ */
2547
+ readonly valueId?: string;
2548
+
2549
+ /**
2550
+ * The actual value for the element, which must be one of the types
2551
+ * allowed for this element.
2552
+ */
2553
+ readonly valueInstant?: string;
2554
+
2555
+ /**
2556
+ * The actual value for the element, which must be one of the types
2557
+ * allowed for this element.
2558
+ */
2559
+ readonly valueInteger?: number;
2560
+
2561
+ /**
2562
+ * The actual value for the element, which must be one of the types
2563
+ * allowed for this element.
2564
+ */
2565
+ readonly valueMarkdown?: string;
2566
+
2567
+ /**
2568
+ * The actual value for the element, which must be one of the types
2569
+ * allowed for this element.
2570
+ */
2571
+ readonly valueOid?: string;
2572
+
2573
+ /**
2574
+ * The actual value for the element, which must be one of the types
2575
+ * allowed for this element.
2576
+ */
2577
+ readonly valuePositiveInt?: number;
2578
+
2579
+ /**
2580
+ * The actual value for the element, which must be one of the types
2581
+ * allowed for this element.
2582
+ */
2583
+ readonly valueString?: string;
2584
+
2585
+ /**
2586
+ * The actual value for the element, which must be one of the types
2587
+ * allowed for this element.
2588
+ */
2589
+ readonly valueTime?: string;
2590
+
2591
+ /**
2592
+ * The actual value for the element, which must be one of the types
2593
+ * allowed for this element.
2594
+ */
2595
+ readonly valueUnsignedInt?: number;
2596
+
2597
+ /**
2598
+ * The actual value for the element, which must be one of the types
2599
+ * allowed for this element.
2600
+ */
2601
+ readonly valueUri?: string;
2602
+
2603
+ /**
2604
+ * The actual value for the element, which must be one of the types
2605
+ * allowed for this element.
2606
+ */
2607
+ readonly valueUrl?: string;
2608
+
2609
+ /**
2610
+ * The actual value for the element, which must be one of the types
2611
+ * allowed for this element.
2612
+ */
2613
+ readonly valueUuid?: string;
2614
+
2615
+ /**
2616
+ * The actual value for the element, which must be one of the types
2617
+ * allowed for this element.
2618
+ */
2619
+ readonly valueAddress?: Address;
2620
+
2621
+ /**
2622
+ * The actual value for the element, which must be one of the types
2623
+ * allowed for this element.
2624
+ */
2625
+ readonly valueAge?: Age;
2626
+
2627
+ /**
2628
+ * The actual value for the element, which must be one of the types
2629
+ * allowed for this element.
2630
+ */
2631
+ readonly valueAnnotation?: Annotation;
2632
+
2633
+ /**
2634
+ * The actual value for the element, which must be one of the types
2635
+ * allowed for this element.
2636
+ */
2637
+ readonly valueAttachment?: Attachment;
2638
+
2639
+ /**
2640
+ * The actual value for the element, which must be one of the types
2641
+ * allowed for this element.
2642
+ */
2643
+ readonly valueCodeableConcept?: CodeableConcept;
2644
+
2645
+ /**
2646
+ * The actual value for the element, which must be one of the types
2647
+ * allowed for this element.
2648
+ */
2649
+ readonly valueCoding?: Coding;
2650
+
2651
+ /**
2652
+ * The actual value for the element, which must be one of the types
2653
+ * allowed for this element.
2654
+ */
2655
+ readonly valueContactPoint?: ContactPoint;
2656
+
2657
+ /**
2658
+ * The actual value for the element, which must be one of the types
2659
+ * allowed for this element.
2660
+ */
2661
+ readonly valueCount?: Count;
2662
+
2663
+ /**
2664
+ * The actual value for the element, which must be one of the types
2665
+ * allowed for this element.
2666
+ */
2667
+ readonly valueDistance?: Distance;
2668
+
2669
+ /**
2670
+ * The actual value for the element, which must be one of the types
2671
+ * allowed for this element.
2672
+ */
2673
+ readonly valueDuration?: Duration;
2674
+
2675
+ /**
2676
+ * The actual value for the element, which must be one of the types
2677
+ * allowed for this element.
2678
+ */
2679
+ readonly valueHumanName?: HumanName;
2680
+
2681
+ /**
2682
+ * The actual value for the element, which must be one of the types
2683
+ * allowed for this element.
2684
+ */
2685
+ readonly valueIdentifier?: Identifier;
2686
+
2687
+ /**
2688
+ * The actual value for the element, which must be one of the types
2689
+ * allowed for this element.
2690
+ */
2691
+ readonly valueMoney?: Money;
2692
+
2693
+ /**
2694
+ * The actual value for the element, which must be one of the types
2695
+ * allowed for this element.
2696
+ */
2697
+ readonly valuePeriod?: Period;
2698
+
2699
+ /**
2700
+ * The actual value for the element, which must be one of the types
2701
+ * allowed for this element.
2702
+ */
2703
+ readonly valueQuantity?: Quantity;
2704
+
2705
+ /**
2706
+ * The actual value for the element, which must be one of the types
2707
+ * allowed for this element.
2708
+ */
2709
+ readonly valueRange?: Range;
2710
+
2711
+ /**
2712
+ * The actual value for the element, which must be one of the types
2713
+ * allowed for this element.
2714
+ */
2715
+ readonly valueRatio?: Ratio;
2716
+
2717
+ /**
2718
+ * The actual value for the element, which must be one of the types
2719
+ * allowed for this element.
2720
+ */
2721
+ readonly valueReference?: Reference;
2722
+
2723
+ /**
2724
+ * The actual value for the element, which must be one of the types
2725
+ * allowed for this element.
2726
+ */
2727
+ readonly valueSampledData?: SampledData;
2728
+
2729
+ /**
2730
+ * The actual value for the element, which must be one of the types
2731
+ * allowed for this element.
2732
+ */
2733
+ readonly valueSignature?: Signature;
2734
+
2735
+ /**
2736
+ * The actual value for the element, which must be one of the types
2737
+ * allowed for this element.
2738
+ */
2739
+ readonly valueTiming?: Timing;
2740
+
2741
+ /**
2742
+ * The actual value for the element, which must be one of the types
2743
+ * allowed for this element.
2744
+ */
2745
+ readonly valueContactDetail?: ContactDetail;
2746
+
2747
+ /**
2748
+ * The actual value for the element, which must be one of the types
2749
+ * allowed for this element.
2750
+ */
2751
+ readonly valueContributor?: Contributor;
2752
+
2753
+ /**
2754
+ * The actual value for the element, which must be one of the types
2755
+ * allowed for this element.
2756
+ */
2757
+ readonly valueDataRequirement?: DataRequirement;
2758
+
2759
+ /**
2760
+ * The actual value for the element, which must be one of the types
2761
+ * allowed for this element.
2762
+ */
2763
+ readonly valueExpression?: Expression;
2764
+
2765
+ /**
2766
+ * The actual value for the element, which must be one of the types
2767
+ * allowed for this element.
2768
+ */
2769
+ readonly valueParameterDefinition?: ParameterDefinition;
2770
+
2771
+ /**
2772
+ * The actual value for the element, which must be one of the types
2773
+ * allowed for this element.
2774
+ */
2775
+ readonly valueRelatedArtifact?: RelatedArtifact;
2776
+
2777
+ /**
2778
+ * The actual value for the element, which must be one of the types
2779
+ * allowed for this element.
2780
+ */
2781
+ readonly valueTriggerDefinition?: TriggerDefinition;
2782
+
2783
+ /**
2784
+ * The actual value for the element, which must be one of the types
2785
+ * allowed for this element.
2786
+ */
2787
+ readonly valueUsageContext?: UsageContext;
2788
+
2789
+ /**
2790
+ * The actual value for the element, which must be one of the types
2791
+ * allowed for this element.
2792
+ */
2793
+ readonly valueDosage?: Dosage;
2794
+
2795
+ /**
2796
+ * The actual value for the element, which must be one of the types
2797
+ * allowed for this element.
2798
+ */
2799
+ readonly valueMeta?: Meta;
2800
+ }
2801
+
2802
+ /**
2803
+ * Identifies a concept from an external specification that roughly
2804
+ * corresponds to this element.
2805
+ */
2806
+ export interface ElementDefinitionMapping {
2807
+
2808
+ /**
2809
+ * Unique id for the element within a resource (for internal references).
2810
+ * This may be any string value that does not contain spaces.
2811
+ */
2812
+ readonly id?: string;
2813
+
2814
+ /**
2815
+ * May be used to represent additional information that is not part of
2816
+ * the basic definition of the element. To make the use of extensions
2817
+ * safe and manageable, there is a strict set of governance applied to
2818
+ * the definition and use of extensions. Though any implementer can
2819
+ * define an extension, there is a set of requirements that SHALL be met
2820
+ * as part of the definition of the extension.
2821
+ */
2822
+ readonly extension?: Extension[];
2823
+
2824
+ /**
2825
+ * An internal reference to the definition of a mapping.
2826
+ */
2827
+ readonly identity?: string;
2828
+
2829
+ /**
2830
+ * Identifies the computable language in which mapping.map is expressed.
2831
+ */
2832
+ readonly language?: string;
2833
+
2834
+ /**
2835
+ * Expresses what part of the target specification corresponds to this
2836
+ * element.
2837
+ */
2838
+ readonly map?: string;
2839
+
2840
+ /**
2841
+ * Comments that provide information about the mapping or its use.
2842
+ */
2843
+ readonly comment?: string;
2844
+ }
2845
+
2846
+ /**
2847
+ * Indicates that the element is sliced into a set of alternative
2848
+ * definitions (i.e. in a structure definition, there are multiple
2849
+ * different constraints on a single element in the base resource).
2850
+ * Slicing can be used in any resource that has cardinality ..* on the
2851
+ * base resource, or any resource with a choice of types. The set of
2852
+ * slices is any elements that come after this in the element sequence
2853
+ * that have the same path, until a shorter path occurs (the shorter path
2854
+ * terminates the set).
2855
+ */
2856
+ export interface ElementDefinitionSlicing {
2857
+
2858
+ /**
2859
+ * Unique id for the element within a resource (for internal references).
2860
+ * This may be any string value that does not contain spaces.
2861
+ */
2862
+ readonly id?: string;
2863
+
2864
+ /**
2865
+ * May be used to represent additional information that is not part of
2866
+ * the basic definition of the element. To make the use of extensions
2867
+ * safe and manageable, there is a strict set of governance applied to
2868
+ * the definition and use of extensions. Though any implementer can
2869
+ * define an extension, there is a set of requirements that SHALL be met
2870
+ * as part of the definition of the extension.
2871
+ */
2872
+ readonly extension?: Extension[];
2873
+
2874
+ /**
2875
+ * Designates which child elements are used to discriminate between the
2876
+ * slices when processing an instance. If one or more discriminators are
2877
+ * provided, the value of the child elements in the instance data SHALL
2878
+ * completely distinguish which slice the element in the resource matches
2879
+ * based on the allowed values for those elements in each of the slices.
2880
+ */
2881
+ readonly discriminator?: ElementDefinitionSlicingDiscriminator[];
2882
+
2883
+ /**
2884
+ * A human-readable text description of how the slicing works. If there
2885
+ * is no discriminator, this is required to be present to provide
2886
+ * whatever information is possible about how the slices can be
2887
+ * differentiated.
2888
+ */
2889
+ readonly description?: string;
2890
+
2891
+ /**
2892
+ * If the matching elements have to occur in the same order as defined in
2893
+ * the profile.
2894
+ */
2895
+ readonly ordered?: boolean;
2896
+
2897
+ /**
2898
+ * Whether additional slices are allowed or not. When the slices are
2899
+ * ordered, profile authors can also say that additional slices are only
2900
+ * allowed at the end.
2901
+ */
2902
+ readonly rules?: string;
2903
+ }
2904
+
2905
+ /**
2906
+ * Designates which child elements are used to discriminate between the
2907
+ * slices when processing an instance. If one or more discriminators are
2908
+ * provided, the value of the child elements in the instance data SHALL
2909
+ * completely distinguish which slice the element in the resource matches
2910
+ * based on the allowed values for those elements in each of the slices.
2911
+ */
2912
+ export interface ElementDefinitionSlicingDiscriminator {
2913
+
2914
+ /**
2915
+ * Unique id for the element within a resource (for internal references).
2916
+ * This may be any string value that does not contain spaces.
2917
+ */
2918
+ readonly id?: string;
2919
+
2920
+ /**
2921
+ * May be used to represent additional information that is not part of
2922
+ * the basic definition of the element. To make the use of extensions
2923
+ * safe and manageable, there is a strict set of governance applied to
2924
+ * the definition and use of extensions. Though any implementer can
2925
+ * define an extension, there is a set of requirements that SHALL be met
2926
+ * as part of the definition of the extension.
2927
+ */
2928
+ readonly extension?: Extension[];
2929
+
2930
+ /**
2931
+ * How the element value is interpreted when discrimination is evaluated.
2932
+ */
2933
+ readonly type?: string;
2934
+
2935
+ /**
2936
+ * A FHIRPath expression, using [the simple subset of
2937
+ * FHIRPath](fhirpath.html#simple), that is used to identify the element
2938
+ * on which discrimination is based.
2939
+ */
2940
+ readonly path?: string;
2941
+ }
2942
+
2943
+ /**
2944
+ * The data type or resource that the value of this element is permitted
2945
+ * to be.
2946
+ */
2947
+ export interface ElementDefinitionType {
2948
+
2949
+ /**
2950
+ * Unique id for the element within a resource (for internal references).
2951
+ * This may be any string value that does not contain spaces.
2952
+ */
2953
+ readonly id?: string;
2954
+
2955
+ /**
2956
+ * May be used to represent additional information that is not part of
2957
+ * the basic definition of the element. To make the use of extensions
2958
+ * safe and manageable, there is a strict set of governance applied to
2959
+ * the definition and use of extensions. Though any implementer can
2960
+ * define an extension, there is a set of requirements that SHALL be met
2961
+ * as part of the definition of the extension.
2962
+ */
2963
+ readonly extension?: Extension[];
2964
+
2965
+ /**
2966
+ * URL of Data type or Resource that is a(or the) type used for this
2967
+ * element. References are URLs that are relative to
2968
+ * http://hl7.org/fhir/StructureDefinition e.g. "string" is a reference
2969
+ * to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are
2970
+ * only allowed in logical models.
2971
+ */
2972
+ readonly code?: string;
2973
+
2974
+ /**
2975
+ * Identifies a profile structure or implementation Guide that applies to
2976
+ * the datatype this element refers to. If any profiles are specified,
2977
+ * then the content must conform to at least one of them. The URL can be
2978
+ * a local reference - to a contained StructureDefinition, or a reference
2979
+ * to another StructureDefinition or Implementation Guide by a canonical
2980
+ * URL. When an implementation guide is specified, the type SHALL conform
2981
+ * to at least one profile defined in the implementation guide.
2982
+ */
2983
+ readonly profile?: string[];
2984
+
2985
+ /**
2986
+ * Used when the type is "Reference" or "canonical", and identifies a
2987
+ * profile structure or implementation Guide that applies to the target
2988
+ * of the reference this element refers to. If any profiles are
2989
+ * specified, then the content must conform to at least one of them. The
2990
+ * URL can be a local reference - to a contained StructureDefinition, or
2991
+ * a reference to another StructureDefinition or Implementation Guide by
2992
+ * a canonical URL. When an implementation guide is specified, the target
2993
+ * resource SHALL conform to at least one profile defined in the
2994
+ * implementation guide.
2995
+ */
2996
+ readonly targetProfile?: string[];
2997
+
2998
+ /**
2999
+ * If the type is a reference to another resource, how the resource is or
3000
+ * can be aggregated - is it a contained resource, or a reference, and if
3001
+ * the context is a bundle, is it included in the bundle.
3002
+ */
3003
+ readonly aggregation?: string[];
3004
+
3005
+ /**
3006
+ * Whether this reference needs to be version specific or version
3007
+ * independent, or whether either can be used.
3008
+ */
3009
+ readonly versioning?: string;
3010
+ }