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,623 @@
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 catalysts dataset: one row per dated forward event. A grouped request returns the group columns and the measures instead, as additional properties.
18
+ class CatalystsRow
19
+ # The event key: event_type, a colon and source_record_id. Unique.
20
+ attr_accessor :event_id
21
+
22
+ # What the event is: readout (a trial's primary completion), patent_cliff (loss of exclusivity), pdufa (an FDA decision date or advisory committee) or press_release (a Benzinga press-release event).
23
+ attr_accessor :event_type
24
+
25
+ # The kind of event within its type. readout: primary_completion. patent_cliff: the cliff basis (curated_loe, orange_book_patent, pte_expiry, bpcia_exclusivity). pdufa: the calendar's own category (pdufa, advisory_committee and others). press_release: the Benzinga event token, lowercased (clinical_trial_result, pdufa_assignment, data_presentation and others). Open vocabulary on the last two.
26
+ attr_accessor :event_category
27
+
28
+ # The lane the row came from: ctgov (ClinicalTrials.gov), drug_exclusivity (the exclusivity registers), benzinga, both or sec_extraction (the PDUFA calendar, the same values as pdufa_dates) or benzinga_press_release.
29
+ attr_accessor :source
30
+
31
+ # The key of the row in its source, to join back to trials.trial_id, drug_patent_cliff.drug_id, pdufa_dates.pdufa_date_id or the press-release event id.
32
+ attr_accessor :source_record_id
33
+
34
+ # none for an open row (ClinicalTrials.gov, the exclusivity registers, the SEC lane of the PDUFA calendar); licensable for a Benzinga row (the calendar or a press release). The api view gates rows on it.
35
+ attr_accessor :restriction_tier
36
+
37
+ # The date the calendar sorts on: a readout's primary completion date, the cliff date, the decision date, or the end of the press-release event's date window.
38
+ attr_accessor :event_date
39
+
40
+ # The calendar year of event_date; the x axis of a by-year count.
41
+ attr_accessor :event_year
42
+
43
+ # Start of the date interval the source states (the first day of the month for a readout the registry filed by month).
44
+ attr_accessor :date_start
45
+
46
+ # End of the date interval the source states.
47
+ attr_accessor :date_end
48
+
49
+ # Precision of the date (day, month, quarter, half, year, fuzzy, relative). A readout is month where the registry filed only a month, in which case event_date is the last day of that month.
50
+ attr_accessor :date_precision
51
+
52
+ # The date as the source words it (an ISO date for a readout and a cliff; the press release's own phrase, such as H2 2026).
53
+ attr_accessor :date_phrase
54
+
55
+ # For a readout, whether the registry's completion date is estimated or actual (an anticipated date counts as estimated); null on the other legs.
56
+ attr_accessor :date_status
57
+
58
+ # The ClinicalTrials.gov registry id (readout rows).
59
+ attr_accessor :trial_id
60
+
61
+ # The trial's brief title (readout rows).
62
+ attr_accessor :trial_title
63
+
64
+ # The registry's phase code (readout rows).
65
+ attr_accessor :phase
66
+
67
+ # The trial phase as a display label (readout rows).
68
+ attr_accessor :phase_label
69
+
70
+ # The registry's overall status code (readout rows).
71
+ attr_accessor :overall_status
72
+
73
+ # The registry ids a press-release event names; null on the other legs.
74
+ attr_accessor :related_trial_ids
75
+
76
+ # The outcome a press-release event reports (a decided event stays in the forward book); null on the other legs.
77
+ attr_accessor :outcome
78
+
79
+ # The indication as the source words it (PDUFA and press-release rows).
80
+ attr_accessor :indication_text
81
+
82
+ # The condition key (PDUFA rows).
83
+ attr_accessor :condition_id
84
+
85
+ # The condition's name (PDUFA rows).
86
+ attr_accessor :condition_name
87
+
88
+ # Kind of source document (SEC filing for the SEC lane, Press release for a press-release event); null on the open legs.
89
+ attr_accessor :source_type
90
+
91
+ # Link to the source document (PDUFA and press-release rows).
92
+ attr_accessor :source_url
93
+
94
+ # The drug name as filed or its display name; null on a readout (its drugs are the list drug_ids).
95
+ attr_accessor :drug_name
96
+
97
+ # The drug key of a patent-cliff, PDUFA or press-release row; null on a readout and where the drug did not resolve.
98
+ attr_accessor :drug_id
99
+
100
+ # The molecule key (PDUFA and press-release rows).
101
+ attr_accessor :molecule_id
102
+
103
+ # Every drug key of the event: a readout carries each drug of its trial, sorted; the other legs carry their one drug, or an empty array. The drug predicate of a watchlist is '<drug>' = ANY(drug_ids).
104
+ attr_accessor :drug_ids
105
+
106
+ # What the organization is on the row: lead_sponsor (readout), applicant (patent cliff, the FDA applicant of record), sponsor (PDUFA) or issuer (press release, the company the ticker names).
107
+ attr_accessor :sponsor_role
108
+
109
+ # The organization's name as filed; null on a press-release row (the source names a ticker, not an organization).
110
+ attr_accessor :sponsor_name
111
+
112
+ # Legal-entity level: the organization record (a readout's lead sponsor, a cliff's applicant, a PDUFA row's filing organization; for a press release the identity hub's resolved entity for the ticker). Null when unresolved.
113
+ attr_accessor :sponsor_org_id
114
+
115
+ # Company level: the company the organization belongs to (null when unresolved).
116
+ attr_accessor :sponsor_company_id
117
+
118
+ # Display name of the organization's company.
119
+ attr_accessor :sponsor_company_name
120
+
121
+ # Group level: the organization's current ultimate parent company; a root company's group is itself.
122
+ attr_accessor :sponsor_group_id
123
+
124
+ # Display name of the organization's group.
125
+ attr_accessor :sponsor_group_name
126
+
127
+ # Exchange ticker (PDUFA and press-release rows).
128
+ attr_accessor :ticker
129
+
130
+ # Attribute mapping from ruby-style variable name to JSON key.
131
+ def self.attribute_map
132
+ {
133
+ :'event_id' => :'event_id',
134
+ :'event_type' => :'event_type',
135
+ :'event_category' => :'event_category',
136
+ :'source' => :'source',
137
+ :'source_record_id' => :'source_record_id',
138
+ :'restriction_tier' => :'restriction_tier',
139
+ :'event_date' => :'event_date',
140
+ :'event_year' => :'event_year',
141
+ :'date_start' => :'date_start',
142
+ :'date_end' => :'date_end',
143
+ :'date_precision' => :'date_precision',
144
+ :'date_phrase' => :'date_phrase',
145
+ :'date_status' => :'date_status',
146
+ :'trial_id' => :'trial_id',
147
+ :'trial_title' => :'trial_title',
148
+ :'phase' => :'phase',
149
+ :'phase_label' => :'phase_label',
150
+ :'overall_status' => :'overall_status',
151
+ :'related_trial_ids' => :'related_trial_ids',
152
+ :'outcome' => :'outcome',
153
+ :'indication_text' => :'indication_text',
154
+ :'condition_id' => :'condition_id',
155
+ :'condition_name' => :'condition_name',
156
+ :'source_type' => :'source_type',
157
+ :'source_url' => :'source_url',
158
+ :'drug_name' => :'drug_name',
159
+ :'drug_id' => :'drug_id',
160
+ :'molecule_id' => :'molecule_id',
161
+ :'drug_ids' => :'drug_ids',
162
+ :'sponsor_role' => :'sponsor_role',
163
+ :'sponsor_name' => :'sponsor_name',
164
+ :'sponsor_org_id' => :'sponsor_org_id',
165
+ :'sponsor_company_id' => :'sponsor_company_id',
166
+ :'sponsor_company_name' => :'sponsor_company_name',
167
+ :'sponsor_group_id' => :'sponsor_group_id',
168
+ :'sponsor_group_name' => :'sponsor_group_name',
169
+ :'ticker' => :'ticker'
170
+ }
171
+ end
172
+
173
+ # Returns attribute mapping this model knows about
174
+ def self.acceptable_attribute_map
175
+ attribute_map
176
+ end
177
+
178
+ # Returns all the JSON keys this model knows about
179
+ def self.acceptable_attributes
180
+ acceptable_attribute_map.values
181
+ end
182
+
183
+ # Attribute type mapping.
184
+ def self.openapi_types
185
+ {
186
+ :'event_id' => :'String',
187
+ :'event_type' => :'String',
188
+ :'event_category' => :'String',
189
+ :'source' => :'String',
190
+ :'source_record_id' => :'String',
191
+ :'restriction_tier' => :'String',
192
+ :'event_date' => :'Date',
193
+ :'event_year' => :'Integer',
194
+ :'date_start' => :'Date',
195
+ :'date_end' => :'Date',
196
+ :'date_precision' => :'String',
197
+ :'date_phrase' => :'String',
198
+ :'date_status' => :'String',
199
+ :'trial_id' => :'String',
200
+ :'trial_title' => :'String',
201
+ :'phase' => :'String',
202
+ :'phase_label' => :'String',
203
+ :'overall_status' => :'String',
204
+ :'related_trial_ids' => :'Array<String>',
205
+ :'outcome' => :'String',
206
+ :'indication_text' => :'String',
207
+ :'condition_id' => :'String',
208
+ :'condition_name' => :'String',
209
+ :'source_type' => :'String',
210
+ :'source_url' => :'String',
211
+ :'drug_name' => :'String',
212
+ :'drug_id' => :'String',
213
+ :'molecule_id' => :'String',
214
+ :'drug_ids' => :'Array<String>',
215
+ :'sponsor_role' => :'String',
216
+ :'sponsor_name' => :'String',
217
+ :'sponsor_org_id' => :'String',
218
+ :'sponsor_company_id' => :'String',
219
+ :'sponsor_company_name' => :'String',
220
+ :'sponsor_group_id' => :'String',
221
+ :'sponsor_group_name' => :'String',
222
+ :'ticker' => :'String'
223
+ }
224
+ end
225
+
226
+ # List of attributes with nullable: true
227
+ def self.openapi_nullable
228
+ Set.new([
229
+ :'event_id',
230
+ :'event_type',
231
+ :'event_category',
232
+ :'source',
233
+ :'source_record_id',
234
+ :'restriction_tier',
235
+ :'event_date',
236
+ :'event_year',
237
+ :'date_start',
238
+ :'date_end',
239
+ :'date_precision',
240
+ :'date_phrase',
241
+ :'date_status',
242
+ :'trial_id',
243
+ :'trial_title',
244
+ :'phase',
245
+ :'phase_label',
246
+ :'overall_status',
247
+ :'related_trial_ids',
248
+ :'outcome',
249
+ :'indication_text',
250
+ :'condition_id',
251
+ :'condition_name',
252
+ :'source_type',
253
+ :'source_url',
254
+ :'drug_name',
255
+ :'drug_id',
256
+ :'molecule_id',
257
+ :'drug_ids',
258
+ :'sponsor_role',
259
+ :'sponsor_name',
260
+ :'sponsor_org_id',
261
+ :'sponsor_company_id',
262
+ :'sponsor_company_name',
263
+ :'sponsor_group_id',
264
+ :'sponsor_group_name',
265
+ :'ticker'
266
+ ])
267
+ end
268
+
269
+ # Initializes the object
270
+ # @param [Hash] attributes Model attributes in the form of hash
271
+ def initialize(attributes = {})
272
+ if (!attributes.is_a?(Hash))
273
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::CatalystsRow` initialize method"
274
+ end
275
+
276
+ # check to see if the attribute exists and convert string to symbol for hash key
277
+ acceptable_attribute_map = self.class.acceptable_attribute_map
278
+ attributes = attributes.each_with_object({}) { |(k, v), h|
279
+ if (!acceptable_attribute_map.key?(k.to_sym))
280
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::CatalystsRow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
281
+ end
282
+ h[k.to_sym] = v
283
+ }
284
+
285
+ if attributes.key?(:'event_id')
286
+ self.event_id = attributes[:'event_id']
287
+ end
288
+
289
+ if attributes.key?(:'event_type')
290
+ self.event_type = attributes[:'event_type']
291
+ end
292
+
293
+ if attributes.key?(:'event_category')
294
+ self.event_category = attributes[:'event_category']
295
+ end
296
+
297
+ if attributes.key?(:'source')
298
+ self.source = attributes[:'source']
299
+ end
300
+
301
+ if attributes.key?(:'source_record_id')
302
+ self.source_record_id = attributes[:'source_record_id']
303
+ end
304
+
305
+ if attributes.key?(:'restriction_tier')
306
+ self.restriction_tier = attributes[:'restriction_tier']
307
+ end
308
+
309
+ if attributes.key?(:'event_date')
310
+ self.event_date = attributes[:'event_date']
311
+ end
312
+
313
+ if attributes.key?(:'event_year')
314
+ self.event_year = attributes[:'event_year']
315
+ end
316
+
317
+ if attributes.key?(:'date_start')
318
+ self.date_start = attributes[:'date_start']
319
+ end
320
+
321
+ if attributes.key?(:'date_end')
322
+ self.date_end = attributes[:'date_end']
323
+ end
324
+
325
+ if attributes.key?(:'date_precision')
326
+ self.date_precision = attributes[:'date_precision']
327
+ end
328
+
329
+ if attributes.key?(:'date_phrase')
330
+ self.date_phrase = attributes[:'date_phrase']
331
+ end
332
+
333
+ if attributes.key?(:'date_status')
334
+ self.date_status = attributes[:'date_status']
335
+ end
336
+
337
+ if attributes.key?(:'trial_id')
338
+ self.trial_id = attributes[:'trial_id']
339
+ end
340
+
341
+ if attributes.key?(:'trial_title')
342
+ self.trial_title = attributes[:'trial_title']
343
+ end
344
+
345
+ if attributes.key?(:'phase')
346
+ self.phase = attributes[:'phase']
347
+ end
348
+
349
+ if attributes.key?(:'phase_label')
350
+ self.phase_label = attributes[:'phase_label']
351
+ end
352
+
353
+ if attributes.key?(:'overall_status')
354
+ self.overall_status = attributes[:'overall_status']
355
+ end
356
+
357
+ if attributes.key?(:'related_trial_ids')
358
+ if (value = attributes[:'related_trial_ids']).is_a?(Array)
359
+ self.related_trial_ids = value
360
+ end
361
+ end
362
+
363
+ if attributes.key?(:'outcome')
364
+ self.outcome = attributes[:'outcome']
365
+ end
366
+
367
+ if attributes.key?(:'indication_text')
368
+ self.indication_text = attributes[:'indication_text']
369
+ end
370
+
371
+ if attributes.key?(:'condition_id')
372
+ self.condition_id = attributes[:'condition_id']
373
+ end
374
+
375
+ if attributes.key?(:'condition_name')
376
+ self.condition_name = attributes[:'condition_name']
377
+ end
378
+
379
+ if attributes.key?(:'source_type')
380
+ self.source_type = attributes[:'source_type']
381
+ end
382
+
383
+ if attributes.key?(:'source_url')
384
+ self.source_url = attributes[:'source_url']
385
+ end
386
+
387
+ if attributes.key?(:'drug_name')
388
+ self.drug_name = attributes[:'drug_name']
389
+ end
390
+
391
+ if attributes.key?(:'drug_id')
392
+ self.drug_id = attributes[:'drug_id']
393
+ end
394
+
395
+ if attributes.key?(:'molecule_id')
396
+ self.molecule_id = attributes[:'molecule_id']
397
+ end
398
+
399
+ if attributes.key?(:'drug_ids')
400
+ if (value = attributes[:'drug_ids']).is_a?(Array)
401
+ self.drug_ids = value
402
+ end
403
+ end
404
+
405
+ if attributes.key?(:'sponsor_role')
406
+ self.sponsor_role = attributes[:'sponsor_role']
407
+ end
408
+
409
+ if attributes.key?(:'sponsor_name')
410
+ self.sponsor_name = attributes[:'sponsor_name']
411
+ end
412
+
413
+ if attributes.key?(:'sponsor_org_id')
414
+ self.sponsor_org_id = attributes[:'sponsor_org_id']
415
+ end
416
+
417
+ if attributes.key?(:'sponsor_company_id')
418
+ self.sponsor_company_id = attributes[:'sponsor_company_id']
419
+ end
420
+
421
+ if attributes.key?(:'sponsor_company_name')
422
+ self.sponsor_company_name = attributes[:'sponsor_company_name']
423
+ end
424
+
425
+ if attributes.key?(:'sponsor_group_id')
426
+ self.sponsor_group_id = attributes[:'sponsor_group_id']
427
+ end
428
+
429
+ if attributes.key?(:'sponsor_group_name')
430
+ self.sponsor_group_name = attributes[:'sponsor_group_name']
431
+ end
432
+
433
+ if attributes.key?(:'ticker')
434
+ self.ticker = attributes[:'ticker']
435
+ end
436
+ end
437
+
438
+ # Show invalid properties with the reasons. Usually used together with valid?
439
+ # @return Array for valid properties with the reasons
440
+ def list_invalid_properties
441
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
442
+ invalid_properties = Array.new
443
+ invalid_properties
444
+ end
445
+
446
+ # Check to see if the all the properties in the model are valid
447
+ # @return true if the model is valid
448
+ def valid?
449
+ warn '[DEPRECATED] the `valid?` method is obsolete'
450
+ true
451
+ end
452
+
453
+ # Checks equality by comparing each attribute.
454
+ # @param [Object] Object to be compared
455
+ def ==(o)
456
+ return true if self.equal?(o)
457
+ self.class == o.class &&
458
+ event_id == o.event_id &&
459
+ event_type == o.event_type &&
460
+ event_category == o.event_category &&
461
+ source == o.source &&
462
+ source_record_id == o.source_record_id &&
463
+ restriction_tier == o.restriction_tier &&
464
+ event_date == o.event_date &&
465
+ event_year == o.event_year &&
466
+ date_start == o.date_start &&
467
+ date_end == o.date_end &&
468
+ date_precision == o.date_precision &&
469
+ date_phrase == o.date_phrase &&
470
+ date_status == o.date_status &&
471
+ trial_id == o.trial_id &&
472
+ trial_title == o.trial_title &&
473
+ phase == o.phase &&
474
+ phase_label == o.phase_label &&
475
+ overall_status == o.overall_status &&
476
+ related_trial_ids == o.related_trial_ids &&
477
+ outcome == o.outcome &&
478
+ indication_text == o.indication_text &&
479
+ condition_id == o.condition_id &&
480
+ condition_name == o.condition_name &&
481
+ source_type == o.source_type &&
482
+ source_url == o.source_url &&
483
+ drug_name == o.drug_name &&
484
+ drug_id == o.drug_id &&
485
+ molecule_id == o.molecule_id &&
486
+ drug_ids == o.drug_ids &&
487
+ sponsor_role == o.sponsor_role &&
488
+ sponsor_name == o.sponsor_name &&
489
+ sponsor_org_id == o.sponsor_org_id &&
490
+ sponsor_company_id == o.sponsor_company_id &&
491
+ sponsor_company_name == o.sponsor_company_name &&
492
+ sponsor_group_id == o.sponsor_group_id &&
493
+ sponsor_group_name == o.sponsor_group_name &&
494
+ ticker == o.ticker
495
+ end
496
+
497
+ # @see the `==` method
498
+ # @param [Object] Object to be compared
499
+ def eql?(o)
500
+ self == o
501
+ end
502
+
503
+ # Calculates hash code according to all attributes.
504
+ # @return [Integer] Hash code
505
+ def hash
506
+ [event_id, event_type, event_category, source, source_record_id, restriction_tier, event_date, event_year, date_start, date_end, date_precision, date_phrase, date_status, trial_id, trial_title, phase, phase_label, overall_status, related_trial_ids, outcome, indication_text, condition_id, condition_name, source_type, source_url, drug_name, drug_id, molecule_id, drug_ids, sponsor_role, sponsor_name, sponsor_org_id, sponsor_company_id, sponsor_company_name, sponsor_group_id, sponsor_group_name, ticker].hash
507
+ end
508
+
509
+ # Builds the object from hash
510
+ # @param [Hash] attributes Model attributes in the form of hash
511
+ # @return [Object] Returns the model itself
512
+ def self.build_from_hash(attributes)
513
+ return nil unless attributes.is_a?(Hash)
514
+ attributes = attributes.transform_keys(&:to_sym)
515
+ transformed_hash = {}
516
+ openapi_types.each_pair do |key, type|
517
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
518
+ transformed_hash["#{key}"] = nil
519
+ elsif type =~ /\AArray<(.*)>/i
520
+ # check to ensure the input is an array given that the attribute
521
+ # is documented as an array but the input is not
522
+ if attributes[attribute_map[key]].is_a?(Array)
523
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
524
+ end
525
+ elsif !attributes[attribute_map[key]].nil?
526
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
527
+ end
528
+ end
529
+ new(transformed_hash)
530
+ end
531
+
532
+ # Deserializes the data based on type
533
+ # @param string type Data type
534
+ # @param string value Value to be deserialized
535
+ # @return [Object] Deserialized data
536
+ def self._deserialize(type, value)
537
+ case type.to_sym
538
+ when :Time
539
+ Time.parse(value)
540
+ when :Date
541
+ Date.parse(value)
542
+ when :String
543
+ value.to_s
544
+ when :Integer
545
+ value.to_i
546
+ when :Float
547
+ value.to_f
548
+ when :Boolean
549
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
550
+ true
551
+ else
552
+ false
553
+ end
554
+ when :Object
555
+ # generic object (usually a Hash), return directly
556
+ value
557
+ when /\AArray<(?<inner_type>.+)>\z/
558
+ inner_type = Regexp.last_match[:inner_type]
559
+ value.map { |v| _deserialize(inner_type, v) }
560
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
561
+ k_type = Regexp.last_match[:k_type]
562
+ v_type = Regexp.last_match[:v_type]
563
+ {}.tap do |hash|
564
+ value.each do |k, v|
565
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
566
+ end
567
+ end
568
+ else # model
569
+ # models (e.g. Pet) or oneOf
570
+ klass = PharmaObservatory.const_get(type)
571
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
572
+ end
573
+ end
574
+
575
+ # Returns the string representation of the object
576
+ # @return [String] String presentation of the object
577
+ def to_s
578
+ to_hash.to_s
579
+ end
580
+
581
+ # to_body is an alias to to_hash (backward compatibility)
582
+ # @return [Hash] Returns the object in the form of hash
583
+ def to_body
584
+ to_hash
585
+ end
586
+
587
+ # Returns the object in the form of hash
588
+ # @return [Hash] Returns the object in the form of hash
589
+ def to_hash
590
+ hash = {}
591
+ self.class.attribute_map.each_pair do |attr, param|
592
+ value = self.send(attr)
593
+ if value.nil?
594
+ is_nullable = self.class.openapi_nullable.include?(attr)
595
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
596
+ end
597
+
598
+ hash[param] = _to_hash(value)
599
+ end
600
+ hash
601
+ end
602
+
603
+ # Outputs non-array value in the form of hash
604
+ # For object, use to_hash. Otherwise, just return the value
605
+ # @param [Object] value Any valid value
606
+ # @return [Hash] Returns the value in the form of hash
607
+ def _to_hash(value)
608
+ if value.is_a?(Array)
609
+ value.compact.map { |v| _to_hash(v) }
610
+ elsif value.is_a?(Hash)
611
+ {}.tap do |hash|
612
+ value.each { |k, v| hash[k] = _to_hash(v) }
613
+ end
614
+ elsif value.respond_to? :to_hash
615
+ value.to_hash
616
+ else
617
+ value
618
+ end
619
+ end
620
+
621
+ end
622
+
623
+ end