pharmaobservatory 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +269 -4
  3. data/docs/BrandCompaniesResponse.md +58 -0
  4. data/docs/BrandCompaniesRow.md +50 -0
  5. data/docs/BrandRevenueResponse.md +58 -0
  6. data/docs/BrandRevenueRow.md +60 -0
  7. data/docs/CatalystsResponse.md +58 -0
  8. data/docs/CatalystsRow.md +90 -0
  9. data/docs/CliaCertificatesResponse.md +58 -0
  10. data/docs/CliaCertificatesRow.md +80 -0
  11. data/docs/CompaniesApi.md +1675 -117
  12. data/docs/CompaniesRecordAttributes.md +3 -1
  13. data/docs/CompanyFundingEventsRow.md +2 -0
  14. data/docs/CompanyTrialGeographyResponse.md +58 -0
  15. data/docs/CompanyTrialGeographyRow.md +52 -0
  16. data/docs/CompanyTrialSitesResponse.md +58 -0
  17. data/docs/CompanyTrialSitesRow.md +52 -0
  18. data/docs/ConditionsApi.md +320 -0
  19. data/docs/CroFootprintResponse.md +58 -0
  20. data/docs/CroFootprintRow.md +34 -0
  21. data/docs/CroTrialsResponse.md +58 -0
  22. data/docs/CroTrialsRow.md +46 -0
  23. data/docs/DebarmentsResponse.md +58 -0
  24. data/docs/DebarmentsRow.md +44 -0
  25. data/docs/DrugApprovalsResponse.md +58 -0
  26. data/docs/DrugApprovalsRow.md +28 -0
  27. data/docs/DrugAspCodesResponse.md +58 -0
  28. data/docs/DrugAspCodesRow.md +28 -0
  29. data/docs/DrugBrandsResponse.md +58 -0
  30. data/docs/DrugBrandsRow.md +60 -0
  31. data/docs/DrugCombinationsResponse.md +58 -0
  32. data/docs/DrugCombinationsRow.md +32 -0
  33. data/docs/DrugDeclaredPatentsResponse.md +58 -0
  34. data/docs/DrugDeclaredPatentsRow.md +58 -0
  35. data/docs/DrugLabelSafetyResponse.md +58 -0
  36. data/docs/DrugLabelSafetyRow.md +32 -0
  37. data/docs/DrugMedicareSpendResponse.md +58 -0
  38. data/docs/DrugMedicareSpendRow.md +28 -0
  39. data/docs/DrugPatentCliffRow.md +3 -1
  40. data/docs/DrugPatentMentionsResponse.md +58 -0
  41. data/docs/DrugPatentMentionsRow.md +28 -0
  42. data/docs/DrugPatentOwnersResponse.md +58 -0
  43. data/docs/DrugPatentOwnersRow.md +42 -0
  44. data/docs/DrugPricingResponse.md +58 -0
  45. data/docs/DrugPricingRow.md +32 -0
  46. data/docs/DrugRecallsResponse.md +58 -0
  47. data/docs/DrugRecallsRow.md +34 -0
  48. data/docs/DrugRegulatoryResponse.md +58 -0
  49. data/docs/DrugRegulatoryRow.md +38 -0
  50. data/docs/DrugSitesResponse.md +58 -0
  51. data/docs/DrugSitesRow.md +28 -0
  52. data/docs/DrugTargetsResponse.md +58 -0
  53. data/docs/DrugTargetsRow.md +36 -0
  54. data/docs/DrugTrialConditionsResponse.md +58 -0
  55. data/docs/DrugTrialConditionsRow.md +30 -0
  56. data/docs/DrugTrialsResponse.md +58 -0
  57. data/docs/DrugTrialsRow.md +58 -0
  58. data/docs/DrugVariantsResponse.md +58 -0
  59. data/docs/DrugVariantsRow.md +38 -0
  60. data/docs/DrugsApi.md +2153 -0
  61. data/docs/DrugsRecord.md +38 -0
  62. data/docs/DrugsRecordAttributes.md +20 -0
  63. data/docs/DrugsResponse.md +58 -0
  64. data/docs/DrugsRow.md +82 -0
  65. data/docs/EnforcementEventsResponse.md +58 -0
  66. data/docs/EnforcementEventsRow.md +64 -0
  67. data/docs/GxpFacilitiesResponse.md +58 -0
  68. data/docs/GxpFacilitiesRow.md +152 -0
  69. data/docs/HospitalBedsYearlyResponse.md +58 -0
  70. data/docs/HospitalBedsYearlyRow.md +28 -0
  71. data/docs/HospitalFacilityChangesResponse.md +58 -0
  72. data/docs/HospitalFacilityChangesRow.md +30 -0
  73. data/docs/HospitalsApi.md +393 -0
  74. data/docs/HospitalsRecord.md +38 -0
  75. data/docs/HospitalsResponse.md +58 -0
  76. data/docs/HospitalsRow.md +40 -0
  77. data/docs/ImportRefusalsResponse.md +58 -0
  78. data/docs/ImportRefusalsRow.md +60 -0
  79. data/docs/InspectionFindingsResponse.md +58 -0
  80. data/docs/InspectionFindingsRow.md +48 -0
  81. data/docs/InspectionsResponse.md +58 -0
  82. data/docs/InspectionsRow.md +60 -0
  83. data/docs/InstitutionalQuarterTotalsResponse.md +58 -0
  84. data/docs/InstitutionalQuarterTotalsRow.md +58 -0
  85. data/docs/LegalEntitiesApi.md +1379 -179
  86. data/docs/LegalEntitiesRecordAttributes.md +2 -0
  87. data/docs/OrgRelationshipsRow.md +1 -1
  88. data/docs/OwnershipPercentagesResponse.md +58 -0
  89. data/docs/OwnershipPercentagesRow.md +74 -0
  90. data/docs/PdufaDatesRow.md +1 -1
  91. data/docs/ProgramLicensingCandidatesResponse.md +58 -0
  92. data/docs/ProgramLicensingCandidatesRow.md +58 -0
  93. data/docs/ProgramsResponse.md +58 -0
  94. data/docs/ProgramsRow.md +46 -0
  95. data/docs/RareDiseaseGenesResponse.md +58 -0
  96. data/docs/RareDiseaseGenesRow.md +50 -0
  97. data/docs/RareDiseaseHierarchyResponse.md +58 -0
  98. data/docs/RareDiseaseHierarchyRow.md +40 -0
  99. data/docs/RareDiseaseInvestigatorCoverageResponse.md +58 -0
  100. data/docs/RareDiseaseInvestigatorCoverageRow.md +38 -0
  101. data/docs/RareDiseaseInvestigatorsResponse.md +58 -0
  102. data/docs/RareDiseaseInvestigatorsRow.md +56 -0
  103. data/docs/RareDiseaseMappingsResponse.md +58 -0
  104. data/docs/RareDiseaseMappingsRow.md +44 -0
  105. data/docs/RareDiseaseOrganizationsResponse.md +58 -0
  106. data/docs/RareDiseaseOrganizationsRow.md +60 -0
  107. data/docs/RareDiseasePrevalenceResponse.md +58 -0
  108. data/docs/RareDiseasePrevalenceRow.md +62 -0
  109. data/docs/RareDiseaseRarityEvidenceResponse.md +58 -0
  110. data/docs/RareDiseaseRarityEvidenceRow.md +36 -0
  111. data/docs/RareDiseaseRarityResponse.md +58 -0
  112. data/docs/RareDiseaseRarityRow.md +54 -0
  113. data/docs/RareDiseaseReplacementsResponse.md +58 -0
  114. data/docs/RareDiseaseReplacementsRow.md +40 -0
  115. data/docs/RareDiseaseSiteCoverageResponse.md +58 -0
  116. data/docs/RareDiseaseSiteCoverageRow.md +54 -0
  117. data/docs/RareDiseaseSponsorsResponse.md +58 -0
  118. data/docs/RareDiseaseSponsorsRow.md +82 -0
  119. data/docs/RareDiseaseTrialCoverageResponse.md +58 -0
  120. data/docs/RareDiseaseTrialCoverageRow.md +58 -0
  121. data/docs/RareDiseaseTrialSitesResponse.md +58 -0
  122. data/docs/RareDiseaseTrialSitesRow.md +52 -0
  123. data/docs/RareDiseaseTrialsResponse.md +58 -0
  124. data/docs/RareDiseaseTrialsRow.md +90 -0
  125. data/docs/RareDiseasesApi.md +1353 -0
  126. data/docs/RareDiseasesRecord.md +38 -0
  127. data/docs/RareDiseasesRecordAttributes.md +22 -0
  128. data/docs/RareDiseasesResponse.md +58 -0
  129. data/docs/RareDiseasesRow.md +68 -0
  130. data/docs/RecallsResponse.md +58 -0
  131. data/docs/RecallsRow.md +54 -0
  132. data/docs/RwdCoverageResponse.md +58 -0
  133. data/docs/RwdCoverageRow.md +52 -0
  134. data/docs/RwdRegisterProvenanceResponse.md +58 -0
  135. data/docs/RwdRegisterProvenanceRow.md +74 -0
  136. data/docs/RwdRegistersApi.md +313 -0
  137. data/docs/RwdRegistersRecord.md +38 -0
  138. data/docs/RwdSourceAgeBandsResponse.md +58 -0
  139. data/docs/RwdSourceAgeBandsRow.md +40 -0
  140. data/docs/RwdSourceConditionsResponse.md +58 -0
  141. data/docs/RwdSourceConditionsRow.md +68 -0
  142. data/docs/RwdSourceEtlMappingsResponse.md +58 -0
  143. data/docs/RwdSourceEtlMappingsRow.md +44 -0
  144. data/docs/RwdSourceLinkagesResponse.md +58 -0
  145. data/docs/RwdSourceLinkagesRow.md +64 -0
  146. data/docs/RwdSourceTypesResponse.md +58 -0
  147. data/docs/RwdSourceTypesRow.md +34 -0
  148. data/docs/RwdSourceVocabulariesResponse.md +58 -0
  149. data/docs/RwdSourceVocabulariesRow.md +42 -0
  150. data/docs/RwdSourcesApi.md +713 -0
  151. data/docs/RwdSourcesRecord.md +38 -0
  152. data/docs/RwdSourcesResponse.md +58 -0
  153. data/docs/RwdSourcesRow.md +280 -0
  154. data/docs/RwdStudiesApi.md +473 -0
  155. data/docs/RwdStudiesRecord.md +38 -0
  156. data/docs/RwdStudiesResponse.md +58 -0
  157. data/docs/RwdStudiesRow.md +180 -0
  158. data/docs/RwdStudyConditionsResponse.md +58 -0
  159. data/docs/RwdStudyConditionsRow.md +54 -0
  160. data/docs/RwdStudyDataSourcesResponse.md +58 -0
  161. data/docs/RwdStudyDataSourcesRow.md +54 -0
  162. data/docs/RwdStudyDrugsResponse.md +58 -0
  163. data/docs/RwdStudyDrugsRow.md +50 -0
  164. data/docs/RwdStudyMilestonesResponse.md +58 -0
  165. data/docs/RwdStudyMilestonesRow.md +54 -0
  166. data/docs/RwdWithheldFieldsResponse.md +58 -0
  167. data/docs/RwdWithheldFieldsRow.md +36 -0
  168. data/docs/SecPdufaDatesResponse.md +58 -0
  169. data/docs/SecPdufaDatesRow.md +64 -0
  170. data/docs/TrialChangesRow.md +5 -1
  171. data/docs/TrialsApi.md +80 -0
  172. data/docs/TrialsRow.md +9 -1
  173. data/docs/UnmatchedProductRevenueResponse.md +58 -0
  174. data/docs/UnmatchedProductRevenueRow.md +80 -0
  175. data/docs/UntitledLettersResponse.md +58 -0
  176. data/docs/UntitledLettersRow.md +44 -0
  177. data/docs/WarningLettersResponse.md +58 -0
  178. data/docs/WarningLettersRow.md +50 -0
  179. data/lib/pharmaobservatory/api/companies_api.rb +1936 -207
  180. data/lib/pharmaobservatory/api/conditions_api.rb +336 -0
  181. data/lib/pharmaobservatory/api/drugs_api.rb +2261 -0
  182. data/lib/pharmaobservatory/api/hospitals_api.rb +413 -0
  183. data/lib/pharmaobservatory/api/legal_entities_api.rb +1442 -182
  184. data/lib/pharmaobservatory/api/rare_diseases_api.rb +1421 -0
  185. data/lib/pharmaobservatory/api/rwd_registers_api.rb +329 -0
  186. data/lib/pharmaobservatory/api/rwd_sources_api.rb +749 -0
  187. data/lib/pharmaobservatory/api/rwd_studies_api.rb +497 -0
  188. data/lib/pharmaobservatory/api/trials_api.rb +84 -0
  189. data/lib/pharmaobservatory/models/brand_companies_response.rb +478 -0
  190. data/lib/pharmaobservatory/models/brand_companies_row.rb +401 -0
  191. data/lib/pharmaobservatory/models/brand_revenue_response.rb +478 -0
  192. data/lib/pharmaobservatory/models/brand_revenue_row.rb +454 -0
  193. data/lib/pharmaobservatory/models/catalysts_response.rb +478 -0
  194. data/lib/pharmaobservatory/models/catalysts_row.rb +623 -0
  195. data/lib/pharmaobservatory/models/clia_certificates_response.rb +478 -0
  196. data/lib/pharmaobservatory/models/clia_certificates_row.rb +568 -0
  197. data/lib/pharmaobservatory/models/companies_record_attributes.rb +13 -4
  198. data/lib/pharmaobservatory/models/company_funding_events_row.rb +12 -1
  199. data/lib/pharmaobservatory/models/company_trial_geography_response.rb +478 -0
  200. data/lib/pharmaobservatory/models/company_trial_geography_row.rb +410 -0
  201. data/lib/pharmaobservatory/models/company_trial_sites_response.rb +478 -0
  202. data/lib/pharmaobservatory/models/company_trial_sites_row.rb +410 -0
  203. data/lib/pharmaobservatory/models/cro_footprint_response.rb +478 -0
  204. data/lib/pharmaobservatory/models/cro_footprint_row.rb +311 -0
  205. data/lib/pharmaobservatory/models/cro_trials_response.rb +478 -0
  206. data/lib/pharmaobservatory/models/cro_trials_row.rb +381 -0
  207. data/lib/pharmaobservatory/models/debarments_response.rb +478 -0
  208. data/lib/pharmaobservatory/models/debarments_row.rb +366 -0
  209. data/lib/pharmaobservatory/models/drug_approvals_response.rb +478 -0
  210. data/lib/pharmaobservatory/models/drug_approvals_row.rb +278 -0
  211. data/lib/pharmaobservatory/models/drug_asp_codes_response.rb +478 -0
  212. data/lib/pharmaobservatory/models/drug_asp_codes_row.rb +278 -0
  213. data/lib/pharmaobservatory/models/drug_brands_response.rb +478 -0
  214. data/lib/pharmaobservatory/models/drug_brands_row.rb +454 -0
  215. data/lib/pharmaobservatory/models/drug_combinations_response.rb +478 -0
  216. data/lib/pharmaobservatory/models/drug_combinations_row.rb +300 -0
  217. data/lib/pharmaobservatory/models/drug_declared_patents_response.rb +478 -0
  218. data/lib/pharmaobservatory/models/drug_declared_patents_row.rb +447 -0
  219. data/lib/pharmaobservatory/models/drug_label_safety_response.rb +478 -0
  220. data/lib/pharmaobservatory/models/drug_label_safety_row.rb +300 -0
  221. data/lib/pharmaobservatory/models/drug_medicare_spend_response.rb +478 -0
  222. data/lib/pharmaobservatory/models/drug_medicare_spend_row.rb +280 -0
  223. data/lib/pharmaobservatory/models/drug_patent_cliff_row.rb +13 -2
  224. data/lib/pharmaobservatory/models/drug_patent_mentions_response.rb +478 -0
  225. data/lib/pharmaobservatory/models/drug_patent_mentions_row.rb +278 -0
  226. data/lib/pharmaobservatory/models/drug_patent_owners_response.rb +478 -0
  227. data/lib/pharmaobservatory/models/drug_patent_owners_row.rb +357 -0
  228. data/lib/pharmaobservatory/models/drug_pricing_response.rb +478 -0
  229. data/lib/pharmaobservatory/models/drug_pricing_row.rb +300 -0
  230. data/lib/pharmaobservatory/models/drug_recalls_response.rb +478 -0
  231. data/lib/pharmaobservatory/models/drug_recalls_row.rb +311 -0
  232. data/lib/pharmaobservatory/models/drug_regulatory_response.rb +478 -0
  233. data/lib/pharmaobservatory/models/drug_regulatory_row.rb +333 -0
  234. data/lib/pharmaobservatory/models/drug_sites_response.rb +478 -0
  235. data/lib/pharmaobservatory/models/drug_sites_row.rb +278 -0
  236. data/lib/pharmaobservatory/models/drug_targets_response.rb +478 -0
  237. data/lib/pharmaobservatory/models/drug_targets_row.rb +324 -0
  238. data/lib/pharmaobservatory/models/drug_trial_conditions_response.rb +478 -0
  239. data/lib/pharmaobservatory/models/drug_trial_conditions_row.rb +289 -0
  240. data/lib/pharmaobservatory/models/drug_trials_response.rb +478 -0
  241. data/lib/pharmaobservatory/models/drug_trials_row.rb +445 -0
  242. data/lib/pharmaobservatory/models/drug_variants_response.rb +478 -0
  243. data/lib/pharmaobservatory/models/drug_variants_row.rb +333 -0
  244. data/lib/pharmaobservatory/models/drugs_record.rb +385 -0
  245. data/lib/pharmaobservatory/models/drugs_record_attributes.rb +229 -0
  246. data/lib/pharmaobservatory/models/drugs_response.rb +478 -0
  247. data/lib/pharmaobservatory/models/drugs_row.rb +581 -0
  248. data/lib/pharmaobservatory/models/enforcement_events_response.rb +478 -0
  249. data/lib/pharmaobservatory/models/enforcement_events_row.rb +476 -0
  250. data/lib/pharmaobservatory/models/gxp_facilities_response.rb +478 -0
  251. data/lib/pharmaobservatory/models/gxp_facilities_row.rb +968 -0
  252. data/lib/pharmaobservatory/models/hospital_beds_yearly_response.rb +478 -0
  253. data/lib/pharmaobservatory/models/hospital_beds_yearly_row.rb +278 -0
  254. data/lib/pharmaobservatory/models/hospital_facility_changes_response.rb +478 -0
  255. data/lib/pharmaobservatory/models/hospital_facility_changes_row.rb +289 -0
  256. data/lib/pharmaobservatory/models/hospitals_record.rb +385 -0
  257. data/lib/pharmaobservatory/models/hospitals_response.rb +478 -0
  258. data/lib/pharmaobservatory/models/hospitals_row.rb +344 -0
  259. data/lib/pharmaobservatory/models/import_refusals_response.rb +478 -0
  260. data/lib/pharmaobservatory/models/import_refusals_row.rb +454 -0
  261. data/lib/pharmaobservatory/models/inspection_findings_response.rb +478 -0
  262. data/lib/pharmaobservatory/models/inspection_findings_row.rb +388 -0
  263. data/lib/pharmaobservatory/models/inspections_response.rb +478 -0
  264. data/lib/pharmaobservatory/models/inspections_row.rb +454 -0
  265. data/lib/pharmaobservatory/models/institutional_quarter_totals_response.rb +478 -0
  266. data/lib/pharmaobservatory/models/institutional_quarter_totals_row.rb +443 -0
  267. data/lib/pharmaobservatory/models/legal_entities_record_attributes.rb +10 -1
  268. data/lib/pharmaobservatory/models/org_relationships_row.rb +1 -1
  269. data/lib/pharmaobservatory/models/ownership_percentages_response.rb +478 -0
  270. data/lib/pharmaobservatory/models/ownership_percentages_row.rb +531 -0
  271. data/lib/pharmaobservatory/models/pdufa_dates_row.rb +1 -1
  272. data/lib/pharmaobservatory/models/program_licensing_candidates_response.rb +478 -0
  273. data/lib/pharmaobservatory/models/program_licensing_candidates_row.rb +445 -0
  274. data/lib/pharmaobservatory/models/programs_response.rb +478 -0
  275. data/lib/pharmaobservatory/models/programs_row.rb +377 -0
  276. data/lib/pharmaobservatory/models/rare_disease_genes_response.rb +478 -0
  277. data/lib/pharmaobservatory/models/rare_disease_genes_row.rb +399 -0
  278. data/lib/pharmaobservatory/models/rare_disease_hierarchy_response.rb +478 -0
  279. data/lib/pharmaobservatory/models/rare_disease_hierarchy_row.rb +344 -0
  280. data/lib/pharmaobservatory/models/rare_disease_investigator_coverage_response.rb +478 -0
  281. data/lib/pharmaobservatory/models/rare_disease_investigator_coverage_row.rb +333 -0
  282. data/lib/pharmaobservatory/models/rare_disease_investigators_response.rb +478 -0
  283. data/lib/pharmaobservatory/models/rare_disease_investigators_row.rb +436 -0
  284. data/lib/pharmaobservatory/models/rare_disease_mappings_response.rb +478 -0
  285. data/lib/pharmaobservatory/models/rare_disease_mappings_row.rb +366 -0
  286. data/lib/pharmaobservatory/models/rare_disease_organizations_response.rb +478 -0
  287. data/lib/pharmaobservatory/models/rare_disease_organizations_row.rb +454 -0
  288. data/lib/pharmaobservatory/models/rare_disease_prevalence_response.rb +478 -0
  289. data/lib/pharmaobservatory/models/rare_disease_prevalence_row.rb +465 -0
  290. data/lib/pharmaobservatory/models/rare_disease_rarity_evidence_response.rb +478 -0
  291. data/lib/pharmaobservatory/models/rare_disease_rarity_evidence_row.rb +322 -0
  292. data/lib/pharmaobservatory/models/rare_disease_rarity_response.rb +478 -0
  293. data/lib/pharmaobservatory/models/rare_disease_rarity_row.rb +421 -0
  294. data/lib/pharmaobservatory/models/rare_disease_replacements_response.rb +478 -0
  295. data/lib/pharmaobservatory/models/rare_disease_replacements_row.rb +344 -0
  296. data/lib/pharmaobservatory/models/rare_disease_site_coverage_response.rb +478 -0
  297. data/lib/pharmaobservatory/models/rare_disease_site_coverage_row.rb +421 -0
  298. data/lib/pharmaobservatory/models/rare_disease_sponsors_response.rb +478 -0
  299. data/lib/pharmaobservatory/models/rare_disease_sponsors_row.rb +575 -0
  300. data/lib/pharmaobservatory/models/rare_disease_trial_coverage_response.rb +478 -0
  301. data/lib/pharmaobservatory/models/rare_disease_trial_coverage_row.rb +449 -0
  302. data/lib/pharmaobservatory/models/rare_disease_trial_sites_response.rb +478 -0
  303. data/lib/pharmaobservatory/models/rare_disease_trial_sites_row.rb +412 -0
  304. data/lib/pharmaobservatory/models/rare_disease_trials_response.rb +478 -0
  305. data/lib/pharmaobservatory/models/rare_disease_trials_row.rb +623 -0
  306. data/lib/pharmaobservatory/models/rare_diseases_record.rb +385 -0
  307. data/lib/pharmaobservatory/models/rare_diseases_record_attributes.rb +238 -0
  308. data/lib/pharmaobservatory/models/rare_diseases_response.rb +478 -0
  309. data/lib/pharmaobservatory/models/rare_diseases_row.rb +500 -0
  310. data/lib/pharmaobservatory/models/recalls_response.rb +478 -0
  311. data/lib/pharmaobservatory/models/recalls_row.rb +421 -0
  312. data/lib/pharmaobservatory/models/rwd_coverage_response.rb +478 -0
  313. data/lib/pharmaobservatory/models/rwd_coverage_row.rb +410 -0
  314. data/lib/pharmaobservatory/models/rwd_register_provenance_response.rb +478 -0
  315. data/lib/pharmaobservatory/models/rwd_register_provenance_row.rb +531 -0
  316. data/lib/pharmaobservatory/models/rwd_registers_record.rb +385 -0
  317. data/lib/pharmaobservatory/models/rwd_source_age_bands_response.rb +478 -0
  318. data/lib/pharmaobservatory/models/rwd_source_age_bands_row.rb +344 -0
  319. data/lib/pharmaobservatory/models/rwd_source_conditions_response.rb +478 -0
  320. data/lib/pharmaobservatory/models/rwd_source_conditions_row.rb +502 -0
  321. data/lib/pharmaobservatory/models/rwd_source_etl_mappings_response.rb +478 -0
  322. data/lib/pharmaobservatory/models/rwd_source_etl_mappings_row.rb +366 -0
  323. data/lib/pharmaobservatory/models/rwd_source_linkages_response.rb +478 -0
  324. data/lib/pharmaobservatory/models/rwd_source_linkages_row.rb +476 -0
  325. data/lib/pharmaobservatory/models/rwd_source_types_response.rb +478 -0
  326. data/lib/pharmaobservatory/models/rwd_source_types_row.rb +311 -0
  327. data/lib/pharmaobservatory/models/rwd_source_vocabularies_response.rb +478 -0
  328. data/lib/pharmaobservatory/models/rwd_source_vocabularies_row.rb +355 -0
  329. data/lib/pharmaobservatory/models/rwd_sources_record.rb +385 -0
  330. data/lib/pharmaobservatory/models/rwd_sources_response.rb +478 -0
  331. data/lib/pharmaobservatory/models/rwd_sources_row.rb +1674 -0
  332. data/lib/pharmaobservatory/models/rwd_studies_record.rb +385 -0
  333. data/lib/pharmaobservatory/models/rwd_studies_response.rb +478 -0
  334. data/lib/pharmaobservatory/models/rwd_studies_row.rb +1138 -0
  335. data/lib/pharmaobservatory/models/rwd_study_conditions_response.rb +478 -0
  336. data/lib/pharmaobservatory/models/rwd_study_conditions_row.rb +421 -0
  337. data/lib/pharmaobservatory/models/rwd_study_data_sources_response.rb +478 -0
  338. data/lib/pharmaobservatory/models/rwd_study_data_sources_row.rb +423 -0
  339. data/lib/pharmaobservatory/models/rwd_study_drugs_response.rb +478 -0
  340. data/lib/pharmaobservatory/models/rwd_study_drugs_row.rb +401 -0
  341. data/lib/pharmaobservatory/models/rwd_study_milestones_response.rb +478 -0
  342. data/lib/pharmaobservatory/models/rwd_study_milestones_row.rb +421 -0
  343. data/lib/pharmaobservatory/models/rwd_withheld_fields_response.rb +478 -0
  344. data/lib/pharmaobservatory/models/rwd_withheld_fields_row.rb +322 -0
  345. data/lib/pharmaobservatory/models/sec_pdufa_dates_response.rb +478 -0
  346. data/lib/pharmaobservatory/models/sec_pdufa_dates_row.rb +476 -0
  347. data/lib/pharmaobservatory/models/trial_changes_row.rb +24 -2
  348. data/lib/pharmaobservatory/models/trials_row.rb +47 -3
  349. data/lib/pharmaobservatory/models/unmatched_product_revenue_response.rb +478 -0
  350. data/lib/pharmaobservatory/models/unmatched_product_revenue_row.rb +564 -0
  351. data/lib/pharmaobservatory/models/untitled_letters_response.rb +478 -0
  352. data/lib/pharmaobservatory/models/untitled_letters_row.rb +366 -0
  353. data/lib/pharmaobservatory/models/warning_letters_response.rb +478 -0
  354. data/lib/pharmaobservatory/models/warning_letters_row.rb +399 -0
  355. data/lib/pharmaobservatory/version.rb +1 -1
  356. data/lib/pharmaobservatory.rb +164 -0
  357. metadata +330 -2
@@ -0,0 +1,581 @@
1
+ =begin
2
+ #Pharma Observatory Public REST API
3
+
4
+ #Read-only REST API over the Pharma Observatory biomedical data platform. Reference: https://pharmaobservatory.com/api-reference
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.13.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PharmaObservatory
17
+ # One row of the drugs dataset: one row per resolved drug (a molecule, a combination product or an investigational drug). A grouped request returns the group columns and the measures instead, as additional properties.
18
+ class DrugsRow
19
+ # The molecule key: the resolved drug a brand, a salt form or an investigational arm resolves to, and the entry key for the drugs object type. A member id (a salt or a folded trial arm) is not a value here; it redirects to its molecule.
20
+ attr_accessor :molecule_id
21
+
22
+ # The drug's display name, from its lead record.
23
+ attr_accessor :molecule_name
24
+
25
+ # The preferred substance name in the FDA substance registry.
26
+ attr_accessor :substance_name
27
+
28
+ # The International Nonproprietary Name (INN) where one is recorded.
29
+ attr_accessor :inn_name
30
+
31
+ # The FDA Unique Ingredient Identifier (UNII) of the lead record.
32
+ attr_accessor :unii
33
+
34
+ # The Chemical Abstracts Service (CAS) registry number of the lead record.
35
+ attr_accessor :cas
36
+
37
+ # The ChEMBL compound id of the lead record.
38
+ attr_accessor :chembl_id
39
+
40
+ # The registry's substance type (chemical, protein, mixture and so on).
41
+ attr_accessor :substance_type
42
+
43
+ # The Anatomical Therapeutic Chemical (ATC) code.
44
+ attr_accessor :atc_code
45
+
46
+ # The top-level ATC class.
47
+ attr_accessor :atc_class
48
+
49
+ # The pharmacologic class the FDA registry gives the substance.
50
+ attr_accessor :pharm_class
51
+
52
+ # True when the substance is a biologic, by the registry, Drugs@FDA or the Purple Book.
53
+ attr_accessor :is_biologic
54
+
55
+ # True when the drug has a package in the US National Drug Code (NDC) directory.
56
+ attr_accessor :is_marketed
57
+
58
+ # True when ChEMBL records the drug as withdrawn somewhere.
59
+ attr_accessor :withdrawn
60
+
61
+ # True when the drug is approved in at least one jurisdiction.
62
+ attr_accessor :approved_anywhere
63
+
64
+ # The regulators whose approval is recorded (FDA, EMA, Health Canada).
65
+ attr_accessor :approved_in
66
+
67
+ # The earliest approval year ChEMBL records.
68
+ attr_accessor :first_approval_year
69
+
70
+ # The highest development phase reached across the folded records (4 is approved).
71
+ attr_accessor :max_phase
72
+
73
+ # Registered trials that study the drug or a record folded under it.
74
+ attr_accessor :n_trials
75
+
76
+ # Drug records folded into this drug, the lead included.
77
+ attr_accessor :n_members
78
+
79
+ # The drug record ids folded into this drug, the lead included. The ids other datasets name drug_id.
80
+ attr_accessor :member_ids
81
+
82
+ # Variant records folded under the molecule; null when the drug is not a molecule.
83
+ attr_accessor :variant_count
84
+
85
+ # The brand keys that resolve to the drug.
86
+ attr_accessor :brands
87
+
88
+ # The number of brand keys.
89
+ attr_accessor :brand_count
90
+
91
+ # True when the drug has a chemical-entities page.
92
+ attr_accessor :is_molecule
93
+
94
+ # True when the drug is a combination product of two or more components.
95
+ attr_accessor :is_combination
96
+
97
+ # True when the drug's current label carries a boxed warning; null when no label is on record.
98
+ attr_accessor :has_boxed_warning
99
+
100
+ # The canonical SMILES string of the structure (ChEMBL).
101
+ attr_accessor :smiles
102
+
103
+ # The InChIKey of the structure (ChEMBL).
104
+ attr_accessor :inchikey
105
+
106
+ # Patents that mention the drug in the SureChEMBL corpus.
107
+ attr_accessor :n_patent_mentions
108
+
109
+ # Distinct patent families among those mentions.
110
+ attr_accessor :n_patent_families
111
+
112
+ # Publication date of the earliest mentioning patent.
113
+ attr_accessor :first_patent_mention
114
+
115
+ # Publication date of the latest mentioning patent.
116
+ attr_accessor :last_patent_mention
117
+
118
+ # Attribute mapping from ruby-style variable name to JSON key.
119
+ def self.attribute_map
120
+ {
121
+ :'molecule_id' => :'molecule_id',
122
+ :'molecule_name' => :'molecule_name',
123
+ :'substance_name' => :'substance_name',
124
+ :'inn_name' => :'inn_name',
125
+ :'unii' => :'unii',
126
+ :'cas' => :'cas',
127
+ :'chembl_id' => :'chembl_id',
128
+ :'substance_type' => :'substance_type',
129
+ :'atc_code' => :'atc_code',
130
+ :'atc_class' => :'atc_class',
131
+ :'pharm_class' => :'pharm_class',
132
+ :'is_biologic' => :'is_biologic',
133
+ :'is_marketed' => :'is_marketed',
134
+ :'withdrawn' => :'withdrawn',
135
+ :'approved_anywhere' => :'approved_anywhere',
136
+ :'approved_in' => :'approved_in',
137
+ :'first_approval_year' => :'first_approval_year',
138
+ :'max_phase' => :'max_phase',
139
+ :'n_trials' => :'n_trials',
140
+ :'n_members' => :'n_members',
141
+ :'member_ids' => :'member_ids',
142
+ :'variant_count' => :'variant_count',
143
+ :'brands' => :'brands',
144
+ :'brand_count' => :'brand_count',
145
+ :'is_molecule' => :'is_molecule',
146
+ :'is_combination' => :'is_combination',
147
+ :'has_boxed_warning' => :'has_boxed_warning',
148
+ :'smiles' => :'smiles',
149
+ :'inchikey' => :'inchikey',
150
+ :'n_patent_mentions' => :'n_patent_mentions',
151
+ :'n_patent_families' => :'n_patent_families',
152
+ :'first_patent_mention' => :'first_patent_mention',
153
+ :'last_patent_mention' => :'last_patent_mention'
154
+ }
155
+ end
156
+
157
+ # Returns attribute mapping this model knows about
158
+ def self.acceptable_attribute_map
159
+ attribute_map
160
+ end
161
+
162
+ # Returns all the JSON keys this model knows about
163
+ def self.acceptable_attributes
164
+ acceptable_attribute_map.values
165
+ end
166
+
167
+ # Attribute type mapping.
168
+ def self.openapi_types
169
+ {
170
+ :'molecule_id' => :'String',
171
+ :'molecule_name' => :'String',
172
+ :'substance_name' => :'String',
173
+ :'inn_name' => :'String',
174
+ :'unii' => :'String',
175
+ :'cas' => :'String',
176
+ :'chembl_id' => :'String',
177
+ :'substance_type' => :'String',
178
+ :'atc_code' => :'String',
179
+ :'atc_class' => :'String',
180
+ :'pharm_class' => :'String',
181
+ :'is_biologic' => :'Boolean',
182
+ :'is_marketed' => :'Boolean',
183
+ :'withdrawn' => :'Boolean',
184
+ :'approved_anywhere' => :'Boolean',
185
+ :'approved_in' => :'Array<String>',
186
+ :'first_approval_year' => :'Integer',
187
+ :'max_phase' => :'Integer',
188
+ :'n_trials' => :'Integer',
189
+ :'n_members' => :'Integer',
190
+ :'member_ids' => :'Array<String>',
191
+ :'variant_count' => :'Integer',
192
+ :'brands' => :'Array<String>',
193
+ :'brand_count' => :'Integer',
194
+ :'is_molecule' => :'Boolean',
195
+ :'is_combination' => :'Boolean',
196
+ :'has_boxed_warning' => :'Boolean',
197
+ :'smiles' => :'String',
198
+ :'inchikey' => :'String',
199
+ :'n_patent_mentions' => :'Integer',
200
+ :'n_patent_families' => :'Integer',
201
+ :'first_patent_mention' => :'Date',
202
+ :'last_patent_mention' => :'Date'
203
+ }
204
+ end
205
+
206
+ # List of attributes with nullable: true
207
+ def self.openapi_nullable
208
+ Set.new([
209
+ :'molecule_id',
210
+ :'molecule_name',
211
+ :'substance_name',
212
+ :'inn_name',
213
+ :'unii',
214
+ :'cas',
215
+ :'chembl_id',
216
+ :'substance_type',
217
+ :'atc_code',
218
+ :'atc_class',
219
+ :'pharm_class',
220
+ :'is_biologic',
221
+ :'is_marketed',
222
+ :'withdrawn',
223
+ :'approved_anywhere',
224
+ :'approved_in',
225
+ :'first_approval_year',
226
+ :'max_phase',
227
+ :'n_trials',
228
+ :'n_members',
229
+ :'member_ids',
230
+ :'variant_count',
231
+ :'brands',
232
+ :'brand_count',
233
+ :'is_molecule',
234
+ :'is_combination',
235
+ :'has_boxed_warning',
236
+ :'smiles',
237
+ :'inchikey',
238
+ :'n_patent_mentions',
239
+ :'n_patent_families',
240
+ :'first_patent_mention',
241
+ :'last_patent_mention'
242
+ ])
243
+ end
244
+
245
+ # Initializes the object
246
+ # @param [Hash] attributes Model attributes in the form of hash
247
+ def initialize(attributes = {})
248
+ if (!attributes.is_a?(Hash))
249
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::DrugsRow` initialize method"
250
+ end
251
+
252
+ # check to see if the attribute exists and convert string to symbol for hash key
253
+ acceptable_attribute_map = self.class.acceptable_attribute_map
254
+ attributes = attributes.each_with_object({}) { |(k, v), h|
255
+ if (!acceptable_attribute_map.key?(k.to_sym))
256
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::DrugsRow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
257
+ end
258
+ h[k.to_sym] = v
259
+ }
260
+
261
+ if attributes.key?(:'molecule_id')
262
+ self.molecule_id = attributes[:'molecule_id']
263
+ end
264
+
265
+ if attributes.key?(:'molecule_name')
266
+ self.molecule_name = attributes[:'molecule_name']
267
+ end
268
+
269
+ if attributes.key?(:'substance_name')
270
+ self.substance_name = attributes[:'substance_name']
271
+ end
272
+
273
+ if attributes.key?(:'inn_name')
274
+ self.inn_name = attributes[:'inn_name']
275
+ end
276
+
277
+ if attributes.key?(:'unii')
278
+ self.unii = attributes[:'unii']
279
+ end
280
+
281
+ if attributes.key?(:'cas')
282
+ self.cas = attributes[:'cas']
283
+ end
284
+
285
+ if attributes.key?(:'chembl_id')
286
+ self.chembl_id = attributes[:'chembl_id']
287
+ end
288
+
289
+ if attributes.key?(:'substance_type')
290
+ self.substance_type = attributes[:'substance_type']
291
+ end
292
+
293
+ if attributes.key?(:'atc_code')
294
+ self.atc_code = attributes[:'atc_code']
295
+ end
296
+
297
+ if attributes.key?(:'atc_class')
298
+ self.atc_class = attributes[:'atc_class']
299
+ end
300
+
301
+ if attributes.key?(:'pharm_class')
302
+ self.pharm_class = attributes[:'pharm_class']
303
+ end
304
+
305
+ if attributes.key?(:'is_biologic')
306
+ self.is_biologic = attributes[:'is_biologic']
307
+ end
308
+
309
+ if attributes.key?(:'is_marketed')
310
+ self.is_marketed = attributes[:'is_marketed']
311
+ end
312
+
313
+ if attributes.key?(:'withdrawn')
314
+ self.withdrawn = attributes[:'withdrawn']
315
+ end
316
+
317
+ if attributes.key?(:'approved_anywhere')
318
+ self.approved_anywhere = attributes[:'approved_anywhere']
319
+ end
320
+
321
+ if attributes.key?(:'approved_in')
322
+ if (value = attributes[:'approved_in']).is_a?(Array)
323
+ self.approved_in = value
324
+ end
325
+ end
326
+
327
+ if attributes.key?(:'first_approval_year')
328
+ self.first_approval_year = attributes[:'first_approval_year']
329
+ end
330
+
331
+ if attributes.key?(:'max_phase')
332
+ self.max_phase = attributes[:'max_phase']
333
+ end
334
+
335
+ if attributes.key?(:'n_trials')
336
+ self.n_trials = attributes[:'n_trials']
337
+ end
338
+
339
+ if attributes.key?(:'n_members')
340
+ self.n_members = attributes[:'n_members']
341
+ end
342
+
343
+ if attributes.key?(:'member_ids')
344
+ if (value = attributes[:'member_ids']).is_a?(Array)
345
+ self.member_ids = value
346
+ end
347
+ end
348
+
349
+ if attributes.key?(:'variant_count')
350
+ self.variant_count = attributes[:'variant_count']
351
+ end
352
+
353
+ if attributes.key?(:'brands')
354
+ if (value = attributes[:'brands']).is_a?(Array)
355
+ self.brands = value
356
+ end
357
+ end
358
+
359
+ if attributes.key?(:'brand_count')
360
+ self.brand_count = attributes[:'brand_count']
361
+ end
362
+
363
+ if attributes.key?(:'is_molecule')
364
+ self.is_molecule = attributes[:'is_molecule']
365
+ end
366
+
367
+ if attributes.key?(:'is_combination')
368
+ self.is_combination = attributes[:'is_combination']
369
+ end
370
+
371
+ if attributes.key?(:'has_boxed_warning')
372
+ self.has_boxed_warning = attributes[:'has_boxed_warning']
373
+ end
374
+
375
+ if attributes.key?(:'smiles')
376
+ self.smiles = attributes[:'smiles']
377
+ end
378
+
379
+ if attributes.key?(:'inchikey')
380
+ self.inchikey = attributes[:'inchikey']
381
+ end
382
+
383
+ if attributes.key?(:'n_patent_mentions')
384
+ self.n_patent_mentions = attributes[:'n_patent_mentions']
385
+ end
386
+
387
+ if attributes.key?(:'n_patent_families')
388
+ self.n_patent_families = attributes[:'n_patent_families']
389
+ end
390
+
391
+ if attributes.key?(:'first_patent_mention')
392
+ self.first_patent_mention = attributes[:'first_patent_mention']
393
+ end
394
+
395
+ if attributes.key?(:'last_patent_mention')
396
+ self.last_patent_mention = attributes[:'last_patent_mention']
397
+ end
398
+ end
399
+
400
+ # Show invalid properties with the reasons. Usually used together with valid?
401
+ # @return Array for valid properties with the reasons
402
+ def list_invalid_properties
403
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
404
+ invalid_properties = Array.new
405
+ invalid_properties
406
+ end
407
+
408
+ # Check to see if the all the properties in the model are valid
409
+ # @return true if the model is valid
410
+ def valid?
411
+ warn '[DEPRECATED] the `valid?` method is obsolete'
412
+ true
413
+ end
414
+
415
+ # Checks equality by comparing each attribute.
416
+ # @param [Object] Object to be compared
417
+ def ==(o)
418
+ return true if self.equal?(o)
419
+ self.class == o.class &&
420
+ molecule_id == o.molecule_id &&
421
+ molecule_name == o.molecule_name &&
422
+ substance_name == o.substance_name &&
423
+ inn_name == o.inn_name &&
424
+ unii == o.unii &&
425
+ cas == o.cas &&
426
+ chembl_id == o.chembl_id &&
427
+ substance_type == o.substance_type &&
428
+ atc_code == o.atc_code &&
429
+ atc_class == o.atc_class &&
430
+ pharm_class == o.pharm_class &&
431
+ is_biologic == o.is_biologic &&
432
+ is_marketed == o.is_marketed &&
433
+ withdrawn == o.withdrawn &&
434
+ approved_anywhere == o.approved_anywhere &&
435
+ approved_in == o.approved_in &&
436
+ first_approval_year == o.first_approval_year &&
437
+ max_phase == o.max_phase &&
438
+ n_trials == o.n_trials &&
439
+ n_members == o.n_members &&
440
+ member_ids == o.member_ids &&
441
+ variant_count == o.variant_count &&
442
+ brands == o.brands &&
443
+ brand_count == o.brand_count &&
444
+ is_molecule == o.is_molecule &&
445
+ is_combination == o.is_combination &&
446
+ has_boxed_warning == o.has_boxed_warning &&
447
+ smiles == o.smiles &&
448
+ inchikey == o.inchikey &&
449
+ n_patent_mentions == o.n_patent_mentions &&
450
+ n_patent_families == o.n_patent_families &&
451
+ first_patent_mention == o.first_patent_mention &&
452
+ last_patent_mention == o.last_patent_mention
453
+ end
454
+
455
+ # @see the `==` method
456
+ # @param [Object] Object to be compared
457
+ def eql?(o)
458
+ self == o
459
+ end
460
+
461
+ # Calculates hash code according to all attributes.
462
+ # @return [Integer] Hash code
463
+ def hash
464
+ [molecule_id, molecule_name, substance_name, inn_name, unii, cas, chembl_id, substance_type, atc_code, atc_class, pharm_class, is_biologic, is_marketed, withdrawn, approved_anywhere, approved_in, first_approval_year, max_phase, n_trials, n_members, member_ids, variant_count, brands, brand_count, is_molecule, is_combination, has_boxed_warning, smiles, inchikey, n_patent_mentions, n_patent_families, first_patent_mention, last_patent_mention].hash
465
+ end
466
+
467
+ # Builds the object from hash
468
+ # @param [Hash] attributes Model attributes in the form of hash
469
+ # @return [Object] Returns the model itself
470
+ def self.build_from_hash(attributes)
471
+ return nil unless attributes.is_a?(Hash)
472
+ attributes = attributes.transform_keys(&:to_sym)
473
+ transformed_hash = {}
474
+ openapi_types.each_pair do |key, type|
475
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
476
+ transformed_hash["#{key}"] = nil
477
+ elsif type =~ /\AArray<(.*)>/i
478
+ # check to ensure the input is an array given that the attribute
479
+ # is documented as an array but the input is not
480
+ if attributes[attribute_map[key]].is_a?(Array)
481
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
482
+ end
483
+ elsif !attributes[attribute_map[key]].nil?
484
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
485
+ end
486
+ end
487
+ new(transformed_hash)
488
+ end
489
+
490
+ # Deserializes the data based on type
491
+ # @param string type Data type
492
+ # @param string value Value to be deserialized
493
+ # @return [Object] Deserialized data
494
+ def self._deserialize(type, value)
495
+ case type.to_sym
496
+ when :Time
497
+ Time.parse(value)
498
+ when :Date
499
+ Date.parse(value)
500
+ when :String
501
+ value.to_s
502
+ when :Integer
503
+ value.to_i
504
+ when :Float
505
+ value.to_f
506
+ when :Boolean
507
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
508
+ true
509
+ else
510
+ false
511
+ end
512
+ when :Object
513
+ # generic object (usually a Hash), return directly
514
+ value
515
+ when /\AArray<(?<inner_type>.+)>\z/
516
+ inner_type = Regexp.last_match[:inner_type]
517
+ value.map { |v| _deserialize(inner_type, v) }
518
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
519
+ k_type = Regexp.last_match[:k_type]
520
+ v_type = Regexp.last_match[:v_type]
521
+ {}.tap do |hash|
522
+ value.each do |k, v|
523
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
524
+ end
525
+ end
526
+ else # model
527
+ # models (e.g. Pet) or oneOf
528
+ klass = PharmaObservatory.const_get(type)
529
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
530
+ end
531
+ end
532
+
533
+ # Returns the string representation of the object
534
+ # @return [String] String presentation of the object
535
+ def to_s
536
+ to_hash.to_s
537
+ end
538
+
539
+ # to_body is an alias to to_hash (backward compatibility)
540
+ # @return [Hash] Returns the object in the form of hash
541
+ def to_body
542
+ to_hash
543
+ end
544
+
545
+ # Returns the object in the form of hash
546
+ # @return [Hash] Returns the object in the form of hash
547
+ def to_hash
548
+ hash = {}
549
+ self.class.attribute_map.each_pair do |attr, param|
550
+ value = self.send(attr)
551
+ if value.nil?
552
+ is_nullable = self.class.openapi_nullable.include?(attr)
553
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
554
+ end
555
+
556
+ hash[param] = _to_hash(value)
557
+ end
558
+ hash
559
+ end
560
+
561
+ # Outputs non-array value in the form of hash
562
+ # For object, use to_hash. Otherwise, just return the value
563
+ # @param [Object] value Any valid value
564
+ # @return [Hash] Returns the value in the form of hash
565
+ def _to_hash(value)
566
+ if value.is_a?(Array)
567
+ value.compact.map { |v| _to_hash(v) }
568
+ elsif value.is_a?(Hash)
569
+ {}.tap do |hash|
570
+ value.each { |k, v| hash[k] = _to_hash(v) }
571
+ end
572
+ elsif value.respond_to? :to_hash
573
+ value.to_hash
574
+ else
575
+ value
576
+ end
577
+ end
578
+
579
+ end
580
+
581
+ end