fhir-mongoid-models 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (963) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +8 -0
  3. data/.github/CODEOWNERS +2 -0
  4. data/.github/workflows/build.yml +54 -0
  5. data/.gitignore +15 -0
  6. data/.rspec +3 -0
  7. data/.rubocop.yml +20 -0
  8. data/Gemfile +6 -0
  9. data/LICENSE +121 -0
  10. data/README.md +23 -0
  11. data/Rakefile +6 -0
  12. data/app/models/cqm/cql_statement_dependency.rb +63 -0
  13. data/app/models/cqm/data_element.rb +41 -0
  14. data/app/models/cqm/logic_library.rb +62 -0
  15. data/app/models/cqm/measure.rb +120 -0
  16. data/app/models/cqm/measure_package.rb +10 -0
  17. data/app/models/cqm/patient.rb +54 -0
  18. data/app/models/cqm/population_set.rb +311 -0
  19. data/app/models/fhir/account.rb +84 -0
  20. data/app/models/fhir/account_coverage.rb +35 -0
  21. data/app/models/fhir/account_guarantor.rb +40 -0
  22. data/app/models/fhir/account_status.rb +27 -0
  23. data/app/models/fhir/action_cardinality_behavior.rb +27 -0
  24. data/app/models/fhir/action_condition_kind.rb +27 -0
  25. data/app/models/fhir/action_grouping_behavior.rb +27 -0
  26. data/app/models/fhir/action_participant_type.rb +27 -0
  27. data/app/models/fhir/action_precheck_behavior.rb +27 -0
  28. data/app/models/fhir/action_relationship_type.rb +27 -0
  29. data/app/models/fhir/action_required_behavior.rb +27 -0
  30. data/app/models/fhir/action_selection_behavior.rb +27 -0
  31. data/app/models/fhir/activity_definition.rb +337 -0
  32. data/app/models/fhir/activity_definition_dynamic_value.rb +35 -0
  33. data/app/models/fhir/activity_definition_kind.rb +27 -0
  34. data/app/models/fhir/activity_definition_participant.rb +35 -0
  35. data/app/models/fhir/activity_participant_type.rb +27 -0
  36. data/app/models/fhir/address.rb +94 -0
  37. data/app/models/fhir/address_type.rb +27 -0
  38. data/app/models/fhir/address_use.rb +27 -0
  39. data/app/models/fhir/administrative_gender.rb +27 -0
  40. data/app/models/fhir/adverse_event.rb +131 -0
  41. data/app/models/fhir/adverse_event_actuality.rb +27 -0
  42. data/app/models/fhir/adverse_event_suspect_entity.rb +33 -0
  43. data/app/models/fhir/adverse_event_suspect_entity_causality.rb +45 -0
  44. data/app/models/fhir/age.rb +23 -0
  45. data/app/models/fhir/aggregation_mode.rb +27 -0
  46. data/app/models/fhir/allergy_intolerance.rb +140 -0
  47. data/app/models/fhir/allergy_intolerance_category.rb +27 -0
  48. data/app/models/fhir/allergy_intolerance_criticality.rb +27 -0
  49. data/app/models/fhir/allergy_intolerance_reaction.rb +64 -0
  50. data/app/models/fhir/allergy_intolerance_severity.rb +27 -0
  51. data/app/models/fhir/allergy_intolerance_type.rb +27 -0
  52. data/app/models/fhir/annotation.rb +49 -0
  53. data/app/models/fhir/appointment.rb +151 -0
  54. data/app/models/fhir/appointment_participant.rb +52 -0
  55. data/app/models/fhir/appointment_response.rb +71 -0
  56. data/app/models/fhir/appointment_status.rb +27 -0
  57. data/app/models/fhir/assertion_direction_type.rb +27 -0
  58. data/app/models/fhir/assertion_operator_type.rb +27 -0
  59. data/app/models/fhir/assertion_response_types.rb +27 -0
  60. data/app/models/fhir/attachment.rb +79 -0
  61. data/app/models/fhir/audit_event.rb +86 -0
  62. data/app/models/fhir/audit_event_action.rb +27 -0
  63. data/app/models/fhir/audit_event_agent.rb +89 -0
  64. data/app/models/fhir/audit_event_agent_network.rb +37 -0
  65. data/app/models/fhir/audit_event_agent_network_type.rb +27 -0
  66. data/app/models/fhir/audit_event_entity.rb +74 -0
  67. data/app/models/fhir/audit_event_entity_detail.rb +44 -0
  68. data/app/models/fhir/audit_event_outcome.rb +27 -0
  69. data/app/models/fhir/audit_event_source.rb +40 -0
  70. data/app/models/fhir/backbone_element.rb +28 -0
  71. data/app/models/fhir/basic.rb +50 -0
  72. data/app/models/fhir/binary.rb +42 -0
  73. data/app/models/fhir/binding_strength.rb +27 -0
  74. data/app/models/fhir/biologically_derived_product.rb +84 -0
  75. data/app/models/fhir/biologically_derived_product_category.rb +27 -0
  76. data/app/models/fhir/biologically_derived_product_collection.rb +45 -0
  77. data/app/models/fhir/biologically_derived_product_manipulation.rb +42 -0
  78. data/app/models/fhir/biologically_derived_product_processing.rb +52 -0
  79. data/app/models/fhir/biologically_derived_product_status.rb +27 -0
  80. data/app/models/fhir/biologically_derived_product_storage.rb +49 -0
  81. data/app/models/fhir/biologically_derived_product_storage_scale.rb +27 -0
  82. data/app/models/fhir/body_structure.rb +67 -0
  83. data/app/models/fhir/bundle.rb +64 -0
  84. data/app/models/fhir/bundle_entry.rb +55 -0
  85. data/app/models/fhir/bundle_entry_request.rb +65 -0
  86. data/app/models/fhir/bundle_entry_response.rb +56 -0
  87. data/app/models/fhir/bundle_entry_search.rb +37 -0
  88. data/app/models/fhir/bundle_link.rb +37 -0
  89. data/app/models/fhir/bundle_type.rb +27 -0
  90. data/app/models/fhir/capability_statement.rb +204 -0
  91. data/app/models/fhir/capability_statement_document.rb +44 -0
  92. data/app/models/fhir/capability_statement_implementation.rb +42 -0
  93. data/app/models/fhir/capability_statement_kind.rb +27 -0
  94. data/app/models/fhir/capability_statement_messaging.rb +47 -0
  95. data/app/models/fhir/capability_statement_messaging_endpoint.rb +35 -0
  96. data/app/models/fhir/capability_statement_messaging_supported_message.rb +37 -0
  97. data/app/models/fhir/capability_statement_rest.rb +72 -0
  98. data/app/models/fhir/capability_statement_rest_interaction.rb +37 -0
  99. data/app/models/fhir/capability_statement_rest_resource.rb +148 -0
  100. data/app/models/fhir/capability_statement_rest_resource_interaction.rb +37 -0
  101. data/app/models/fhir/capability_statement_rest_resource_operation.rb +44 -0
  102. data/app/models/fhir/capability_statement_rest_resource_search_param.rb +51 -0
  103. data/app/models/fhir/capability_statement_rest_security.rb +42 -0
  104. data/app/models/fhir/capability_statement_software.rb +44 -0
  105. data/app/models/fhir/care_plan.rb +158 -0
  106. data/app/models/fhir/care_plan_activity.rb +48 -0
  107. data/app/models/fhir/care_plan_activity_detail.rb +143 -0
  108. data/app/models/fhir/care_plan_activity_kind.rb +27 -0
  109. data/app/models/fhir/care_plan_activity_status.rb +27 -0
  110. data/app/models/fhir/care_plan_intent.rb +27 -0
  111. data/app/models/fhir/care_plan_status.rb +27 -0
  112. data/app/models/fhir/care_team.rb +92 -0
  113. data/app/models/fhir/care_team_participant.rb +43 -0
  114. data/app/models/fhir/care_team_status.rb +27 -0
  115. data/app/models/fhir/catalog_entry.rb +96 -0
  116. data/app/models/fhir/catalog_entry_related_entry.rb +35 -0
  117. data/app/models/fhir/catalog_entry_relation_type.rb +27 -0
  118. data/app/models/fhir/charge_item.rb +188 -0
  119. data/app/models/fhir/charge_item_definition.rb +175 -0
  120. data/app/models/fhir/charge_item_definition_applicability.rb +44 -0
  121. data/app/models/fhir/charge_item_definition_price_component_type.rb +27 -0
  122. data/app/models/fhir/charge_item_definition_property_group.rb +33 -0
  123. data/app/models/fhir/charge_item_definition_property_group_price_component.rb +47 -0
  124. data/app/models/fhir/charge_item_performer.rb +33 -0
  125. data/app/models/fhir/charge_item_status.rb +27 -0
  126. data/app/models/fhir/claim.rb +164 -0
  127. data/app/models/fhir/claim_accident.rb +45 -0
  128. data/app/models/fhir/claim_care_team.rb +52 -0
  129. data/app/models/fhir/claim_diagnosis.rb +55 -0
  130. data/app/models/fhir/claim_insurance.rb +69 -0
  131. data/app/models/fhir/claim_item.rb +169 -0
  132. data/app/models/fhir/claim_item_detail.rb +87 -0
  133. data/app/models/fhir/claim_item_detail_sub_detail.rb +82 -0
  134. data/app/models/fhir/claim_payee.rb +33 -0
  135. data/app/models/fhir/claim_procedure.rb +57 -0
  136. data/app/models/fhir/claim_related.rb +38 -0
  137. data/app/models/fhir/claim_response.rb +170 -0
  138. data/app/models/fhir/claim_response_add_item.rb +152 -0
  139. data/app/models/fhir/claim_response_add_item_detail.rb +75 -0
  140. data/app/models/fhir/claim_response_add_item_detail_sub_detail.rb +70 -0
  141. data/app/models/fhir/claim_response_error.rb +49 -0
  142. data/app/models/fhir/claim_response_insurance.rb +54 -0
  143. data/app/models/fhir/claim_response_item.rb +50 -0
  144. data/app/models/fhir/claim_response_item_adjudication.rb +45 -0
  145. data/app/models/fhir/claim_response_item_detail.rb +50 -0
  146. data/app/models/fhir/claim_response_item_detail_sub_detail.rb +45 -0
  147. data/app/models/fhir/claim_response_payment.rb +55 -0
  148. data/app/models/fhir/claim_response_process_note.rb +49 -0
  149. data/app/models/fhir/claim_response_status.rb +27 -0
  150. data/app/models/fhir/claim_response_total.rb +33 -0
  151. data/app/models/fhir/claim_status.rb +27 -0
  152. data/app/models/fhir/claim_supporting_info.rb +86 -0
  153. data/app/models/fhir/clinical_impression.rb +143 -0
  154. data/app/models/fhir/clinical_impression_finding.rb +40 -0
  155. data/app/models/fhir/clinical_impression_investigation.rb +33 -0
  156. data/app/models/fhir/clinical_impression_status.rb +27 -0
  157. data/app/models/fhir/code_search_support.rb +27 -0
  158. data/app/models/fhir/code_system.rb +191 -0
  159. data/app/models/fhir/code_system_concept.rb +59 -0
  160. data/app/models/fhir/code_system_concept_designation.rb +42 -0
  161. data/app/models/fhir/code_system_concept_property.rb +77 -0
  162. data/app/models/fhir/code_system_content_mode.rb +27 -0
  163. data/app/models/fhir/code_system_filter.rb +54 -0
  164. data/app/models/fhir/code_system_hierarchy_meaning.rb +27 -0
  165. data/app/models/fhir/code_system_property.rb +51 -0
  166. data/app/models/fhir/codeable_concept.rb +35 -0
  167. data/app/models/fhir/coding.rb +58 -0
  168. data/app/models/fhir/communication.rb +156 -0
  169. data/app/models/fhir/communication_payload.rb +40 -0
  170. data/app/models/fhir/communication_priority.rb +27 -0
  171. data/app/models/fhir/communication_request.rb +148 -0
  172. data/app/models/fhir/communication_request_payload.rb +40 -0
  173. data/app/models/fhir/communication_request_status.rb +27 -0
  174. data/app/models/fhir/communication_status.rb +27 -0
  175. data/app/models/fhir/compartment_code.rb +27 -0
  176. data/app/models/fhir/compartment_definition.rb +115 -0
  177. data/app/models/fhir/compartment_definition_resource.rb +47 -0
  178. data/app/models/fhir/compartment_type.rb +27 -0
  179. data/app/models/fhir/composition.rb +106 -0
  180. data/app/models/fhir/composition_attestation_mode.rb +27 -0
  181. data/app/models/fhir/composition_attester.rb +42 -0
  182. data/app/models/fhir/composition_event.rb +38 -0
  183. data/app/models/fhir/composition_relates_to.rb +40 -0
  184. data/app/models/fhir/composition_section.rb +77 -0
  185. data/app/models/fhir/composition_status.rb +27 -0
  186. data/app/models/fhir/concept_map.rb +153 -0
  187. data/app/models/fhir/concept_map_equivalence.rb +27 -0
  188. data/app/models/fhir/concept_map_group.rb +61 -0
  189. data/app/models/fhir/concept_map_group_element.rb +42 -0
  190. data/app/models/fhir/concept_map_group_element_target.rb +61 -0
  191. data/app/models/fhir/concept_map_group_element_target_depends_on.rb +51 -0
  192. data/app/models/fhir/concept_map_group_unmapped.rb +51 -0
  193. data/app/models/fhir/concept_map_group_unmapped_mode.rb +27 -0
  194. data/app/models/fhir/condition.rb +158 -0
  195. data/app/models/fhir/condition_evidence.rb +33 -0
  196. data/app/models/fhir/condition_stage.rb +38 -0
  197. data/app/models/fhir/conditional_delete_status.rb +27 -0
  198. data/app/models/fhir/conditional_read_status.rb +27 -0
  199. data/app/models/fhir/consent.rb +97 -0
  200. data/app/models/fhir/consent_data_meaning.rb +27 -0
  201. data/app/models/fhir/consent_policy.rb +37 -0
  202. data/app/models/fhir/consent_provision.rb +80 -0
  203. data/app/models/fhir/consent_provision_actor.rb +33 -0
  204. data/app/models/fhir/consent_provision_data.rb +35 -0
  205. data/app/models/fhir/consent_provision_type.rb +27 -0
  206. data/app/models/fhir/consent_state.rb +27 -0
  207. data/app/models/fhir/consent_verification.rb +42 -0
  208. data/app/models/fhir/constraint_severity.rb +27 -0
  209. data/app/models/fhir/contact_detail.rb +35 -0
  210. data/app/models/fhir/contact_point.rb +56 -0
  211. data/app/models/fhir/contact_point_system.rb +27 -0
  212. data/app/models/fhir/contact_point_use.rb +27 -0
  213. data/app/models/fhir/contract.rb +219 -0
  214. data/app/models/fhir/contract_content_definition.rb +59 -0
  215. data/app/models/fhir/contract_friendly.rb +33 -0
  216. data/app/models/fhir/contract_legal.rb +33 -0
  217. data/app/models/fhir/contract_publication_status.rb +27 -0
  218. data/app/models/fhir/contract_rule.rb +33 -0
  219. data/app/models/fhir/contract_signer.rb +38 -0
  220. data/app/models/fhir/contract_status.rb +27 -0
  221. data/app/models/fhir/contract_term.rb +92 -0
  222. data/app/models/fhir/contract_term_action.rb +177 -0
  223. data/app/models/fhir/contract_term_action_subject.rb +33 -0
  224. data/app/models/fhir/contract_term_asset.rb +112 -0
  225. data/app/models/fhir/contract_term_asset_context.rb +40 -0
  226. data/app/models/fhir/contract_term_asset_valued_item.rb +118 -0
  227. data/app/models/fhir/contract_term_offer.rb +85 -0
  228. data/app/models/fhir/contract_term_offer_answer.rb +99 -0
  229. data/app/models/fhir/contract_term_offer_party.rb +33 -0
  230. data/app/models/fhir/contract_term_security_label.rb +48 -0
  231. data/app/models/fhir/contributor.rb +42 -0
  232. data/app/models/fhir/contributor_type.rb +27 -0
  233. data/app/models/fhir/count.rb +23 -0
  234. data/app/models/fhir/coverage.rb +120 -0
  235. data/app/models/fhir/coverage_class.rb +42 -0
  236. data/app/models/fhir/coverage_cost_to_beneficiary.rb +43 -0
  237. data/app/models/fhir/coverage_cost_to_beneficiary_exception.rb +33 -0
  238. data/app/models/fhir/coverage_eligibility_request.rb +109 -0
  239. data/app/models/fhir/coverage_eligibility_request_insurance.rb +42 -0
  240. data/app/models/fhir/coverage_eligibility_request_item.rb +78 -0
  241. data/app/models/fhir/coverage_eligibility_request_item_diagnosis.rb +33 -0
  242. data/app/models/fhir/coverage_eligibility_request_supporting_info.rb +42 -0
  243. data/app/models/fhir/coverage_eligibility_response.rb +120 -0
  244. data/app/models/fhir/coverage_eligibility_response_error.rb +28 -0
  245. data/app/models/fhir/coverage_eligibility_response_insurance.rb +45 -0
  246. data/app/models/fhir/coverage_eligibility_response_insurance_item.rb +103 -0
  247. data/app/models/fhir/coverage_eligibility_response_insurance_item_benefit.rb +66 -0
  248. data/app/models/fhir/coverage_status.rb +27 -0
  249. data/app/models/fhir/currency_code.rb +27 -0
  250. data/app/models/fhir/data_requirement.rb +82 -0
  251. data/app/models/fhir/data_requirement_code_filter.rb +49 -0
  252. data/app/models/fhir/data_requirement_date_filter.rb +54 -0
  253. data/app/models/fhir/data_requirement_sort.rb +37 -0
  254. data/app/models/fhir/day_of_week.rb +27 -0
  255. data/app/models/fhir/days_of_week.rb +27 -0
  256. data/app/models/fhir/detected_issue.rb +98 -0
  257. data/app/models/fhir/detected_issue_evidence.rb +33 -0
  258. data/app/models/fhir/detected_issue_mitigation.rb +40 -0
  259. data/app/models/fhir/detected_issue_severity.rb +27 -0
  260. data/app/models/fhir/detected_issue_status.rb +27 -0
  261. data/app/models/fhir/device.rb +173 -0
  262. data/app/models/fhir/device_definition.rb +151 -0
  263. data/app/models/fhir/device_definition_capability.rb +33 -0
  264. data/app/models/fhir/device_definition_device_name.rb +37 -0
  265. data/app/models/fhir/device_definition_material.rb +42 -0
  266. data/app/models/fhir/device_definition_property.rb +38 -0
  267. data/app/models/fhir/device_definition_specialization.rb +37 -0
  268. data/app/models/fhir/device_definition_udi_device_identifier.rb +44 -0
  269. data/app/models/fhir/device_device_name.rb +37 -0
  270. data/app/models/fhir/device_metric.rb +79 -0
  271. data/app/models/fhir/device_metric_calibration.rb +44 -0
  272. data/app/models/fhir/device_metric_calibration_state.rb +27 -0
  273. data/app/models/fhir/device_metric_calibration_type.rb +27 -0
  274. data/app/models/fhir/device_metric_category.rb +27 -0
  275. data/app/models/fhir/device_metric_color.rb +27 -0
  276. data/app/models/fhir/device_metric_operational_status.rb +27 -0
  277. data/app/models/fhir/device_name_type.rb +27 -0
  278. data/app/models/fhir/device_property.rb +38 -0
  279. data/app/models/fhir/device_request.rb +178 -0
  280. data/app/models/fhir/device_request_parameter.rb +50 -0
  281. data/app/models/fhir/device_request_status.rb +27 -0
  282. data/app/models/fhir/device_specialization.rb +35 -0
  283. data/app/models/fhir/device_udi_carrier.rb +65 -0
  284. data/app/models/fhir/device_use_statement.rb +104 -0
  285. data/app/models/fhir/device_use_statement_status.rb +27 -0
  286. data/app/models/fhir/device_version.rb +40 -0
  287. data/app/models/fhir/diagnostic_report.rb +126 -0
  288. data/app/models/fhir/diagnostic_report_media.rb +35 -0
  289. data/app/models/fhir/diagnostic_report_status.rb +27 -0
  290. data/app/models/fhir/discriminator_type.rb +27 -0
  291. data/app/models/fhir/distance.rb +23 -0
  292. data/app/models/fhir/document_confidentiality.rb +27 -0
  293. data/app/models/fhir/document_manifest.rb +91 -0
  294. data/app/models/fhir/document_manifest_related.rb +33 -0
  295. data/app/models/fhir/document_mode.rb +27 -0
  296. data/app/models/fhir/document_reference.rb +111 -0
  297. data/app/models/fhir/document_reference_content.rb +33 -0
  298. data/app/models/fhir/document_reference_context.rb +58 -0
  299. data/app/models/fhir/document_reference_relates_to.rb +35 -0
  300. data/app/models/fhir/document_reference_status.rb +27 -0
  301. data/app/models/fhir/document_relationship_type.rb +27 -0
  302. data/app/models/fhir/domain_resource.rb +43 -0
  303. data/app/models/fhir/dosage.rb +101 -0
  304. data/app/models/fhir/dosage_dose_and_rate.rb +53 -0
  305. data/app/models/fhir/duration.rb +23 -0
  306. data/app/models/fhir/effect_evidence_synthesis.rb +210 -0
  307. data/app/models/fhir/effect_evidence_synthesis_certainty.rb +38 -0
  308. data/app/models/fhir/effect_evidence_synthesis_certainty_certainty_subcomponent.rb +38 -0
  309. data/app/models/fhir/effect_evidence_synthesis_effect_estimate.rb +57 -0
  310. data/app/models/fhir/effect_evidence_synthesis_effect_estimate_precision_estimate.rb +49 -0
  311. data/app/models/fhir/effect_evidence_synthesis_results_by_exposure.rb +47 -0
  312. data/app/models/fhir/effect_evidence_synthesis_sample_size.rb +44 -0
  313. data/app/models/fhir/element.rb +37 -0
  314. data/app/models/fhir/element_definition.rb +1205 -0
  315. data/app/models/fhir/element_definition_base.rb +44 -0
  316. data/app/models/fhir/element_definition_binding.rb +44 -0
  317. data/app/models/fhir/element_definition_constraint.rb +72 -0
  318. data/app/models/fhir/element_definition_example.rb +318 -0
  319. data/app/models/fhir/element_definition_mapping.rb +51 -0
  320. data/app/models/fhir/element_definition_slicing.rb +49 -0
  321. data/app/models/fhir/element_definition_slicing_discriminator.rb +37 -0
  322. data/app/models/fhir/element_definition_type.rb +47 -0
  323. data/app/models/fhir/eligibility_request_purpose.rb +27 -0
  324. data/app/models/fhir/eligibility_request_status.rb +27 -0
  325. data/app/models/fhir/eligibility_response_purpose.rb +27 -0
  326. data/app/models/fhir/eligibility_response_status.rb +27 -0
  327. data/app/models/fhir/enable_when_behavior.rb +27 -0
  328. data/app/models/fhir/encounter.rb +140 -0
  329. data/app/models/fhir/encounter_class_history.rb +33 -0
  330. data/app/models/fhir/encounter_diagnosis.rb +40 -0
  331. data/app/models/fhir/encounter_hospitalization.rb +68 -0
  332. data/app/models/fhir/encounter_location.rb +45 -0
  333. data/app/models/fhir/encounter_location_status.rb +27 -0
  334. data/app/models/fhir/encounter_participant.rb +38 -0
  335. data/app/models/fhir/encounter_status.rb +27 -0
  336. data/app/models/fhir/encounter_status_history.rb +35 -0
  337. data/app/models/fhir/endpoint.rb +94 -0
  338. data/app/models/fhir/endpoint_status.rb +27 -0
  339. data/app/models/fhir/enrollment_request.rb +62 -0
  340. data/app/models/fhir/enrollment_request_status.rb +27 -0
  341. data/app/models/fhir/enrollment_response.rb +71 -0
  342. data/app/models/fhir/enrollment_response_status.rb +27 -0
  343. data/app/models/fhir/episode_of_care.rb +85 -0
  344. data/app/models/fhir/episode_of_care_diagnosis.rb +40 -0
  345. data/app/models/fhir/episode_of_care_status.rb +27 -0
  346. data/app/models/fhir/episode_of_care_status_history.rb +35 -0
  347. data/app/models/fhir/event_capability_mode.rb +27 -0
  348. data/app/models/fhir/event_definition.rb +198 -0
  349. data/app/models/fhir/event_timing.rb +27 -0
  350. data/app/models/fhir/evidence.rb +189 -0
  351. data/app/models/fhir/evidence_variable.rb +186 -0
  352. data/app/models/fhir/evidence_variable_characteristic.rb +108 -0
  353. data/app/models/fhir/evidence_variable_type.rb +27 -0
  354. data/app/models/fhir/example_scenario.rb +131 -0
  355. data/app/models/fhir/example_scenario_actor.rb +51 -0
  356. data/app/models/fhir/example_scenario_actor_type.rb +27 -0
  357. data/app/models/fhir/example_scenario_instance.rb +61 -0
  358. data/app/models/fhir/example_scenario_instance_contained_instance.rb +37 -0
  359. data/app/models/fhir/example_scenario_instance_version.rb +37 -0
  360. data/app/models/fhir/example_scenario_process.rb +56 -0
  361. data/app/models/fhir/example_scenario_process_step.rb +45 -0
  362. data/app/models/fhir/example_scenario_process_step_alternative.rb +42 -0
  363. data/app/models/fhir/example_scenario_process_step_operation.rb +89 -0
  364. data/app/models/fhir/explanation_of_benefit.rb +255 -0
  365. data/app/models/fhir/explanation_of_benefit_accident.rb +45 -0
  366. data/app/models/fhir/explanation_of_benefit_add_item.rb +152 -0
  367. data/app/models/fhir/explanation_of_benefit_add_item_detail.rb +75 -0
  368. data/app/models/fhir/explanation_of_benefit_add_item_detail_sub_detail.rb +70 -0
  369. data/app/models/fhir/explanation_of_benefit_benefit_balance.rb +69 -0
  370. data/app/models/fhir/explanation_of_benefit_benefit_balance_financial.rb +59 -0
  371. data/app/models/fhir/explanation_of_benefit_care_team.rb +52 -0
  372. data/app/models/fhir/explanation_of_benefit_diagnosis.rb +55 -0
  373. data/app/models/fhir/explanation_of_benefit_insurance.rb +45 -0
  374. data/app/models/fhir/explanation_of_benefit_item.rb +184 -0
  375. data/app/models/fhir/explanation_of_benefit_item_adjudication.rb +45 -0
  376. data/app/models/fhir/explanation_of_benefit_item_detail.rb +102 -0
  377. data/app/models/fhir/explanation_of_benefit_item_detail_sub_detail.rb +97 -0
  378. data/app/models/fhir/explanation_of_benefit_payee.rb +33 -0
  379. data/app/models/fhir/explanation_of_benefit_payment.rb +55 -0
  380. data/app/models/fhir/explanation_of_benefit_procedure.rb +57 -0
  381. data/app/models/fhir/explanation_of_benefit_process_note.rb +49 -0
  382. data/app/models/fhir/explanation_of_benefit_related.rb +38 -0
  383. data/app/models/fhir/explanation_of_benefit_status.rb +27 -0
  384. data/app/models/fhir/explanation_of_benefit_supporting_info.rb +86 -0
  385. data/app/models/fhir/explanation_of_benefit_total.rb +33 -0
  386. data/app/models/fhir/exposure_state.rb +27 -0
  387. data/app/models/fhir/expression.rb +58 -0
  388. data/app/models/fhir/extension.rb +337 -0
  389. data/app/models/fhir/extension_context_type.rb +27 -0
  390. data/app/models/fhir/family_history_status.rb +27 -0
  391. data/app/models/fhir/family_member_history.rb +183 -0
  392. data/app/models/fhir/family_member_history_condition.rb +67 -0
  393. data/app/models/fhir/fhir_all_types.rb +27 -0
  394. data/app/models/fhir/fhir_defined_type.rb +27 -0
  395. data/app/models/fhir/fhir_device_status.rb +27 -0
  396. data/app/models/fhir/fhir_resource_type.rb +27 -0
  397. data/app/models/fhir/fhir_substance_status.rb +27 -0
  398. data/app/models/fhir/fhir_version.rb +27 -0
  399. data/app/models/fhir/filter_operator.rb +27 -0
  400. data/app/models/fhir/flag.rb +65 -0
  401. data/app/models/fhir/flag_status.rb +27 -0
  402. data/app/models/fhir/goal.rb +116 -0
  403. data/app/models/fhir/goal_lifecycle_status.rb +27 -0
  404. data/app/models/fhir/goal_target.rb +81 -0
  405. data/app/models/fhir/graph_compartment_rule.rb +27 -0
  406. data/app/models/fhir/graph_compartment_use.rb +27 -0
  407. data/app/models/fhir/graph_definition.rb +120 -0
  408. data/app/models/fhir/graph_definition_link.rb +63 -0
  409. data/app/models/fhir/graph_definition_link_target.rb +54 -0
  410. data/app/models/fhir/graph_definition_link_target_compartment.rb +58 -0
  411. data/app/models/fhir/group.rb +83 -0
  412. data/app/models/fhir/group_characteristic.rb +67 -0
  413. data/app/models/fhir/group_measure.rb +27 -0
  414. data/app/models/fhir/group_member.rb +40 -0
  415. data/app/models/fhir/group_type.rb +27 -0
  416. data/app/models/fhir/guidance_response.rb +116 -0
  417. data/app/models/fhir/guidance_response_status.rb +27 -0
  418. data/app/models/fhir/guide_page_generation.rb +27 -0
  419. data/app/models/fhir/guide_parameter_code.rb +27 -0
  420. data/app/models/fhir/healthcare_service.rb +155 -0
  421. data/app/models/fhir/healthcare_service_available_time.rb +54 -0
  422. data/app/models/fhir/healthcare_service_eligibility.rb +35 -0
  423. data/app/models/fhir/healthcare_service_not_available.rb +35 -0
  424. data/app/models/fhir/http_verb.rb +27 -0
  425. data/app/models/fhir/human_name.rb +79 -0
  426. data/app/models/fhir/identifier.rb +59 -0
  427. data/app/models/fhir/identifier_use.rb +27 -0
  428. data/app/models/fhir/identity_assurance_level.rb +27 -0
  429. data/app/models/fhir/imaging_study.rb +133 -0
  430. data/app/models/fhir/imaging_study_series.rb +93 -0
  431. data/app/models/fhir/imaging_study_series_instance.rb +49 -0
  432. data/app/models/fhir/imaging_study_series_performer.rb +33 -0
  433. data/app/models/fhir/imaging_study_status.rb +27 -0
  434. data/app/models/fhir/immunization.rb +184 -0
  435. data/app/models/fhir/immunization_education.rb +51 -0
  436. data/app/models/fhir/immunization_evaluation.rb +114 -0
  437. data/app/models/fhir/immunization_evaluation_status.rb +27 -0
  438. data/app/models/fhir/immunization_performer.rb +33 -0
  439. data/app/models/fhir/immunization_protocol_applied.rb +68 -0
  440. data/app/models/fhir/immunization_reaction.rb +42 -0
  441. data/app/models/fhir/immunization_recommendation.rb +50 -0
  442. data/app/models/fhir/immunization_recommendation_recommendation.rb +105 -0
  443. data/app/models/fhir/immunization_recommendation_recommendation_date_criterion.rb +35 -0
  444. data/app/models/fhir/immunization_status.rb +27 -0
  445. data/app/models/fhir/implementation_guide.rb +152 -0
  446. data/app/models/fhir/implementation_guide_definition.rb +48 -0
  447. data/app/models/fhir/implementation_guide_definition_grouping.rb +37 -0
  448. data/app/models/fhir/implementation_guide_definition_page.rb +54 -0
  449. data/app/models/fhir/implementation_guide_definition_parameter.rb +37 -0
  450. data/app/models/fhir/implementation_guide_definition_resource.rb +73 -0
  451. data/app/models/fhir/implementation_guide_definition_template.rb +44 -0
  452. data/app/models/fhir/implementation_guide_depends_on.rb +44 -0
  453. data/app/models/fhir/implementation_guide_global.rb +37 -0
  454. data/app/models/fhir/implementation_guide_manifest.rb +60 -0
  455. data/app/models/fhir/implementation_guide_manifest_page.rb +47 -0
  456. data/app/models/fhir/implementation_guide_manifest_resource.rb +49 -0
  457. data/app/models/fhir/insurance_plan.rb +102 -0
  458. data/app/models/fhir/insurance_plan_contact.rb +43 -0
  459. data/app/models/fhir/insurance_plan_coverage.rb +38 -0
  460. data/app/models/fhir/insurance_plan_coverage_benefit.rb +40 -0
  461. data/app/models/fhir/insurance_plan_coverage_benefit_limit.rb +33 -0
  462. data/app/models/fhir/insurance_plan_plan.rb +53 -0
  463. data/app/models/fhir/insurance_plan_plan_general_cost.rb +47 -0
  464. data/app/models/fhir/insurance_plan_plan_specific_cost.rb +33 -0
  465. data/app/models/fhir/insurance_plan_plan_specific_cost_benefit.rb +33 -0
  466. data/app/models/fhir/insurance_plan_plan_specific_cost_benefit_cost.rb +43 -0
  467. data/app/models/fhir/invoice.rb +111 -0
  468. data/app/models/fhir/invoice_line_item.rb +45 -0
  469. data/app/models/fhir/invoice_line_item_price_component.rb +47 -0
  470. data/app/models/fhir/invoice_participant.rb +33 -0
  471. data/app/models/fhir/invoice_price_component_type.rb +27 -0
  472. data/app/models/fhir/invoice_status.rb +27 -0
  473. data/app/models/fhir/issue_severity.rb +27 -0
  474. data/app/models/fhir/issue_type.rb +27 -0
  475. data/app/models/fhir/library.rb +213 -0
  476. data/app/models/fhir/link_type.rb +27 -0
  477. data/app/models/fhir/linkage.rb +40 -0
  478. data/app/models/fhir/linkage_item.rb +35 -0
  479. data/app/models/fhir/linkage_type.rb +27 -0
  480. data/app/models/fhir/list.rb +96 -0
  481. data/app/models/fhir/list_entry.rb +47 -0
  482. data/app/models/fhir/list_mode.rb +27 -0
  483. data/app/models/fhir/list_status.rb +27 -0
  484. data/app/models/fhir/location.rb +123 -0
  485. data/app/models/fhir/location_hours_of_operation.rb +54 -0
  486. data/app/models/fhir/location_mode.rb +27 -0
  487. data/app/models/fhir/location_position.rb +44 -0
  488. data/app/models/fhir/location_status.rb +27 -0
  489. data/app/models/fhir/marketing_status.rb +50 -0
  490. data/app/models/fhir/measure.rb +295 -0
  491. data/app/models/fhir/measure_group.rb +45 -0
  492. data/app/models/fhir/measure_group_population.rb +40 -0
  493. data/app/models/fhir/measure_group_stratifier.rb +45 -0
  494. data/app/models/fhir/measure_group_stratifier_component.rb +40 -0
  495. data/app/models/fhir/measure_report.rb +86 -0
  496. data/app/models/fhir/measure_report_group.rb +43 -0
  497. data/app/models/fhir/measure_report_group_population.rb +40 -0
  498. data/app/models/fhir/measure_report_group_stratifier.rb +33 -0
  499. data/app/models/fhir/measure_report_group_stratifier_stratum.rb +43 -0
  500. data/app/models/fhir/measure_report_group_stratifier_stratum_component.rb +33 -0
  501. data/app/models/fhir/measure_report_group_stratifier_stratum_population.rb +40 -0
  502. data/app/models/fhir/measure_report_status.rb +27 -0
  503. data/app/models/fhir/measure_report_type.rb +27 -0
  504. data/app/models/fhir/measure_supplemental_data.rb +45 -0
  505. data/app/models/fhir/media.rb +154 -0
  506. data/app/models/fhir/media_status.rb +27 -0
  507. data/app/models/fhir/medication.rb +65 -0
  508. data/app/models/fhir/medication_administration.rb +137 -0
  509. data/app/models/fhir/medication_administration_dosage.rb +60 -0
  510. data/app/models/fhir/medication_administration_performer.rb +33 -0
  511. data/app/models/fhir/medication_administration_status.rb +27 -0
  512. data/app/models/fhir/medication_batch.rb +37 -0
  513. data/app/models/fhir/medication_dispense.rb +159 -0
  514. data/app/models/fhir/medication_dispense_performer.rb +33 -0
  515. data/app/models/fhir/medication_dispense_status.rb +27 -0
  516. data/app/models/fhir/medication_dispense_substitution.rb +45 -0
  517. data/app/models/fhir/medication_ingredient.rb +45 -0
  518. data/app/models/fhir/medication_knowledge.rb +142 -0
  519. data/app/models/fhir/medication_knowledge_administration_guidelines.rb +43 -0
  520. data/app/models/fhir/medication_knowledge_administration_guidelines_dosage.rb +33 -0
  521. data/app/models/fhir/medication_knowledge_administration_guidelines_patient_characteristics.rb +43 -0
  522. data/app/models/fhir/medication_knowledge_cost.rb +40 -0
  523. data/app/models/fhir/medication_knowledge_drug_characteristic.rb +52 -0
  524. data/app/models/fhir/medication_knowledge_ingredient.rb +45 -0
  525. data/app/models/fhir/medication_knowledge_kinetics.rb +38 -0
  526. data/app/models/fhir/medication_knowledge_medicine_classification.rb +33 -0
  527. data/app/models/fhir/medication_knowledge_monitoring_program.rb +35 -0
  528. data/app/models/fhir/medication_knowledge_monograph.rb +33 -0
  529. data/app/models/fhir/medication_knowledge_packaging.rb +33 -0
  530. data/app/models/fhir/medication_knowledge_regulatory.rb +43 -0
  531. data/app/models/fhir/medication_knowledge_regulatory_max_dispense.rb +33 -0
  532. data/app/models/fhir/medication_knowledge_regulatory_schedule.rb +28 -0
  533. data/app/models/fhir/medication_knowledge_regulatory_substitution.rb +35 -0
  534. data/app/models/fhir/medication_knowledge_related_medication_knowledge.rb +33 -0
  535. data/app/models/fhir/medication_knowledge_status.rb +27 -0
  536. data/app/models/fhir/medication_request.rb +215 -0
  537. data/app/models/fhir/medication_request_dispense_request.rb +60 -0
  538. data/app/models/fhir/medication_request_dispense_request_initial_fill.rb +33 -0
  539. data/app/models/fhir/medication_request_intent.rb +27 -0
  540. data/app/models/fhir/medication_request_priority.rb +27 -0
  541. data/app/models/fhir/medication_request_status.rb +27 -0
  542. data/app/models/fhir/medication_request_substitution.rb +40 -0
  543. data/app/models/fhir/medication_statement.rb +124 -0
  544. data/app/models/fhir/medication_statement_status.rb +27 -0
  545. data/app/models/fhir/medication_status.rb +27 -0
  546. data/app/models/fhir/medicinal_product.rb +128 -0
  547. data/app/models/fhir/medicinal_product_authorization.rb +111 -0
  548. data/app/models/fhir/medicinal_product_authorization_jurisdictional_authorization.rb +48 -0
  549. data/app/models/fhir/medicinal_product_authorization_procedure.rb +50 -0
  550. data/app/models/fhir/medicinal_product_contraindication.rb +58 -0
  551. data/app/models/fhir/medicinal_product_contraindication_other_therapy.rb +38 -0
  552. data/app/models/fhir/medicinal_product_indication.rb +68 -0
  553. data/app/models/fhir/medicinal_product_indication_other_therapy.rb +38 -0
  554. data/app/models/fhir/medicinal_product_ingredient.rb +55 -0
  555. data/app/models/fhir/medicinal_product_ingredient_specified_substance.rb +43 -0
  556. data/app/models/fhir/medicinal_product_ingredient_specified_substance_strength.rb +60 -0
  557. data/app/models/fhir/medicinal_product_ingredient_specified_substance_strength_reference_strength.rb +50 -0
  558. data/app/models/fhir/medicinal_product_ingredient_substance.rb +33 -0
  559. data/app/models/fhir/medicinal_product_interaction.rb +60 -0
  560. data/app/models/fhir/medicinal_product_interaction_interactant.rb +33 -0
  561. data/app/models/fhir/medicinal_product_manufactured.rb +58 -0
  562. data/app/models/fhir/medicinal_product_manufacturing_business_operation.rb +55 -0
  563. data/app/models/fhir/medicinal_product_name.rb +40 -0
  564. data/app/models/fhir/medicinal_product_name_country_language.rb +38 -0
  565. data/app/models/fhir/medicinal_product_name_name_part.rb +35 -0
  566. data/app/models/fhir/medicinal_product_packaged.rb +70 -0
  567. data/app/models/fhir/medicinal_product_packaged_batch_identifier.rb +33 -0
  568. data/app/models/fhir/medicinal_product_packaged_package_item.rb +83 -0
  569. data/app/models/fhir/medicinal_product_pharmaceutical.rb +58 -0
  570. data/app/models/fhir/medicinal_product_pharmaceutical_characteristics.rb +33 -0
  571. data/app/models/fhir/medicinal_product_pharmaceutical_route_of_administration.rb +58 -0
  572. data/app/models/fhir/medicinal_product_pharmaceutical_route_of_administration_target_species.rb +33 -0
  573. data/app/models/fhir/medicinal_product_pharmaceutical_route_of_administration_target_species_withdrawal_period.rb +40 -0
  574. data/app/models/fhir/medicinal_product_special_designation.rb +65 -0
  575. data/app/models/fhir/medicinal_product_undesirable_effect.rb +48 -0
  576. data/app/models/fhir/message_definition.rb +193 -0
  577. data/app/models/fhir/message_definition_allowed_response.rb +37 -0
  578. data/app/models/fhir/message_definition_focus.rb +51 -0
  579. data/app/models/fhir/message_header.rb +87 -0
  580. data/app/models/fhir/message_header_destination.rb +47 -0
  581. data/app/models/fhir/message_header_response.rb +42 -0
  582. data/app/models/fhir/message_header_source.rb +56 -0
  583. data/app/models/fhir/message_significance_category.rb +27 -0
  584. data/app/models/fhir/messageheader_response_request.rb +27 -0
  585. data/app/models/fhir/meta.rb +64 -0
  586. data/app/models/fhir/mime_type.rb +27 -0
  587. data/app/models/fhir/molecular_sequence.rb +111 -0
  588. data/app/models/fhir/molecular_sequence_quality.rb +120 -0
  589. data/app/models/fhir/molecular_sequence_quality_roc.rb +93 -0
  590. data/app/models/fhir/molecular_sequence_reference_seq.rb +80 -0
  591. data/app/models/fhir/molecular_sequence_repository.rb +65 -0
  592. data/app/models/fhir/molecular_sequence_structure_variant.rb +52 -0
  593. data/app/models/fhir/molecular_sequence_structure_variant_inner.rb +37 -0
  594. data/app/models/fhir/molecular_sequence_structure_variant_outer.rb +37 -0
  595. data/app/models/fhir/molecular_sequence_variant.rb +63 -0
  596. data/app/models/fhir/money.rb +37 -0
  597. data/app/models/fhir/money_quantity.rb +58 -0
  598. data/app/models/fhir/name_use.rb +27 -0
  599. data/app/models/fhir/naming_system.rb +104 -0
  600. data/app/models/fhir/naming_system_identifier_type.rb +27 -0
  601. data/app/models/fhir/naming_system_type.rb +27 -0
  602. data/app/models/fhir/naming_system_unique_id.rb +56 -0
  603. data/app/models/fhir/narrative.rb +37 -0
  604. data/app/models/fhir/narrative_status.rb +27 -0
  605. data/app/models/fhir/note_type.rb +27 -0
  606. data/app/models/fhir/nutritiion_order_intent.rb +27 -0
  607. data/app/models/fhir/nutrition_order.rb +129 -0
  608. data/app/models/fhir/nutrition_order_enteral_formula.rb +74 -0
  609. data/app/models/fhir/nutrition_order_enteral_formula_administration.rb +43 -0
  610. data/app/models/fhir/nutrition_order_oral_diet.rb +55 -0
  611. data/app/models/fhir/nutrition_order_oral_diet_nutrient.rb +33 -0
  612. data/app/models/fhir/nutrition_order_oral_diet_texture.rb +33 -0
  613. data/app/models/fhir/nutrition_order_status.rb +27 -0
  614. data/app/models/fhir/nutrition_order_supplement.rb +52 -0
  615. data/app/models/fhir/observation.rb +226 -0
  616. data/app/models/fhir/observation_component.rb +108 -0
  617. data/app/models/fhir/observation_data_type.rb +27 -0
  618. data/app/models/fhir/observation_definition.rb +97 -0
  619. data/app/models/fhir/observation_definition_qualified_interval.rb +69 -0
  620. data/app/models/fhir/observation_definition_quantitative_details.rb +47 -0
  621. data/app/models/fhir/observation_range_category.rb +27 -0
  622. data/app/models/fhir/observation_reference_range.rb +55 -0
  623. data/app/models/fhir/observation_status.rb +27 -0
  624. data/app/models/fhir/operation_definition.rb +198 -0
  625. data/app/models/fhir/operation_definition_overload.rb +40 -0
  626. data/app/models/fhir/operation_definition_parameter.rb +97 -0
  627. data/app/models/fhir/operation_definition_parameter_binding.rb +37 -0
  628. data/app/models/fhir/operation_definition_parameter_referenced_from.rb +37 -0
  629. data/app/models/fhir/operation_kind.rb +27 -0
  630. data/app/models/fhir/operation_outcome.rb +28 -0
  631. data/app/models/fhir/operation_outcome_issue.rb +69 -0
  632. data/app/models/fhir/operation_parameter_use.rb +27 -0
  633. data/app/models/fhir/organization.rb +82 -0
  634. data/app/models/fhir/organization_affiliation.rb +85 -0
  635. data/app/models/fhir/organization_contact.rb +43 -0
  636. data/app/models/fhir/orientation_type.rb +27 -0
  637. data/app/models/fhir/parameter_definition.rb +72 -0
  638. data/app/models/fhir/parameter_use.rb +27 -0
  639. data/app/models/fhir/parameters.rb +28 -0
  640. data/app/models/fhir/parameters_parameter.rb +328 -0
  641. data/app/models/fhir/participant_required.rb +27 -0
  642. data/app/models/fhir/participant_status.rb +27 -0
  643. data/app/models/fhir/participation_status.rb +27 -0
  644. data/app/models/fhir/patient.rb +127 -0
  645. data/app/models/fhir/patient_communication.rb +35 -0
  646. data/app/models/fhir/patient_contact.rb +60 -0
  647. data/app/models/fhir/patient_link.rb +35 -0
  648. data/app/models/fhir/payment_notice.rb +89 -0
  649. data/app/models/fhir/payment_notice_status.rb +27 -0
  650. data/app/models/fhir/payment_reconciliation.rb +108 -0
  651. data/app/models/fhir/payment_reconciliation_detail.rb +75 -0
  652. data/app/models/fhir/payment_reconciliation_process_note.rb +37 -0
  653. data/app/models/fhir/payment_reconciliation_status.rb +27 -0
  654. data/app/models/fhir/period.rb +37 -0
  655. data/app/models/fhir/person.rb +79 -0
  656. data/app/models/fhir/person_link.rb +35 -0
  657. data/app/models/fhir/plan_definition.rb +218 -0
  658. data/app/models/fhir/plan_definition_action.rb +226 -0
  659. data/app/models/fhir/plan_definition_action_condition.rb +35 -0
  660. data/app/models/fhir/plan_definition_action_dynamic_value.rb +35 -0
  661. data/app/models/fhir/plan_definition_action_participant.rb +35 -0
  662. data/app/models/fhir/plan_definition_action_related_action.rb +47 -0
  663. data/app/models/fhir/plan_definition_goal.rb +58 -0
  664. data/app/models/fhir/plan_definition_goal_target.rb +48 -0
  665. data/app/models/fhir/population.rb +48 -0
  666. data/app/models/fhir/practitioner.rb +79 -0
  667. data/app/models/fhir/practitioner_qualification.rb +43 -0
  668. data/app/models/fhir/practitioner_role.rb +97 -0
  669. data/app/models/fhir/practitioner_role_available_time.rb +54 -0
  670. data/app/models/fhir/practitioner_role_not_available.rb +35 -0
  671. data/app/models/fhir/primitive_base_64_binary.rb +31 -0
  672. data/app/models/fhir/primitive_boolean.rb +31 -0
  673. data/app/models/fhir/primitive_canonical.rb +27 -0
  674. data/app/models/fhir/primitive_code.rb +27 -0
  675. data/app/models/fhir/primitive_date.rb +31 -0
  676. data/app/models/fhir/primitive_date_time.rb +31 -0
  677. data/app/models/fhir/primitive_decimal.rb +31 -0
  678. data/app/models/fhir/primitive_id.rb +27 -0
  679. data/app/models/fhir/primitive_instant.rb +31 -0
  680. data/app/models/fhir/primitive_integer.rb +31 -0
  681. data/app/models/fhir/primitive_markdown.rb +27 -0
  682. data/app/models/fhir/primitive_oid.rb +27 -0
  683. data/app/models/fhir/primitive_positive_int.rb +27 -0
  684. data/app/models/fhir/primitive_question.rb +27 -0
  685. data/app/models/fhir/primitive_string.rb +31 -0
  686. data/app/models/fhir/primitive_time.rb +31 -0
  687. data/app/models/fhir/primitive_unsigned_int.rb +27 -0
  688. data/app/models/fhir/primitive_uri.rb +31 -0
  689. data/app/models/fhir/primitive_url.rb +27 -0
  690. data/app/models/fhir/primitive_uuid.rb +27 -0
  691. data/app/models/fhir/primitive_xhtml.rb +31 -0
  692. data/app/models/fhir/procedure.rb +199 -0
  693. data/app/models/fhir/procedure_focal_device.rb +33 -0
  694. data/app/models/fhir/procedure_performer.rb +38 -0
  695. data/app/models/fhir/procedure_status.rb +27 -0
  696. data/app/models/fhir/prod_characteristic.rb +90 -0
  697. data/app/models/fhir/product_shelf_life.rb +43 -0
  698. data/app/models/fhir/property_representation.rb +27 -0
  699. data/app/models/fhir/property_type.rb +27 -0
  700. data/app/models/fhir/provenance.rb +87 -0
  701. data/app/models/fhir/provenance_agent.rb +43 -0
  702. data/app/models/fhir/provenance_entity.rb +40 -0
  703. data/app/models/fhir/provenance_entity_role.rb +27 -0
  704. data/app/models/fhir/publication_status.rb +27 -0
  705. data/app/models/fhir/quality_type.rb +27 -0
  706. data/app/models/fhir/quantity.rb +58 -0
  707. data/app/models/fhir/quantity_comparator.rb +27 -0
  708. data/app/models/fhir/questionnaire.rb +169 -0
  709. data/app/models/fhir/questionnaire_item.rb +125 -0
  710. data/app/models/fhir/questionnaire_item_answer_option.rb +68 -0
  711. data/app/models/fhir/questionnaire_item_enable_when.rb +101 -0
  712. data/app/models/fhir/questionnaire_item_initial.rb +99 -0
  713. data/app/models/fhir/questionnaire_item_operator.rb +27 -0
  714. data/app/models/fhir/questionnaire_item_type.rb +27 -0
  715. data/app/models/fhir/questionnaire_response.rb +84 -0
  716. data/app/models/fhir/questionnaire_response_item.rb +54 -0
  717. data/app/models/fhir/questionnaire_response_item_answer.rb +104 -0
  718. data/app/models/fhir/questionnaire_response_status.rb +27 -0
  719. data/app/models/fhir/range.rb +33 -0
  720. data/app/models/fhir/ratio.rb +33 -0
  721. data/app/models/fhir/reference.rb +49 -0
  722. data/app/models/fhir/reference_handling_policy.rb +27 -0
  723. data/app/models/fhir/reference_version_rules.rb +27 -0
  724. data/app/models/fhir/referred_document_status.rb +27 -0
  725. data/app/models/fhir/related_artifact.rb +70 -0
  726. data/app/models/fhir/related_artifact_type.rb +27 -0
  727. data/app/models/fhir/related_person.rb +89 -0
  728. data/app/models/fhir/related_person_communication.rb +35 -0
  729. data/app/models/fhir/remittance_outcome.rb +27 -0
  730. data/app/models/fhir/repository_type.rb +27 -0
  731. data/app/models/fhir/request_group.rb +131 -0
  732. data/app/models/fhir/request_group_action.rb +165 -0
  733. data/app/models/fhir/request_group_action_condition.rb +35 -0
  734. data/app/models/fhir/request_group_action_related_action.rb +47 -0
  735. data/app/models/fhir/request_intent.rb +27 -0
  736. data/app/models/fhir/request_priority.rb +27 -0
  737. data/app/models/fhir/request_status.rb +27 -0
  738. data/app/models/fhir/research_definition.rb +240 -0
  739. data/app/models/fhir/research_element_definition.rb +239 -0
  740. data/app/models/fhir/research_element_definition_characteristic.rb +144 -0
  741. data/app/models/fhir/research_element_type.rb +27 -0
  742. data/app/models/fhir/research_study.rb +149 -0
  743. data/app/models/fhir/research_study_arm.rb +42 -0
  744. data/app/models/fhir/research_study_objective.rb +35 -0
  745. data/app/models/fhir/research_study_status.rb +27 -0
  746. data/app/models/fhir/research_subject.rb +69 -0
  747. data/app/models/fhir/research_subject_status.rb +27 -0
  748. data/app/models/fhir/resource.rb +59 -0
  749. data/app/models/fhir/resource_type.rb +27 -0
  750. data/app/models/fhir/resource_version_policy.rb +27 -0
  751. data/app/models/fhir/response_type.rb +27 -0
  752. data/app/models/fhir/restful_capability_mode.rb +27 -0
  753. data/app/models/fhir/risk_assessment.rb +119 -0
  754. data/app/models/fhir/risk_assessment_prediction.rb +69 -0
  755. data/app/models/fhir/risk_assessment_status.rb +27 -0
  756. data/app/models/fhir/risk_evidence_synthesis.rb +200 -0
  757. data/app/models/fhir/risk_evidence_synthesis_certainty.rb +38 -0
  758. data/app/models/fhir/risk_evidence_synthesis_certainty_certainty_subcomponent.rb +38 -0
  759. data/app/models/fhir/risk_evidence_synthesis_risk_estimate.rb +66 -0
  760. data/app/models/fhir/risk_evidence_synthesis_risk_estimate_precision_estimate.rb +49 -0
  761. data/app/models/fhir/risk_evidence_synthesis_sample_size.rb +44 -0
  762. data/app/models/fhir/sampled_data.rb +70 -0
  763. data/app/models/fhir/schedule.rb +67 -0
  764. data/app/models/fhir/search_comparator.rb +27 -0
  765. data/app/models/fhir/search_entry_mode.rb +27 -0
  766. data/app/models/fhir/search_modifier_code.rb +27 -0
  767. data/app/models/fhir/search_param_type.rb +27 -0
  768. data/app/models/fhir/search_parameter.rb +212 -0
  769. data/app/models/fhir/search_parameter_component.rb +37 -0
  770. data/app/models/fhir/section_mode.rb +27 -0
  771. data/app/models/fhir/sequence_type.rb +27 -0
  772. data/app/models/fhir/service_request.rb +239 -0
  773. data/app/models/fhir/service_request_intent.rb +27 -0
  774. data/app/models/fhir/service_request_priority.rb +27 -0
  775. data/app/models/fhir/service_request_status.rb +27 -0
  776. data/app/models/fhir/signature.rb +66 -0
  777. data/app/models/fhir/simple_quantity.rb +51 -0
  778. data/app/models/fhir/slicing_rules.rb +27 -0
  779. data/app/models/fhir/slot.rb +88 -0
  780. data/app/models/fhir/slot_status.rb +27 -0
  781. data/app/models/fhir/sort_direction.rb +27 -0
  782. data/app/models/fhir/spdx_license.rb +27 -0
  783. data/app/models/fhir/specimen.rb +92 -0
  784. data/app/models/fhir/specimen_collection.rb +70 -0
  785. data/app/models/fhir/specimen_contained_preference.rb +27 -0
  786. data/app/models/fhir/specimen_container.rb +60 -0
  787. data/app/models/fhir/specimen_definition.rb +55 -0
  788. data/app/models/fhir/specimen_definition_type_tested.rb +69 -0
  789. data/app/models/fhir/specimen_definition_type_tested_container.rb +74 -0
  790. data/app/models/fhir/specimen_definition_type_tested_container_additive.rb +33 -0
  791. data/app/models/fhir/specimen_definition_type_tested_handling.rb +45 -0
  792. data/app/models/fhir/specimen_processing.rb +52 -0
  793. data/app/models/fhir/specimen_status.rb +27 -0
  794. data/app/models/fhir/status.rb +27 -0
  795. data/app/models/fhir/strand_type.rb +27 -0
  796. data/app/models/fhir/structure_definition.rb +197 -0
  797. data/app/models/fhir/structure_definition_context.rb +37 -0
  798. data/app/models/fhir/structure_definition_differential.rb +28 -0
  799. data/app/models/fhir/structure_definition_kind.rb +27 -0
  800. data/app/models/fhir/structure_definition_mapping.rb +51 -0
  801. data/app/models/fhir/structure_definition_snapshot.rb +28 -0
  802. data/app/models/fhir/structure_map.rb +140 -0
  803. data/app/models/fhir/structure_map_context_type.rb +27 -0
  804. data/app/models/fhir/structure_map_group.rb +61 -0
  805. data/app/models/fhir/structure_map_group_input.rb +51 -0
  806. data/app/models/fhir/structure_map_group_rule.rb +57 -0
  807. data/app/models/fhir/structure_map_group_rule_dependent.rb +40 -0
  808. data/app/models/fhir/structure_map_group_rule_source.rb +381 -0
  809. data/app/models/fhir/structure_map_group_rule_target.rb +80 -0
  810. data/app/models/fhir/structure_map_group_rule_target_parameter.rb +58 -0
  811. data/app/models/fhir/structure_map_group_type_mode.rb +27 -0
  812. data/app/models/fhir/structure_map_input_mode.rb +27 -0
  813. data/app/models/fhir/structure_map_model_mode.rb +27 -0
  814. data/app/models/fhir/structure_map_source_list_mode.rb +27 -0
  815. data/app/models/fhir/structure_map_structure.rb +51 -0
  816. data/app/models/fhir/structure_map_target_list_mode.rb +27 -0
  817. data/app/models/fhir/structure_map_transform.rb +27 -0
  818. data/app/models/fhir/subscription.rb +68 -0
  819. data/app/models/fhir/subscription_channel.rb +54 -0
  820. data/app/models/fhir/subscription_channel_type.rb +27 -0
  821. data/app/models/fhir/subscription_status.rb +27 -0
  822. data/app/models/fhir/substance.rb +62 -0
  823. data/app/models/fhir/substance_amount.rb +57 -0
  824. data/app/models/fhir/substance_amount_reference_range.rb +33 -0
  825. data/app/models/fhir/substance_ingredient.rb +38 -0
  826. data/app/models/fhir/substance_instance.rb +40 -0
  827. data/app/models/fhir/substance_nucleic_acid.rb +52 -0
  828. data/app/models/fhir/substance_nucleic_acid_subunit.rb +69 -0
  829. data/app/models/fhir/substance_nucleic_acid_subunit_linkage.rb +49 -0
  830. data/app/models/fhir/substance_nucleic_acid_subunit_sugar.rb +42 -0
  831. data/app/models/fhir/substance_polymer.rb +58 -0
  832. data/app/models/fhir/substance_polymer_monomer_set.rb +33 -0
  833. data/app/models/fhir/substance_polymer_monomer_set_starting_material.rb +45 -0
  834. data/app/models/fhir/substance_polymer_repeat.rb +47 -0
  835. data/app/models/fhir/substance_polymer_repeat_repeat_unit.rb +50 -0
  836. data/app/models/fhir/substance_polymer_repeat_repeat_unit_degree_of_polymerisation.rb +33 -0
  837. data/app/models/fhir/substance_polymer_repeat_repeat_unit_structural_representation.rb +40 -0
  838. data/app/models/fhir/substance_protein.rb +50 -0
  839. data/app/models/fhir/substance_protein_subunit.rb +73 -0
  840. data/app/models/fhir/substance_reference_information.rb +50 -0
  841. data/app/models/fhir/substance_reference_information_classification.rb +43 -0
  842. data/app/models/fhir/substance_reference_information_gene.rb +38 -0
  843. data/app/models/fhir/substance_reference_information_gene_element.rb +38 -0
  844. data/app/models/fhir/substance_reference_information_target.rb +75 -0
  845. data/app/models/fhir/substance_source_material.rb +100 -0
  846. data/app/models/fhir/substance_source_material_fraction_description.rb +35 -0
  847. data/app/models/fhir/substance_source_material_organism.rb +65 -0
  848. data/app/models/fhir/substance_source_material_organism_author.rb +35 -0
  849. data/app/models/fhir/substance_source_material_organism_hybrid.rb +56 -0
  850. data/app/models/fhir/substance_source_material_organism_organism_general.rb +43 -0
  851. data/app/models/fhir/substance_source_material_part_description.rb +33 -0
  852. data/app/models/fhir/substance_specification.rb +122 -0
  853. data/app/models/fhir/substance_specification_code.rb +52 -0
  854. data/app/models/fhir/substance_specification_moiety.rb +69 -0
  855. data/app/models/fhir/substance_specification_name.rb +82 -0
  856. data/app/models/fhir/substance_specification_name_official.rb +40 -0
  857. data/app/models/fhir/substance_specification_property.rb +62 -0
  858. data/app/models/fhir/substance_specification_relationship.rb +82 -0
  859. data/app/models/fhir/substance_specification_structure.rb +67 -0
  860. data/app/models/fhir/substance_specification_structure_isotope.rb +48 -0
  861. data/app/models/fhir/substance_specification_structure_isotope_molecular_weight.rb +38 -0
  862. data/app/models/fhir/substance_specification_structure_representation.rb +40 -0
  863. data/app/models/fhir/supply_delivery.rb +92 -0
  864. data/app/models/fhir/supply_delivery_status.rb +27 -0
  865. data/app/models/fhir/supply_delivery_supplied_item.rb +38 -0
  866. data/app/models/fhir/supply_request.rb +121 -0
  867. data/app/models/fhir/supply_request_parameter.rb +50 -0
  868. data/app/models/fhir/supply_request_status.rb +27 -0
  869. data/app/models/fhir/system_restful_interaction.rb +27 -0
  870. data/app/models/fhir/task.rb +194 -0
  871. data/app/models/fhir/task_input.rb +316 -0
  872. data/app/models/fhir/task_intent.rb +27 -0
  873. data/app/models/fhir/task_output.rb +316 -0
  874. data/app/models/fhir/task_priority.rb +27 -0
  875. data/app/models/fhir/task_restriction.rb +40 -0
  876. data/app/models/fhir/task_status.rb +27 -0
  877. data/app/models/fhir/terminology_capabilities.rb +171 -0
  878. data/app/models/fhir/terminology_capabilities_closure.rb +30 -0
  879. data/app/models/fhir/terminology_capabilities_code_system.rb +42 -0
  880. data/app/models/fhir/terminology_capabilities_code_system_version.rb +69 -0
  881. data/app/models/fhir/terminology_capabilities_code_system_version_filter.rb +40 -0
  882. data/app/models/fhir/terminology_capabilities_expansion.rb +56 -0
  883. data/app/models/fhir/terminology_capabilities_expansion_parameter.rb +37 -0
  884. data/app/models/fhir/terminology_capabilities_implementation.rb +37 -0
  885. data/app/models/fhir/terminology_capabilities_software.rb +37 -0
  886. data/app/models/fhir/terminology_capabilities_translation.rb +30 -0
  887. data/app/models/fhir/terminology_capabilities_validate_code.rb +30 -0
  888. data/app/models/fhir/test_report.rb +95 -0
  889. data/app/models/fhir/test_report_action_result.rb +27 -0
  890. data/app/models/fhir/test_report_participant.rb +44 -0
  891. data/app/models/fhir/test_report_participant_type.rb +27 -0
  892. data/app/models/fhir/test_report_result.rb +27 -0
  893. data/app/models/fhir/test_report_setup.rb +28 -0
  894. data/app/models/fhir/test_report_setup_action.rb +33 -0
  895. data/app/models/fhir/test_report_setup_action_assert.rb +44 -0
  896. data/app/models/fhir/test_report_setup_action_operation.rb +44 -0
  897. data/app/models/fhir/test_report_status.rb +27 -0
  898. data/app/models/fhir/test_report_teardown.rb +28 -0
  899. data/app/models/fhir/test_report_teardown_action.rb +28 -0
  900. data/app/models/fhir/test_report_test.rb +42 -0
  901. data/app/models/fhir/test_report_test_action.rb +33 -0
  902. data/app/models/fhir/test_script.rb +165 -0
  903. data/app/models/fhir/test_script_destination.rb +35 -0
  904. data/app/models/fhir/test_script_fixture.rb +42 -0
  905. data/app/models/fhir/test_script_metadata.rb +33 -0
  906. data/app/models/fhir/test_script_metadata_capability.rb +78 -0
  907. data/app/models/fhir/test_script_metadata_link.rb +37 -0
  908. data/app/models/fhir/test_script_origin.rb +35 -0
  909. data/app/models/fhir/test_script_request_method_code.rb +27 -0
  910. data/app/models/fhir/test_script_setup.rb +28 -0
  911. data/app/models/fhir/test_script_setup_action.rb +33 -0
  912. data/app/models/fhir/test_script_setup_action_assert.rb +177 -0
  913. data/app/models/fhir/test_script_setup_action_operation.rb +138 -0
  914. data/app/models/fhir/test_script_setup_action_operation_request_header.rb +37 -0
  915. data/app/models/fhir/test_script_teardown.rb +28 -0
  916. data/app/models/fhir/test_script_teardown_action.rb +28 -0
  917. data/app/models/fhir/test_script_test.rb +42 -0
  918. data/app/models/fhir/test_script_test_action.rb +33 -0
  919. data/app/models/fhir/test_script_variable.rb +79 -0
  920. data/app/models/fhir/timing.rb +43 -0
  921. data/app/models/fhir/timing_repeat.rb +145 -0
  922. data/app/models/fhir/trigger_definition.rb +71 -0
  923. data/app/models/fhir/trigger_type.rb +27 -0
  924. data/app/models/fhir/type.rb +23 -0
  925. data/app/models/fhir/type_derivation_rule.rb +27 -0
  926. data/app/models/fhir/type_restful_interaction.rb +27 -0
  927. data/app/models/fhir/udi_entry_type.rb +27 -0
  928. data/app/models/fhir/units_of_time.rb +27 -0
  929. data/app/models/fhir/usage_context.rb +48 -0
  930. data/app/models/fhir/use.rb +27 -0
  931. data/app/models/fhir/value_set.rb +137 -0
  932. data/app/models/fhir/value_set_compose.rb +47 -0
  933. data/app/models/fhir/value_set_compose_include.rb +57 -0
  934. data/app/models/fhir/value_set_compose_include_concept.rb +42 -0
  935. data/app/models/fhir/value_set_compose_include_concept_designation.rb +42 -0
  936. data/app/models/fhir/value_set_compose_include_filter.rb +44 -0
  937. data/app/models/fhir/value_set_expansion.rb +61 -0
  938. data/app/models/fhir/value_set_expansion_contains.rb +75 -0
  939. data/app/models/fhir/value_set_expansion_parameter.rb +79 -0
  940. data/app/models/fhir/variable_type.rb +27 -0
  941. data/app/models/fhir/verification_result.rb +106 -0
  942. data/app/models/fhir/verification_result_attestation.rb +69 -0
  943. data/app/models/fhir/verification_result_primary_source.rb +60 -0
  944. data/app/models/fhir/verification_result_validator.rb +40 -0
  945. data/app/models/fhir/vision_base.rb +27 -0
  946. data/app/models/fhir/vision_eyes.rb +27 -0
  947. data/app/models/fhir/vision_prescription.rb +69 -0
  948. data/app/models/fhir/vision_prescription_lens_specification.rb +113 -0
  949. data/app/models/fhir/vision_prescription_lens_specification_prism.rb +37 -0
  950. data/app/models/fhir/vision_status.rb +27 -0
  951. data/app/models/fhir/x_path_usage_type.rb +27 -0
  952. data/app/models/models.rb +940 -0
  953. data/bin/console +14 -0
  954. data/bin/setup +8 -0
  955. data/config/mongoid.yml +6 -0
  956. data/fhir-mongoid-models.gemspec +30 -0
  957. data/fhir-mongoid-models.iml +9 -0
  958. data/lib/ext/fhir/library.rb +23 -0
  959. data/lib/fhir/mongoid/models.rb +12 -0
  960. data/package-lock.json +110 -0
  961. data/package.json +30 -0
  962. data/resources/fhir-modelinfo-4.0.1.xml +12217 -0
  963. metadata +1115 -0
@@ -0,0 +1,27 @@
1
+ module FHIR
2
+ # fhir/payment_reconciliation_status.rb
3
+ class PaymentReconciliationStatus < PrimitiveCode
4
+ include Mongoid::Document
5
+
6
+ def as_json(*args)
7
+ result = super
8
+ result.delete('id')
9
+ unless self.fhirId.nil?
10
+ result['id'] = self.fhirId
11
+ result.delete('fhirId')
12
+ end
13
+ result
14
+ end
15
+
16
+ def self.transform_json(json_hash, extension_hash, target = PaymentReconciliationStatus.new)
17
+
18
+ result = target
19
+ unless extension_hash.nil?
20
+ result['fhirId'] = extension_hash['id'] unless extension_hash['id'].nil?
21
+ result['extension'] = extension_hash['extension'].map { |ext| Extension.transform_json(ext) }
22
+ end
23
+ result['value'] = json_hash
24
+ result
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,37 @@
1
+ module FHIR
2
+ # fhir/period.rb
3
+ class Period < Element
4
+ include Mongoid::Document
5
+ embeds_one :start, class_name: 'FHIR::PrimitiveDateTime'
6
+ embeds_one :end, class_name: 'FHIR::PrimitiveDateTime'
7
+
8
+ def as_json(*args)
9
+ result = super
10
+ unless self.start.nil?
11
+ result['start'] = self.start.value
12
+ serialized = Extension.serializePrimitiveExtension(self.start)
13
+ result['_start'] = serialized unless serialized.nil?
14
+ end
15
+ unless self.end.nil?
16
+ result['end'] = self.end.value
17
+ serialized = Extension.serializePrimitiveExtension(self.end)
18
+ result['_end'] = serialized unless serialized.nil?
19
+ end
20
+ result.delete('id')
21
+ unless self.fhirId.nil?
22
+ result['id'] = self.fhirId
23
+ result.delete('fhirId')
24
+ end
25
+ result
26
+ end
27
+
28
+ def self.transform_json(json_hash, target = Period.new)
29
+
30
+ result = self.superclass.transform_json(json_hash, target)
31
+ result['start'] = PrimitiveDateTime.transform_json(json_hash['start'], json_hash['_start']) unless json_hash['start'].nil?
32
+ result['end'] = PrimitiveDateTime.transform_json(json_hash['end'], json_hash['_end']) unless json_hash['end'].nil?
33
+
34
+ result
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,79 @@
1
+ module FHIR
2
+ # fhir/person.rb
3
+ class Person < DomainResource
4
+ include Mongoid::Document
5
+ embeds_many :identifier, class_name: 'FHIR::Identifier'
6
+ embeds_many :name, class_name: 'FHIR::HumanName'
7
+ embeds_many :telecom, class_name: 'FHIR::ContactPoint'
8
+ embeds_one :gender, class_name: 'FHIR::AdministrativeGender'
9
+ embeds_one :birthDate, class_name: 'FHIR::PrimitiveDate'
10
+ embeds_many :address, class_name: 'FHIR::Address'
11
+ embeds_one :photo, class_name: 'FHIR::Attachment'
12
+ embeds_one :managingOrganization, class_name: 'FHIR::Reference'
13
+ embeds_one :active, class_name: 'FHIR::PrimitiveBoolean'
14
+ embeds_many :link, class_name: 'FHIR::PersonLink'
15
+
16
+ def as_json(*args)
17
+ result = super
18
+ unless self.identifier.nil? || !self.identifier.any?
19
+ result['identifier'] = self.identifier.map{ |x| x.as_json(*args) }
20
+ end
21
+ unless self.name.nil? || !self.name.any?
22
+ result['name'] = self.name.map{ |x| x.as_json(*args) }
23
+ end
24
+ unless self.telecom.nil? || !self.telecom.any?
25
+ result['telecom'] = self.telecom.map{ |x| x.as_json(*args) }
26
+ end
27
+ unless self.gender.nil?
28
+ result['gender'] = self.gender.value
29
+ serialized = Extension.serializePrimitiveExtension(self.gender)
30
+ result['_gender'] = serialized unless serialized.nil?
31
+ end
32
+ unless self.birthDate.nil?
33
+ result['birthDate'] = self.birthDate.value
34
+ serialized = Extension.serializePrimitiveExtension(self.birthDate)
35
+ result['_birthDate'] = serialized unless serialized.nil?
36
+ end
37
+ unless self.address.nil? || !self.address.any?
38
+ result['address'] = self.address.map{ |x| x.as_json(*args) }
39
+ end
40
+ unless self.photo.nil?
41
+ result['photo'] = self.photo.as_json(*args)
42
+ end
43
+ unless self.managingOrganization.nil?
44
+ result['managingOrganization'] = self.managingOrganization.as_json(*args)
45
+ end
46
+ unless self.active.nil?
47
+ result['active'] = self.active.value
48
+ serialized = Extension.serializePrimitiveExtension(self.active)
49
+ result['_active'] = serialized unless serialized.nil?
50
+ end
51
+ unless self.link.nil? || !self.link.any?
52
+ result['link'] = self.link.map{ |x| x.as_json(*args) }
53
+ end
54
+ result.delete('id')
55
+ unless self.fhirId.nil?
56
+ result['id'] = self.fhirId
57
+ result.delete('fhirId')
58
+ end
59
+ result
60
+ end
61
+
62
+ def self.transform_json(json_hash, target = Person.new)
63
+
64
+ result = self.superclass.transform_json(json_hash, target)
65
+ result['identifier'] = json_hash['identifier'].map { |var| Identifier.transform_json(var) } unless json_hash['identifier'].nil?
66
+ result['name'] = json_hash['name'].map { |var| HumanName.transform_json(var) } unless json_hash['name'].nil?
67
+ result['telecom'] = json_hash['telecom'].map { |var| ContactPoint.transform_json(var) } unless json_hash['telecom'].nil?
68
+ result['gender'] = AdministrativeGender.transform_json(json_hash['gender'], json_hash['_gender']) unless json_hash['gender'].nil?
69
+ result['birthDate'] = PrimitiveDate.transform_json(json_hash['birthDate'], json_hash['_birthDate']) unless json_hash['birthDate'].nil?
70
+ result['address'] = json_hash['address'].map { |var| Address.transform_json(var) } unless json_hash['address'].nil?
71
+ result['photo'] = Attachment.transform_json(json_hash['photo']) unless json_hash['photo'].nil?
72
+ result['managingOrganization'] = Reference.transform_json(json_hash['managingOrganization']) unless json_hash['managingOrganization'].nil?
73
+ result['active'] = PrimitiveBoolean.transform_json(json_hash['active'], json_hash['_active']) unless json_hash['active'].nil?
74
+ result['link'] = json_hash['link'].map { |var| PersonLink.transform_json(var) } unless json_hash['link'].nil?
75
+
76
+ result
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,35 @@
1
+ module FHIR
2
+ # fhir/person_link.rb
3
+ class PersonLink < BackboneElement
4
+ include Mongoid::Document
5
+ embeds_one :target, class_name: 'FHIR::Reference'
6
+ embeds_one :assurance, class_name: 'FHIR::IdentityAssuranceLevel'
7
+
8
+ def as_json(*args)
9
+ result = super
10
+ unless self.target.nil?
11
+ result['target'] = self.target.as_json(*args)
12
+ end
13
+ unless self.assurance.nil?
14
+ result['assurance'] = self.assurance.value
15
+ serialized = Extension.serializePrimitiveExtension(self.assurance)
16
+ result['_assurance'] = serialized unless serialized.nil?
17
+ end
18
+ result.delete('id')
19
+ unless self.fhirId.nil?
20
+ result['id'] = self.fhirId
21
+ result.delete('fhirId')
22
+ end
23
+ result
24
+ end
25
+
26
+ def self.transform_json(json_hash, target = PersonLink.new)
27
+
28
+ result = self.superclass.transform_json(json_hash, target)
29
+ result['target'] = Reference.transform_json(json_hash['target']) unless json_hash['target'].nil?
30
+ result['assurance'] = IdentityAssuranceLevel.transform_json(json_hash['assurance'], json_hash['_assurance']) unless json_hash['assurance'].nil?
31
+
32
+ result
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,218 @@
1
+ module FHIR
2
+ # fhir/plan_definition.rb
3
+ class PlanDefinition < DomainResource
4
+ include Mongoid::Document
5
+ embeds_one :url, class_name: 'FHIR::PrimitiveUri'
6
+ embeds_many :identifier, class_name: 'FHIR::Identifier'
7
+ embeds_one :version, class_name: 'FHIR::PrimitiveString'
8
+ embeds_one :name, class_name: 'FHIR::PrimitiveString'
9
+ embeds_one :title, class_name: 'FHIR::PrimitiveString'
10
+ embeds_one :subtitle, class_name: 'FHIR::PrimitiveString'
11
+ embeds_one :type, class_name: 'FHIR::CodeableConcept'
12
+ embeds_one :status, class_name: 'FHIR::PublicationStatus'
13
+ embeds_one :experimental, class_name: 'FHIR::PrimitiveBoolean'
14
+ embeds_one :subjectCodeableConcept, class_name: 'FHIR::CodeableConcept'
15
+ embeds_one :subjectReference, class_name: 'FHIR::Reference'
16
+ embeds_one :date, class_name: 'FHIR::PrimitiveDateTime'
17
+ embeds_one :publisher, class_name: 'FHIR::PrimitiveString'
18
+ embeds_many :contact, class_name: 'FHIR::ContactDetail'
19
+ embeds_one :description, class_name: 'FHIR::PrimitiveMarkdown'
20
+ embeds_many :useContext, class_name: 'FHIR::UsageContext'
21
+ embeds_many :jurisdiction, class_name: 'FHIR::CodeableConcept'
22
+ embeds_one :purpose, class_name: 'FHIR::PrimitiveMarkdown'
23
+ embeds_one :usage, class_name: 'FHIR::PrimitiveString'
24
+ embeds_one :copyright, class_name: 'FHIR::PrimitiveMarkdown'
25
+ embeds_one :approvalDate, class_name: 'FHIR::PrimitiveDate'
26
+ embeds_one :lastReviewDate, class_name: 'FHIR::PrimitiveDate'
27
+ embeds_one :effectivePeriod, class_name: 'FHIR::Period'
28
+ embeds_many :topic, class_name: 'FHIR::CodeableConcept'
29
+ embeds_many :author, class_name: 'FHIR::ContactDetail'
30
+ embeds_many :editor, class_name: 'FHIR::ContactDetail'
31
+ embeds_many :reviewer, class_name: 'FHIR::ContactDetail'
32
+ embeds_many :endorser, class_name: 'FHIR::ContactDetail'
33
+ embeds_many :relatedArtifact, class_name: 'FHIR::RelatedArtifact'
34
+ embeds_many :library, class_name: 'FHIR::PrimitiveCanonical'
35
+ embeds_many :goal, class_name: 'FHIR::PlanDefinitionGoal'
36
+ embeds_many :action, class_name: 'FHIR::PlanDefinitionAction'
37
+
38
+ def as_json(*args)
39
+ result = super
40
+ unless self.url.nil?
41
+ result['url'] = self.url.value
42
+ serialized = Extension.serializePrimitiveExtension(self.url)
43
+ result['_url'] = serialized unless serialized.nil?
44
+ end
45
+ unless self.identifier.nil? || !self.identifier.any?
46
+ result['identifier'] = self.identifier.map{ |x| x.as_json(*args) }
47
+ end
48
+ unless self.version.nil?
49
+ result['version'] = self.version.value
50
+ serialized = Extension.serializePrimitiveExtension(self.version)
51
+ result['_version'] = serialized unless serialized.nil?
52
+ end
53
+ unless self.name.nil?
54
+ result['name'] = self.name.value
55
+ serialized = Extension.serializePrimitiveExtension(self.name)
56
+ result['_name'] = serialized unless serialized.nil?
57
+ end
58
+ unless self.title.nil?
59
+ result['title'] = self.title.value
60
+ serialized = Extension.serializePrimitiveExtension(self.title)
61
+ result['_title'] = serialized unless serialized.nil?
62
+ end
63
+ unless self.subtitle.nil?
64
+ result['subtitle'] = self.subtitle.value
65
+ serialized = Extension.serializePrimitiveExtension(self.subtitle)
66
+ result['_subtitle'] = serialized unless serialized.nil?
67
+ end
68
+ unless self.type.nil?
69
+ result['type'] = self.type.as_json(*args)
70
+ end
71
+ unless self.status.nil?
72
+ result['status'] = self.status.value
73
+ serialized = Extension.serializePrimitiveExtension(self.status)
74
+ result['_status'] = serialized unless serialized.nil?
75
+ end
76
+ unless self.experimental.nil?
77
+ result['experimental'] = self.experimental.value
78
+ serialized = Extension.serializePrimitiveExtension(self.experimental)
79
+ result['_experimental'] = serialized unless serialized.nil?
80
+ end
81
+ unless self.subjectCodeableConcept.nil?
82
+ result['subjectCodeableConcept'] = self.subjectCodeableConcept.as_json(*args)
83
+ end
84
+ unless self.subjectReference.nil?
85
+ result['subjectReference'] = self.subjectReference.as_json(*args)
86
+ end
87
+ unless self.date.nil?
88
+ result['date'] = self.date.value
89
+ serialized = Extension.serializePrimitiveExtension(self.date)
90
+ result['_date'] = serialized unless serialized.nil?
91
+ end
92
+ unless self.publisher.nil?
93
+ result['publisher'] = self.publisher.value
94
+ serialized = Extension.serializePrimitiveExtension(self.publisher)
95
+ result['_publisher'] = serialized unless serialized.nil?
96
+ end
97
+ unless self.contact.nil? || !self.contact.any?
98
+ result['contact'] = self.contact.map{ |x| x.as_json(*args) }
99
+ end
100
+ unless self.description.nil?
101
+ result['description'] = self.description.value
102
+ serialized = Extension.serializePrimitiveExtension(self.description)
103
+ result['_description'] = serialized unless serialized.nil?
104
+ end
105
+ unless self.useContext.nil? || !self.useContext.any?
106
+ result['useContext'] = self.useContext.map{ |x| x.as_json(*args) }
107
+ end
108
+ unless self.jurisdiction.nil? || !self.jurisdiction.any?
109
+ result['jurisdiction'] = self.jurisdiction.map{ |x| x.as_json(*args) }
110
+ end
111
+ unless self.purpose.nil?
112
+ result['purpose'] = self.purpose.value
113
+ serialized = Extension.serializePrimitiveExtension(self.purpose)
114
+ result['_purpose'] = serialized unless serialized.nil?
115
+ end
116
+ unless self.usage.nil?
117
+ result['usage'] = self.usage.value
118
+ serialized = Extension.serializePrimitiveExtension(self.usage)
119
+ result['_usage'] = serialized unless serialized.nil?
120
+ end
121
+ unless self.copyright.nil?
122
+ result['copyright'] = self.copyright.value
123
+ serialized = Extension.serializePrimitiveExtension(self.copyright)
124
+ result['_copyright'] = serialized unless serialized.nil?
125
+ end
126
+ unless self.approvalDate.nil?
127
+ result['approvalDate'] = self.approvalDate.value
128
+ serialized = Extension.serializePrimitiveExtension(self.approvalDate)
129
+ result['_approvalDate'] = serialized unless serialized.nil?
130
+ end
131
+ unless self.lastReviewDate.nil?
132
+ result['lastReviewDate'] = self.lastReviewDate.value
133
+ serialized = Extension.serializePrimitiveExtension(self.lastReviewDate)
134
+ result['_lastReviewDate'] = serialized unless serialized.nil?
135
+ end
136
+ unless self.effectivePeriod.nil?
137
+ result['effectivePeriod'] = self.effectivePeriod.as_json(*args)
138
+ end
139
+ unless self.topic.nil? || !self.topic.any?
140
+ result['topic'] = self.topic.map{ |x| x.as_json(*args) }
141
+ end
142
+ unless self.author.nil? || !self.author.any?
143
+ result['author'] = self.author.map{ |x| x.as_json(*args) }
144
+ end
145
+ unless self.editor.nil? || !self.editor.any?
146
+ result['editor'] = self.editor.map{ |x| x.as_json(*args) }
147
+ end
148
+ unless self.reviewer.nil? || !self.reviewer.any?
149
+ result['reviewer'] = self.reviewer.map{ |x| x.as_json(*args) }
150
+ end
151
+ unless self.endorser.nil? || !self.endorser.any?
152
+ result['endorser'] = self.endorser.map{ |x| x.as_json(*args) }
153
+ end
154
+ unless self.relatedArtifact.nil? || !self.relatedArtifact.any?
155
+ result['relatedArtifact'] = self.relatedArtifact.map{ |x| x.as_json(*args) }
156
+ end
157
+ unless self.library.nil? || !self.library.any?
158
+ result['library'] = self.library.compact().map{ |x| x.value }
159
+ serialized = Extension.serializePrimitiveExtensionArray(self.library)
160
+ result['_library'] = serialized unless serialized.nil? || !serialized.any?
161
+ end
162
+ unless self.goal.nil? || !self.goal.any?
163
+ result['goal'] = self.goal.map{ |x| x.as_json(*args) }
164
+ end
165
+ unless self.action.nil? || !self.action.any?
166
+ result['action'] = self.action.map{ |x| x.as_json(*args) }
167
+ end
168
+ result.delete('id')
169
+ unless self.fhirId.nil?
170
+ result['id'] = self.fhirId
171
+ result.delete('fhirId')
172
+ end
173
+ result
174
+ end
175
+
176
+ def self.transform_json(json_hash, target = PlanDefinition.new)
177
+
178
+ result = self.superclass.transform_json(json_hash, target)
179
+ result['url'] = PrimitiveUri.transform_json(json_hash['url'], json_hash['_url']) unless json_hash['url'].nil?
180
+ result['identifier'] = json_hash['identifier'].map { |var| Identifier.transform_json(var) } unless json_hash['identifier'].nil?
181
+ result['version'] = PrimitiveString.transform_json(json_hash['version'], json_hash['_version']) unless json_hash['version'].nil?
182
+ result['name'] = PrimitiveString.transform_json(json_hash['name'], json_hash['_name']) unless json_hash['name'].nil?
183
+ result['title'] = PrimitiveString.transform_json(json_hash['title'], json_hash['_title']) unless json_hash['title'].nil?
184
+ result['subtitle'] = PrimitiveString.transform_json(json_hash['subtitle'], json_hash['_subtitle']) unless json_hash['subtitle'].nil?
185
+ result['type'] = CodeableConcept.transform_json(json_hash['type']) unless json_hash['type'].nil?
186
+ result['status'] = PublicationStatus.transform_json(json_hash['status'], json_hash['_status']) unless json_hash['status'].nil?
187
+ result['experimental'] = PrimitiveBoolean.transform_json(json_hash['experimental'], json_hash['_experimental']) unless json_hash['experimental'].nil?
188
+ result['subjectCodeableConcept'] = CodeableConcept.transform_json(json_hash['subjectCodeableConcept']) unless json_hash['subjectCodeableConcept'].nil?
189
+ result['subjectReference'] = Reference.transform_json(json_hash['subjectReference']) unless json_hash['subjectReference'].nil?
190
+ result['date'] = PrimitiveDateTime.transform_json(json_hash['date'], json_hash['_date']) unless json_hash['date'].nil?
191
+ result['publisher'] = PrimitiveString.transform_json(json_hash['publisher'], json_hash['_publisher']) unless json_hash['publisher'].nil?
192
+ result['contact'] = json_hash['contact'].map { |var| ContactDetail.transform_json(var) } unless json_hash['contact'].nil?
193
+ result['description'] = PrimitiveMarkdown.transform_json(json_hash['description'], json_hash['_description']) unless json_hash['description'].nil?
194
+ result['useContext'] = json_hash['useContext'].map { |var| UsageContext.transform_json(var) } unless json_hash['useContext'].nil?
195
+ result['jurisdiction'] = json_hash['jurisdiction'].map { |var| CodeableConcept.transform_json(var) } unless json_hash['jurisdiction'].nil?
196
+ result['purpose'] = PrimitiveMarkdown.transform_json(json_hash['purpose'], json_hash['_purpose']) unless json_hash['purpose'].nil?
197
+ result['usage'] = PrimitiveString.transform_json(json_hash['usage'], json_hash['_usage']) unless json_hash['usage'].nil?
198
+ result['copyright'] = PrimitiveMarkdown.transform_json(json_hash['copyright'], json_hash['_copyright']) unless json_hash['copyright'].nil?
199
+ result['approvalDate'] = PrimitiveDate.transform_json(json_hash['approvalDate'], json_hash['_approvalDate']) unless json_hash['approvalDate'].nil?
200
+ result['lastReviewDate'] = PrimitiveDate.transform_json(json_hash['lastReviewDate'], json_hash['_lastReviewDate']) unless json_hash['lastReviewDate'].nil?
201
+ result['effectivePeriod'] = Period.transform_json(json_hash['effectivePeriod']) unless json_hash['effectivePeriod'].nil?
202
+ result['topic'] = json_hash['topic'].map { |var| CodeableConcept.transform_json(var) } unless json_hash['topic'].nil?
203
+ result['author'] = json_hash['author'].map { |var| ContactDetail.transform_json(var) } unless json_hash['author'].nil?
204
+ result['editor'] = json_hash['editor'].map { |var| ContactDetail.transform_json(var) } unless json_hash['editor'].nil?
205
+ result['reviewer'] = json_hash['reviewer'].map { |var| ContactDetail.transform_json(var) } unless json_hash['reviewer'].nil?
206
+ result['endorser'] = json_hash['endorser'].map { |var| ContactDetail.transform_json(var) } unless json_hash['endorser'].nil?
207
+ result['relatedArtifact'] = json_hash['relatedArtifact'].map { |var| RelatedArtifact.transform_json(var) } unless json_hash['relatedArtifact'].nil?
208
+ result['library'] = json_hash['library'].each_with_index.map do |var, i|
209
+ extension_hash = json_hash['_library'] && json_hash['_library'][i]
210
+ PrimitiveCanonical.transform_json(var, extension_hash)
211
+ end unless json_hash['library'].nil?
212
+ result['goal'] = json_hash['goal'].map { |var| PlanDefinitionGoal.transform_json(var) } unless json_hash['goal'].nil?
213
+ result['action'] = json_hash['action'].map { |var| PlanDefinitionAction.transform_json(var) } unless json_hash['action'].nil?
214
+
215
+ result
216
+ end
217
+ end
218
+ end
@@ -0,0 +1,226 @@
1
+ module FHIR
2
+ # fhir/plan_definition_action.rb
3
+ class PlanDefinitionAction < BackboneElement
4
+ include Mongoid::Document
5
+ embeds_one :prefix, class_name: 'FHIR::PrimitiveString'
6
+ embeds_one :title, class_name: 'FHIR::PrimitiveString'
7
+ embeds_one :description, class_name: 'FHIR::PrimitiveString'
8
+ embeds_one :textEquivalent, class_name: 'FHIR::PrimitiveString'
9
+ embeds_one :priority, class_name: 'FHIR::RequestPriority'
10
+ embeds_many :code, class_name: 'FHIR::CodeableConcept'
11
+ embeds_many :reason, class_name: 'FHIR::CodeableConcept'
12
+ embeds_many :documentation, class_name: 'FHIR::RelatedArtifact'
13
+ embeds_many :goalId, class_name: 'FHIR::PrimitiveId'
14
+ embeds_one :subjectCodeableConcept, class_name: 'FHIR::CodeableConcept'
15
+ embeds_one :subjectReference, class_name: 'FHIR::Reference'
16
+ embeds_many :trigger, class_name: 'FHIR::TriggerDefinition'
17
+ embeds_many :condition, class_name: 'FHIR::PlanDefinitionActionCondition'
18
+ embeds_many :input, class_name: 'FHIR::DataRequirement'
19
+ embeds_many :output, class_name: 'FHIR::DataRequirement'
20
+ embeds_many :relatedAction, class_name: 'FHIR::PlanDefinitionActionRelatedAction'
21
+ embeds_one :timingDateTime, class_name: 'FHIR::PrimitiveDateTime'
22
+ embeds_one :timingAge, class_name: 'FHIR::Age'
23
+ embeds_one :timingPeriod, class_name: 'FHIR::Period'
24
+ embeds_one :timingDuration, class_name: 'FHIR::Duration'
25
+ embeds_one :timingRange, class_name: 'FHIR::Range'
26
+ embeds_one :timingTiming, class_name: 'FHIR::Timing'
27
+ embeds_many :participant, class_name: 'FHIR::PlanDefinitionActionParticipant'
28
+ embeds_one :type, class_name: 'FHIR::CodeableConcept'
29
+ embeds_one :groupingBehavior, class_name: 'FHIR::ActionGroupingBehavior'
30
+ embeds_one :selectionBehavior, class_name: 'FHIR::ActionSelectionBehavior'
31
+ embeds_one :requiredBehavior, class_name: 'FHIR::ActionRequiredBehavior'
32
+ embeds_one :precheckBehavior, class_name: 'FHIR::ActionPrecheckBehavior'
33
+ embeds_one :cardinalityBehavior, class_name: 'FHIR::ActionCardinalityBehavior'
34
+ embeds_one :definitionCanonical, class_name: 'FHIR::PrimitiveCanonical'
35
+ embeds_one :definitionUri, class_name: 'FHIR::PrimitiveUri'
36
+ embeds_one :transform, class_name: 'FHIR::PrimitiveCanonical'
37
+ embeds_many :dynamicValue, class_name: 'FHIR::PlanDefinitionActionDynamicValue'
38
+ embeds_many :action, class_name: 'FHIR::PlanDefinitionAction'
39
+
40
+ def as_json(*args)
41
+ result = super
42
+ unless self.prefix.nil?
43
+ result['prefix'] = self.prefix.value
44
+ serialized = Extension.serializePrimitiveExtension(self.prefix)
45
+ result['_prefix'] = serialized unless serialized.nil?
46
+ end
47
+ unless self.title.nil?
48
+ result['title'] = self.title.value
49
+ serialized = Extension.serializePrimitiveExtension(self.title)
50
+ result['_title'] = serialized unless serialized.nil?
51
+ end
52
+ unless self.description.nil?
53
+ result['description'] = self.description.value
54
+ serialized = Extension.serializePrimitiveExtension(self.description)
55
+ result['_description'] = serialized unless serialized.nil?
56
+ end
57
+ unless self.textEquivalent.nil?
58
+ result['textEquivalent'] = self.textEquivalent.value
59
+ serialized = Extension.serializePrimitiveExtension(self.textEquivalent)
60
+ result['_textEquivalent'] = serialized unless serialized.nil?
61
+ end
62
+ unless self.priority.nil?
63
+ result['priority'] = self.priority.value
64
+ serialized = Extension.serializePrimitiveExtension(self.priority)
65
+ result['_priority'] = serialized unless serialized.nil?
66
+ end
67
+ unless self.code.nil? || !self.code.any?
68
+ result['code'] = self.code.map{ |x| x.as_json(*args) }
69
+ end
70
+ unless self.reason.nil? || !self.reason.any?
71
+ result['reason'] = self.reason.map{ |x| x.as_json(*args) }
72
+ end
73
+ unless self.documentation.nil? || !self.documentation.any?
74
+ result['documentation'] = self.documentation.map{ |x| x.as_json(*args) }
75
+ end
76
+ unless self.goalId.nil? || !self.goalId.any?
77
+ result['goalId'] = self.goalId.compact().map{ |x| x.value }
78
+ serialized = Extension.serializePrimitiveExtensionArray(self.goalId)
79
+ result['_goalId'] = serialized unless serialized.nil? || !serialized.any?
80
+ end
81
+ unless self.subjectCodeableConcept.nil?
82
+ result['subjectCodeableConcept'] = self.subjectCodeableConcept.as_json(*args)
83
+ end
84
+ unless self.subjectReference.nil?
85
+ result['subjectReference'] = self.subjectReference.as_json(*args)
86
+ end
87
+ unless self.trigger.nil? || !self.trigger.any?
88
+ result['trigger'] = self.trigger.map{ |x| x.as_json(*args) }
89
+ end
90
+ unless self.condition.nil? || !self.condition.any?
91
+ result['condition'] = self.condition.map{ |x| x.as_json(*args) }
92
+ end
93
+ unless self.input.nil? || !self.input.any?
94
+ result['input'] = self.input.map{ |x| x.as_json(*args) }
95
+ end
96
+ unless self.output.nil? || !self.output.any?
97
+ result['output'] = self.output.map{ |x| x.as_json(*args) }
98
+ end
99
+ unless self.relatedAction.nil? || !self.relatedAction.any?
100
+ result['relatedAction'] = self.relatedAction.map{ |x| x.as_json(*args) }
101
+ end
102
+ unless self.timingDateTime.nil?
103
+ result['timingDateTime'] = self.timingDateTime.value
104
+ serialized = Extension.serializePrimitiveExtension(self.timingDateTime)
105
+ result['_timingDateTime'] = serialized unless serialized.nil?
106
+ end
107
+ unless self.timingAge.nil?
108
+ result['timingAge'] = self.timingAge.as_json(*args)
109
+ end
110
+ unless self.timingPeriod.nil?
111
+ result['timingPeriod'] = self.timingPeriod.as_json(*args)
112
+ end
113
+ unless self.timingDuration.nil?
114
+ result['timingDuration'] = self.timingDuration.as_json(*args)
115
+ end
116
+ unless self.timingRange.nil?
117
+ result['timingRange'] = self.timingRange.as_json(*args)
118
+ end
119
+ unless self.timingTiming.nil?
120
+ result['timingTiming'] = self.timingTiming.as_json(*args)
121
+ end
122
+ unless self.participant.nil? || !self.participant.any?
123
+ result['participant'] = self.participant.map{ |x| x.as_json(*args) }
124
+ end
125
+ unless self.type.nil?
126
+ result['type'] = self.type.as_json(*args)
127
+ end
128
+ unless self.groupingBehavior.nil?
129
+ result['groupingBehavior'] = self.groupingBehavior.value
130
+ serialized = Extension.serializePrimitiveExtension(self.groupingBehavior)
131
+ result['_groupingBehavior'] = serialized unless serialized.nil?
132
+ end
133
+ unless self.selectionBehavior.nil?
134
+ result['selectionBehavior'] = self.selectionBehavior.value
135
+ serialized = Extension.serializePrimitiveExtension(self.selectionBehavior)
136
+ result['_selectionBehavior'] = serialized unless serialized.nil?
137
+ end
138
+ unless self.requiredBehavior.nil?
139
+ result['requiredBehavior'] = self.requiredBehavior.value
140
+ serialized = Extension.serializePrimitiveExtension(self.requiredBehavior)
141
+ result['_requiredBehavior'] = serialized unless serialized.nil?
142
+ end
143
+ unless self.precheckBehavior.nil?
144
+ result['precheckBehavior'] = self.precheckBehavior.value
145
+ serialized = Extension.serializePrimitiveExtension(self.precheckBehavior)
146
+ result['_precheckBehavior'] = serialized unless serialized.nil?
147
+ end
148
+ unless self.cardinalityBehavior.nil?
149
+ result['cardinalityBehavior'] = self.cardinalityBehavior.value
150
+ serialized = Extension.serializePrimitiveExtension(self.cardinalityBehavior)
151
+ result['_cardinalityBehavior'] = serialized unless serialized.nil?
152
+ end
153
+ unless self.definitionCanonical.nil?
154
+ result['definitionCanonical'] = self.definitionCanonical.value
155
+ serialized = Extension.serializePrimitiveExtension(self.definitionCanonical)
156
+ result['_definitionCanonical'] = serialized unless serialized.nil?
157
+ end
158
+ unless self.definitionUri.nil?
159
+ result['definitionUri'] = self.definitionUri.value
160
+ serialized = Extension.serializePrimitiveExtension(self.definitionUri)
161
+ result['_definitionUri'] = serialized unless serialized.nil?
162
+ end
163
+ unless self.transform.nil?
164
+ result['transform'] = self.transform.value
165
+ serialized = Extension.serializePrimitiveExtension(self.transform)
166
+ result['_transform'] = serialized unless serialized.nil?
167
+ end
168
+ unless self.dynamicValue.nil? || !self.dynamicValue.any?
169
+ result['dynamicValue'] = self.dynamicValue.map{ |x| x.as_json(*args) }
170
+ end
171
+ unless self.action.nil? || !self.action.any?
172
+ result['action'] = self.action.map{ |x| x.as_json(*args) }
173
+ end
174
+ result.delete('id')
175
+ unless self.fhirId.nil?
176
+ result['id'] = self.fhirId
177
+ result.delete('fhirId')
178
+ end
179
+ result
180
+ end
181
+
182
+ def self.transform_json(json_hash, target = PlanDefinitionAction.new)
183
+
184
+ result = self.superclass.transform_json(json_hash, target)
185
+ result['prefix'] = PrimitiveString.transform_json(json_hash['prefix'], json_hash['_prefix']) unless json_hash['prefix'].nil?
186
+ result['title'] = PrimitiveString.transform_json(json_hash['title'], json_hash['_title']) unless json_hash['title'].nil?
187
+ result['description'] = PrimitiveString.transform_json(json_hash['description'], json_hash['_description']) unless json_hash['description'].nil?
188
+ result['textEquivalent'] = PrimitiveString.transform_json(json_hash['textEquivalent'], json_hash['_textEquivalent']) unless json_hash['textEquivalent'].nil?
189
+ result['priority'] = RequestPriority.transform_json(json_hash['priority'], json_hash['_priority']) unless json_hash['priority'].nil?
190
+ result['code'] = json_hash['code'].map { |var| CodeableConcept.transform_json(var) } unless json_hash['code'].nil?
191
+ result['reason'] = json_hash['reason'].map { |var| CodeableConcept.transform_json(var) } unless json_hash['reason'].nil?
192
+ result['documentation'] = json_hash['documentation'].map { |var| RelatedArtifact.transform_json(var) } unless json_hash['documentation'].nil?
193
+ result['goalId'] = json_hash['goalId'].each_with_index.map do |var, i|
194
+ extension_hash = json_hash['_goalId'] && json_hash['_goalId'][i]
195
+ PrimitiveId.transform_json(var, extension_hash)
196
+ end unless json_hash['goalId'].nil?
197
+ result['subjectCodeableConcept'] = CodeableConcept.transform_json(json_hash['subjectCodeableConcept']) unless json_hash['subjectCodeableConcept'].nil?
198
+ result['subjectReference'] = Reference.transform_json(json_hash['subjectReference']) unless json_hash['subjectReference'].nil?
199
+ result['trigger'] = json_hash['trigger'].map { |var| TriggerDefinition.transform_json(var) } unless json_hash['trigger'].nil?
200
+ result['condition'] = json_hash['condition'].map { |var| PlanDefinitionActionCondition.transform_json(var) } unless json_hash['condition'].nil?
201
+ result['input'] = json_hash['input'].map { |var| DataRequirement.transform_json(var) } unless json_hash['input'].nil?
202
+ result['output'] = json_hash['output'].map { |var| DataRequirement.transform_json(var) } unless json_hash['output'].nil?
203
+ result['relatedAction'] = json_hash['relatedAction'].map { |var| PlanDefinitionActionRelatedAction.transform_json(var) } unless json_hash['relatedAction'].nil?
204
+ result['timingDateTime'] = PrimitiveDateTime.transform_json(json_hash['timingDateTime'], json_hash['_timingDateTime']) unless json_hash['timingDateTime'].nil?
205
+ result['timingAge'] = Age.transform_json(json_hash['timingAge']) unless json_hash['timingAge'].nil?
206
+ result['timingPeriod'] = Period.transform_json(json_hash['timingPeriod']) unless json_hash['timingPeriod'].nil?
207
+ result['timingDuration'] = Duration.transform_json(json_hash['timingDuration']) unless json_hash['timingDuration'].nil?
208
+ result['timingRange'] = Range.transform_json(json_hash['timingRange']) unless json_hash['timingRange'].nil?
209
+ result['timingTiming'] = Timing.transform_json(json_hash['timingTiming']) unless json_hash['timingTiming'].nil?
210
+ result['participant'] = json_hash['participant'].map { |var| PlanDefinitionActionParticipant.transform_json(var) } unless json_hash['participant'].nil?
211
+ result['type'] = CodeableConcept.transform_json(json_hash['type']) unless json_hash['type'].nil?
212
+ result['groupingBehavior'] = ActionGroupingBehavior.transform_json(json_hash['groupingBehavior'], json_hash['_groupingBehavior']) unless json_hash['groupingBehavior'].nil?
213
+ result['selectionBehavior'] = ActionSelectionBehavior.transform_json(json_hash['selectionBehavior'], json_hash['_selectionBehavior']) unless json_hash['selectionBehavior'].nil?
214
+ result['requiredBehavior'] = ActionRequiredBehavior.transform_json(json_hash['requiredBehavior'], json_hash['_requiredBehavior']) unless json_hash['requiredBehavior'].nil?
215
+ result['precheckBehavior'] = ActionPrecheckBehavior.transform_json(json_hash['precheckBehavior'], json_hash['_precheckBehavior']) unless json_hash['precheckBehavior'].nil?
216
+ result['cardinalityBehavior'] = ActionCardinalityBehavior.transform_json(json_hash['cardinalityBehavior'], json_hash['_cardinalityBehavior']) unless json_hash['cardinalityBehavior'].nil?
217
+ result['definitionCanonical'] = PrimitiveCanonical.transform_json(json_hash['definitionCanonical'], json_hash['_definitionCanonical']) unless json_hash['definitionCanonical'].nil?
218
+ result['definitionUri'] = PrimitiveUri.transform_json(json_hash['definitionUri'], json_hash['_definitionUri']) unless json_hash['definitionUri'].nil?
219
+ result['transform'] = PrimitiveCanonical.transform_json(json_hash['transform'], json_hash['_transform']) unless json_hash['transform'].nil?
220
+ result['dynamicValue'] = json_hash['dynamicValue'].map { |var| PlanDefinitionActionDynamicValue.transform_json(var) } unless json_hash['dynamicValue'].nil?
221
+ result['action'] = json_hash['action'].map { |var| PlanDefinitionAction.transform_json(var) } unless json_hash['action'].nil?
222
+
223
+ result
224
+ end
225
+ end
226
+ end