@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,968 @@
1
+ /*
2
+ * Generated by @medplum/generator
3
+ * Do not edit manually.
4
+ */
5
+
6
+ import { Age } from './Age';
7
+ import { CodeableConcept } from './CodeableConcept';
8
+ import { ContactDetail } from './ContactDetail';
9
+ import { DataRequirement } from './DataRequirement';
10
+ import { Duration } from './Duration';
11
+ import { Expression } from './Expression';
12
+ import { Extension } from './Extension';
13
+ import { Group } from './Group';
14
+ import { Identifier } from './Identifier';
15
+ import { Meta } from './Meta';
16
+ import { Narrative } from './Narrative';
17
+ import { Period } from './Period';
18
+ import { Quantity } from './Quantity';
19
+ import { Range } from './Range';
20
+ import { Reference } from './Reference';
21
+ import { RelatedArtifact } from './RelatedArtifact';
22
+ import { Resource } from './Resource';
23
+ import { Timing } from './Timing';
24
+ import { TriggerDefinition } from './TriggerDefinition';
25
+ import { UsageContext } from './UsageContext';
26
+
27
+ /**
28
+ * This resource allows for the definition of various types of plans as a
29
+ * sharable, consumable, and executable artifact. The resource is general
30
+ * enough to support the description of a broad range of clinical
31
+ * artifacts such as clinical decision support rules, order sets and
32
+ * protocols.
33
+ */
34
+ export interface PlanDefinition {
35
+
36
+ /**
37
+ * This is a PlanDefinition resource
38
+ */
39
+ readonly resourceType: 'PlanDefinition';
40
+
41
+ /**
42
+ * The logical id of the resource, as used in the URL for the resource.
43
+ * Once assigned, this value never changes.
44
+ */
45
+ readonly id?: string;
46
+
47
+ /**
48
+ * The metadata about the resource. This is content that is maintained by
49
+ * the infrastructure. Changes to the content might not always be
50
+ * associated with version changes to the resource.
51
+ */
52
+ readonly meta?: Meta;
53
+
54
+ /**
55
+ * A reference to a set of rules that were followed when the resource was
56
+ * constructed, and which must be understood when processing the content.
57
+ * Often, this is a reference to an implementation guide that defines the
58
+ * special rules along with other profiles etc.
59
+ */
60
+ readonly implicitRules?: string;
61
+
62
+ /**
63
+ * The base language in which the resource is written.
64
+ */
65
+ readonly language?: string;
66
+
67
+ /**
68
+ * A human-readable narrative that contains a summary of the resource and
69
+ * can be used to represent the content of the resource to a human. The
70
+ * narrative need not encode all the structured data, but is required to
71
+ * contain sufficient detail to make it "clinically safe" for a human to
72
+ * just read the narrative. Resource definitions may define what content
73
+ * should be represented in the narrative to ensure clinical safety.
74
+ */
75
+ readonly text?: Narrative;
76
+
77
+ /**
78
+ * These resources do not have an independent existence apart from the
79
+ * resource that contains them - they cannot be identified independently,
80
+ * and nor can they have their own independent transaction scope.
81
+ */
82
+ readonly contained?: Resource[];
83
+
84
+ /**
85
+ * May be used to represent additional information that is not part of
86
+ * the basic definition of the resource. To make the use of extensions
87
+ * safe and manageable, there is a strict set of governance applied to
88
+ * the definition and use of extensions. Though any implementer can
89
+ * define an extension, there is a set of requirements that SHALL be met
90
+ * as part of the definition of the extension.
91
+ */
92
+ readonly extension?: Extension[];
93
+
94
+ /**
95
+ * May be used to represent additional information that is not part of
96
+ * the basic definition of the resource and that modifies the
97
+ * understanding of the element that contains it and/or the understanding
98
+ * of the containing element's descendants. Usually modifier elements
99
+ * provide negation or qualification. To make the use of extensions safe
100
+ * and manageable, there is a strict set of governance applied to the
101
+ * definition and use of extensions. Though any implementer is allowed to
102
+ * define an extension, there is a set of requirements that SHALL be met
103
+ * as part of the definition of the extension. Applications processing a
104
+ * resource are required to check for modifier extensions.
105
+ *
106
+ * Modifier extensions SHALL NOT change the meaning of any elements on
107
+ * Resource or DomainResource (including cannot change the meaning of
108
+ * modifierExtension itself).
109
+ */
110
+ readonly modifierExtension?: Extension[];
111
+
112
+ /**
113
+ * An absolute URI that is used to identify this plan definition when it
114
+ * is referenced in a specification, model, design or an instance; also
115
+ * called its canonical identifier. This SHOULD be globally unique and
116
+ * SHOULD be a literal address at which at which an authoritative
117
+ * instance of this plan definition is (or will be) published. This URL
118
+ * can be the target of a canonical reference. It SHALL remain the same
119
+ * when the plan definition is stored on different servers.
120
+ */
121
+ readonly url?: string;
122
+
123
+ /**
124
+ * A formal identifier that is used to identify this plan definition when
125
+ * it is represented in other formats, or referenced in a specification,
126
+ * model, design or an instance.
127
+ */
128
+ readonly identifier?: Identifier[];
129
+
130
+ /**
131
+ * The identifier that is used to identify this version of the plan
132
+ * definition when it is referenced in a specification, model, design or
133
+ * instance. This is an arbitrary value managed by the plan definition
134
+ * author and is not expected to be globally unique. For example, it
135
+ * might be a timestamp (e.g. yyyymmdd) if a managed version is not
136
+ * available. There is also no expectation that versions can be placed in
137
+ * a lexicographical sequence. To provide a version consistent with the
138
+ * Decision Support Service specification, use the format
139
+ * Major.Minor.Revision (e.g. 1.0.0). For more information on versioning
140
+ * knowledge assets, refer to the Decision Support Service specification.
141
+ * Note that a version is required for non-experimental active artifacts.
142
+ */
143
+ readonly version?: string;
144
+
145
+ /**
146
+ * A natural language name identifying the plan definition. This name
147
+ * should be usable as an identifier for the module by machine processing
148
+ * applications such as code generation.
149
+ */
150
+ readonly name?: string;
151
+
152
+ /**
153
+ * A short, descriptive, user-friendly title for the plan definition.
154
+ */
155
+ readonly title?: string;
156
+
157
+ /**
158
+ * An explanatory or alternate title for the plan definition giving
159
+ * additional information about its content.
160
+ */
161
+ readonly subtitle?: string;
162
+
163
+ /**
164
+ * A high-level category for the plan definition that distinguishes the
165
+ * kinds of systems that would be interested in the plan definition.
166
+ */
167
+ readonly type?: CodeableConcept;
168
+
169
+ /**
170
+ * The status of this plan definition. Enables tracking the life-cycle of
171
+ * the content.
172
+ */
173
+ readonly status?: string;
174
+
175
+ /**
176
+ * A Boolean value to indicate that this plan definition is authored for
177
+ * testing purposes (or education/evaluation/marketing) and is not
178
+ * intended to be used for genuine usage.
179
+ */
180
+ readonly experimental?: boolean;
181
+
182
+ /**
183
+ * A code or group definition that describes the intended subject of the
184
+ * plan definition.
185
+ */
186
+ readonly subjectCodeableConcept?: CodeableConcept;
187
+
188
+ /**
189
+ * A code or group definition that describes the intended subject of the
190
+ * plan definition.
191
+ */
192
+ readonly subjectReference?: Reference<Group>;
193
+
194
+ /**
195
+ * The date (and optionally time) when the plan definition was
196
+ * published. The date must change when the business version changes and
197
+ * it must change if the status code changes. In addition, it should
198
+ * change when the substantive content of the plan definition changes.
199
+ */
200
+ readonly date?: string;
201
+
202
+ /**
203
+ * The name of the organization or individual that published the plan
204
+ * definition.
205
+ */
206
+ readonly publisher?: string;
207
+
208
+ /**
209
+ * Contact details to assist a user in finding and communicating with the
210
+ * publisher.
211
+ */
212
+ readonly contact?: ContactDetail[];
213
+
214
+ /**
215
+ * A free text natural language description of the plan definition from a
216
+ * consumer's perspective.
217
+ */
218
+ readonly description?: string;
219
+
220
+ /**
221
+ * The content was developed with a focus and intent of supporting the
222
+ * contexts that are listed. These contexts may be general categories
223
+ * (gender, age, ...) or may be references to specific programs
224
+ * (insurance plans, studies, ...) and may be used to assist with
225
+ * indexing and searching for appropriate plan definition instances.
226
+ */
227
+ readonly useContext?: UsageContext[];
228
+
229
+ /**
230
+ * A legal or geographic region in which the plan definition is intended
231
+ * to be used.
232
+ */
233
+ readonly jurisdiction?: CodeableConcept[];
234
+
235
+ /**
236
+ * Explanation of why this plan definition is needed and why it has been
237
+ * designed as it has.
238
+ */
239
+ readonly purpose?: string;
240
+
241
+ /**
242
+ * A detailed description of how the plan definition is used from a
243
+ * clinical perspective.
244
+ */
245
+ readonly usage?: string;
246
+
247
+ /**
248
+ * A copyright statement relating to the plan definition and/or its
249
+ * contents. Copyright statements are generally legal restrictions on the
250
+ * use and publishing of the plan definition.
251
+ */
252
+ readonly copyright?: string;
253
+
254
+ /**
255
+ * The date on which the resource content was approved by the publisher.
256
+ * Approval happens once when the content is officially approved for
257
+ * usage.
258
+ */
259
+ readonly approvalDate?: string;
260
+
261
+ /**
262
+ * The date on which the resource content was last reviewed. Review
263
+ * happens periodically after approval but does not change the original
264
+ * approval date.
265
+ */
266
+ readonly lastReviewDate?: string;
267
+
268
+ /**
269
+ * The period during which the plan definition content was or is planned
270
+ * to be in active use.
271
+ */
272
+ readonly effectivePeriod?: Period;
273
+
274
+ /**
275
+ * Descriptive topics related to the content of the plan definition.
276
+ * Topics provide a high-level categorization of the definition that can
277
+ * be useful for filtering and searching.
278
+ */
279
+ readonly topic?: CodeableConcept[];
280
+
281
+ /**
282
+ * An individiual or organization primarily involved in the creation and
283
+ * maintenance of the content.
284
+ */
285
+ readonly author?: ContactDetail[];
286
+
287
+ /**
288
+ * An individual or organization primarily responsible for internal
289
+ * coherence of the content.
290
+ */
291
+ readonly editor?: ContactDetail[];
292
+
293
+ /**
294
+ * An individual or organization primarily responsible for review of some
295
+ * aspect of the content.
296
+ */
297
+ readonly reviewer?: ContactDetail[];
298
+
299
+ /**
300
+ * An individual or organization responsible for officially endorsing the
301
+ * content for use in some setting.
302
+ */
303
+ readonly endorser?: ContactDetail[];
304
+
305
+ /**
306
+ * Related artifacts such as additional documentation, justification, or
307
+ * bibliographic references.
308
+ */
309
+ readonly relatedArtifact?: RelatedArtifact[];
310
+
311
+ /**
312
+ * A reference to a Library resource containing any formal logic used by
313
+ * the plan definition.
314
+ */
315
+ readonly library?: string[];
316
+
317
+ /**
318
+ * Goals that describe what the activities within the plan are intended
319
+ * to achieve. For example, weight loss, restoring an activity of daily
320
+ * living, obtaining herd immunity via immunization, meeting a process
321
+ * improvement objective, etc.
322
+ */
323
+ readonly goal?: PlanDefinitionGoal[];
324
+
325
+ /**
326
+ * An action or group of actions to be taken as part of the plan.
327
+ */
328
+ readonly action?: PlanDefinitionAction[];
329
+ }
330
+
331
+ /**
332
+ * An action or group of actions to be taken as part of the plan.
333
+ */
334
+ export interface PlanDefinitionAction {
335
+
336
+ /**
337
+ * Unique id for the element within a resource (for internal references).
338
+ * This may be any string value that does not contain spaces.
339
+ */
340
+ readonly id?: string;
341
+
342
+ /**
343
+ * May be used to represent additional information that is not part of
344
+ * the basic definition of the element. To make the use of extensions
345
+ * safe and manageable, there is a strict set of governance applied to
346
+ * the definition and use of extensions. Though any implementer can
347
+ * define an extension, there is a set of requirements that SHALL be met
348
+ * as part of the definition of the extension.
349
+ */
350
+ readonly extension?: Extension[];
351
+
352
+ /**
353
+ * May be used to represent additional information that is not part of
354
+ * the basic definition of the element and that modifies the
355
+ * understanding of the element in which it is contained and/or the
356
+ * understanding of the containing element's descendants. Usually
357
+ * modifier elements provide negation or qualification. To make the use
358
+ * of extensions safe and manageable, there is a strict set of governance
359
+ * applied to the definition and use of extensions. Though any
360
+ * implementer can define an extension, there is a set of requirements
361
+ * that SHALL be met as part of the definition of the extension.
362
+ * Applications processing a resource are required to check for modifier
363
+ * extensions.
364
+ *
365
+ * Modifier extensions SHALL NOT change the meaning of any elements on
366
+ * Resource or DomainResource (including cannot change the meaning of
367
+ * modifierExtension itself).
368
+ */
369
+ readonly modifierExtension?: Extension[];
370
+
371
+ /**
372
+ * A user-visible prefix for the action.
373
+ */
374
+ readonly prefix?: string;
375
+
376
+ /**
377
+ * The title of the action displayed to a user.
378
+ */
379
+ readonly title?: string;
380
+
381
+ /**
382
+ * A brief description of the action used to provide a summary to display
383
+ * to the user.
384
+ */
385
+ readonly description?: string;
386
+
387
+ /**
388
+ * A text equivalent of the action to be performed. This provides a
389
+ * human-interpretable description of the action when the definition is
390
+ * consumed by a system that might not be capable of interpreting it
391
+ * dynamically.
392
+ */
393
+ readonly textEquivalent?: string;
394
+
395
+ /**
396
+ * Indicates how quickly the action should be addressed with respect to
397
+ * other actions.
398
+ */
399
+ readonly priority?: string;
400
+
401
+ /**
402
+ * A code that provides meaning for the action or action group. For
403
+ * example, a section may have a LOINC code for the section of a
404
+ * documentation template.
405
+ */
406
+ readonly code?: CodeableConcept[];
407
+
408
+ /**
409
+ * A description of why this action is necessary or appropriate.
410
+ */
411
+ readonly reason?: CodeableConcept[];
412
+
413
+ /**
414
+ * Didactic or other informational resources associated with the action
415
+ * that can be provided to the CDS recipient. Information resources can
416
+ * include inline text commentary and links to web resources.
417
+ */
418
+ readonly documentation?: RelatedArtifact[];
419
+
420
+ /**
421
+ * Identifies goals that this action supports. The reference must be to a
422
+ * goal element defined within this plan definition.
423
+ */
424
+ readonly goalId?: string[];
425
+
426
+ /**
427
+ * A code or group definition that describes the intended subject of the
428
+ * action and its children, if any.
429
+ */
430
+ readonly subjectCodeableConcept?: CodeableConcept;
431
+
432
+ /**
433
+ * A code or group definition that describes the intended subject of the
434
+ * action and its children, if any.
435
+ */
436
+ readonly subjectReference?: Reference<Group>;
437
+
438
+ /**
439
+ * A description of when the action should be triggered.
440
+ */
441
+ readonly trigger?: TriggerDefinition[];
442
+
443
+ /**
444
+ * An expression that describes applicability criteria or start/stop
445
+ * conditions for the action.
446
+ */
447
+ readonly condition?: PlanDefinitionActionCondition[];
448
+
449
+ /**
450
+ * Defines input data requirements for the action.
451
+ */
452
+ readonly input?: DataRequirement[];
453
+
454
+ /**
455
+ * Defines the outputs of the action, if any.
456
+ */
457
+ readonly output?: DataRequirement[];
458
+
459
+ /**
460
+ * A relationship to another action such as &quot;before&quot; or &quot;30-60 minutes
461
+ * after start of&quot;.
462
+ */
463
+ readonly relatedAction?: PlanDefinitionActionRelatedAction[];
464
+
465
+ /**
466
+ * An optional value describing when the action should be performed.
467
+ */
468
+ readonly timingDateTime?: string;
469
+
470
+ /**
471
+ * An optional value describing when the action should be performed.
472
+ */
473
+ readonly timingAge?: Age;
474
+
475
+ /**
476
+ * An optional value describing when the action should be performed.
477
+ */
478
+ readonly timingPeriod?: Period;
479
+
480
+ /**
481
+ * An optional value describing when the action should be performed.
482
+ */
483
+ readonly timingDuration?: Duration;
484
+
485
+ /**
486
+ * An optional value describing when the action should be performed.
487
+ */
488
+ readonly timingRange?: Range;
489
+
490
+ /**
491
+ * An optional value describing when the action should be performed.
492
+ */
493
+ readonly timingTiming?: Timing;
494
+
495
+ /**
496
+ * Indicates who should participate in performing the action described.
497
+ */
498
+ readonly participant?: PlanDefinitionActionParticipant[];
499
+
500
+ /**
501
+ * The type of action to perform (create, update, remove).
502
+ */
503
+ readonly type?: CodeableConcept;
504
+
505
+ /**
506
+ * Defines the grouping behavior for the action and its children.
507
+ */
508
+ readonly groupingBehavior?: string;
509
+
510
+ /**
511
+ * Defines the selection behavior for the action and its children.
512
+ */
513
+ readonly selectionBehavior?: string;
514
+
515
+ /**
516
+ * Defines the required behavior for the action.
517
+ */
518
+ readonly requiredBehavior?: string;
519
+
520
+ /**
521
+ * Defines whether the action should usually be preselected.
522
+ */
523
+ readonly precheckBehavior?: string;
524
+
525
+ /**
526
+ * Defines whether the action can be selected multiple times.
527
+ */
528
+ readonly cardinalityBehavior?: string;
529
+
530
+ /**
531
+ * A reference to an ActivityDefinition that describes the action to be
532
+ * taken in detail, or a PlanDefinition that describes a series of
533
+ * actions to be taken.
534
+ */
535
+ readonly definitionCanonical?: string;
536
+
537
+ /**
538
+ * A reference to an ActivityDefinition that describes the action to be
539
+ * taken in detail, or a PlanDefinition that describes a series of
540
+ * actions to be taken.
541
+ */
542
+ readonly definitionUri?: string;
543
+
544
+ /**
545
+ * A reference to a StructureMap resource that defines a transform that
546
+ * can be executed to produce the intent resource using the
547
+ * ActivityDefinition instance as the input.
548
+ */
549
+ readonly transform?: string;
550
+
551
+ /**
552
+ * Customizations that should be applied to the statically defined
553
+ * resource. For example, if the dosage of a medication must be computed
554
+ * based on the patient's weight, a customization would be used to
555
+ * specify an expression that calculated the weight, and the path on the
556
+ * resource that would contain the result.
557
+ */
558
+ readonly dynamicValue?: PlanDefinitionActionDynamicValue[];
559
+
560
+ /**
561
+ * Sub actions that are contained within the action. The behavior of this
562
+ * action determines the functionality of the sub-actions. For example, a
563
+ * selection behavior of at-most-one indicates that of the sub-actions,
564
+ * at most one may be chosen as part of realizing the action definition.
565
+ */
566
+ readonly action?: PlanDefinitionAction[];
567
+ }
568
+
569
+ /**
570
+ * An expression that describes applicability criteria or start/stop
571
+ * conditions for the action.
572
+ */
573
+ export interface PlanDefinitionActionCondition {
574
+
575
+ /**
576
+ * Unique id for the element within a resource (for internal references).
577
+ * This may be any string value that does not contain spaces.
578
+ */
579
+ readonly id?: string;
580
+
581
+ /**
582
+ * May be used to represent additional information that is not part of
583
+ * the basic definition of the element. To make the use of extensions
584
+ * safe and manageable, there is a strict set of governance applied to
585
+ * the definition and use of extensions. Though any implementer can
586
+ * define an extension, there is a set of requirements that SHALL be met
587
+ * as part of the definition of the extension.
588
+ */
589
+ readonly extension?: Extension[];
590
+
591
+ /**
592
+ * May be used to represent additional information that is not part of
593
+ * the basic definition of the element and that modifies the
594
+ * understanding of the element in which it is contained and/or the
595
+ * understanding of the containing element's descendants. Usually
596
+ * modifier elements provide negation or qualification. To make the use
597
+ * of extensions safe and manageable, there is a strict set of governance
598
+ * applied to the definition and use of extensions. Though any
599
+ * implementer can define an extension, there is a set of requirements
600
+ * that SHALL be met as part of the definition of the extension.
601
+ * Applications processing a resource are required to check for modifier
602
+ * extensions.
603
+ *
604
+ * Modifier extensions SHALL NOT change the meaning of any elements on
605
+ * Resource or DomainResource (including cannot change the meaning of
606
+ * modifierExtension itself).
607
+ */
608
+ readonly modifierExtension?: Extension[];
609
+
610
+ /**
611
+ * The kind of condition.
612
+ */
613
+ readonly kind?: string;
614
+
615
+ /**
616
+ * An expression that returns true or false, indicating whether the
617
+ * condition is satisfied.
618
+ */
619
+ readonly expression?: Expression;
620
+ }
621
+
622
+ /**
623
+ * Customizations that should be applied to the statically defined
624
+ * resource. For example, if the dosage of a medication must be computed
625
+ * based on the patient's weight, a customization would be used to
626
+ * specify an expression that calculated the weight, and the path on the
627
+ * resource that would contain the result.
628
+ */
629
+ export interface PlanDefinitionActionDynamicValue {
630
+
631
+ /**
632
+ * Unique id for the element within a resource (for internal references).
633
+ * This may be any string value that does not contain spaces.
634
+ */
635
+ readonly id?: string;
636
+
637
+ /**
638
+ * May be used to represent additional information that is not part of
639
+ * the basic definition of the element. To make the use of extensions
640
+ * safe and manageable, there is a strict set of governance applied to
641
+ * the definition and use of extensions. Though any implementer can
642
+ * define an extension, there is a set of requirements that SHALL be met
643
+ * as part of the definition of the extension.
644
+ */
645
+ readonly extension?: Extension[];
646
+
647
+ /**
648
+ * May be used to represent additional information that is not part of
649
+ * the basic definition of the element and that modifies the
650
+ * understanding of the element in which it is contained and/or the
651
+ * understanding of the containing element's descendants. Usually
652
+ * modifier elements provide negation or qualification. To make the use
653
+ * of extensions safe and manageable, there is a strict set of governance
654
+ * applied to the definition and use of extensions. Though any
655
+ * implementer can define an extension, there is a set of requirements
656
+ * that SHALL be met as part of the definition of the extension.
657
+ * Applications processing a resource are required to check for modifier
658
+ * extensions.
659
+ *
660
+ * Modifier extensions SHALL NOT change the meaning of any elements on
661
+ * Resource or DomainResource (including cannot change the meaning of
662
+ * modifierExtension itself).
663
+ */
664
+ readonly modifierExtension?: Extension[];
665
+
666
+ /**
667
+ * The path to the element to be customized. This is the path on the
668
+ * resource that will hold the result of the calculation defined by the
669
+ * expression. The specified path SHALL be a FHIRPath resolveable on the
670
+ * specified target type of the ActivityDefinition, and SHALL consist
671
+ * only of identifiers, constant indexers, and a restricted subset of
672
+ * functions. The path is allowed to contain qualifiers (.) to traverse
673
+ * sub-elements, as well as indexers ([x]) to traverse
674
+ * multiple-cardinality sub-elements (see the [Simple FHIRPath
675
+ * Profile](fhirpath.html#simple) for full details).
676
+ */
677
+ readonly path?: string;
678
+
679
+ /**
680
+ * An expression specifying the value of the customized element.
681
+ */
682
+ readonly expression?: Expression;
683
+ }
684
+
685
+ /**
686
+ * Indicates who should participate in performing the action described.
687
+ */
688
+ export interface PlanDefinitionActionParticipant {
689
+
690
+ /**
691
+ * Unique id for the element within a resource (for internal references).
692
+ * This may be any string value that does not contain spaces.
693
+ */
694
+ readonly id?: string;
695
+
696
+ /**
697
+ * May be used to represent additional information that is not part of
698
+ * the basic definition of the element. To make the use of extensions
699
+ * safe and manageable, there is a strict set of governance applied to
700
+ * the definition and use of extensions. Though any implementer can
701
+ * define an extension, there is a set of requirements that SHALL be met
702
+ * as part of the definition of the extension.
703
+ */
704
+ readonly extension?: Extension[];
705
+
706
+ /**
707
+ * May be used to represent additional information that is not part of
708
+ * the basic definition of the element and that modifies the
709
+ * understanding of the element in which it is contained and/or the
710
+ * understanding of the containing element's descendants. Usually
711
+ * modifier elements provide negation or qualification. To make the use
712
+ * of extensions safe and manageable, there is a strict set of governance
713
+ * applied to the definition and use of extensions. Though any
714
+ * implementer can define an extension, there is a set of requirements
715
+ * that SHALL be met as part of the definition of the extension.
716
+ * Applications processing a resource are required to check for modifier
717
+ * extensions.
718
+ *
719
+ * Modifier extensions SHALL NOT change the meaning of any elements on
720
+ * Resource or DomainResource (including cannot change the meaning of
721
+ * modifierExtension itself).
722
+ */
723
+ readonly modifierExtension?: Extension[];
724
+
725
+ /**
726
+ * The type of participant in the action.
727
+ */
728
+ readonly type?: string;
729
+
730
+ /**
731
+ * The role the participant should play in performing the described
732
+ * action.
733
+ */
734
+ readonly role?: CodeableConcept;
735
+ }
736
+
737
+ /**
738
+ * A relationship to another action such as &quot;before&quot; or &quot;30-60 minutes
739
+ * after start of&quot;.
740
+ */
741
+ export interface PlanDefinitionActionRelatedAction {
742
+
743
+ /**
744
+ * Unique id for the element within a resource (for internal references).
745
+ * This may be any string value that does not contain spaces.
746
+ */
747
+ readonly id?: string;
748
+
749
+ /**
750
+ * May be used to represent additional information that is not part of
751
+ * the basic definition of the element. To make the use of extensions
752
+ * safe and manageable, there is a strict set of governance applied to
753
+ * the definition and use of extensions. Though any implementer can
754
+ * define an extension, there is a set of requirements that SHALL be met
755
+ * as part of the definition of the extension.
756
+ */
757
+ readonly extension?: Extension[];
758
+
759
+ /**
760
+ * May be used to represent additional information that is not part of
761
+ * the basic definition of the element and that modifies the
762
+ * understanding of the element in which it is contained and/or the
763
+ * understanding of the containing element's descendants. Usually
764
+ * modifier elements provide negation or qualification. To make the use
765
+ * of extensions safe and manageable, there is a strict set of governance
766
+ * applied to the definition and use of extensions. Though any
767
+ * implementer can define an extension, there is a set of requirements
768
+ * that SHALL be met as part of the definition of the extension.
769
+ * Applications processing a resource are required to check for modifier
770
+ * extensions.
771
+ *
772
+ * Modifier extensions SHALL NOT change the meaning of any elements on
773
+ * Resource or DomainResource (including cannot change the meaning of
774
+ * modifierExtension itself).
775
+ */
776
+ readonly modifierExtension?: Extension[];
777
+
778
+ /**
779
+ * The element id of the related action.
780
+ */
781
+ readonly actionId?: string;
782
+
783
+ /**
784
+ * The relationship of this action to the related action.
785
+ */
786
+ readonly relationship?: string;
787
+
788
+ /**
789
+ * A duration or range of durations to apply to the relationship. For
790
+ * example, 30-60 minutes before.
791
+ */
792
+ readonly offsetDuration?: Duration;
793
+
794
+ /**
795
+ * A duration or range of durations to apply to the relationship. For
796
+ * example, 30-60 minutes before.
797
+ */
798
+ readonly offsetRange?: Range;
799
+ }
800
+
801
+ /**
802
+ * Goals that describe what the activities within the plan are intended
803
+ * to achieve. For example, weight loss, restoring an activity of daily
804
+ * living, obtaining herd immunity via immunization, meeting a process
805
+ * improvement objective, etc.
806
+ */
807
+ export interface PlanDefinitionGoal {
808
+
809
+ /**
810
+ * Unique id for the element within a resource (for internal references).
811
+ * This may be any string value that does not contain spaces.
812
+ */
813
+ readonly id?: string;
814
+
815
+ /**
816
+ * May be used to represent additional information that is not part of
817
+ * the basic definition of the element. To make the use of extensions
818
+ * safe and manageable, there is a strict set of governance applied to
819
+ * the definition and use of extensions. Though any implementer can
820
+ * define an extension, there is a set of requirements that SHALL be met
821
+ * as part of the definition of the extension.
822
+ */
823
+ readonly extension?: Extension[];
824
+
825
+ /**
826
+ * May be used to represent additional information that is not part of
827
+ * the basic definition of the element and that modifies the
828
+ * understanding of the element in which it is contained and/or the
829
+ * understanding of the containing element's descendants. Usually
830
+ * modifier elements provide negation or qualification. To make the use
831
+ * of extensions safe and manageable, there is a strict set of governance
832
+ * applied to the definition and use of extensions. Though any
833
+ * implementer can define an extension, there is a set of requirements
834
+ * that SHALL be met as part of the definition of the extension.
835
+ * Applications processing a resource are required to check for modifier
836
+ * extensions.
837
+ *
838
+ * Modifier extensions SHALL NOT change the meaning of any elements on
839
+ * Resource or DomainResource (including cannot change the meaning of
840
+ * modifierExtension itself).
841
+ */
842
+ readonly modifierExtension?: Extension[];
843
+
844
+ /**
845
+ * Indicates a category the goal falls within.
846
+ */
847
+ readonly category?: CodeableConcept;
848
+
849
+ /**
850
+ * Human-readable and/or coded description of a specific desired
851
+ * objective of care, such as &quot;control blood pressure&quot; or &quot;negotiate an
852
+ * obstacle course&quot; or &quot;dance with child at wedding&quot;.
853
+ */
854
+ readonly description?: CodeableConcept;
855
+
856
+ /**
857
+ * Identifies the expected level of importance associated with
858
+ * reaching/sustaining the defined goal.
859
+ */
860
+ readonly priority?: CodeableConcept;
861
+
862
+ /**
863
+ * The event after which the goal should begin being pursued.
864
+ */
865
+ readonly start?: CodeableConcept;
866
+
867
+ /**
868
+ * Identifies problems, conditions, issues, or concerns the goal is
869
+ * intended to address.
870
+ */
871
+ readonly addresses?: CodeableConcept[];
872
+
873
+ /**
874
+ * Didactic or other informational resources associated with the goal
875
+ * that provide further supporting information about the goal.
876
+ * Information resources can include inline text commentary and links to
877
+ * web resources.
878
+ */
879
+ readonly documentation?: RelatedArtifact[];
880
+
881
+ /**
882
+ * Indicates what should be done and within what timeframe.
883
+ */
884
+ readonly target?: PlanDefinitionGoalTarget[];
885
+ }
886
+
887
+ /**
888
+ * Indicates what should be done and within what timeframe.
889
+ */
890
+ export interface PlanDefinitionGoalTarget {
891
+
892
+ /**
893
+ * Unique id for the element within a resource (for internal references).
894
+ * This may be any string value that does not contain spaces.
895
+ */
896
+ readonly id?: string;
897
+
898
+ /**
899
+ * May be used to represent additional information that is not part of
900
+ * the basic definition of the element. To make the use of extensions
901
+ * safe and manageable, there is a strict set of governance applied to
902
+ * the definition and use of extensions. Though any implementer can
903
+ * define an extension, there is a set of requirements that SHALL be met
904
+ * as part of the definition of the extension.
905
+ */
906
+ readonly extension?: Extension[];
907
+
908
+ /**
909
+ * May be used to represent additional information that is not part of
910
+ * the basic definition of the element and that modifies the
911
+ * understanding of the element in which it is contained and/or the
912
+ * understanding of the containing element's descendants. Usually
913
+ * modifier elements provide negation or qualification. To make the use
914
+ * of extensions safe and manageable, there is a strict set of governance
915
+ * applied to the definition and use of extensions. Though any
916
+ * implementer can define an extension, there is a set of requirements
917
+ * that SHALL be met as part of the definition of the extension.
918
+ * Applications processing a resource are required to check for modifier
919
+ * extensions.
920
+ *
921
+ * Modifier extensions SHALL NOT change the meaning of any elements on
922
+ * Resource or DomainResource (including cannot change the meaning of
923
+ * modifierExtension itself).
924
+ */
925
+ readonly modifierExtension?: Extension[];
926
+
927
+ /**
928
+ * The parameter whose value is to be tracked, e.g. body weight, blood
929
+ * pressure, or hemoglobin A1c level.
930
+ */
931
+ readonly measure?: CodeableConcept;
932
+
933
+ /**
934
+ * The target value of the measure to be achieved to signify fulfillment
935
+ * of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both
936
+ * values of the range can be specified. When a low value is missing, it
937
+ * indicates that the goal is achieved at any value at or below the high
938
+ * value. Similarly, if the high value is missing, it indicates that the
939
+ * goal is achieved at any value at or above the low value.
940
+ */
941
+ readonly detailQuantity?: Quantity;
942
+
943
+ /**
944
+ * The target value of the measure to be achieved to signify fulfillment
945
+ * of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both
946
+ * values of the range can be specified. When a low value is missing, it
947
+ * indicates that the goal is achieved at any value at or below the high
948
+ * value. Similarly, if the high value is missing, it indicates that the
949
+ * goal is achieved at any value at or above the low value.
950
+ */
951
+ readonly detailRange?: Range;
952
+
953
+ /**
954
+ * The target value of the measure to be achieved to signify fulfillment
955
+ * of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both
956
+ * values of the range can be specified. When a low value is missing, it
957
+ * indicates that the goal is achieved at any value at or below the high
958
+ * value. Similarly, if the high value is missing, it indicates that the
959
+ * goal is achieved at any value at or above the low value.
960
+ */
961
+ readonly detailCodeableConcept?: CodeableConcept;
962
+
963
+ /**
964
+ * Indicates the timeframe after the start of the goal in which the goal
965
+ * should be met.
966
+ */
967
+ readonly due?: Duration;
968
+ }