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,289 @@
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 hospital_facility_changes dataset: one row per change event (CCN, as-of date, change type). A grouped request returns the group columns and the measures instead, as additional properties.
18
+ class HospitalFacilityChangesRow
19
+ # CMS Certification Number of the hospital the event is about.
20
+ attr_accessor :ccn
21
+
22
+ # The quarter-end date the change was detected at.
23
+ attr_accessor :as_of
24
+
25
+ # rename (same CCN, new provider name), appeared (CCN enters the series after its start), disappeared (CCN leaves it before its end), merge_candidate (a retired CCN with one successor) or split_candidate (a retired CCN with several).
26
+ attr_accessor :change_type
27
+
28
+ # The provider name before the change (rename), or the last name of the retired CCN (disappeared, merge and split candidates). Null on appeared.
29
+ attr_accessor :from_value
30
+
31
+ # The provider name after the change (rename), the first name of the new CCN (appeared, merge and split candidates). Null on disappeared.
32
+ attr_accessor :to_value
33
+
34
+ # The nearest later CCN that shares the retired CCN's normalised name, city and state. Set on merge_candidate and split_candidate rows.
35
+ attr_accessor :related_ccn
36
+
37
+ # The CCN that absorbed the retired one. Set on merge_candidate rows only; null on split_candidate, where more than one CCN matches.
38
+ attr_accessor :successor_ccn
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'ccn' => :'ccn',
44
+ :'as_of' => :'as_of',
45
+ :'change_type' => :'change_type',
46
+ :'from_value' => :'from_value',
47
+ :'to_value' => :'to_value',
48
+ :'related_ccn' => :'related_ccn',
49
+ :'successor_ccn' => :'successor_ccn'
50
+ }
51
+ end
52
+
53
+ # Returns attribute mapping this model knows about
54
+ def self.acceptable_attribute_map
55
+ attribute_map
56
+ end
57
+
58
+ # Returns all the JSON keys this model knows about
59
+ def self.acceptable_attributes
60
+ acceptable_attribute_map.values
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'ccn' => :'String',
67
+ :'as_of' => :'Date',
68
+ :'change_type' => :'String',
69
+ :'from_value' => :'String',
70
+ :'to_value' => :'String',
71
+ :'related_ccn' => :'String',
72
+ :'successor_ccn' => :'String'
73
+ }
74
+ end
75
+
76
+ # List of attributes with nullable: true
77
+ def self.openapi_nullable
78
+ Set.new([
79
+ :'ccn',
80
+ :'as_of',
81
+ :'change_type',
82
+ :'from_value',
83
+ :'to_value',
84
+ :'related_ccn',
85
+ :'successor_ccn'
86
+ ])
87
+ end
88
+
89
+ # Initializes the object
90
+ # @param [Hash] attributes Model attributes in the form of hash
91
+ def initialize(attributes = {})
92
+ if (!attributes.is_a?(Hash))
93
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::HospitalFacilityChangesRow` initialize method"
94
+ end
95
+
96
+ # check to see if the attribute exists and convert string to symbol for hash key
97
+ acceptable_attribute_map = self.class.acceptable_attribute_map
98
+ attributes = attributes.each_with_object({}) { |(k, v), h|
99
+ if (!acceptable_attribute_map.key?(k.to_sym))
100
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::HospitalFacilityChangesRow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
101
+ end
102
+ h[k.to_sym] = v
103
+ }
104
+
105
+ if attributes.key?(:'ccn')
106
+ self.ccn = attributes[:'ccn']
107
+ end
108
+
109
+ if attributes.key?(:'as_of')
110
+ self.as_of = attributes[:'as_of']
111
+ end
112
+
113
+ if attributes.key?(:'change_type')
114
+ self.change_type = attributes[:'change_type']
115
+ end
116
+
117
+ if attributes.key?(:'from_value')
118
+ self.from_value = attributes[:'from_value']
119
+ end
120
+
121
+ if attributes.key?(:'to_value')
122
+ self.to_value = attributes[:'to_value']
123
+ end
124
+
125
+ if attributes.key?(:'related_ccn')
126
+ self.related_ccn = attributes[:'related_ccn']
127
+ end
128
+
129
+ if attributes.key?(:'successor_ccn')
130
+ self.successor_ccn = attributes[:'successor_ccn']
131
+ end
132
+ end
133
+
134
+ # Show invalid properties with the reasons. Usually used together with valid?
135
+ # @return Array for valid properties with the reasons
136
+ def list_invalid_properties
137
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
138
+ invalid_properties = Array.new
139
+ invalid_properties
140
+ end
141
+
142
+ # Check to see if the all the properties in the model are valid
143
+ # @return true if the model is valid
144
+ def valid?
145
+ warn '[DEPRECATED] the `valid?` method is obsolete'
146
+ true
147
+ end
148
+
149
+ # Checks equality by comparing each attribute.
150
+ # @param [Object] Object to be compared
151
+ def ==(o)
152
+ return true if self.equal?(o)
153
+ self.class == o.class &&
154
+ ccn == o.ccn &&
155
+ as_of == o.as_of &&
156
+ change_type == o.change_type &&
157
+ from_value == o.from_value &&
158
+ to_value == o.to_value &&
159
+ related_ccn == o.related_ccn &&
160
+ successor_ccn == o.successor_ccn
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [ccn, as_of, change_type, from_value, to_value, related_ccn, successor_ccn].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ return nil unless attributes.is_a?(Hash)
180
+ attributes = attributes.transform_keys(&:to_sym)
181
+ transformed_hash = {}
182
+ openapi_types.each_pair do |key, type|
183
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
184
+ transformed_hash["#{key}"] = nil
185
+ elsif type =~ /\AArray<(.*)>/i
186
+ # check to ensure the input is an array given that the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[attribute_map[key]].is_a?(Array)
189
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
190
+ end
191
+ elsif !attributes[attribute_map[key]].nil?
192
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
193
+ end
194
+ end
195
+ new(transformed_hash)
196
+ end
197
+
198
+ # Deserializes the data based on type
199
+ # @param string type Data type
200
+ # @param string value Value to be deserialized
201
+ # @return [Object] Deserialized data
202
+ def self._deserialize(type, value)
203
+ case type.to_sym
204
+ when :Time
205
+ Time.parse(value)
206
+ when :Date
207
+ Date.parse(value)
208
+ when :String
209
+ value.to_s
210
+ when :Integer
211
+ value.to_i
212
+ when :Float
213
+ value.to_f
214
+ when :Boolean
215
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
216
+ true
217
+ else
218
+ false
219
+ end
220
+ when :Object
221
+ # generic object (usually a Hash), return directly
222
+ value
223
+ when /\AArray<(?<inner_type>.+)>\z/
224
+ inner_type = Regexp.last_match[:inner_type]
225
+ value.map { |v| _deserialize(inner_type, v) }
226
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
227
+ k_type = Regexp.last_match[:k_type]
228
+ v_type = Regexp.last_match[:v_type]
229
+ {}.tap do |hash|
230
+ value.each do |k, v|
231
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
232
+ end
233
+ end
234
+ else # model
235
+ # models (e.g. Pet) or oneOf
236
+ klass = PharmaObservatory.const_get(type)
237
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
238
+ end
239
+ end
240
+
241
+ # Returns the string representation of the object
242
+ # @return [String] String presentation of the object
243
+ def to_s
244
+ to_hash.to_s
245
+ end
246
+
247
+ # to_body is an alias to to_hash (backward compatibility)
248
+ # @return [Hash] Returns the object in the form of hash
249
+ def to_body
250
+ to_hash
251
+ end
252
+
253
+ # Returns the object in the form of hash
254
+ # @return [Hash] Returns the object in the form of hash
255
+ def to_hash
256
+ hash = {}
257
+ self.class.attribute_map.each_pair do |attr, param|
258
+ value = self.send(attr)
259
+ if value.nil?
260
+ is_nullable = self.class.openapi_nullable.include?(attr)
261
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
262
+ end
263
+
264
+ hash[param] = _to_hash(value)
265
+ end
266
+ hash
267
+ end
268
+
269
+ # Outputs non-array value in the form of hash
270
+ # For object, use to_hash. Otherwise, just return the value
271
+ # @param [Object] value Any valid value
272
+ # @return [Hash] Returns the value in the form of hash
273
+ def _to_hash(value)
274
+ if value.is_a?(Array)
275
+ value.compact.map { |v| _to_hash(v) }
276
+ elsif value.is_a?(Hash)
277
+ {}.tap do |hash|
278
+ value.each { |k, v| hash[k] = _to_hash(v) }
279
+ end
280
+ elsif value.respond_to? :to_hash
281
+ value.to_hash
282
+ else
283
+ value
284
+ end
285
+ end
286
+
287
+ end
288
+
289
+ end
@@ -0,0 +1,385 @@
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
+ class HospitalsRecord
18
+ attr_accessor :object_type
19
+
20
+ attr_accessor :id
21
+
22
+ attr_accessor :record
23
+
24
+ attr_accessor :attributes
25
+
26
+ attr_accessor :datasets
27
+
28
+ attr_accessor :attribution
29
+
30
+ attr_accessor :source_credit
31
+
32
+ attr_accessor :freshness
33
+
34
+ attr_accessor :build
35
+
36
+ attr_accessor :build_state
37
+
38
+ attr_accessor :restriction
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'object_type' => :'object_type',
44
+ :'id' => :'id',
45
+ :'record' => :'record',
46
+ :'attributes' => :'attributes',
47
+ :'datasets' => :'datasets',
48
+ :'attribution' => :'attribution',
49
+ :'source_credit' => :'source_credit',
50
+ :'freshness' => :'freshness',
51
+ :'build' => :'build',
52
+ :'build_state' => :'build_state',
53
+ :'restriction' => :'restriction'
54
+ }
55
+ end
56
+
57
+ # Returns attribute mapping this model knows about
58
+ def self.acceptable_attribute_map
59
+ attribute_map
60
+ end
61
+
62
+ # Returns all the JSON keys this model knows about
63
+ def self.acceptable_attributes
64
+ acceptable_attribute_map.values
65
+ end
66
+
67
+ # Attribute type mapping.
68
+ def self.openapi_types
69
+ {
70
+ :'object_type' => :'String',
71
+ :'id' => :'String',
72
+ :'record' => :'HospitalsRow',
73
+ :'attributes' => :'Object',
74
+ :'datasets' => :'Array<DatasetListing>',
75
+ :'attribution' => :'Array<DatasetAttribution>',
76
+ :'source_credit' => :'String',
77
+ :'freshness' => :'BiomarkerAssayEvidenceResponseFreshness',
78
+ :'build' => :'BiomarkerAssayEvidenceResponseBuild',
79
+ :'build_state' => :'DatasetBuildState',
80
+ :'restriction' => :'Hash<String, Object>'
81
+ }
82
+ end
83
+
84
+ # List of attributes with nullable: true
85
+ def self.openapi_nullable
86
+ Set.new([
87
+ :'restriction'
88
+ ])
89
+ end
90
+
91
+ # Initializes the object
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ def initialize(attributes = {})
94
+ if (!attributes.is_a?(Hash))
95
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::HospitalsRecord` initialize method"
96
+ end
97
+
98
+ # check to see if the attribute exists and convert string to symbol for hash key
99
+ acceptable_attribute_map = self.class.acceptable_attribute_map
100
+ attributes = attributes.each_with_object({}) { |(k, v), h|
101
+ if (!acceptable_attribute_map.key?(k.to_sym))
102
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::HospitalsRecord`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
103
+ end
104
+ h[k.to_sym] = v
105
+ }
106
+
107
+ if attributes.key?(:'object_type')
108
+ self.object_type = attributes[:'object_type']
109
+ else
110
+ self.object_type = nil
111
+ end
112
+
113
+ if attributes.key?(:'id')
114
+ self.id = attributes[:'id']
115
+ else
116
+ self.id = nil
117
+ end
118
+
119
+ if attributes.key?(:'record')
120
+ self.record = attributes[:'record']
121
+ else
122
+ self.record = nil
123
+ end
124
+
125
+ if attributes.key?(:'attributes')
126
+ self.attributes = attributes[:'attributes']
127
+ end
128
+
129
+ if attributes.key?(:'datasets')
130
+ if (value = attributes[:'datasets']).is_a?(Array)
131
+ self.datasets = value
132
+ end
133
+ else
134
+ self.datasets = nil
135
+ end
136
+
137
+ if attributes.key?(:'attribution')
138
+ if (value = attributes[:'attribution']).is_a?(Array)
139
+ self.attribution = value
140
+ end
141
+ end
142
+
143
+ if attributes.key?(:'source_credit')
144
+ self.source_credit = attributes[:'source_credit']
145
+ end
146
+
147
+ if attributes.key?(:'freshness')
148
+ self.freshness = attributes[:'freshness']
149
+ end
150
+
151
+ if attributes.key?(:'build')
152
+ self.build = attributes[:'build']
153
+ end
154
+
155
+ if attributes.key?(:'build_state')
156
+ self.build_state = attributes[:'build_state']
157
+ end
158
+
159
+ if attributes.key?(:'restriction')
160
+ if (value = attributes[:'restriction']).is_a?(Hash)
161
+ self.restriction = value
162
+ end
163
+ end
164
+ end
165
+
166
+ # Show invalid properties with the reasons. Usually used together with valid?
167
+ # @return Array for valid properties with the reasons
168
+ def list_invalid_properties
169
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
170
+ invalid_properties = Array.new
171
+ if @object_type.nil?
172
+ invalid_properties.push('invalid value for "object_type", object_type cannot be nil.')
173
+ end
174
+
175
+ if @id.nil?
176
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
177
+ end
178
+
179
+ if @record.nil?
180
+ invalid_properties.push('invalid value for "record", record cannot be nil.')
181
+ end
182
+
183
+ if @datasets.nil?
184
+ invalid_properties.push('invalid value for "datasets", datasets cannot be nil.')
185
+ end
186
+
187
+ invalid_properties
188
+ end
189
+
190
+ # Check to see if the all the properties in the model are valid
191
+ # @return true if the model is valid
192
+ def valid?
193
+ warn '[DEPRECATED] the `valid?` method is obsolete'
194
+ return false if @object_type.nil?
195
+ return false if @id.nil?
196
+ return false if @record.nil?
197
+ return false if @datasets.nil?
198
+ true
199
+ end
200
+
201
+ # Custom attribute writer method with validation
202
+ # @param [Object] object_type Value to be assigned
203
+ def object_type=(object_type)
204
+ if object_type.nil?
205
+ fail ArgumentError, 'object_type cannot be nil'
206
+ end
207
+
208
+ @object_type = object_type
209
+ end
210
+
211
+ # Custom attribute writer method with validation
212
+ # @param [Object] id Value to be assigned
213
+ def id=(id)
214
+ if id.nil?
215
+ fail ArgumentError, 'id cannot be nil'
216
+ end
217
+
218
+ @id = id
219
+ end
220
+
221
+ # Custom attribute writer method with validation
222
+ # @param [Object] record Value to be assigned
223
+ def record=(record)
224
+ if record.nil?
225
+ fail ArgumentError, 'record cannot be nil'
226
+ end
227
+
228
+ @record = record
229
+ end
230
+
231
+ # Custom attribute writer method with validation
232
+ # @param [Object] datasets Value to be assigned
233
+ def datasets=(datasets)
234
+ if datasets.nil?
235
+ fail ArgumentError, 'datasets cannot be nil'
236
+ end
237
+
238
+ @datasets = datasets
239
+ end
240
+
241
+ # Checks equality by comparing each attribute.
242
+ # @param [Object] Object to be compared
243
+ def ==(o)
244
+ return true if self.equal?(o)
245
+ self.class == o.class &&
246
+ object_type == o.object_type &&
247
+ id == o.id &&
248
+ record == o.record &&
249
+ attributes == o.attributes &&
250
+ datasets == o.datasets &&
251
+ attribution == o.attribution &&
252
+ source_credit == o.source_credit &&
253
+ freshness == o.freshness &&
254
+ build == o.build &&
255
+ build_state == o.build_state &&
256
+ restriction == o.restriction
257
+ end
258
+
259
+ # @see the `==` method
260
+ # @param [Object] Object to be compared
261
+ def eql?(o)
262
+ self == o
263
+ end
264
+
265
+ # Calculates hash code according to all attributes.
266
+ # @return [Integer] Hash code
267
+ def hash
268
+ [object_type, id, record, attributes, datasets, attribution, source_credit, freshness, build, build_state, restriction].hash
269
+ end
270
+
271
+ # Builds the object from hash
272
+ # @param [Hash] attributes Model attributes in the form of hash
273
+ # @return [Object] Returns the model itself
274
+ def self.build_from_hash(attributes)
275
+ return nil unless attributes.is_a?(Hash)
276
+ attributes = attributes.transform_keys(&:to_sym)
277
+ transformed_hash = {}
278
+ openapi_types.each_pair do |key, type|
279
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
280
+ transformed_hash["#{key}"] = nil
281
+ elsif type =~ /\AArray<(.*)>/i
282
+ # check to ensure the input is an array given that the attribute
283
+ # is documented as an array but the input is not
284
+ if attributes[attribute_map[key]].is_a?(Array)
285
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
286
+ end
287
+ elsif !attributes[attribute_map[key]].nil?
288
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
289
+ end
290
+ end
291
+ new(transformed_hash)
292
+ end
293
+
294
+ # Deserializes the data based on type
295
+ # @param string type Data type
296
+ # @param string value Value to be deserialized
297
+ # @return [Object] Deserialized data
298
+ def self._deserialize(type, value)
299
+ case type.to_sym
300
+ when :Time
301
+ Time.parse(value)
302
+ when :Date
303
+ Date.parse(value)
304
+ when :String
305
+ value.to_s
306
+ when :Integer
307
+ value.to_i
308
+ when :Float
309
+ value.to_f
310
+ when :Boolean
311
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
312
+ true
313
+ else
314
+ false
315
+ end
316
+ when :Object
317
+ # generic object (usually a Hash), return directly
318
+ value
319
+ when /\AArray<(?<inner_type>.+)>\z/
320
+ inner_type = Regexp.last_match[:inner_type]
321
+ value.map { |v| _deserialize(inner_type, v) }
322
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
323
+ k_type = Regexp.last_match[:k_type]
324
+ v_type = Regexp.last_match[:v_type]
325
+ {}.tap do |hash|
326
+ value.each do |k, v|
327
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
328
+ end
329
+ end
330
+ else # model
331
+ # models (e.g. Pet) or oneOf
332
+ klass = PharmaObservatory.const_get(type)
333
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
334
+ end
335
+ end
336
+
337
+ # Returns the string representation of the object
338
+ # @return [String] String presentation of the object
339
+ def to_s
340
+ to_hash.to_s
341
+ end
342
+
343
+ # to_body is an alias to to_hash (backward compatibility)
344
+ # @return [Hash] Returns the object in the form of hash
345
+ def to_body
346
+ to_hash
347
+ end
348
+
349
+ # Returns the object in the form of hash
350
+ # @return [Hash] Returns the object in the form of hash
351
+ def to_hash
352
+ hash = {}
353
+ self.class.attribute_map.each_pair do |attr, param|
354
+ value = self.send(attr)
355
+ if value.nil?
356
+ is_nullable = self.class.openapi_nullable.include?(attr)
357
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
358
+ end
359
+
360
+ hash[param] = _to_hash(value)
361
+ end
362
+ hash
363
+ end
364
+
365
+ # Outputs non-array value in the form of hash
366
+ # For object, use to_hash. Otherwise, just return the value
367
+ # @param [Object] value Any valid value
368
+ # @return [Hash] Returns the value in the form of hash
369
+ def _to_hash(value)
370
+ if value.is_a?(Array)
371
+ value.compact.map { |v| _to_hash(v) }
372
+ elsif value.is_a?(Hash)
373
+ {}.tap do |hash|
374
+ value.each { |k, v| hash[k] = _to_hash(v) }
375
+ end
376
+ elsif value.respond_to? :to_hash
377
+ value.to_hash
378
+ else
379
+ value
380
+ end
381
+ end
382
+
383
+ end
384
+
385
+ end