fhir_models 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +0 -1
  4. data/Gemfile.lock +1 -1
  5. data/Rakefile +0 -1
  6. data/fhir_models.gemspec +1 -1
  7. data/lib/fhir/metadata.rb +25 -0
  8. data/lib/fhir/resources/Account.rb +54 -0
  9. data/lib/fhir/resources/AllergyIntolerance.rb +92 -0
  10. data/lib/fhir/resources/Appointment.rb +88 -0
  11. data/lib/fhir/resources/AppointmentResponse.rb +48 -0
  12. data/lib/fhir/resources/AuditEvent.rb +188 -0
  13. data/lib/fhir/resources/Basic.rb +42 -0
  14. data/lib/fhir/resources/Binary.rb +28 -0
  15. data/lib/fhir/resources/BodySite.rb +44 -0
  16. data/lib/fhir/resources/Bundle.rb +154 -0
  17. data/lib/fhir/resources/CarePlan.rb +184 -0
  18. data/lib/fhir/resources/CareTeam.rb +70 -0
  19. data/lib/fhir/resources/Claim.rb +490 -0
  20. data/lib/fhir/resources/ClaimResponse.rb +421 -0
  21. data/lib/fhir/resources/ClinicalImpression.rb +131 -0
  22. data/lib/fhir/resources/CodeSystem.rb +225 -0
  23. data/lib/fhir/resources/Communication.rb +83 -0
  24. data/lib/fhir/resources/CommunicationRequest.rb +90 -0
  25. data/lib/fhir/resources/CompartmentDefinition.rb +98 -0
  26. data/lib/fhir/resources/Composition.rb +136 -0
  27. data/lib/fhir/resources/ConceptMap.rb +168 -0
  28. data/lib/fhir/resources/Condition.rb +126 -0
  29. data/lib/fhir/resources/Conformance.rb +442 -0
  30. data/lib/fhir/resources/Contract.rb +320 -0
  31. data/lib/fhir/resources/Coverage.rb +77 -0
  32. data/lib/fhir/resources/DataElement.rb +104 -0
  33. data/lib/fhir/resources/DecisionSupportRule.rb +42 -0
  34. data/lib/fhir/resources/DecisionSupportServiceModule.rb +40 -0
  35. data/lib/fhir/resources/DetectedIssue.rb +74 -0
  36. data/lib/fhir/resources/Device.rb +64 -0
  37. data/lib/fhir/resources/DeviceComponent.rb +74 -0
  38. data/lib/fhir/resources/DeviceMetric.rb +74 -0
  39. data/lib/fhir/resources/DeviceUseRequest.rb +68 -0
  40. data/lib/fhir/resources/DeviceUseStatement.rb +60 -0
  41. data/lib/fhir/resources/DiagnosticOrder.rb +106 -0
  42. data/lib/fhir/resources/DiagnosticReport.rb +91 -0
  43. data/lib/fhir/resources/DocumentManifest.rb +99 -0
  44. data/lib/fhir/resources/DocumentReference.rb +156 -0
  45. data/lib/fhir/resources/DomainResource.rb +32 -0
  46. data/lib/fhir/resources/EligibilityRequest.rb +90 -0
  47. data/lib/fhir/resources/EligibilityResponse.rb +152 -0
  48. data/lib/fhir/resources/Encounter.rb +172 -0
  49. data/lib/fhir/resources/EnrollmentRequest.rb +52 -0
  50. data/lib/fhir/resources/EnrollmentResponse.rb +52 -0
  51. data/lib/fhir/resources/EpisodeOfCare.rb +74 -0
  52. data/lib/fhir/resources/ExpansionProfile.rb +284 -0
  53. data/lib/fhir/resources/ExplanationOfBenefit.rb +764 -0
  54. data/lib/fhir/resources/FamilyMemberHistory.rb +110 -0
  55. data/lib/fhir/resources/Flag.rb +48 -0
  56. data/lib/fhir/resources/Goal.rb +91 -0
  57. data/lib/fhir/resources/Group.rb +105 -0
  58. data/lib/fhir/resources/GuidanceResponse.rb +139 -0
  59. data/lib/fhir/resources/HealthcareService.rb +122 -0
  60. data/lib/fhir/resources/ImagingExcerpt.rb +210 -0
  61. data/lib/fhir/resources/ImagingObjectSelection.rb +136 -0
  62. data/lib/fhir/resources/ImagingStudy.rb +130 -0
  63. data/lib/fhir/resources/Immunization.rb +148 -0
  64. data/lib/fhir/resources/ImmunizationRecommendation.rb +114 -0
  65. data/lib/fhir/resources/ImplementationGuide.rb +211 -0
  66. data/lib/fhir/resources/Library.rb +145 -0
  67. data/lib/fhir/resources/Linkage.rb +56 -0
  68. data/lib/fhir/resources/List.rb +82 -0
  69. data/lib/fhir/resources/Location.rb +78 -0
  70. data/lib/fhir/resources/Measure.rb +160 -0
  71. data/lib/fhir/resources/MeasureReport.rb +204 -0
  72. data/lib/fhir/resources/Media.rb +56 -0
  73. data/lib/fhir/resources/Medication.rb +154 -0
  74. data/lib/fhir/resources/MedicationAdministration.rb +104 -0
  75. data/lib/fhir/resources/MedicationDispense.rb +141 -0
  76. data/lib/fhir/resources/MedicationOrder.rb +172 -0
  77. data/lib/fhir/resources/MedicationStatement.rb +117 -0
  78. data/lib/fhir/resources/MessageHeader.rb +124 -0
  79. data/lib/fhir/resources/ModuleDefinition.rb +249 -0
  80. data/lib/fhir/resources/NamingSystem.rb +102 -0
  81. data/lib/fhir/resources/NutritionOrder.rb +211 -0
  82. data/lib/fhir/resources/Observation.rb +187 -0
  83. data/lib/fhir/resources/OperationDefinition.rb +153 -0
  84. data/lib/fhir/resources/OperationOutcome.rb +62 -0
  85. data/lib/fhir/resources/Order.rb +73 -0
  86. data/lib/fhir/resources/OrderResponse.rb +46 -0
  87. data/lib/fhir/resources/OrderSet.rb +38 -0
  88. data/lib/fhir/resources/Organization.rb +72 -0
  89. data/lib/fhir/resources/Parameters.rb +117 -0
  90. data/lib/fhir/resources/Patient.rb +166 -0
  91. data/lib/fhir/resources/PaymentNotice.rb +71 -0
  92. data/lib/fhir/resources/PaymentReconciliation.rb +140 -0
  93. data/lib/fhir/resources/Person.rb +72 -0
  94. data/lib/fhir/resources/Practitioner.rb +110 -0
  95. data/lib/fhir/resources/PractitionerRole.rb +102 -0
  96. data/lib/fhir/resources/Procedure.rb +122 -0
  97. data/lib/fhir/resources/ProcedureRequest.rb +73 -0
  98. data/lib/fhir/resources/ProcessRequest.rb +99 -0
  99. data/lib/fhir/resources/ProcessResponse.rb +92 -0
  100. data/lib/fhir/resources/Protocol.rb +242 -0
  101. data/lib/fhir/resources/Provenance.rb +122 -0
  102. data/lib/fhir/resources/Questionnaire.rb +205 -0
  103. data/lib/fhir/resources/QuestionnaireResponse.rb +123 -0
  104. data/lib/fhir/resources/ReferralRequest.rb +68 -0
  105. data/lib/fhir/resources/RelatedPerson.rb +52 -0
  106. data/lib/fhir/resources/Resource.rb +24 -0
  107. data/lib/fhir/resources/RiskAssessment.rb +88 -0
  108. data/lib/fhir/resources/Schedule.rb +46 -0
  109. data/lib/fhir/resources/SearchParameter.rb +86 -0
  110. data/lib/fhir/resources/Sequence.rb +238 -0
  111. data/lib/fhir/resources/Slot.rb +54 -0
  112. data/lib/fhir/resources/Specimen.rb +140 -0
  113. data/lib/fhir/resources/StructureDefinition.rb +164 -0
  114. data/lib/fhir/resources/StructureMap.rb +297 -0
  115. data/lib/fhir/resources/Subscription.rb +72 -0
  116. data/lib/fhir/resources/Substance.rb +86 -0
  117. data/lib/fhir/resources/SupplyDelivery.rb +54 -0
  118. data/lib/fhir/resources/SupplyRequest.rb +77 -0
  119. data/lib/fhir/resources/Task.rb +240 -0
  120. data/lib/fhir/resources/TestScript.rb +692 -0
  121. data/lib/fhir/resources/ValueSet.rb +289 -0
  122. data/lib/fhir/resources/VisionPrescription.rb +97 -0
  123. data/lib/fhir/types/ActionDefinition.rb +109 -0
  124. data/lib/fhir/types/Address.rb +36 -0
  125. data/lib/fhir/types/Annotation.rb +27 -0
  126. data/lib/fhir/types/Attachment.rb +32 -0
  127. data/lib/fhir/types/BackboneElement.rb +18 -0
  128. data/lib/fhir/types/CodeableConcept.rb +20 -0
  129. data/lib/fhir/types/Coding.rb +26 -0
  130. data/lib/fhir/types/ContactPoint.rb +26 -0
  131. data/lib/fhir/types/DataRequirement.rb +78 -0
  132. data/lib/fhir/types/Element.rb +16 -0
  133. data/lib/fhir/types/ElementDefinition.rb +605 -0
  134. data/lib/fhir/types/Extension.rb +87 -0
  135. data/lib/fhir/types/HumanName.rb +30 -0
  136. data/lib/fhir/types/Identifier.rb +28 -0
  137. data/lib/fhir/types/Meta.rb +26 -0
  138. data/lib/fhir/types/ModuleMetadata.rb +152 -0
  139. data/lib/fhir/types/Narrative.rb +20 -0
  140. data/lib/fhir/types/ParameterDefinition.rb +30 -0
  141. data/lib/fhir/types/Period.rb +20 -0
  142. data/lib/fhir/types/Quantity.rb +26 -0
  143. data/lib/fhir/types/Range.rb +20 -0
  144. data/lib/fhir/types/Ratio.rb +20 -0
  145. data/lib/fhir/types/Reference.rb +20 -0
  146. data/lib/fhir/types/SampledData.rb +30 -0
  147. data/lib/fhir/types/Signature.rb +31 -0
  148. data/lib/fhir/types/Timing.rb +69 -0
  149. data/lib/fhir/types/TriggerDefinition.rb +33 -0
  150. data/lib/fhir_models.rb +2 -2
  151. data/lib/tasks/tasks.rake +29 -0
  152. metadata +145 -2
@@ -0,0 +1,289 @@
1
+ module FHIR
2
+ class ValueSet < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["context", "date", "description", "expansion", "identifier", "name", "publisher", "reference", "status", "url", "version"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'ValueSet.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'ValueSet.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'ValueSet.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'ValueSet.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'ValueSet.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'ValueSet.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'ValueSet.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'ValueSet.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'url' => {'type'=>'uri', 'path'=>'ValueSet.url', 'min'=>0, 'max'=>1},
18
+ 'identifier' => {'type'=>'Identifier', 'path'=>'ValueSet.identifier', 'min'=>0, 'max'=>1},
19
+ 'version' => {'type'=>'string', 'path'=>'ValueSet.version', 'min'=>0, 'max'=>1},
20
+ 'name' => {'type'=>'string', 'path'=>'ValueSet.name', 'min'=>0, 'max'=>1},
21
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/conformance-resource-status'=>['draft', 'active', 'retired']}, 'type'=>'code', 'path'=>'ValueSet.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conformance-resource-status'}},
22
+ 'experimental' => {'type'=>'boolean', 'path'=>'ValueSet.experimental', 'min'=>0, 'max'=>1},
23
+ 'publisher' => {'type'=>'string', 'path'=>'ValueSet.publisher', 'min'=>0, 'max'=>1},
24
+ 'contact' => {'type'=>'ValueSet::Contact', 'path'=>'ValueSet.contact', 'min'=>0, 'max'=>Float::INFINITY},
25
+ 'date' => {'type'=>'dateTime', 'path'=>'ValueSet.date', 'min'=>0, 'max'=>1},
26
+ 'lockedDate' => {'type'=>'date', 'path'=>'ValueSet.lockedDate', 'min'=>0, 'max'=>1},
27
+ 'description' => {'type'=>'string', 'path'=>'ValueSet.description', 'min'=>0, 'max'=>1},
28
+ 'useContext' => {'type'=>'CodeableConcept', 'path'=>'ValueSet.useContext', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/use-context'}},
29
+ 'immutable' => {'type'=>'boolean', 'path'=>'ValueSet.immutable', 'min'=>0, 'max'=>1},
30
+ 'requirements' => {'type'=>'string', 'path'=>'ValueSet.requirements', 'min'=>0, 'max'=>1},
31
+ 'copyright' => {'type'=>'string', 'path'=>'ValueSet.copyright', 'min'=>0, 'max'=>1},
32
+ 'extensible' => {'type'=>'boolean', 'path'=>'ValueSet.extensible', 'min'=>0, 'max'=>1},
33
+ 'compose' => {'type'=>'ValueSet::Compose', 'path'=>'ValueSet.compose', 'min'=>0, 'max'=>1},
34
+ 'expansion' => {'type'=>'ValueSet::Expansion', 'path'=>'ValueSet.expansion', 'min'=>0, 'max'=>1}
35
+ }
36
+
37
+ class Contact < FHIR::Model
38
+ include FHIR::Hashable
39
+ include FHIR::Json
40
+ include FHIR::Xml
41
+
42
+ METADATA = {
43
+ 'id' => {'type'=>'id', 'path'=>'Contact.id', 'min'=>0, 'max'=>1},
44
+ 'extension' => {'type'=>'Extension', 'path'=>'Contact.extension', 'min'=>0, 'max'=>Float::INFINITY},
45
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Contact.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
46
+ 'name' => {'type'=>'string', 'path'=>'Contact.name', 'min'=>0, 'max'=>1},
47
+ 'telecom' => {'type'=>'ContactPoint', 'path'=>'Contact.telecom', 'min'=>0, 'max'=>Float::INFINITY}
48
+ }
49
+
50
+ attr_accessor :id # 0-1 id
51
+ attr_accessor :extension # 0-* [ Extension ]
52
+ attr_accessor :modifierExtension # 0-* [ Extension ]
53
+ attr_accessor :name # 0-1 string
54
+ attr_accessor :telecom # 0-* [ ContactPoint ]
55
+ end
56
+
57
+ class Compose < FHIR::Model
58
+ include FHIR::Hashable
59
+ include FHIR::Json
60
+ include FHIR::Xml
61
+
62
+ METADATA = {
63
+ 'id' => {'type'=>'id', 'path'=>'Compose.id', 'min'=>0, 'max'=>1},
64
+ 'extension' => {'type'=>'Extension', 'path'=>'Compose.extension', 'min'=>0, 'max'=>Float::INFINITY},
65
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Compose.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
66
+ 'import' => {'type'=>'uri', 'path'=>'Compose.import', 'min'=>0, 'max'=>Float::INFINITY},
67
+ 'include' => {'type'=>'ValueSet::Compose::Include', 'path'=>'Compose.include', 'min'=>0, 'max'=>Float::INFINITY},
68
+ 'exclude' => {'type'=>'ValueSet::Compose::Include', 'path'=>'Compose.exclude', 'min'=>0, 'max'=>Float::INFINITY}
69
+ }
70
+
71
+ class Include < FHIR::Model
72
+ include FHIR::Hashable
73
+ include FHIR::Json
74
+ include FHIR::Xml
75
+
76
+ METADATA = {
77
+ 'id' => {'type'=>'id', 'path'=>'Include.id', 'min'=>0, 'max'=>1},
78
+ 'extension' => {'type'=>'Extension', 'path'=>'Include.extension', 'min'=>0, 'max'=>Float::INFINITY},
79
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Include.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
80
+ 'system' => {'type'=>'uri', 'path'=>'Include.system', 'min'=>1, 'max'=>1},
81
+ 'version' => {'type'=>'string', 'path'=>'Include.version', 'min'=>0, 'max'=>1},
82
+ 'concept' => {'type'=>'ValueSet::Compose::Include::Concept', 'path'=>'Include.concept', 'min'=>0, 'max'=>Float::INFINITY},
83
+ 'filter' => {'type'=>'ValueSet::Compose::Include::Filter', 'path'=>'Include.filter', 'min'=>0, 'max'=>Float::INFINITY}
84
+ }
85
+
86
+ class Concept < FHIR::Model
87
+ include FHIR::Hashable
88
+ include FHIR::Json
89
+ include FHIR::Xml
90
+
91
+ METADATA = {
92
+ 'id' => {'type'=>'id', 'path'=>'Concept.id', 'min'=>0, 'max'=>1},
93
+ 'extension' => {'type'=>'Extension', 'path'=>'Concept.extension', 'min'=>0, 'max'=>Float::INFINITY},
94
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Concept.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
95
+ 'code' => {'type'=>'code', 'path'=>'Concept.code', 'min'=>1, 'max'=>1},
96
+ 'display' => {'type'=>'string', 'path'=>'Concept.display', 'min'=>0, 'max'=>1},
97
+ 'designation' => {'type'=>'ValueSet::Compose::Include::Concept::Designation', 'path'=>'Concept.designation', 'min'=>0, 'max'=>Float::INFINITY}
98
+ }
99
+
100
+ class Designation < FHIR::Model
101
+ include FHIR::Hashable
102
+ include FHIR::Json
103
+ include FHIR::Xml
104
+
105
+ METADATA = {
106
+ 'id' => {'type'=>'id', 'path'=>'Designation.id', 'min'=>0, 'max'=>1},
107
+ 'extension' => {'type'=>'Extension', 'path'=>'Designation.extension', 'min'=>0, 'max'=>Float::INFINITY},
108
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Designation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
109
+ 'language' => {'type'=>'code', 'path'=>'Designation.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
110
+ 'use' => {'valid_codes'=>{'http://snomed.info/sct'=>['900000000000003001', '900000000000013009', '900000000000550004']}, 'type'=>'Coding', 'path'=>'Designation.use', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/designation-use'}},
111
+ 'value' => {'type'=>'string', 'path'=>'Designation.value', 'min'=>1, 'max'=>1}
112
+ }
113
+
114
+ attr_accessor :id # 0-1 id
115
+ attr_accessor :extension # 0-* [ Extension ]
116
+ attr_accessor :modifierExtension # 0-* [ Extension ]
117
+ attr_accessor :language # 0-1 code
118
+ attr_accessor :use # 0-1 Coding
119
+ attr_accessor :value # 1-1 string
120
+ end
121
+
122
+ attr_accessor :id # 0-1 id
123
+ attr_accessor :extension # 0-* [ Extension ]
124
+ attr_accessor :modifierExtension # 0-* [ Extension ]
125
+ attr_accessor :code # 1-1 code
126
+ attr_accessor :display # 0-1 string
127
+ attr_accessor :designation # 0-* [ ValueSet::Compose::Include::Concept::Designation ]
128
+ end
129
+
130
+ class Filter < FHIR::Model
131
+ include FHIR::Hashable
132
+ include FHIR::Json
133
+ include FHIR::Xml
134
+
135
+ METADATA = {
136
+ 'id' => {'type'=>'id', 'path'=>'Filter.id', 'min'=>0, 'max'=>1},
137
+ 'extension' => {'type'=>'Extension', 'path'=>'Filter.extension', 'min'=>0, 'max'=>Float::INFINITY},
138
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Filter.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
139
+ 'property' => {'type'=>'code', 'path'=>'Filter.property', 'min'=>1, 'max'=>1},
140
+ 'op' => {'valid_codes'=>{'http://hl7.org/fhir/filter-operator'=>['=', 'is-a', 'is-not-a', 'regex', 'in', 'not-in']}, 'type'=>'code', 'path'=>'Filter.op', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/filter-operator'}},
141
+ 'value' => {'type'=>'code', 'path'=>'Filter.value', 'min'=>1, 'max'=>1}
142
+ }
143
+
144
+ attr_accessor :id # 0-1 id
145
+ attr_accessor :extension # 0-* [ Extension ]
146
+ attr_accessor :modifierExtension # 0-* [ Extension ]
147
+ attr_accessor :property # 1-1 code
148
+ attr_accessor :op # 1-1 code
149
+ attr_accessor :value # 1-1 code
150
+ end
151
+
152
+ attr_accessor :id # 0-1 id
153
+ attr_accessor :extension # 0-* [ Extension ]
154
+ attr_accessor :modifierExtension # 0-* [ Extension ]
155
+ attr_accessor :system # 1-1 uri
156
+ attr_accessor :version # 0-1 string
157
+ attr_accessor :concept # 0-* [ ValueSet::Compose::Include::Concept ]
158
+ attr_accessor :filter # 0-* [ ValueSet::Compose::Include::Filter ]
159
+ end
160
+
161
+ attr_accessor :id # 0-1 id
162
+ attr_accessor :extension # 0-* [ Extension ]
163
+ attr_accessor :modifierExtension # 0-* [ Extension ]
164
+ attr_accessor :import # 0-* [ uri ]
165
+ attr_accessor :include # 0-* [ ValueSet::Compose::Include ]
166
+ attr_accessor :exclude # 0-* [ ValueSet::Compose::Include ]
167
+ end
168
+
169
+ class Expansion < FHIR::Model
170
+ include FHIR::Hashable
171
+ include FHIR::Json
172
+ include FHIR::Xml
173
+
174
+ METADATA = {
175
+ 'id' => {'type'=>'id', 'path'=>'Expansion.id', 'min'=>0, 'max'=>1},
176
+ 'extension' => {'type'=>'Extension', 'path'=>'Expansion.extension', 'min'=>0, 'max'=>Float::INFINITY},
177
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Expansion.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
178
+ 'identifier' => {'type'=>'uri', 'path'=>'Expansion.identifier', 'min'=>1, 'max'=>1},
179
+ 'timestamp' => {'type'=>'dateTime', 'path'=>'Expansion.timestamp', 'min'=>1, 'max'=>1},
180
+ 'total' => {'type'=>'integer', 'path'=>'Expansion.total', 'min'=>0, 'max'=>1},
181
+ 'offset' => {'type'=>'integer', 'path'=>'Expansion.offset', 'min'=>0, 'max'=>1},
182
+ 'parameter' => {'type'=>'ValueSet::Expansion::Parameter', 'path'=>'Expansion.parameter', 'min'=>0, 'max'=>Float::INFINITY},
183
+ 'contains' => {'type'=>'ValueSet::Expansion::Contains', 'path'=>'Expansion.contains', 'min'=>0, 'max'=>Float::INFINITY}
184
+ }
185
+
186
+ class Parameter < FHIR::Model
187
+ include FHIR::Hashable
188
+ include FHIR::Json
189
+ include FHIR::Xml
190
+
191
+ MULTIPLE_TYPES = {
192
+ 'value' => ['string', 'boolean', 'integer', 'decimal', 'uri', 'code']
193
+ }
194
+ METADATA = {
195
+ 'id' => {'type'=>'id', 'path'=>'Parameter.id', 'min'=>0, 'max'=>1},
196
+ 'extension' => {'type'=>'Extension', 'path'=>'Parameter.extension', 'min'=>0, 'max'=>Float::INFINITY},
197
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Parameter.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
198
+ 'name' => {'type'=>'string', 'path'=>'Parameter.name', 'min'=>1, 'max'=>1},
199
+ 'valueString' => {'type'=>'string', 'path'=>'Parameter.value[x]', 'min'=>0, 'max'=>1},
200
+ 'valueBoolean' => {'type'=>'boolean', 'path'=>'Parameter.value[x]', 'min'=>0, 'max'=>1},
201
+ 'valueInteger' => {'type'=>'integer', 'path'=>'Parameter.value[x]', 'min'=>0, 'max'=>1},
202
+ 'valueDecimal' => {'type'=>'decimal', 'path'=>'Parameter.value[x]', 'min'=>0, 'max'=>1},
203
+ 'valueUri' => {'type'=>'uri', 'path'=>'Parameter.value[x]', 'min'=>0, 'max'=>1},
204
+ 'valueCode' => {'type'=>'code', 'path'=>'Parameter.value[x]', 'min'=>0, 'max'=>1}
205
+ }
206
+
207
+ attr_accessor :id # 0-1 id
208
+ attr_accessor :extension # 0-* [ Extension ]
209
+ attr_accessor :modifierExtension # 0-* [ Extension ]
210
+ attr_accessor :name # 1-1 string
211
+ attr_accessor :valueString # 0-1 string
212
+ attr_accessor :valueBoolean # 0-1 boolean
213
+ attr_accessor :valueInteger # 0-1 integer
214
+ attr_accessor :valueDecimal # 0-1 decimal
215
+ attr_accessor :valueUri # 0-1 uri
216
+ attr_accessor :valueCode # 0-1 code
217
+ end
218
+
219
+ class Contains < FHIR::Model
220
+ include FHIR::Hashable
221
+ include FHIR::Json
222
+ include FHIR::Xml
223
+
224
+ METADATA = {
225
+ 'id' => {'type'=>'id', 'path'=>'Contains.id', 'min'=>0, 'max'=>1},
226
+ 'extension' => {'type'=>'Extension', 'path'=>'Contains.extension', 'min'=>0, 'max'=>Float::INFINITY},
227
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Contains.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
228
+ 'system' => {'type'=>'uri', 'path'=>'Contains.system', 'min'=>0, 'max'=>1},
229
+ 'abstract' => {'type'=>'boolean', 'path'=>'Contains.abstract', 'min'=>0, 'max'=>1},
230
+ 'version' => {'type'=>'string', 'path'=>'Contains.version', 'min'=>0, 'max'=>1},
231
+ 'code' => {'type'=>'code', 'path'=>'Contains.code', 'min'=>0, 'max'=>1},
232
+ 'display' => {'type'=>'string', 'path'=>'Contains.display', 'min'=>0, 'max'=>1},
233
+ 'contains' => {'type'=>'ValueSet::Expansion::Contains', 'path'=>'Contains.contains', 'min'=>0, 'max'=>Float::INFINITY}
234
+ }
235
+
236
+ attr_accessor :id # 0-1 id
237
+ attr_accessor :extension # 0-* [ Extension ]
238
+ attr_accessor :modifierExtension # 0-* [ Extension ]
239
+ attr_accessor :system # 0-1 uri
240
+ attr_accessor :abstract # 0-1 boolean
241
+ attr_accessor :version # 0-1 string
242
+ attr_accessor :code # 0-1 code
243
+ attr_accessor :display # 0-1 string
244
+ attr_accessor :contains # 0-* [ ValueSet::Expansion::Contains ]
245
+ end
246
+
247
+ attr_accessor :id # 0-1 id
248
+ attr_accessor :extension # 0-* [ Extension ]
249
+ attr_accessor :modifierExtension # 0-* [ Extension ]
250
+ attr_accessor :identifier # 1-1 uri
251
+ attr_accessor :timestamp # 1-1 dateTime
252
+ attr_accessor :total # 0-1 integer
253
+ attr_accessor :offset # 0-1 integer
254
+ attr_accessor :parameter # 0-* [ ValueSet::Expansion::Parameter ]
255
+ attr_accessor :contains # 0-* [ ValueSet::Expansion::Contains ]
256
+ end
257
+
258
+ attr_accessor :id # 0-1 id
259
+ attr_accessor :meta # 0-1 Meta
260
+ attr_accessor :implicitRules # 0-1 uri
261
+ attr_accessor :language # 0-1 code
262
+ attr_accessor :text # 0-1 Narrative
263
+ attr_accessor :contained # 0-* [ Resource ]
264
+ attr_accessor :extension # 0-* [ Extension ]
265
+ attr_accessor :modifierExtension # 0-* [ Extension ]
266
+ attr_accessor :url # 0-1 uri
267
+ attr_accessor :identifier # 0-1 Identifier
268
+ attr_accessor :version # 0-1 string
269
+ attr_accessor :name # 0-1 string
270
+ attr_accessor :status # 1-1 code
271
+ attr_accessor :experimental # 0-1 boolean
272
+ attr_accessor :publisher # 0-1 string
273
+ attr_accessor :contact # 0-* [ ValueSet::Contact ]
274
+ attr_accessor :date # 0-1 dateTime
275
+ attr_accessor :lockedDate # 0-1 date
276
+ attr_accessor :description # 0-1 string
277
+ attr_accessor :useContext # 0-* [ CodeableConcept ]
278
+ attr_accessor :immutable # 0-1 boolean
279
+ attr_accessor :requirements # 0-1 string
280
+ attr_accessor :copyright # 0-1 string
281
+ attr_accessor :extensible # 0-1 boolean
282
+ attr_accessor :compose # 0-1 ValueSet::Compose
283
+ attr_accessor :expansion # 0-1 ValueSet::Expansion
284
+
285
+ def resourceType
286
+ 'ValueSet'
287
+ end
288
+ end
289
+ end
@@ -0,0 +1,97 @@
1
+ module FHIR
2
+ class VisionPrescription < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ MULTIPLE_TYPES = {
8
+ 'reason' => ['CodeableConcept', 'Reference']
9
+ }
10
+ SEARCH_PARAMS = ["datewritten", "encounter", "identifier", "patient", "prescriber"]
11
+ METADATA = {
12
+ 'id' => {'type'=>'id', 'path'=>'VisionPrescription.id', 'min'=>0, 'max'=>1},
13
+ 'meta' => {'type'=>'Meta', 'path'=>'VisionPrescription.meta', 'min'=>0, 'max'=>1},
14
+ 'implicitRules' => {'type'=>'uri', 'path'=>'VisionPrescription.implicitRules', 'min'=>0, 'max'=>1},
15
+ 'language' => {'type'=>'code', 'path'=>'VisionPrescription.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
16
+ 'text' => {'type'=>'Narrative', 'path'=>'VisionPrescription.text', 'min'=>0, 'max'=>1},
17
+ 'contained' => {'type'=>'Resource', 'path'=>'VisionPrescription.contained', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'extension' => {'type'=>'Extension', 'path'=>'VisionPrescription.extension', 'min'=>0, 'max'=>Float::INFINITY},
19
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'VisionPrescription.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
20
+ 'identifier' => {'type'=>'Identifier', 'path'=>'VisionPrescription.identifier', 'min'=>0, 'max'=>Float::INFINITY},
21
+ 'dateWritten' => {'type'=>'dateTime', 'path'=>'VisionPrescription.dateWritten', 'min'=>0, 'max'=>1},
22
+ 'patient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'VisionPrescription.patient', 'min'=>0, 'max'=>1},
23
+ 'prescriber' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'VisionPrescription.prescriber', 'min'=>0, 'max'=>1},
24
+ 'encounter' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Encounter'], 'type'=>'Reference', 'path'=>'VisionPrescription.encounter', 'min'=>0, 'max'=>1},
25
+ 'reasonCodeableConcept' => {'type'=>'CodeableConcept', 'path'=>'VisionPrescription.reason[x]', 'min'=>0, 'max'=>1},
26
+ 'reasonReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Condition'], 'type'=>'Reference', 'path'=>'VisionPrescription.reason[x]', 'min'=>0, 'max'=>1},
27
+ 'dispense' => {'type'=>'VisionPrescription::Dispense', 'path'=>'VisionPrescription.dispense', 'min'=>0, 'max'=>Float::INFINITY}
28
+ }
29
+
30
+ class Dispense < FHIR::Model
31
+ include FHIR::Hashable
32
+ include FHIR::Json
33
+ include FHIR::Xml
34
+
35
+ METADATA = {
36
+ 'id' => {'type'=>'id', 'path'=>'Dispense.id', 'min'=>0, 'max'=>1},
37
+ 'extension' => {'type'=>'Extension', 'path'=>'Dispense.extension', 'min'=>0, 'max'=>Float::INFINITY},
38
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Dispense.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
39
+ 'product' => {'valid_codes'=>{'http://hl7.org/fhir/ex-visionprescriptionproduct'=>['lens', 'contact']}, 'type'=>'Coding', 'path'=>'Dispense.product', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/vision-product'}},
40
+ 'eye' => {'valid_codes'=>{'http://hl7.org/fhir/vision-eye-codes'=>['right', 'left']}, 'type'=>'code', 'path'=>'Dispense.eye', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/vision-eye-codes'}},
41
+ 'sphere' => {'type'=>'decimal', 'path'=>'Dispense.sphere', 'min'=>0, 'max'=>1},
42
+ 'cylinder' => {'type'=>'decimal', 'path'=>'Dispense.cylinder', 'min'=>0, 'max'=>1},
43
+ 'axis' => {'type'=>'integer', 'path'=>'Dispense.axis', 'min'=>0, 'max'=>1},
44
+ 'prism' => {'type'=>'decimal', 'path'=>'Dispense.prism', 'min'=>0, 'max'=>1},
45
+ 'base' => {'valid_codes'=>{'http://hl7.org/fhir/vision-base-codes'=>['up', 'down', 'in', 'out']}, 'type'=>'code', 'path'=>'Dispense.base', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/vision-base-codes'}},
46
+ 'add' => {'type'=>'decimal', 'path'=>'Dispense.add', 'min'=>0, 'max'=>1},
47
+ 'power' => {'type'=>'decimal', 'path'=>'Dispense.power', 'min'=>0, 'max'=>1},
48
+ 'backCurve' => {'type'=>'decimal', 'path'=>'Dispense.backCurve', 'min'=>0, 'max'=>1},
49
+ 'diameter' => {'type'=>'decimal', 'path'=>'Dispense.diameter', 'min'=>0, 'max'=>1},
50
+ 'duration' => {'type'=>'Quantity', 'path'=>'Dispense.duration', 'min'=>0, 'max'=>1},
51
+ 'color' => {'type'=>'string', 'path'=>'Dispense.color', 'min'=>0, 'max'=>1},
52
+ 'brand' => {'type'=>'string', 'path'=>'Dispense.brand', 'min'=>0, 'max'=>1},
53
+ 'notes' => {'type'=>'string', 'path'=>'Dispense.notes', 'min'=>0, 'max'=>1}
54
+ }
55
+
56
+ attr_accessor :id # 0-1 id
57
+ attr_accessor :extension # 0-* [ Extension ]
58
+ attr_accessor :modifierExtension # 0-* [ Extension ]
59
+ attr_accessor :product # 1-1 Coding
60
+ attr_accessor :eye # 0-1 code
61
+ attr_accessor :sphere # 0-1 decimal
62
+ attr_accessor :cylinder # 0-1 decimal
63
+ attr_accessor :axis # 0-1 integer
64
+ attr_accessor :prism # 0-1 decimal
65
+ attr_accessor :base # 0-1 code
66
+ attr_accessor :add # 0-1 decimal
67
+ attr_accessor :power # 0-1 decimal
68
+ attr_accessor :backCurve # 0-1 decimal
69
+ attr_accessor :diameter # 0-1 decimal
70
+ attr_accessor :duration # 0-1 Quantity
71
+ attr_accessor :color # 0-1 string
72
+ attr_accessor :brand # 0-1 string
73
+ attr_accessor :notes # 0-1 string
74
+ end
75
+
76
+ attr_accessor :id # 0-1 id
77
+ attr_accessor :meta # 0-1 Meta
78
+ attr_accessor :implicitRules # 0-1 uri
79
+ attr_accessor :language # 0-1 code
80
+ attr_accessor :text # 0-1 Narrative
81
+ attr_accessor :contained # 0-* [ Resource ]
82
+ attr_accessor :extension # 0-* [ Extension ]
83
+ attr_accessor :modifierExtension # 0-* [ Extension ]
84
+ attr_accessor :identifier # 0-* [ Identifier ]
85
+ attr_accessor :dateWritten # 0-1 dateTime
86
+ attr_accessor :patient # 0-1 Reference(Patient)
87
+ attr_accessor :prescriber # 0-1 Reference(Practitioner)
88
+ attr_accessor :encounter # 0-1 Reference(Encounter)
89
+ attr_accessor :reasonCodeableConcept # 0-1 CodeableConcept
90
+ attr_accessor :reasonReference # 0-1 Reference(Condition)
91
+ attr_accessor :dispense # 0-* [ VisionPrescription::Dispense ]
92
+
93
+ def resourceType
94
+ 'VisionPrescription'
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,109 @@
1
+ module FHIR
2
+ class ActionDefinition < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = []
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'ActionDefinition.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'ActionDefinition.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'actionIdentifier' => {'type'=>'Identifier', 'path'=>'ActionDefinition.actionIdentifier', 'min'=>0, 'max'=>1},
12
+ 'label' => {'type'=>'string', 'path'=>'ActionDefinition.label', 'min'=>0, 'max'=>1},
13
+ 'title' => {'type'=>'string', 'path'=>'ActionDefinition.title', 'min'=>0, 'max'=>1},
14
+ 'description' => {'type'=>'string', 'path'=>'ActionDefinition.description', 'min'=>0, 'max'=>1},
15
+ 'textEquivalent' => {'type'=>'string', 'path'=>'ActionDefinition.textEquivalent', 'min'=>0, 'max'=>1},
16
+ 'concept' => {'type'=>'CodeableConcept', 'path'=>'ActionDefinition.concept', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'supportingEvidence' => {'type'=>'Attachment', 'path'=>'ActionDefinition.supportingEvidence', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'documentation' => {'type'=>'Attachment', 'path'=>'ActionDefinition.documentation', 'min'=>0, 'max'=>Float::INFINITY},
19
+ 'relatedAction' => {'type'=>'ActionDefinition::Relatedaction', 'path'=>'ActionDefinition.relatedAction', 'min'=>0, 'max'=>1},
20
+ 'participantType' => {'valid_codes'=>{'http://hl7.org/fhir/action-participant-type'=>['patient', 'practitioner', 'related-person']}, 'type'=>'code', 'path'=>'ActionDefinition.participantType', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/action-participant-type'}},
21
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/action-type'=>['create', 'update', 'remove', 'fire-event']}, 'type'=>'code', 'path'=>'ActionDefinition.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/action-type'}},
22
+ 'behavior' => {'type'=>'ActionDefinition::Behavior', 'path'=>'ActionDefinition.behavior', 'min'=>0, 'max'=>Float::INFINITY},
23
+ 'resource' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'ActionDefinition.resource', 'min'=>0, 'max'=>1},
24
+ 'customization' => {'type'=>'ActionDefinition::Customization', 'path'=>'ActionDefinition.customization', 'min'=>0, 'max'=>Float::INFINITY},
25
+ 'action' => {'type'=>'ActionDefinition', 'path'=>'ActionDefinition.action', 'min'=>0, 'max'=>Float::INFINITY}
26
+ }
27
+
28
+ class Relatedaction < FHIR::Model
29
+ include FHIR::Hashable
30
+ include FHIR::Json
31
+ include FHIR::Xml
32
+
33
+ MULTIPLE_TYPES = {
34
+ 'offset' => ['Quantity', 'Range']
35
+ }
36
+ METADATA = {
37
+ 'id' => {'type'=>'id', 'path'=>'Relatedaction.id', 'min'=>0, 'max'=>1},
38
+ 'extension' => {'type'=>'Extension', 'path'=>'Relatedaction.extension', 'min'=>0, 'max'=>Float::INFINITY},
39
+ 'actionIdentifier' => {'type'=>'Identifier', 'path'=>'Relatedaction.actionIdentifier', 'min'=>1, 'max'=>1},
40
+ 'relationship' => {'valid_codes'=>{'http://hl7.org/fhir/action-relationship-type'=>['before', 'after']}, 'type'=>'code', 'path'=>'Relatedaction.relationship', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/action-relationship-type'}},
41
+ 'offsetQuantity' => {'type'=>'Quantity', 'path'=>'Relatedaction.offset[x]', 'min'=>0, 'max'=>1},
42
+ 'offsetRange' => {'type'=>'Range', 'path'=>'Relatedaction.offset[x]', 'min'=>0, 'max'=>1},
43
+ 'anchor' => {'valid_codes'=>{'http://hl7.org/fhir/action-relationship-anchor'=>['start', 'end']}, 'type'=>'code', 'path'=>'Relatedaction.anchor', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/action-relationship-anchor'}}
44
+ }
45
+
46
+ attr_accessor :id # 0-1 id
47
+ attr_accessor :extension # 0-* [ Extension ]
48
+ attr_accessor :actionIdentifier # 1-1 Identifier
49
+ attr_accessor :relationship # 1-1 code
50
+ attr_accessor :offsetQuantity # 0-1 Quantity
51
+ attr_accessor :offsetRange # 0-1 Range
52
+ attr_accessor :anchor # 0-1 code
53
+ end
54
+
55
+ class Behavior < FHIR::Model
56
+ include FHIR::Hashable
57
+ include FHIR::Json
58
+ include FHIR::Xml
59
+
60
+ METADATA = {
61
+ 'id' => {'type'=>'id', 'path'=>'Behavior.id', 'min'=>0, 'max'=>1},
62
+ 'extension' => {'type'=>'Extension', 'path'=>'Behavior.extension', 'min'=>0, 'max'=>Float::INFINITY},
63
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/action-behavior-type'=>['grouping', 'selection', 'required', 'precheck', 'cardinality']}, 'type'=>'Coding', 'path'=>'Behavior.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/action-behavior-type'}},
64
+ 'value' => {'type'=>'Coding', 'path'=>'Behavior.value', 'min'=>1, 'max'=>1}
65
+ }
66
+
67
+ attr_accessor :id # 0-1 id
68
+ attr_accessor :extension # 0-* [ Extension ]
69
+ attr_accessor :type # 1-1 Coding
70
+ attr_accessor :value # 1-1 Coding
71
+ end
72
+
73
+ class Customization < FHIR::Model
74
+ include FHIR::Hashable
75
+ include FHIR::Json
76
+ include FHIR::Xml
77
+
78
+ METADATA = {
79
+ 'id' => {'type'=>'id', 'path'=>'Customization.id', 'min'=>0, 'max'=>1},
80
+ 'extension' => {'type'=>'Extension', 'path'=>'Customization.extension', 'min'=>0, 'max'=>Float::INFINITY},
81
+ 'path' => {'type'=>'string', 'path'=>'Customization.path', 'min'=>1, 'max'=>1},
82
+ 'expression' => {'type'=>'string', 'path'=>'Customization.expression', 'min'=>1, 'max'=>1}
83
+ }
84
+
85
+ attr_accessor :id # 0-1 id
86
+ attr_accessor :extension # 0-* [ Extension ]
87
+ attr_accessor :path # 1-1 string
88
+ attr_accessor :expression # 1-1 string
89
+ end
90
+
91
+ attr_accessor :id # 0-1 id
92
+ attr_accessor :extension # 0-* [ Extension ]
93
+ attr_accessor :actionIdentifier # 0-1 Identifier
94
+ attr_accessor :label # 0-1 string
95
+ attr_accessor :title # 0-1 string
96
+ attr_accessor :description # 0-1 string
97
+ attr_accessor :textEquivalent # 0-1 string
98
+ attr_accessor :concept # 0-* [ CodeableConcept ]
99
+ attr_accessor :supportingEvidence # 0-* [ Attachment ]
100
+ attr_accessor :documentation # 0-* [ Attachment ]
101
+ attr_accessor :relatedAction # 0-1 ActionDefinition::Relatedaction
102
+ attr_accessor :participantType # 0-* [ code ]
103
+ attr_accessor :type # 0-1 code
104
+ attr_accessor :behavior # 0-* [ ActionDefinition::Behavior ]
105
+ attr_accessor :resource # 0-1 Reference(Resource)
106
+ attr_accessor :customization # 0-* [ ActionDefinition::Customization ]
107
+ attr_accessor :action # 0-* [ ActionDefinition ]
108
+ end
109
+ end
@@ -0,0 +1,36 @@
1
+ module FHIR
2
+ class Address < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = []
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Address.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Address.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'use' => {'valid_codes'=>{'http://hl7.org/fhir/address-use'=>['home', 'work', 'temp', 'old']}, 'type'=>'code', 'path'=>'Address.use', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/address-use'}},
12
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/address-type'=>['postal', 'physical', 'both']}, 'type'=>'code', 'path'=>'Address.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/address-type'}},
13
+ 'text' => {'type'=>'string', 'path'=>'Address.text', 'min'=>0, 'max'=>1},
14
+ 'line' => {'type'=>'string', 'path'=>'Address.line', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'city' => {'type'=>'string', 'path'=>'Address.city', 'min'=>0, 'max'=>1},
16
+ 'district' => {'type'=>'string', 'path'=>'Address.district', 'min'=>0, 'max'=>1},
17
+ 'state' => {'type'=>'string', 'path'=>'Address.state', 'min'=>0, 'max'=>1},
18
+ 'postalCode' => {'type'=>'string', 'path'=>'Address.postalCode', 'min'=>0, 'max'=>1},
19
+ 'country' => {'type'=>'string', 'path'=>'Address.country', 'min'=>0, 'max'=>1},
20
+ 'period' => {'type'=>'Period', 'path'=>'Address.period', 'min'=>0, 'max'=>1}
21
+ }
22
+
23
+ attr_accessor :id # 0-1 id
24
+ attr_accessor :extension # 0-* [ Extension ]
25
+ attr_accessor :use # 0-1 code
26
+ attr_accessor :type # 0-1 code
27
+ attr_accessor :text # 0-1 string
28
+ attr_accessor :line # 0-* [ string ]
29
+ attr_accessor :city # 0-1 string
30
+ attr_accessor :district # 0-1 string
31
+ attr_accessor :state # 0-1 string
32
+ attr_accessor :postalCode # 0-1 string
33
+ attr_accessor :country # 0-1 string
34
+ attr_accessor :period # 0-1 Period
35
+ end
36
+ end
@@ -0,0 +1,27 @@
1
+ module FHIR
2
+ class Annotation < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ MULTIPLE_TYPES = {
8
+ 'author' => ['Reference', 'string']
9
+ }
10
+ SEARCH_PARAMS = []
11
+ METADATA = {
12
+ 'id' => {'type'=>'id', 'path'=>'Annotation.id', 'min'=>0, 'max'=>1},
13
+ 'extension' => {'type'=>'Extension', 'path'=>'Annotation.extension', 'min'=>0, 'max'=>Float::INFINITY},
14
+ 'authorReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'Annotation.author[x]', 'min'=>0, 'max'=>1},
15
+ 'authorString' => {'type'=>'string', 'path'=>'Annotation.author[x]', 'min'=>0, 'max'=>1},
16
+ 'time' => {'type'=>'dateTime', 'path'=>'Annotation.time', 'min'=>0, 'max'=>1},
17
+ 'text' => {'type'=>'string', 'path'=>'Annotation.text', 'min'=>1, 'max'=>1}
18
+ }
19
+
20
+ attr_accessor :id # 0-1 id
21
+ attr_accessor :extension # 0-* [ Extension ]
22
+ attr_accessor :authorReference # 0-1 Reference(Practitioner|Patient|RelatedPerson)
23
+ attr_accessor :authorString # 0-1 string
24
+ attr_accessor :time # 0-1 dateTime
25
+ attr_accessor :text # 1-1 string
26
+ end
27
+ end
@@ -0,0 +1,32 @@
1
+ module FHIR
2
+ class Attachment < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = []
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Attachment.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Attachment.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'contentType' => {'type'=>'code', 'path'=>'Attachment.contentType', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://www.rfc-editor.org/bcp/bcp13.txt'}},
12
+ 'language' => {'type'=>'code', 'path'=>'Attachment.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'data' => {'type'=>'base64Binary', 'path'=>'Attachment.data', 'min'=>0, 'max'=>1},
14
+ 'url' => {'type'=>'uri', 'path'=>'Attachment.url', 'min'=>0, 'max'=>1},
15
+ 'size' => {'type'=>'unsignedInt', 'path'=>'Attachment.size', 'min'=>0, 'max'=>1},
16
+ 'hash' => {'type'=>'base64Binary', 'path'=>'Attachment.hash', 'min'=>0, 'max'=>1},
17
+ 'title' => {'type'=>'string', 'path'=>'Attachment.title', 'min'=>0, 'max'=>1},
18
+ 'creation' => {'type'=>'dateTime', 'path'=>'Attachment.creation', 'min'=>0, 'max'=>1}
19
+ }
20
+
21
+ attr_accessor :id # 0-1 id
22
+ attr_accessor :extension # 0-* [ Extension ]
23
+ attr_accessor :contentType # 0-1 code
24
+ attr_accessor :language # 0-1 code
25
+ attr_accessor :data # 0-1 base64Binary
26
+ attr_accessor :url # 0-1 uri
27
+ attr_accessor :size # 0-1 unsignedInt
28
+ attr_accessor :hash # 0-1 base64Binary
29
+ attr_accessor :title # 0-1 string
30
+ attr_accessor :creation # 0-1 dateTime
31
+ end
32
+ end