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