fhirpath-rb 0.1.1

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 (69) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +25 -0
  4. data/CLAUDE.md +59 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +43 -0
  7. data/Rakefile +12 -0
  8. data/ext/fhir_path_parser/extconf.rb +40 -0
  9. data/lib/fhirpath/engine/evaluators/expressions.rb +59 -0
  10. data/lib/fhirpath/engine/evaluators/literals.rb +70 -0
  11. data/lib/fhirpath/engine/evaluators/member_invocation.rb +109 -0
  12. data/lib/fhirpath/engine/evaluators.rb +130 -0
  13. data/lib/fhirpath/engine/invocations/aggregate.rb +48 -0
  14. data/lib/fhirpath/engine/invocations/collections.rb +32 -0
  15. data/lib/fhirpath/engine/invocations/combining.rb +30 -0
  16. data/lib/fhirpath/engine/invocations/datetime.rb +34 -0
  17. data/lib/fhirpath/engine/invocations/equality.rb +95 -0
  18. data/lib/fhirpath/engine/invocations/equivalence.rb +138 -0
  19. data/lib/fhirpath/engine/invocations/existence.rb +117 -0
  20. data/lib/fhirpath/engine/invocations/filtering.rb +107 -0
  21. data/lib/fhirpath/engine/invocations/inequality.rb +92 -0
  22. data/lib/fhirpath/engine/invocations/logic.rb +74 -0
  23. data/lib/fhirpath/engine/invocations/math.rb +109 -0
  24. data/lib/fhirpath/engine/invocations/math_functions.rb +121 -0
  25. data/lib/fhirpath/engine/invocations/misc.rb +144 -0
  26. data/lib/fhirpath/engine/invocations/misc_converts_to.rb +91 -0
  27. data/lib/fhirpath/engine/invocations/navigation.rb +102 -0
  28. data/lib/fhirpath/engine/invocations/registry_strings_and_math.rb +48 -0
  29. data/lib/fhirpath/engine/invocations/strings.rb +139 -0
  30. data/lib/fhirpath/engine/invocations/strings_encoding.rb +68 -0
  31. data/lib/fhirpath/engine/invocations/subsetting.rb +15 -0
  32. data/lib/fhirpath/engine/invocations/types.rb +36 -0
  33. data/lib/fhirpath/engine/invocations.rb +118 -0
  34. data/lib/fhirpath/engine/nodes/fp_date_time.rb +140 -0
  35. data/lib/fhirpath/engine/nodes/fp_date_time_arithmetic.rb +112 -0
  36. data/lib/fhirpath/engine/nodes/fp_quantity.rb +142 -0
  37. data/lib/fhirpath/engine/nodes/fp_quantity_deep_equal.rb +67 -0
  38. data/lib/fhirpath/engine/nodes/fp_time.rb +139 -0
  39. data/lib/fhirpath/engine/nodes/fp_time_arithmetic.rb +111 -0
  40. data/lib/fhirpath/engine/nodes/resource_node.rb +66 -0
  41. data/lib/fhirpath/engine/nodes/type_info.rb +92 -0
  42. data/lib/fhirpath/engine/param_resolution.rb +74 -0
  43. data/lib/fhirpath/engine/util.rb +117 -0
  44. data/lib/fhirpath/engine.rb +100 -0
  45. data/lib/fhirpath/models/dstu2/choiceTypePaths.json +1041 -0
  46. data/lib/fhirpath/models/dstu2/path2Type.json +4728 -0
  47. data/lib/fhirpath/models/dstu2/pathsDefinedElsewhere.json +21 -0
  48. data/lib/fhirpath/models/dstu2/type2Parent.json +141 -0
  49. data/lib/fhirpath/models/r4/choiceTypePaths.json +1365 -0
  50. data/lib/fhirpath/models/r4/path2Type.json +7707 -0
  51. data/lib/fhirpath/models/r4/pathsDefinedElsewhere.json +57 -0
  52. data/lib/fhirpath/models/r4/type2Parent.json +211 -0
  53. data/lib/fhirpath/models/r5/choiceTypePaths.json +1883 -0
  54. data/lib/fhirpath/models/r5/path2Type.json +9653 -0
  55. data/lib/fhirpath/models/r5/pathsDefinedElsewhere.json +80 -0
  56. data/lib/fhirpath/models/r5/type2Parent.json +234 -0
  57. data/lib/fhirpath/models/stu3/choiceTypePaths.json +991 -0
  58. data/lib/fhirpath/models/stu3/path2Type.json +5729 -0
  59. data/lib/fhirpath/models/stu3/pathsDefinedElsewhere.json +37 -0
  60. data/lib/fhirpath/models/stu3/type2Parent.json +173 -0
  61. data/lib/fhirpath/models.rb +25 -0
  62. data/lib/fhirpath/parser/FHIRPath.g4 +172 -0
  63. data/lib/fhirpath/parser/ast_builder.rb +51 -0
  64. data/lib/fhirpath/parser.rb +21 -0
  65. data/lib/fhirpath/version.rb +5 -0
  66. data/lib/fhirpath.rb +117 -0
  67. data/rakelib/parser.rake +146 -0
  68. data/sig/fhirpath.rbs +14 -0
  69. metadata +168 -0
@@ -0,0 +1,991 @@
1
+ {
2
+ "ActivityDefinition.product": [
3
+ "Reference",
4
+ "CodeableConcept"
5
+ ],
6
+ "ActivityDefinition.timing": [
7
+ "Timing",
8
+ "DateTime",
9
+ "Period",
10
+ "Range"
11
+ ],
12
+ "AllergyIntolerance.onset": [
13
+ "DateTime",
14
+ "Age",
15
+ "Period",
16
+ "Range",
17
+ "String"
18
+ ],
19
+ "Annotation.author": [
20
+ "Reference",
21
+ "String"
22
+ ],
23
+ "CarePlan.activity.detail.product": [
24
+ "CodeableConcept",
25
+ "Reference"
26
+ ],
27
+ "CarePlan.activity.detail.scheduled": [
28
+ "Timing",
29
+ "Period",
30
+ "String"
31
+ ],
32
+ "ChargeItem.occurrence": [
33
+ "DateTime",
34
+ "Period",
35
+ "Timing"
36
+ ],
37
+ "Claim.accident.location": [
38
+ "Address",
39
+ "Reference"
40
+ ],
41
+ "Claim.diagnosis.diagnosis": [
42
+ "CodeableConcept",
43
+ "Reference"
44
+ ],
45
+ "Claim.information.timing": [
46
+ "Date",
47
+ "Period"
48
+ ],
49
+ "Claim.information.value": [
50
+ "String",
51
+ "Quantity",
52
+ "Attachment",
53
+ "Reference"
54
+ ],
55
+ "Claim.item.location": [
56
+ "CodeableConcept",
57
+ "Address",
58
+ "Reference"
59
+ ],
60
+ "Claim.item.serviced": [
61
+ "Date",
62
+ "Period"
63
+ ],
64
+ "Claim.procedure.procedure": [
65
+ "CodeableConcept",
66
+ "Reference"
67
+ ],
68
+ "ClinicalImpression.effective": [
69
+ "DateTime",
70
+ "Period"
71
+ ],
72
+ "ClinicalImpression.finding.item": [
73
+ "CodeableConcept",
74
+ "Reference"
75
+ ],
76
+ "CodeSystem.concept.property.value": [
77
+ "Code",
78
+ "Coding",
79
+ "String",
80
+ "Integer",
81
+ "Boolean",
82
+ "DateTime"
83
+ ],
84
+ "Communication.payload.content": [
85
+ "String",
86
+ "Attachment",
87
+ "Reference"
88
+ ],
89
+ "CommunicationRequest.occurrence": [
90
+ "DateTime",
91
+ "Period"
92
+ ],
93
+ "CommunicationRequest.payload.content": [
94
+ "String",
95
+ "Attachment",
96
+ "Reference"
97
+ ],
98
+ "Composition.relatesTo.target": [
99
+ "Identifier",
100
+ "Reference"
101
+ ],
102
+ "ConceptMap.source": [
103
+ "Uri",
104
+ "Reference"
105
+ ],
106
+ "ConceptMap.target": [
107
+ "Uri",
108
+ "Reference"
109
+ ],
110
+ "Condition.abatement": [
111
+ "DateTime",
112
+ "Age",
113
+ "Boolean",
114
+ "Period",
115
+ "Range",
116
+ "String"
117
+ ],
118
+ "Condition.onset": [
119
+ "DateTime",
120
+ "Age",
121
+ "Period",
122
+ "Range",
123
+ "String"
124
+ ],
125
+ "Consent.source": [
126
+ "Attachment",
127
+ "Identifier",
128
+ "Reference"
129
+ ],
130
+ "Contract.binding": [
131
+ "Attachment",
132
+ "Reference"
133
+ ],
134
+ "Contract.friendly.content": [
135
+ "Attachment",
136
+ "Reference"
137
+ ],
138
+ "Contract.legal.content": [
139
+ "Attachment",
140
+ "Reference"
141
+ ],
142
+ "Contract.rule.content": [
143
+ "Attachment",
144
+ "Reference"
145
+ ],
146
+ "Contract.term.valuedItem.entity": [
147
+ "CodeableConcept",
148
+ "Reference"
149
+ ],
150
+ "Contract.valuedItem.entity": [
151
+ "CodeableConcept",
152
+ "Reference"
153
+ ],
154
+ "DataRequirement.codeFilter.valueSet": [
155
+ "String",
156
+ "Reference"
157
+ ],
158
+ "DataRequirement.dateFilter.value": [
159
+ "DateTime",
160
+ "Period",
161
+ "Duration"
162
+ ],
163
+ "DeviceRequest.code": [
164
+ "Reference",
165
+ "CodeableConcept"
166
+ ],
167
+ "DeviceRequest.occurrence": [
168
+ "DateTime",
169
+ "Period",
170
+ "Timing"
171
+ ],
172
+ "DeviceUseStatement.timing": [
173
+ "Timing",
174
+ "Period",
175
+ "DateTime"
176
+ ],
177
+ "DiagnosticReport.effective": [
178
+ "DateTime",
179
+ "Period"
180
+ ],
181
+ "DocumentManifest.content.p": [
182
+ "Attachment",
183
+ "Reference"
184
+ ],
185
+ "Dosage.asNeeded": [
186
+ "Boolean",
187
+ "CodeableConcept"
188
+ ],
189
+ "Dosage.dose": [
190
+ "Range",
191
+ "Quantity"
192
+ ],
193
+ "Dosage.rate": [
194
+ "Ratio",
195
+ "Range",
196
+ "Quantity"
197
+ ],
198
+ "ElementDefinition.binding.valueSet": [
199
+ "Uri",
200
+ "Reference"
201
+ ],
202
+ "ElementDefinition.defaultValue": [
203
+ "Base64Binary",
204
+ "Boolean",
205
+ "Code",
206
+ "Date",
207
+ "DateTime",
208
+ "Decimal",
209
+ "Id",
210
+ "Instant",
211
+ "Integer",
212
+ "Markdown",
213
+ "Oid",
214
+ "PositiveInt",
215
+ "String",
216
+ "Time",
217
+ "UnsignedInt",
218
+ "Uri",
219
+ "Address",
220
+ "Age",
221
+ "Annotation",
222
+ "Attachment",
223
+ "CodeableConcept",
224
+ "Coding",
225
+ "ContactPoint",
226
+ "Count",
227
+ "Distance",
228
+ "Duration",
229
+ "HumanName",
230
+ "Identifier",
231
+ "Money",
232
+ "Period",
233
+ "Quantity",
234
+ "Range",
235
+ "Ratio",
236
+ "Reference",
237
+ "SampledData",
238
+ "Signature",
239
+ "Timing",
240
+ "Meta"
241
+ ],
242
+ "ElementDefinition.example.value": [
243
+ "Base64Binary",
244
+ "Boolean",
245
+ "Code",
246
+ "Date",
247
+ "DateTime",
248
+ "Decimal",
249
+ "Id",
250
+ "Instant",
251
+ "Integer",
252
+ "Markdown",
253
+ "Oid",
254
+ "PositiveInt",
255
+ "String",
256
+ "Time",
257
+ "UnsignedInt",
258
+ "Uri",
259
+ "Address",
260
+ "Age",
261
+ "Annotation",
262
+ "Attachment",
263
+ "CodeableConcept",
264
+ "Coding",
265
+ "ContactPoint",
266
+ "Count",
267
+ "Distance",
268
+ "Duration",
269
+ "HumanName",
270
+ "Identifier",
271
+ "Money",
272
+ "Period",
273
+ "Quantity",
274
+ "Range",
275
+ "Ratio",
276
+ "Reference",
277
+ "SampledData",
278
+ "Signature",
279
+ "Timing",
280
+ "Meta"
281
+ ],
282
+ "ElementDefinition.extension.value": [
283
+ "CodeableConcept",
284
+ "Reference"
285
+ ],
286
+ "ElementDefinition.fixed": [
287
+ "Base64Binary",
288
+ "Boolean",
289
+ "Code",
290
+ "Date",
291
+ "DateTime",
292
+ "Decimal",
293
+ "Id",
294
+ "Instant",
295
+ "Integer",
296
+ "Markdown",
297
+ "Oid",
298
+ "PositiveInt",
299
+ "String",
300
+ "Time",
301
+ "UnsignedInt",
302
+ "Uri",
303
+ "Address",
304
+ "Age",
305
+ "Annotation",
306
+ "Attachment",
307
+ "CodeableConcept",
308
+ "Coding",
309
+ "ContactPoint",
310
+ "Count",
311
+ "Distance",
312
+ "Duration",
313
+ "HumanName",
314
+ "Identifier",
315
+ "Money",
316
+ "Period",
317
+ "Quantity",
318
+ "Range",
319
+ "Ratio",
320
+ "Reference",
321
+ "SampledData",
322
+ "Signature",
323
+ "Timing",
324
+ "Meta"
325
+ ],
326
+ "ElementDefinition.maxValue": [
327
+ "Date",
328
+ "DateTime",
329
+ "Instant",
330
+ "Time",
331
+ "Decimal",
332
+ "Integer",
333
+ "PositiveInt",
334
+ "UnsignedInt",
335
+ "Quantity"
336
+ ],
337
+ "ElementDefinition.minValue": [
338
+ "Date",
339
+ "DateTime",
340
+ "Instant",
341
+ "Time",
342
+ "Decimal",
343
+ "Integer",
344
+ "PositiveInt",
345
+ "UnsignedInt",
346
+ "Quantity"
347
+ ],
348
+ "ElementDefinition.pattern": [
349
+ "Base64Binary",
350
+ "Boolean",
351
+ "Code",
352
+ "Date",
353
+ "DateTime",
354
+ "Decimal",
355
+ "Id",
356
+ "Instant",
357
+ "Integer",
358
+ "Markdown",
359
+ "Oid",
360
+ "PositiveInt",
361
+ "String",
362
+ "Time",
363
+ "UnsignedInt",
364
+ "Uri",
365
+ "Address",
366
+ "Age",
367
+ "Annotation",
368
+ "Attachment",
369
+ "CodeableConcept",
370
+ "Coding",
371
+ "ContactPoint",
372
+ "Count",
373
+ "Distance",
374
+ "Duration",
375
+ "HumanName",
376
+ "Identifier",
377
+ "Money",
378
+ "Period",
379
+ "Quantity",
380
+ "Range",
381
+ "Ratio",
382
+ "Reference",
383
+ "SampledData",
384
+ "Signature",
385
+ "Timing",
386
+ "Meta"
387
+ ],
388
+ "EligibilityRequest.serviced": [
389
+ "Date",
390
+ "Period"
391
+ ],
392
+ "EligibilityResponse.insurance.benefitBalance.financial.allowed": [
393
+ "UnsignedInt",
394
+ "String",
395
+ "Money"
396
+ ],
397
+ "EligibilityResponse.insurance.benefitBalance.financial.used": [
398
+ "UnsignedInt",
399
+ "Money"
400
+ ],
401
+ "ExplanationOfBenefit.accident.location": [
402
+ "Address",
403
+ "Reference"
404
+ ],
405
+ "ExplanationOfBenefit.benefitBalance.financial.allowed": [
406
+ "UnsignedInt",
407
+ "String",
408
+ "Money"
409
+ ],
410
+ "ExplanationOfBenefit.benefitBalance.financial.used": [
411
+ "UnsignedInt",
412
+ "Money"
413
+ ],
414
+ "ExplanationOfBenefit.diagnosis.diagnosis": [
415
+ "CodeableConcept",
416
+ "Reference"
417
+ ],
418
+ "ExplanationOfBenefit.information.timing": [
419
+ "Date",
420
+ "Period"
421
+ ],
422
+ "ExplanationOfBenefit.information.value": [
423
+ "String",
424
+ "Quantity",
425
+ "Attachment",
426
+ "Reference"
427
+ ],
428
+ "ExplanationOfBenefit.item.location": [
429
+ "CodeableConcept",
430
+ "Address",
431
+ "Reference"
432
+ ],
433
+ "ExplanationOfBenefit.item.serviced": [
434
+ "Date",
435
+ "Period"
436
+ ],
437
+ "ExplanationOfBenefit.procedure.procedure": [
438
+ "CodeableConcept",
439
+ "Reference"
440
+ ],
441
+ "Extension.value": [
442
+ "Base64Binary",
443
+ "Boolean",
444
+ "Code",
445
+ "Date",
446
+ "DateTime",
447
+ "Decimal",
448
+ "Id",
449
+ "Instant",
450
+ "Integer",
451
+ "Markdown",
452
+ "Oid",
453
+ "PositiveInt",
454
+ "String",
455
+ "Time",
456
+ "UnsignedInt",
457
+ "Uri",
458
+ "Address",
459
+ "Age",
460
+ "Annotation",
461
+ "Attachment",
462
+ "CodeableConcept",
463
+ "Coding",
464
+ "ContactPoint",
465
+ "Count",
466
+ "Distance",
467
+ "Duration",
468
+ "HumanName",
469
+ "Identifier",
470
+ "Money",
471
+ "Period",
472
+ "Quantity",
473
+ "Range",
474
+ "Ratio",
475
+ "Reference",
476
+ "SampledData",
477
+ "Signature",
478
+ "Timing",
479
+ "Meta"
480
+ ],
481
+ "FamilyMemberHistory.age": [
482
+ "Age",
483
+ "Range",
484
+ "String"
485
+ ],
486
+ "FamilyMemberHistory.born": [
487
+ "Period",
488
+ "Date",
489
+ "String"
490
+ ],
491
+ "FamilyMemberHistory.condition.onset": [
492
+ "Age",
493
+ "Range",
494
+ "Period",
495
+ "String"
496
+ ],
497
+ "FamilyMemberHistory.deceased": [
498
+ "Boolean",
499
+ "Age",
500
+ "Range",
501
+ "Date",
502
+ "String"
503
+ ],
504
+ "Goal.start": [
505
+ "Date",
506
+ "CodeableConcept"
507
+ ],
508
+ "Goal.target.detail": [
509
+ "Quantity",
510
+ "Range",
511
+ "CodeableConcept"
512
+ ],
513
+ "Goal.target.due": [
514
+ "Date",
515
+ "Duration"
516
+ ],
517
+ "Group.characteristic.value": [
518
+ "CodeableConcept",
519
+ "Boolean",
520
+ "Quantity",
521
+ "Range"
522
+ ],
523
+ "GuidanceResponse.reason": [
524
+ "CodeableConcept",
525
+ "Reference"
526
+ ],
527
+ "ImplementationGuide.package.resource.source": [
528
+ "Uri",
529
+ "Reference"
530
+ ],
531
+ "Media.occurrence": [
532
+ "DateTime",
533
+ "Period"
534
+ ],
535
+ "Medication.ingredient.item": [
536
+ "CodeableConcept",
537
+ "Reference"
538
+ ],
539
+ "Medication.package.content.item": [
540
+ "CodeableConcept",
541
+ "Reference"
542
+ ],
543
+ "MedicationAdministration.dosage.rate": [
544
+ "Ratio",
545
+ "Quantity"
546
+ ],
547
+ "MedicationAdministration.effective": [
548
+ "DateTime",
549
+ "Period"
550
+ ],
551
+ "MedicationAdministration.medication": [
552
+ "CodeableConcept",
553
+ "Reference"
554
+ ],
555
+ "MedicationDispense.medication": [
556
+ "CodeableConcept",
557
+ "Reference"
558
+ ],
559
+ "MedicationDispense.notDoneReason": [
560
+ "CodeableConcept",
561
+ "Reference"
562
+ ],
563
+ "MedicationRequest.medication": [
564
+ "CodeableConcept",
565
+ "Reference"
566
+ ],
567
+ "MedicationStatement.effective": [
568
+ "DateTime",
569
+ "Period"
570
+ ],
571
+ "MedicationStatement.medication": [
572
+ "CodeableConcept",
573
+ "Reference"
574
+ ],
575
+ "NutritionOrder.enteralFormula.administration.rate": [
576
+ "Quantity",
577
+ "Ratio"
578
+ ],
579
+ "Observation.component.value": [
580
+ "Quantity",
581
+ "CodeableConcept",
582
+ "String",
583
+ "Range",
584
+ "Ratio",
585
+ "SampledData",
586
+ "Attachment",
587
+ "Time",
588
+ "DateTime",
589
+ "Period"
590
+ ],
591
+ "Observation.effective": [
592
+ "DateTime",
593
+ "Period"
594
+ ],
595
+ "Observation.value": [
596
+ "Quantity",
597
+ "CodeableConcept",
598
+ "String",
599
+ "Boolean",
600
+ "Range",
601
+ "Ratio",
602
+ "SampledData",
603
+ "Attachment",
604
+ "Time",
605
+ "DateTime",
606
+ "Period"
607
+ ],
608
+ "OperationDefinition.parameter.binding.valueSet": [
609
+ "Uri",
610
+ "Reference"
611
+ ],
612
+ "Parameters.parameter.value": [
613
+ "Base64Binary",
614
+ "Boolean",
615
+ "Code",
616
+ "Date",
617
+ "DateTime",
618
+ "Decimal",
619
+ "Id",
620
+ "Instant",
621
+ "Integer",
622
+ "Markdown",
623
+ "Oid",
624
+ "PositiveInt",
625
+ "String",
626
+ "Time",
627
+ "UnsignedInt",
628
+ "Uri",
629
+ "Address",
630
+ "Age",
631
+ "Annotation",
632
+ "Attachment",
633
+ "CodeableConcept",
634
+ "Coding",
635
+ "ContactPoint",
636
+ "Count",
637
+ "Distance",
638
+ "Duration",
639
+ "HumanName",
640
+ "Identifier",
641
+ "Money",
642
+ "Period",
643
+ "Quantity",
644
+ "Range",
645
+ "Ratio",
646
+ "Reference",
647
+ "SampledData",
648
+ "Signature",
649
+ "Timing",
650
+ "Meta"
651
+ ],
652
+ "Patient.deceased": [
653
+ "Boolean",
654
+ "DateTime"
655
+ ],
656
+ "Patient.multipleBirth": [
657
+ "Boolean",
658
+ "Integer"
659
+ ],
660
+ "PlanDefinition.action.relatedAction.offset": [
661
+ "Duration",
662
+ "Range"
663
+ ],
664
+ "PlanDefinition.action.timing": [
665
+ "DateTime",
666
+ "Period",
667
+ "Duration",
668
+ "Range",
669
+ "Timing"
670
+ ],
671
+ "PlanDefinition.goal.target.detail": [
672
+ "Quantity",
673
+ "Range",
674
+ "CodeableConcept"
675
+ ],
676
+ "Procedure.performed": [
677
+ "DateTime",
678
+ "Period"
679
+ ],
680
+ "ProcedureRequest.asNeeded": [
681
+ "Boolean",
682
+ "CodeableConcept"
683
+ ],
684
+ "ProcedureRequest.occurrence": [
685
+ "DateTime",
686
+ "Period",
687
+ "Timing"
688
+ ],
689
+ "Provenance.agent.onBehalfOf": [
690
+ "Uri",
691
+ "Reference"
692
+ ],
693
+ "Provenance.agent.who": [
694
+ "Uri",
695
+ "Reference"
696
+ ],
697
+ "Provenance.entity.what": [
698
+ "Uri",
699
+ "Reference",
700
+ "Identifier"
701
+ ],
702
+ "Questionnaire.item.enableWhen.answer": [
703
+ "Boolean",
704
+ "Decimal",
705
+ "Integer",
706
+ "Date",
707
+ "DateTime",
708
+ "Time",
709
+ "String",
710
+ "Uri",
711
+ "Attachment",
712
+ "Coding",
713
+ "Quantity",
714
+ "Reference"
715
+ ],
716
+ "Questionnaire.item.initial": [
717
+ "Boolean",
718
+ "Decimal",
719
+ "Integer",
720
+ "Date",
721
+ "DateTime",
722
+ "Time",
723
+ "String",
724
+ "Uri",
725
+ "Attachment",
726
+ "Coding",
727
+ "Quantity",
728
+ "Reference"
729
+ ],
730
+ "Questionnaire.item.option.value": [
731
+ "Integer",
732
+ "Date",
733
+ "Time",
734
+ "String",
735
+ "Coding"
736
+ ],
737
+ "QuestionnaireResponse.item.answer.value": [
738
+ "Boolean",
739
+ "Decimal",
740
+ "Integer",
741
+ "Date",
742
+ "DateTime",
743
+ "Time",
744
+ "String",
745
+ "Uri",
746
+ "Attachment",
747
+ "Coding",
748
+ "Quantity",
749
+ "Reference"
750
+ ],
751
+ "ReferralRequest.occurrence": [
752
+ "DateTime",
753
+ "Period"
754
+ ],
755
+ "RequestGroup.action.relatedAction.offset": [
756
+ "Duration",
757
+ "Range"
758
+ ],
759
+ "RequestGroup.action.timing": [
760
+ "DateTime",
761
+ "Period",
762
+ "Duration",
763
+ "Range",
764
+ "Timing"
765
+ ],
766
+ "RequestGroup.reason": [
767
+ "CodeableConcept",
768
+ "Reference"
769
+ ],
770
+ "RiskAssessment.occurrence": [
771
+ "DateTime",
772
+ "Period"
773
+ ],
774
+ "RiskAssessment.prediction.probability": [
775
+ "Decimal",
776
+ "Range"
777
+ ],
778
+ "RiskAssessment.prediction.when": [
779
+ "Period",
780
+ "Range"
781
+ ],
782
+ "RiskAssessment.reason": [
783
+ "CodeableConcept",
784
+ "Reference"
785
+ ],
786
+ "Signature.onBehalfOf": [
787
+ "Uri",
788
+ "Reference"
789
+ ],
790
+ "Signature.who": [
791
+ "Uri",
792
+ "Reference"
793
+ ],
794
+ "Specimen.collection.collected": [
795
+ "DateTime",
796
+ "Period"
797
+ ],
798
+ "Specimen.container.additive": [
799
+ "CodeableConcept",
800
+ "Reference"
801
+ ],
802
+ "Specimen.processing.time": [
803
+ "DateTime",
804
+ "Period"
805
+ ],
806
+ "StructureMap.group.rule.source.defaultValue": [
807
+ "Base64Binary",
808
+ "Boolean",
809
+ "Code",
810
+ "Date",
811
+ "DateTime",
812
+ "Decimal",
813
+ "Id",
814
+ "Instant",
815
+ "Integer",
816
+ "Markdown",
817
+ "Oid",
818
+ "PositiveInt",
819
+ "String",
820
+ "Time",
821
+ "UnsignedInt",
822
+ "Uri",
823
+ "Address",
824
+ "Age",
825
+ "Annotation",
826
+ "Attachment",
827
+ "CodeableConcept",
828
+ "Coding",
829
+ "ContactPoint",
830
+ "Count",
831
+ "Distance",
832
+ "Duration",
833
+ "HumanName",
834
+ "Identifier",
835
+ "Money",
836
+ "Period",
837
+ "Quantity",
838
+ "Range",
839
+ "Ratio",
840
+ "Reference",
841
+ "SampledData",
842
+ "Signature",
843
+ "Timing",
844
+ "Meta"
845
+ ],
846
+ "StructureMap.group.rule.target.parameter.value": [
847
+ "Id",
848
+ "String",
849
+ "Boolean",
850
+ "Integer",
851
+ "Decimal"
852
+ ],
853
+ "Substance.ingredient.substance": [
854
+ "CodeableConcept",
855
+ "Reference"
856
+ ],
857
+ "SupplyDelivery.occurrence": [
858
+ "DateTime",
859
+ "Period",
860
+ "Timing"
861
+ ],
862
+ "SupplyDelivery.suppliedItem.item": [
863
+ "CodeableConcept",
864
+ "Reference"
865
+ ],
866
+ "SupplyRequest.occurrence": [
867
+ "DateTime",
868
+ "Period",
869
+ "Timing"
870
+ ],
871
+ "SupplyRequest.orderedItem.item": [
872
+ "CodeableConcept",
873
+ "Reference"
874
+ ],
875
+ "SupplyRequest.reason": [
876
+ "CodeableConcept",
877
+ "Reference"
878
+ ],
879
+ "Task.definition": [
880
+ "Uri",
881
+ "Reference"
882
+ ],
883
+ "Task.input.value": [
884
+ "Base64Binary",
885
+ "Boolean",
886
+ "Code",
887
+ "Date",
888
+ "DateTime",
889
+ "Decimal",
890
+ "Id",
891
+ "Instant",
892
+ "Integer",
893
+ "Markdown",
894
+ "Oid",
895
+ "PositiveInt",
896
+ "String",
897
+ "Time",
898
+ "UnsignedInt",
899
+ "Uri",
900
+ "Address",
901
+ "Age",
902
+ "Annotation",
903
+ "Attachment",
904
+ "CodeableConcept",
905
+ "Coding",
906
+ "ContactPoint",
907
+ "Count",
908
+ "Distance",
909
+ "Duration",
910
+ "HumanName",
911
+ "Identifier",
912
+ "Money",
913
+ "Period",
914
+ "Quantity",
915
+ "Range",
916
+ "Ratio",
917
+ "Reference",
918
+ "SampledData",
919
+ "Signature",
920
+ "Timing",
921
+ "Meta"
922
+ ],
923
+ "Task.output.value": [
924
+ "Base64Binary",
925
+ "Boolean",
926
+ "Code",
927
+ "Date",
928
+ "DateTime",
929
+ "Decimal",
930
+ "Id",
931
+ "Instant",
932
+ "Integer",
933
+ "Markdown",
934
+ "Oid",
935
+ "PositiveInt",
936
+ "String",
937
+ "Time",
938
+ "UnsignedInt",
939
+ "Uri",
940
+ "Address",
941
+ "Age",
942
+ "Annotation",
943
+ "Attachment",
944
+ "CodeableConcept",
945
+ "Coding",
946
+ "ContactPoint",
947
+ "Count",
948
+ "Distance",
949
+ "Duration",
950
+ "HumanName",
951
+ "Identifier",
952
+ "Money",
953
+ "Period",
954
+ "Quantity",
955
+ "Range",
956
+ "Ratio",
957
+ "Reference",
958
+ "SampledData",
959
+ "Signature",
960
+ "Timing",
961
+ "Meta"
962
+ ],
963
+ "Timing.repeat.bounds": [
964
+ "Duration",
965
+ "Range",
966
+ "Period"
967
+ ],
968
+ "TriggerDefinition.eventTiming": [
969
+ "Timing",
970
+ "Reference",
971
+ "Date",
972
+ "DateTime"
973
+ ],
974
+ "UsageContext.value": [
975
+ "CodeableConcept",
976
+ "Quantity",
977
+ "Range"
978
+ ],
979
+ "ValueSet.expansion.parameter.value": [
980
+ "String",
981
+ "Boolean",
982
+ "Integer",
983
+ "Decimal",
984
+ "Uri",
985
+ "Code"
986
+ ],
987
+ "VisionPrescription.reason": [
988
+ "CodeableConcept",
989
+ "Reference"
990
+ ]
991
+ }