pharmaobservatory 0.1.7 → 0.1.9

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 (575) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +163 -9
  3. data/docs/AnimalWelfareAssurancesResponse.md +58 -0
  4. data/docs/{BiomarkerAssayEvidenceResponseBuild.md → AnimalWelfareAssurancesResponseBuild.md} +2 -2
  5. data/docs/{BiomarkerAssayEvidenceResponseFreshness.md → AnimalWelfareAssurancesResponseFreshness.md} +2 -2
  6. data/docs/{BiomarkerAssayEvidenceResponseScope.md → AnimalWelfareAssurancesResponseScope.md} +2 -2
  7. data/docs/AnimalWelfareAssurancesRow.md +48 -0
  8. data/docs/BiomarkerAlleleFrequenciesResponse.md +58 -0
  9. data/docs/BiomarkerAlleleFrequenciesRow.md +62 -0
  10. data/docs/BiomarkerAssayEvidenceResponse.md +3 -3
  11. data/docs/BiomarkerAssayProvidersResponse.md +58 -0
  12. data/docs/BiomarkerAssayProvidersRow.md +72 -0
  13. data/docs/BiomarkerAssayWhitespaceResponse.md +3 -3
  14. data/docs/BiomarkerBqpAssertionsResponse.md +3 -3
  15. data/docs/BiomarkerCdxAssertionsResponse.md +3 -3
  16. data/docs/BiomarkerEvidenceByYearResponse.md +58 -0
  17. data/docs/BiomarkerEvidenceByYearRow.md +32 -0
  18. data/docs/BiomarkerEvidenceResponse.md +3 -3
  19. data/docs/BiomarkerLiteratureResponse.md +3 -3
  20. data/docs/BiomarkerPublishingCompaniesResponse.md +3 -3
  21. data/docs/BiomarkerRelationsResponse.md +3 -3
  22. data/docs/BiomarkerSampleCoverageResponse.md +3 -3
  23. data/docs/BiomarkerSamplePrevalenceResponse.md +3 -3
  24. data/docs/BiomarkerTraversalStatusResponse.md +58 -0
  25. data/docs/BiomarkerTraversalStatusRow.md +36 -0
  26. data/docs/BiomarkerValidationResponse.md +3 -3
  27. data/docs/BiomarkerVariantMentionsResponse.md +3 -3
  28. data/docs/BiomarkersApi.md +320 -0
  29. data/docs/BiomarkersRecord.md +2 -2
  30. data/docs/BiomarkersResponse.md +3 -3
  31. data/docs/BrandCompaniesResponse.md +3 -3
  32. data/docs/BrandRevenueResponse.md +3 -3
  33. data/docs/CatalystsResponse.md +3 -3
  34. data/docs/CellLinesRecord.md +2 -2
  35. data/docs/CellLinesResponse.md +3 -3
  36. data/docs/CliaCertificatesResponse.md +3 -3
  37. data/docs/CompaniesApi.md +2113 -391
  38. data/docs/CompaniesRecord.md +2 -2
  39. data/docs/CompaniesRecordAttributes.md +2 -0
  40. data/docs/CompaniesResponse.md +3 -3
  41. data/docs/CompanyAssetsResponse.md +3 -3
  42. data/docs/CompanyBiomarkerCapabilityResponse.md +58 -0
  43. data/docs/CompanyBiomarkerCapabilityRow.md +68 -0
  44. data/docs/CompanyCollaboratorsResponse.md +58 -0
  45. data/docs/CompanyCollaboratorsRow.md +42 -0
  46. data/docs/CompanyCompetitorActivityResponse.md +58 -0
  47. data/docs/CompanyCompetitorActivityRow.md +42 -0
  48. data/docs/CompanyCompetitorsResponse.md +58 -0
  49. data/docs/CompanyCompetitorsRow.md +66 -0
  50. data/docs/CompanyFinancialsResponse.md +58 -0
  51. data/docs/CompanyFinancialsRow.md +108 -0
  52. data/docs/CompanyFirmographicsResponse.md +58 -0
  53. data/docs/CompanyFirmographicsRow.md +80 -0
  54. data/docs/CompanyFundingEventsResponse.md +3 -3
  55. data/docs/CompanyFundingSummaryResponse.md +3 -3
  56. data/docs/CompanyMembersResponse.md +3 -3
  57. data/docs/CompanyProgramsResponse.md +3 -3
  58. data/docs/CompanyRareDiseaseDeclarationsResponse.md +58 -0
  59. data/docs/CompanyRareDiseaseDeclarationsRow.md +52 -0
  60. data/docs/CompanyTargetsResponse.md +3 -3
  61. data/docs/CompanyTimelineResponse.md +58 -0
  62. data/docs/CompanyTimelineRow.md +68 -0
  63. data/docs/CompanyTrialGeographyResponse.md +3 -3
  64. data/docs/CompanyTrialSitesResponse.md +3 -3
  65. data/docs/CompanyUsPatentsResponse.md +58 -0
  66. data/docs/CompanyUsPatentsRow.md +34 -0
  67. data/docs/ConditionAdverseEventsResponse.md +3 -3
  68. data/docs/ConditionBurdenResponse.md +3 -3
  69. data/docs/ConditionDeliveryResponse.md +3 -3
  70. data/docs/ConditionDrugsResponse.md +3 -3
  71. data/docs/ConditionInvestigatorOrganizationsResponse.md +58 -0
  72. data/docs/ConditionInvestigatorOrganizationsRow.md +44 -0
  73. data/docs/ConditionPrevalenceResponse.md +3 -3
  74. data/docs/ConditionPublicationsResponse.md +3 -3
  75. data/docs/ConditionRecruitmentByPhaseResponse.md +3 -3
  76. data/docs/ConditionRecruitmentDurationResponse.md +3 -3
  77. data/docs/ConditionSitesResponse.md +3 -3
  78. data/docs/ConditionTrialStartForecastResponse.md +3 -3
  79. data/docs/ConditionTrialsResponse.md +3 -3
  80. data/docs/ConditionsApi.md +160 -0
  81. data/docs/ConditionsRecord.md +2 -2
  82. data/docs/ConditionsResponse.md +3 -3
  83. data/docs/CroFootprintResponse.md +3 -3
  84. data/docs/CroTrialsResponse.md +3 -3
  85. data/docs/DebarmentsResponse.md +3 -3
  86. data/docs/DrugApprovalsResponse.md +3 -3
  87. data/docs/DrugAspCodesResponse.md +3 -3
  88. data/docs/DrugBrandsResponse.md +3 -3
  89. data/docs/DrugCombinationsResponse.md +3 -3
  90. data/docs/DrugDeclaredPatentsResponse.md +3 -3
  91. data/docs/DrugInvestigatorsResponse.md +58 -0
  92. data/docs/DrugInvestigatorsRow.md +32 -0
  93. data/docs/DrugLabelSafetyResponse.md +3 -3
  94. data/docs/DrugMedicareSpendResponse.md +3 -3
  95. data/docs/DrugPatentCliffResponse.md +3 -3
  96. data/docs/DrugPatentMentionsResponse.md +3 -3
  97. data/docs/DrugPatentOwnersResponse.md +3 -3
  98. data/docs/DrugPricingResponse.md +3 -3
  99. data/docs/DrugRecallsResponse.md +3 -3
  100. data/docs/DrugRegulatoryResponse.md +3 -3
  101. data/docs/DrugSitesResponse.md +3 -3
  102. data/docs/DrugTargetsResponse.md +3 -3
  103. data/docs/DrugTrialConditionsResponse.md +3 -3
  104. data/docs/DrugTrialsResponse.md +3 -3
  105. data/docs/DrugVariantsResponse.md +3 -3
  106. data/docs/DrugsApi.md +80 -0
  107. data/docs/DrugsRecord.md +2 -2
  108. data/docs/DrugsResponse.md +3 -3
  109. data/docs/EnforcementEventsResponse.md +3 -3
  110. data/docs/EnforcementEventsRow.md +22 -4
  111. data/docs/GxpFacilitiesResponse.md +3 -3
  112. data/docs/GxpFacilitiesRow.md +49 -1
  113. data/docs/HospitalBedsYearlyResponse.md +3 -3
  114. data/docs/HospitalFacilityChangesResponse.md +3 -3
  115. data/docs/HospitalsApi.md +80 -0
  116. data/docs/HospitalsRecord.md +2 -2
  117. data/docs/HospitalsResponse.md +3 -3
  118. data/docs/ImportRefusalsResponse.md +3 -3
  119. data/docs/InspectionFindingsResponse.md +3 -3
  120. data/docs/InspectionsResponse.md +3 -3
  121. data/docs/InstitutionalHoldingsResponse.md +3 -3
  122. data/docs/InstitutionalQuarterTotalsResponse.md +3 -3
  123. data/docs/InvestigatorConditionsResponse.md +58 -0
  124. data/docs/InvestigatorConditionsRow.md +28 -0
  125. data/docs/InvestigatorDebarmentsResponse.md +58 -0
  126. data/docs/InvestigatorDebarmentsRow.md +32 -0
  127. data/docs/InvestigatorHospitalsResponse.md +58 -0
  128. data/docs/InvestigatorHospitalsRow.md +28 -0
  129. data/docs/InvestigatorInspectionsResponse.md +58 -0
  130. data/docs/InvestigatorInspectionsRow.md +46 -0
  131. data/docs/InvestigatorPublicationsResponse.md +58 -0
  132. data/docs/InvestigatorPublicationsRow.md +34 -0
  133. data/docs/InvestigatorTopicsResponse.md +58 -0
  134. data/docs/InvestigatorTopicsRow.md +34 -0
  135. data/docs/InvestigatorTrialsResponse.md +58 -0
  136. data/docs/InvestigatorTrialsRow.md +64 -0
  137. data/docs/InvestigatorsApi.md +1113 -0
  138. data/docs/InvestigatorsRecord.md +38 -0
  139. data/docs/InvestigatorsResponse.md +58 -0
  140. data/docs/InvestigatorsRow.md +70 -0
  141. data/docs/InvestorFundsResponse.md +3 -3
  142. data/docs/InvestorPortfolioResponse.md +3 -3
  143. data/docs/InvestorPrivateFundsResponse.md +3 -3
  144. data/docs/InvestorsRecord.md +2 -2
  145. data/docs/InvestorsResponse.md +3 -3
  146. data/docs/InvestorsRow.md +6 -0
  147. data/docs/LegalEntitiesApi.md +1401 -281
  148. data/docs/LegalEntitiesRecord.md +2 -2
  149. data/docs/LegalEntitiesRecordAttributes.md +6 -0
  150. data/docs/LegalEntitiesResponse.md +3 -3
  151. data/docs/LegalEntitySecFilingsResponse.md +58 -0
  152. data/docs/LegalEntitySecFilingsRow.md +44 -0
  153. data/docs/ManagersRecord.md +2 -2
  154. data/docs/ManagersResponse.md +3 -3
  155. data/docs/OrgDisclosureTrendResponse.md +58 -0
  156. data/docs/OrgDisclosureTrendRow.md +62 -0
  157. data/docs/OrgDisclosuresResponse.md +3 -3
  158. data/docs/OrgRelationshipsResponse.md +3 -3
  159. data/docs/OwnershipObservationsResponse.md +58 -0
  160. data/docs/OwnershipObservationsRow.md +168 -0
  161. data/docs/OwnershipPercentagesResponse.md +3 -3
  162. data/docs/OwnershipPositionsResponse.md +3 -3
  163. data/docs/OwnershipSourceCoverageResponse.md +58 -0
  164. data/docs/OwnershipSourceCoverageRow.md +62 -0
  165. data/docs/PdufaDatesResponse.md +3 -3
  166. data/docs/ProgramLicensingCandidatesResponse.md +3 -3
  167. data/docs/ProgramsResponse.md +3 -3
  168. data/docs/RareDiseaseGenesResponse.md +3 -3
  169. data/docs/RareDiseaseHierarchyResponse.md +3 -3
  170. data/docs/RareDiseaseInvestigatorCoverageResponse.md +3 -3
  171. data/docs/RareDiseaseInvestigatorsResponse.md +3 -3
  172. data/docs/RareDiseaseMappingsResponse.md +3 -3
  173. data/docs/RareDiseaseOrganizationsResponse.md +3 -3
  174. data/docs/RareDiseasePrevalenceResponse.md +3 -3
  175. data/docs/RareDiseaseRarityEvidenceResponse.md +3 -3
  176. data/docs/RareDiseaseRarityResponse.md +3 -3
  177. data/docs/RareDiseaseReplacementsResponse.md +3 -3
  178. data/docs/RareDiseaseSiteCoverageResponse.md +3 -3
  179. data/docs/RareDiseaseSponsorsResponse.md +3 -3
  180. data/docs/RareDiseaseTrialCoverageResponse.md +3 -3
  181. data/docs/RareDiseaseTrialSitesResponse.md +3 -3
  182. data/docs/RareDiseaseTrialsResponse.md +3 -3
  183. data/docs/RareDiseasesRecord.md +2 -2
  184. data/docs/RareDiseasesResponse.md +3 -3
  185. data/docs/RecallsResponse.md +3 -3
  186. data/docs/RwdConductorDeliveryResponse.md +58 -0
  187. data/docs/RwdConductorDeliveryRow.md +74 -0
  188. data/docs/RwdConductorFootprintResponse.md +58 -0
  189. data/docs/RwdConductorFootprintRow.md +40 -0
  190. data/docs/RwdConductorStudiesResponse.md +58 -0
  191. data/docs/RwdConductorStudiesRow.md +42 -0
  192. data/docs/RwdConductorsApi.md +393 -0
  193. data/docs/RwdConductorsRecord.md +38 -0
  194. data/docs/RwdConductorsResponse.md +58 -0
  195. data/docs/RwdConductorsRow.md +72 -0
  196. data/docs/RwdCoverageResponse.md +3 -3
  197. data/docs/RwdInstitutionsApi.md +153 -0
  198. data/docs/RwdInstitutionsRecord.md +38 -0
  199. data/docs/RwdInstitutionsResponse.md +58 -0
  200. data/docs/RwdInstitutionsRow.md +154 -0
  201. data/docs/RwdNetworksApi.md +153 -0
  202. data/docs/RwdNetworksRecord.md +38 -0
  203. data/docs/RwdNetworksResponse.md +58 -0
  204. data/docs/RwdNetworksRow.md +110 -0
  205. data/docs/RwdRegisterProvenanceResponse.md +3 -3
  206. data/docs/RwdRegistersRecord.md +2 -2
  207. data/docs/RwdSourceAgeBandsResponse.md +3 -3
  208. data/docs/RwdSourceConditionsResponse.md +3 -3
  209. data/docs/RwdSourceEtlMappingsResponse.md +3 -3
  210. data/docs/RwdSourceLinkagesResponse.md +3 -3
  211. data/docs/RwdSourceTypesResponse.md +3 -3
  212. data/docs/RwdSourceVocabulariesResponse.md +3 -3
  213. data/docs/RwdSourcesRecord.md +2 -2
  214. data/docs/RwdSourcesResponse.md +3 -3
  215. data/docs/RwdStudiesApi.md +80 -0
  216. data/docs/RwdStudiesRecord.md +2 -2
  217. data/docs/RwdStudiesResponse.md +3 -3
  218. data/docs/RwdStudyConditionsResponse.md +3 -3
  219. data/docs/RwdStudyDataSourcesResponse.md +3 -3
  220. data/docs/RwdStudyDrugsResponse.md +3 -3
  221. data/docs/RwdStudyMilestonesResponse.md +3 -3
  222. data/docs/RwdWithheldFieldsResponse.md +3 -3
  223. data/docs/SbtiCrosscheckResponse.md +58 -0
  224. data/docs/SbtiCrosscheckRow.md +48 -0
  225. data/docs/SecPdufaDatesResponse.md +3 -3
  226. data/docs/SiteBedsYearlyResponse.md +3 -3
  227. data/docs/SiteCroTrialsResponse.md +3 -3
  228. data/docs/SiteHospitalsResponse.md +3 -3
  229. data/docs/SiteInvestigatorsResponse.md +3 -3
  230. data/docs/SiteTrialConditionsResponse.md +3 -3
  231. data/docs/SiteTrialDrugsResponse.md +3 -3
  232. data/docs/SiteTrialsResponse.md +3 -3
  233. data/docs/SitesRecord.md +2 -2
  234. data/docs/SitesResponse.md +3 -3
  235. data/docs/SponsorDeliveryResponse.md +58 -0
  236. data/docs/SponsorDeliveryRow.md +52 -0
  237. data/docs/SponsorPatentMentionsResponse.md +58 -0
  238. data/docs/SponsorPatentMentionsRow.md +42 -0
  239. data/docs/SponsorPublicationsResponse.md +58 -0
  240. data/docs/SponsorPublicationsRow.md +42 -0
  241. data/docs/SponsorRecruitmentByPhaseResponse.md +3 -3
  242. data/docs/SponsorRecruitmentDurationResponse.md +3 -3
  243. data/docs/SponsorTrialConditionsResponse.md +58 -0
  244. data/docs/SponsorTrialConditionsRow.md +36 -0
  245. data/docs/SponsorTrialDrugsResponse.md +58 -0
  246. data/docs/SponsorTrialDrugsRow.md +34 -0
  247. data/docs/SponsorTrialStartForecastResponse.md +3 -3
  248. data/docs/SponsorTrialsResponse.md +3 -3
  249. data/docs/SupplierCapabilityEsgResponse.md +3 -3
  250. data/docs/SupplierServicesResponse.md +3 -3
  251. data/docs/SupplierSitesResponse.md +3 -3
  252. data/docs/SuppliersRecord.md +2 -2
  253. data/docs/SuppliersResponse.md +3 -3
  254. data/docs/SuppliersRow.md +2 -0
  255. data/docs/TargetAssociationsResponse.md +3 -3
  256. data/docs/TargetCrowdingResponse.md +3 -3
  257. data/docs/TargetDrugsResponse.md +3 -3
  258. data/docs/TargetEvidenceResponse.md +3 -3
  259. data/docs/TargetInvestigatorsResponse.md +58 -0
  260. data/docs/TargetInvestigatorsRow.md +30 -0
  261. data/docs/TargetPatentMentionsResponse.md +3 -3
  262. data/docs/TargetProgramsResponse.md +3 -3
  263. data/docs/TargetPublicationsResponse.md +3 -3
  264. data/docs/TargetRegulatoryPrecedentResponse.md +3 -3
  265. data/docs/TargetTrialsResponse.md +3 -3
  266. data/docs/TargetsApi.md +80 -0
  267. data/docs/TargetsRecord.md +2 -2
  268. data/docs/TargetsResponse.md +3 -3
  269. data/docs/TrialAdverseEventsResponse.md +3 -3
  270. data/docs/TrialChangesResponse.md +3 -3
  271. data/docs/TrialDeliveryResponse.md +3 -3
  272. data/docs/TrialDemographicsResponse.md +3 -3
  273. data/docs/TrialDrugClassesResponse.md +3 -3
  274. data/docs/TrialDrugsResponse.md +3 -3
  275. data/docs/TrialEnrollmentHistoryResponse.md +3 -3
  276. data/docs/TrialEnrollmentRateResponse.md +3 -3
  277. data/docs/TrialExtractedEndpointsResponse.md +3 -3
  278. data/docs/TrialKolsResponse.md +3 -3
  279. data/docs/TrialOutcomeMeasuresResponse.md +3 -3
  280. data/docs/TrialResearchPaymentsResponse.md +3 -3
  281. data/docs/TrialSiteHistoryResponse.md +3 -3
  282. data/docs/TrialSitesResponse.md +3 -3
  283. data/docs/TrialsRecord.md +2 -2
  284. data/docs/TrialsResponse.md +3 -3
  285. data/docs/UnmatchedProductRevenueResponse.md +3 -3
  286. data/docs/UntitledLettersResponse.md +3 -3
  287. data/docs/WarningLettersResponse.md +3 -3
  288. data/lib/pharmaobservatory/api/biomarkers_api.rb +336 -0
  289. data/lib/pharmaobservatory/api/companies_api.rb +2360 -449
  290. data/lib/pharmaobservatory/api/conditions_api.rb +168 -0
  291. data/lib/pharmaobservatory/api/drugs_api.rb +84 -0
  292. data/lib/pharmaobservatory/api/hospitals_api.rb +84 -0
  293. data/lib/pharmaobservatory/api/investigators_api.rb +1169 -0
  294. data/lib/pharmaobservatory/api/legal_entities_api.rb +1460 -284
  295. data/lib/pharmaobservatory/api/rwd_conductors_api.rb +413 -0
  296. data/lib/pharmaobservatory/api/rwd_institutions_api.rb +161 -0
  297. data/lib/pharmaobservatory/api/rwd_networks_api.rb +161 -0
  298. data/lib/pharmaobservatory/api/rwd_studies_api.rb +84 -0
  299. data/lib/pharmaobservatory/api/targets_api.rb +84 -0
  300. data/lib/pharmaobservatory/models/animal_welfare_assurances_response.rb +478 -0
  301. data/lib/pharmaobservatory/models/{biomarker_assay_evidence_response_build.rb → animal_welfare_assurances_response_build.rb} +3 -3
  302. data/lib/pharmaobservatory/models/{biomarker_assay_evidence_response_freshness.rb → animal_welfare_assurances_response_freshness.rb} +3 -3
  303. data/lib/pharmaobservatory/models/{biomarker_assay_evidence_response_scope.rb → animal_welfare_assurances_response_scope.rb} +3 -3
  304. data/lib/pharmaobservatory/models/animal_welfare_assurances_row.rb +392 -0
  305. data/lib/pharmaobservatory/models/biomarker_allele_frequencies_response.rb +478 -0
  306. data/lib/pharmaobservatory/models/biomarker_allele_frequencies_row.rb +465 -0
  307. data/lib/pharmaobservatory/models/biomarker_assay_evidence_response.rb +3 -3
  308. data/lib/pharmaobservatory/models/biomarker_assay_providers_response.rb +478 -0
  309. data/lib/pharmaobservatory/models/biomarker_assay_providers_row.rb +520 -0
  310. data/lib/pharmaobservatory/models/biomarker_assay_whitespace_response.rb +3 -3
  311. data/lib/pharmaobservatory/models/biomarker_bqp_assertions_response.rb +3 -3
  312. data/lib/pharmaobservatory/models/biomarker_cdx_assertions_response.rb +3 -3
  313. data/lib/pharmaobservatory/models/biomarker_evidence_by_year_response.rb +478 -0
  314. data/lib/pharmaobservatory/models/biomarker_evidence_by_year_row.rb +300 -0
  315. data/lib/pharmaobservatory/models/biomarker_evidence_response.rb +3 -3
  316. data/lib/pharmaobservatory/models/biomarker_literature_response.rb +3 -3
  317. data/lib/pharmaobservatory/models/biomarker_publishing_companies_response.rb +3 -3
  318. data/lib/pharmaobservatory/models/biomarker_relations_response.rb +3 -3
  319. data/lib/pharmaobservatory/models/biomarker_sample_coverage_response.rb +3 -3
  320. data/lib/pharmaobservatory/models/biomarker_sample_prevalence_response.rb +3 -3
  321. data/lib/pharmaobservatory/models/biomarker_traversal_status_response.rb +478 -0
  322. data/lib/pharmaobservatory/models/biomarker_traversal_status_row.rb +322 -0
  323. data/lib/pharmaobservatory/models/biomarker_validation_response.rb +3 -3
  324. data/lib/pharmaobservatory/models/biomarker_variant_mentions_response.rb +3 -3
  325. data/lib/pharmaobservatory/models/biomarkers_record.rb +2 -2
  326. data/lib/pharmaobservatory/models/biomarkers_response.rb +3 -3
  327. data/lib/pharmaobservatory/models/brand_companies_response.rb +3 -3
  328. data/lib/pharmaobservatory/models/brand_revenue_response.rb +3 -3
  329. data/lib/pharmaobservatory/models/catalysts_response.rb +3 -3
  330. data/lib/pharmaobservatory/models/cell_lines_record.rb +2 -2
  331. data/lib/pharmaobservatory/models/cell_lines_response.rb +3 -3
  332. data/lib/pharmaobservatory/models/clia_certificates_response.rb +3 -3
  333. data/lib/pharmaobservatory/models/companies_record.rb +2 -2
  334. data/lib/pharmaobservatory/models/companies_record_attributes.rb +10 -1
  335. data/lib/pharmaobservatory/models/companies_response.rb +3 -3
  336. data/lib/pharmaobservatory/models/company_assets_response.rb +3 -3
  337. data/lib/pharmaobservatory/models/company_biomarker_capability_response.rb +478 -0
  338. data/lib/pharmaobservatory/models/company_biomarker_capability_row.rb +498 -0
  339. data/lib/pharmaobservatory/models/company_collaborators_response.rb +478 -0
  340. data/lib/pharmaobservatory/models/company_collaborators_row.rb +355 -0
  341. data/lib/pharmaobservatory/models/company_competitor_activity_response.rb +478 -0
  342. data/lib/pharmaobservatory/models/company_competitor_activity_row.rb +355 -0
  343. data/lib/pharmaobservatory/models/company_competitors_response.rb +478 -0
  344. data/lib/pharmaobservatory/models/company_competitors_row.rb +493 -0
  345. data/lib/pharmaobservatory/models/company_financials_response.rb +478 -0
  346. data/lib/pharmaobservatory/models/company_financials_row.rb +718 -0
  347. data/lib/pharmaobservatory/models/company_firmographics_response.rb +478 -0
  348. data/lib/pharmaobservatory/models/company_firmographics_row.rb +566 -0
  349. data/lib/pharmaobservatory/models/company_funding_events_response.rb +3 -3
  350. data/lib/pharmaobservatory/models/company_funding_summary_response.rb +3 -3
  351. data/lib/pharmaobservatory/models/company_members_response.rb +3 -3
  352. data/lib/pharmaobservatory/models/company_programs_response.rb +3 -3
  353. data/lib/pharmaobservatory/models/company_rare_disease_declarations_response.rb +478 -0
  354. data/lib/pharmaobservatory/models/company_rare_disease_declarations_row.rb +410 -0
  355. data/lib/pharmaobservatory/models/company_targets_response.rb +3 -3
  356. data/lib/pharmaobservatory/models/company_timeline_response.rb +478 -0
  357. data/lib/pharmaobservatory/models/company_timeline_row.rb +498 -0
  358. data/lib/pharmaobservatory/models/company_trial_geography_response.rb +3 -3
  359. data/lib/pharmaobservatory/models/company_trial_sites_response.rb +3 -3
  360. data/lib/pharmaobservatory/models/company_us_patents_response.rb +478 -0
  361. data/lib/pharmaobservatory/models/company_us_patents_row.rb +311 -0
  362. data/lib/pharmaobservatory/models/condition_adverse_events_response.rb +3 -3
  363. data/lib/pharmaobservatory/models/condition_burden_response.rb +3 -3
  364. data/lib/pharmaobservatory/models/condition_delivery_response.rb +3 -3
  365. data/lib/pharmaobservatory/models/condition_drugs_response.rb +3 -3
  366. data/lib/pharmaobservatory/models/condition_investigator_organizations_response.rb +478 -0
  367. data/lib/pharmaobservatory/models/condition_investigator_organizations_row.rb +366 -0
  368. data/lib/pharmaobservatory/models/condition_prevalence_response.rb +3 -3
  369. data/lib/pharmaobservatory/models/condition_publications_response.rb +3 -3
  370. data/lib/pharmaobservatory/models/condition_recruitment_by_phase_response.rb +3 -3
  371. data/lib/pharmaobservatory/models/condition_recruitment_duration_response.rb +3 -3
  372. data/lib/pharmaobservatory/models/condition_sites_response.rb +3 -3
  373. data/lib/pharmaobservatory/models/condition_trial_start_forecast_response.rb +3 -3
  374. data/lib/pharmaobservatory/models/condition_trials_response.rb +3 -3
  375. data/lib/pharmaobservatory/models/conditions_record.rb +2 -2
  376. data/lib/pharmaobservatory/models/conditions_response.rb +3 -3
  377. data/lib/pharmaobservatory/models/cro_footprint_response.rb +3 -3
  378. data/lib/pharmaobservatory/models/cro_trials_response.rb +3 -3
  379. data/lib/pharmaobservatory/models/debarments_response.rb +3 -3
  380. data/lib/pharmaobservatory/models/drug_approvals_response.rb +3 -3
  381. data/lib/pharmaobservatory/models/drug_asp_codes_response.rb +3 -3
  382. data/lib/pharmaobservatory/models/drug_brands_response.rb +3 -3
  383. data/lib/pharmaobservatory/models/drug_combinations_response.rb +3 -3
  384. data/lib/pharmaobservatory/models/drug_declared_patents_response.rb +3 -3
  385. data/lib/pharmaobservatory/models/drug_investigators_response.rb +478 -0
  386. data/lib/pharmaobservatory/models/drug_investigators_row.rb +302 -0
  387. data/lib/pharmaobservatory/models/drug_label_safety_response.rb +3 -3
  388. data/lib/pharmaobservatory/models/drug_medicare_spend_response.rb +3 -3
  389. data/lib/pharmaobservatory/models/drug_patent_cliff_response.rb +3 -3
  390. data/lib/pharmaobservatory/models/drug_patent_mentions_response.rb +3 -3
  391. data/lib/pharmaobservatory/models/drug_patent_owners_response.rb +3 -3
  392. data/lib/pharmaobservatory/models/drug_pricing_response.rb +3 -3
  393. data/lib/pharmaobservatory/models/drug_recalls_response.rb +3 -3
  394. data/lib/pharmaobservatory/models/drug_regulatory_response.rb +3 -3
  395. data/lib/pharmaobservatory/models/drug_sites_response.rb +3 -3
  396. data/lib/pharmaobservatory/models/drug_targets_response.rb +3 -3
  397. data/lib/pharmaobservatory/models/drug_trial_conditions_response.rb +3 -3
  398. data/lib/pharmaobservatory/models/drug_trials_response.rb +3 -3
  399. data/lib/pharmaobservatory/models/drug_variants_response.rb +3 -3
  400. data/lib/pharmaobservatory/models/drugs_record.rb +2 -2
  401. data/lib/pharmaobservatory/models/drugs_response.rb +3 -3
  402. data/lib/pharmaobservatory/models/enforcement_events_response.rb +3 -3
  403. data/lib/pharmaobservatory/models/enforcement_events_row.rb +104 -5
  404. data/lib/pharmaobservatory/models/gxp_facilities_response.rb +3 -3
  405. data/lib/pharmaobservatory/models/gxp_facilities_row.rb +266 -2
  406. data/lib/pharmaobservatory/models/hospital_beds_yearly_response.rb +3 -3
  407. data/lib/pharmaobservatory/models/hospital_facility_changes_response.rb +3 -3
  408. data/lib/pharmaobservatory/models/hospitals_record.rb +2 -2
  409. data/lib/pharmaobservatory/models/hospitals_response.rb +3 -3
  410. data/lib/pharmaobservatory/models/import_refusals_response.rb +3 -3
  411. data/lib/pharmaobservatory/models/inspection_findings_response.rb +3 -3
  412. data/lib/pharmaobservatory/models/inspections_response.rb +3 -3
  413. data/lib/pharmaobservatory/models/institutional_holdings_response.rb +3 -3
  414. data/lib/pharmaobservatory/models/institutional_quarter_totals_response.rb +3 -3
  415. data/lib/pharmaobservatory/models/investigator_conditions_response.rb +478 -0
  416. data/lib/pharmaobservatory/models/investigator_conditions_row.rb +278 -0
  417. data/lib/pharmaobservatory/models/investigator_debarments_response.rb +478 -0
  418. data/lib/pharmaobservatory/models/investigator_debarments_row.rb +300 -0
  419. data/lib/pharmaobservatory/models/investigator_hospitals_response.rb +478 -0
  420. data/lib/pharmaobservatory/models/investigator_hospitals_row.rb +280 -0
  421. data/lib/pharmaobservatory/models/investigator_inspections_response.rb +478 -0
  422. data/lib/pharmaobservatory/models/investigator_inspections_row.rb +377 -0
  423. data/lib/pharmaobservatory/models/investigator_publications_response.rb +478 -0
  424. data/lib/pharmaobservatory/models/investigator_publications_row.rb +311 -0
  425. data/lib/pharmaobservatory/models/investigator_topics_response.rb +478 -0
  426. data/lib/pharmaobservatory/models/investigator_topics_row.rb +311 -0
  427. data/lib/pharmaobservatory/models/investigator_trials_response.rb +478 -0
  428. data/lib/pharmaobservatory/models/investigator_trials_row.rb +478 -0
  429. data/lib/pharmaobservatory/models/investigators_record.rb +385 -0
  430. data/lib/pharmaobservatory/models/investigators_response.rb +478 -0
  431. data/lib/pharmaobservatory/models/investigators_row.rb +511 -0
  432. data/lib/pharmaobservatory/models/investor_funds_response.rb +3 -3
  433. data/lib/pharmaobservatory/models/investor_portfolio_response.rb +3 -3
  434. data/lib/pharmaobservatory/models/investor_private_funds_response.rb +3 -3
  435. data/lib/pharmaobservatory/models/investors_record.rb +2 -2
  436. data/lib/pharmaobservatory/models/investors_response.rb +3 -3
  437. data/lib/pharmaobservatory/models/investors_row.rb +34 -1
  438. data/lib/pharmaobservatory/models/legal_entities_record.rb +2 -2
  439. data/lib/pharmaobservatory/models/legal_entities_record_attributes.rb +28 -1
  440. data/lib/pharmaobservatory/models/legal_entities_response.rb +3 -3
  441. data/lib/pharmaobservatory/models/legal_entity_sec_filings_response.rb +478 -0
  442. data/lib/pharmaobservatory/models/legal_entity_sec_filings_row.rb +370 -0
  443. data/lib/pharmaobservatory/models/managers_record.rb +2 -2
  444. data/lib/pharmaobservatory/models/managers_response.rb +3 -3
  445. data/lib/pharmaobservatory/models/org_disclosure_trend_response.rb +478 -0
  446. data/lib/pharmaobservatory/models/org_disclosure_trend_row.rb +465 -0
  447. data/lib/pharmaobservatory/models/org_disclosures_response.rb +3 -3
  448. data/lib/pharmaobservatory/models/org_relationships_response.rb +3 -3
  449. data/lib/pharmaobservatory/models/ownership_observations_response.rb +478 -0
  450. data/lib/pharmaobservatory/models/ownership_observations_row.rb +1048 -0
  451. data/lib/pharmaobservatory/models/ownership_percentages_response.rb +3 -3
  452. data/lib/pharmaobservatory/models/ownership_positions_response.rb +3 -3
  453. data/lib/pharmaobservatory/models/ownership_source_coverage_response.rb +478 -0
  454. data/lib/pharmaobservatory/models/ownership_source_coverage_row.rb +465 -0
  455. data/lib/pharmaobservatory/models/pdufa_dates_response.rb +3 -3
  456. data/lib/pharmaobservatory/models/program_licensing_candidates_response.rb +3 -3
  457. data/lib/pharmaobservatory/models/programs_response.rb +3 -3
  458. data/lib/pharmaobservatory/models/rare_disease_genes_response.rb +3 -3
  459. data/lib/pharmaobservatory/models/rare_disease_hierarchy_response.rb +3 -3
  460. data/lib/pharmaobservatory/models/rare_disease_investigator_coverage_response.rb +3 -3
  461. data/lib/pharmaobservatory/models/rare_disease_investigators_response.rb +3 -3
  462. data/lib/pharmaobservatory/models/rare_disease_mappings_response.rb +3 -3
  463. data/lib/pharmaobservatory/models/rare_disease_organizations_response.rb +3 -3
  464. data/lib/pharmaobservatory/models/rare_disease_prevalence_response.rb +3 -3
  465. data/lib/pharmaobservatory/models/rare_disease_rarity_evidence_response.rb +3 -3
  466. data/lib/pharmaobservatory/models/rare_disease_rarity_response.rb +3 -3
  467. data/lib/pharmaobservatory/models/rare_disease_replacements_response.rb +3 -3
  468. data/lib/pharmaobservatory/models/rare_disease_site_coverage_response.rb +3 -3
  469. data/lib/pharmaobservatory/models/rare_disease_sponsors_response.rb +3 -3
  470. data/lib/pharmaobservatory/models/rare_disease_trial_coverage_response.rb +3 -3
  471. data/lib/pharmaobservatory/models/rare_disease_trial_sites_response.rb +3 -3
  472. data/lib/pharmaobservatory/models/rare_disease_trials_response.rb +3 -3
  473. data/lib/pharmaobservatory/models/rare_diseases_record.rb +2 -2
  474. data/lib/pharmaobservatory/models/rare_diseases_response.rb +3 -3
  475. data/lib/pharmaobservatory/models/recalls_response.rb +3 -3
  476. data/lib/pharmaobservatory/models/rwd_conductor_delivery_response.rb +478 -0
  477. data/lib/pharmaobservatory/models/rwd_conductor_delivery_row.rb +537 -0
  478. data/lib/pharmaobservatory/models/rwd_conductor_footprint_response.rb +478 -0
  479. data/lib/pharmaobservatory/models/rwd_conductor_footprint_row.rb +346 -0
  480. data/lib/pharmaobservatory/models/rwd_conductor_studies_response.rb +478 -0
  481. data/lib/pharmaobservatory/models/rwd_conductor_studies_row.rb +355 -0
  482. data/lib/pharmaobservatory/models/rwd_conductors_record.rb +385 -0
  483. data/lib/pharmaobservatory/models/rwd_conductors_response.rb +478 -0
  484. data/lib/pharmaobservatory/models/rwd_conductors_row.rb +526 -0
  485. data/lib/pharmaobservatory/models/rwd_coverage_response.rb +3 -3
  486. data/lib/pharmaobservatory/models/rwd_institutions_record.rb +385 -0
  487. data/lib/pharmaobservatory/models/rwd_institutions_response.rb +478 -0
  488. data/lib/pharmaobservatory/models/rwd_institutions_row.rb +981 -0
  489. data/lib/pharmaobservatory/models/rwd_networks_record.rb +385 -0
  490. data/lib/pharmaobservatory/models/rwd_networks_response.rb +478 -0
  491. data/lib/pharmaobservatory/models/rwd_networks_row.rb +733 -0
  492. data/lib/pharmaobservatory/models/rwd_register_provenance_response.rb +3 -3
  493. data/lib/pharmaobservatory/models/rwd_registers_record.rb +2 -2
  494. data/lib/pharmaobservatory/models/rwd_source_age_bands_response.rb +3 -3
  495. data/lib/pharmaobservatory/models/rwd_source_conditions_response.rb +3 -3
  496. data/lib/pharmaobservatory/models/rwd_source_etl_mappings_response.rb +3 -3
  497. data/lib/pharmaobservatory/models/rwd_source_linkages_response.rb +3 -3
  498. data/lib/pharmaobservatory/models/rwd_source_types_response.rb +3 -3
  499. data/lib/pharmaobservatory/models/rwd_source_vocabularies_response.rb +3 -3
  500. data/lib/pharmaobservatory/models/rwd_sources_record.rb +2 -2
  501. data/lib/pharmaobservatory/models/rwd_sources_response.rb +3 -3
  502. data/lib/pharmaobservatory/models/rwd_studies_record.rb +2 -2
  503. data/lib/pharmaobservatory/models/rwd_studies_response.rb +3 -3
  504. data/lib/pharmaobservatory/models/rwd_study_conditions_response.rb +3 -3
  505. data/lib/pharmaobservatory/models/rwd_study_data_sources_response.rb +3 -3
  506. data/lib/pharmaobservatory/models/rwd_study_drugs_response.rb +3 -3
  507. data/lib/pharmaobservatory/models/rwd_study_milestones_response.rb +3 -3
  508. data/lib/pharmaobservatory/models/rwd_withheld_fields_response.rb +3 -3
  509. data/lib/pharmaobservatory/models/sbti_crosscheck_response.rb +478 -0
  510. data/lib/pharmaobservatory/models/sbti_crosscheck_row.rb +388 -0
  511. data/lib/pharmaobservatory/models/sec_pdufa_dates_response.rb +3 -3
  512. data/lib/pharmaobservatory/models/site_beds_yearly_response.rb +3 -3
  513. data/lib/pharmaobservatory/models/site_cro_trials_response.rb +3 -3
  514. data/lib/pharmaobservatory/models/site_hospitals_response.rb +3 -3
  515. data/lib/pharmaobservatory/models/site_investigators_response.rb +3 -3
  516. data/lib/pharmaobservatory/models/site_trial_conditions_response.rb +3 -3
  517. data/lib/pharmaobservatory/models/site_trial_drugs_response.rb +3 -3
  518. data/lib/pharmaobservatory/models/site_trials_response.rb +3 -3
  519. data/lib/pharmaobservatory/models/sites_record.rb +2 -2
  520. data/lib/pharmaobservatory/models/sites_response.rb +3 -3
  521. data/lib/pharmaobservatory/models/sponsor_delivery_response.rb +478 -0
  522. data/lib/pharmaobservatory/models/sponsor_delivery_row.rb +410 -0
  523. data/lib/pharmaobservatory/models/sponsor_patent_mentions_response.rb +478 -0
  524. data/lib/pharmaobservatory/models/sponsor_patent_mentions_row.rb +355 -0
  525. data/lib/pharmaobservatory/models/sponsor_publications_response.rb +478 -0
  526. data/lib/pharmaobservatory/models/sponsor_publications_row.rb +355 -0
  527. data/lib/pharmaobservatory/models/sponsor_recruitment_by_phase_response.rb +3 -3
  528. data/lib/pharmaobservatory/models/sponsor_recruitment_duration_response.rb +3 -3
  529. data/lib/pharmaobservatory/models/sponsor_trial_conditions_response.rb +478 -0
  530. data/lib/pharmaobservatory/models/sponsor_trial_conditions_row.rb +322 -0
  531. data/lib/pharmaobservatory/models/sponsor_trial_drugs_response.rb +478 -0
  532. data/lib/pharmaobservatory/models/sponsor_trial_drugs_row.rb +311 -0
  533. data/lib/pharmaobservatory/models/sponsor_trial_start_forecast_response.rb +3 -3
  534. data/lib/pharmaobservatory/models/sponsor_trials_response.rb +3 -3
  535. data/lib/pharmaobservatory/models/supplier_capability_esg_response.rb +3 -3
  536. data/lib/pharmaobservatory/models/supplier_services_response.rb +3 -3
  537. data/lib/pharmaobservatory/models/supplier_sites_response.rb +3 -3
  538. data/lib/pharmaobservatory/models/suppliers_record.rb +2 -2
  539. data/lib/pharmaobservatory/models/suppliers_response.rb +3 -3
  540. data/lib/pharmaobservatory/models/suppliers_row.rb +12 -1
  541. data/lib/pharmaobservatory/models/target_associations_response.rb +3 -3
  542. data/lib/pharmaobservatory/models/target_crowding_response.rb +3 -3
  543. data/lib/pharmaobservatory/models/target_drugs_response.rb +3 -3
  544. data/lib/pharmaobservatory/models/target_evidence_response.rb +3 -3
  545. data/lib/pharmaobservatory/models/target_investigators_response.rb +478 -0
  546. data/lib/pharmaobservatory/models/target_investigators_row.rb +291 -0
  547. data/lib/pharmaobservatory/models/target_patent_mentions_response.rb +3 -3
  548. data/lib/pharmaobservatory/models/target_programs_response.rb +3 -3
  549. data/lib/pharmaobservatory/models/target_publications_response.rb +3 -3
  550. data/lib/pharmaobservatory/models/target_regulatory_precedent_response.rb +3 -3
  551. data/lib/pharmaobservatory/models/target_trials_response.rb +3 -3
  552. data/lib/pharmaobservatory/models/targets_record.rb +2 -2
  553. data/lib/pharmaobservatory/models/targets_response.rb +3 -3
  554. data/lib/pharmaobservatory/models/trial_adverse_events_response.rb +3 -3
  555. data/lib/pharmaobservatory/models/trial_changes_response.rb +3 -3
  556. data/lib/pharmaobservatory/models/trial_delivery_response.rb +3 -3
  557. data/lib/pharmaobservatory/models/trial_demographics_response.rb +3 -3
  558. data/lib/pharmaobservatory/models/trial_drug_classes_response.rb +3 -3
  559. data/lib/pharmaobservatory/models/trial_drugs_response.rb +3 -3
  560. data/lib/pharmaobservatory/models/trial_enrollment_history_response.rb +3 -3
  561. data/lib/pharmaobservatory/models/trial_enrollment_rate_response.rb +3 -3
  562. data/lib/pharmaobservatory/models/trial_extracted_endpoints_response.rb +3 -3
  563. data/lib/pharmaobservatory/models/trial_kols_response.rb +3 -3
  564. data/lib/pharmaobservatory/models/trial_outcome_measures_response.rb +3 -3
  565. data/lib/pharmaobservatory/models/trial_research_payments_response.rb +3 -3
  566. data/lib/pharmaobservatory/models/trial_site_history_response.rb +3 -3
  567. data/lib/pharmaobservatory/models/trial_sites_response.rb +3 -3
  568. data/lib/pharmaobservatory/models/trials_record.rb +2 -2
  569. data/lib/pharmaobservatory/models/trials_response.rb +3 -3
  570. data/lib/pharmaobservatory/models/unmatched_product_revenue_response.rb +3 -3
  571. data/lib/pharmaobservatory/models/untitled_letters_response.rb +3 -3
  572. data/lib/pharmaobservatory/models/warning_letters_response.rb +3 -3
  573. data/lib/pharmaobservatory/version.rb +1 -1
  574. data/lib/pharmaobservatory.rb +93 -3
  575. metadata +188 -8
@@ -0,0 +1,718 @@
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 company_financials dataset: one row per filing organization record and fiscal year. A grouped request returns the group columns and the measures instead, as additional properties.
18
+ class CompanyFinancialsRow
19
+ # Company level: the company the row is about; the entry key for the companies object type.
20
+ attr_accessor :company_id
21
+
22
+ # Display name of the company.
23
+ attr_accessor :company_name
24
+
25
+ # Group level: the company's current ultimate parent; a root's group is itself.
26
+ attr_accessor :group_id
27
+
28
+ # Display name of the group.
29
+ attr_accessor :group_name
30
+
31
+ # Legal-entity level: the organization record that filed (the SEC filer).
32
+ attr_accessor :reporting_org_id
33
+
34
+ # The fiscal year the figures belong to.
35
+ attr_accessor :fiscal_year
36
+
37
+ # True when the record has an SEC registration number and is a listed filer (a Form D issuer that is not listed is false).
38
+ attr_accessor :is_public
39
+
40
+ # The SEC registration number (CIK, Central Index Key) of the filer.
41
+ attr_accessor :edgar_cik
42
+
43
+ # The stock ticker.
44
+ attr_accessor :ticker
45
+
46
+ # The primary exchange listing.
47
+ attr_accessor :exchange
48
+
49
+ # The latest reported public float, in USD, repeated on every year row of the filer (a proxy for market value, not a live market capitalization).
50
+ attr_accessor :public_float_usd
51
+
52
+ # The fiscal year of public_float_usd.
53
+ attr_accessor :public_float_fy
54
+
55
+ # The latest reported cover-page share count of the filer, repeated on every year row (the denominator of an ownership percentage).
56
+ attr_accessor :latest_shares_outstanding
57
+
58
+ # The fiscal year of latest_shares_outstanding.
59
+ attr_accessor :latest_shares_outstanding_fy
60
+
61
+ # The latest fiscal year the filer reported any line item.
62
+ attr_accessor :latest_financial_fy
63
+
64
+ # Total revenue for the fiscal year, in USD (a non-USD filer is converted at the calendar-year average rate; null when no rate exists).
65
+ attr_accessor :revenue
66
+
67
+ # Net income for the fiscal year, in USD.
68
+ attr_accessor :net_income
69
+
70
+ # Research and development expense for the fiscal year, in USD.
71
+ attr_accessor :rnd
72
+
73
+ # Total assets at the fiscal year end, in USD (converted at the year-end rate).
74
+ attr_accessor :assets
75
+
76
+ # Stockholders' equity at the fiscal year end, in USD.
77
+ attr_accessor :equity
78
+
79
+ # The public float on the annual report cover (the value of shares held by non-affiliates at the most recent second fiscal quarter end), in USD, anchored to the fiscal year it was filed with.
80
+ attr_accessor :public_float
81
+
82
+ # Cash and cash equivalents at the fiscal year end, in USD.
83
+ attr_accessor :cash
84
+
85
+ # Short-term investments at the fiscal year end, in USD.
86
+ attr_accessor :short_term_investments
87
+
88
+ # Cash plus short-term investments (a missing investments line counts as zero), in USD; null when cash is null.
89
+ attr_accessor :cash_and_investments
90
+
91
+ # Net cash from operating activities for the fiscal year, in USD; negative means burning.
92
+ attr_accessor :operating_cash_flow
93
+
94
+ # Shares outstanding on the annual report cover date, a count (never currency-converted); the cover date falls 0 to 3 months after the fiscal year end.
95
+ attr_accessor :shares_outstanding
96
+
97
+ # Stock-based compensation expense, in USD.
98
+ attr_accessor :stock_based_compensation
99
+
100
+ # Operating expenses, in USD.
101
+ attr_accessor :operating_expenses
102
+
103
+ # Dividends paid, in USD, as filed with no sign test (filers differ on whether an outflow is positive or negative).
104
+ attr_accessor :dividends_paid
105
+
106
+ # Basic earnings per share, in USD.
107
+ attr_accessor :eps_basic
108
+
109
+ # Diluted earnings per share, in USD.
110
+ attr_accessor :eps_diluted
111
+
112
+ # Total liabilities at the fiscal year end, in USD.
113
+ attr_accessor :total_liabilities
114
+
115
+ # The non-current portion of long-term debt, in USD (null for a filer that reports only a total).
116
+ attr_accessor :long_term_debt_noncurrent
117
+
118
+ # Long-term debt, current plus non-current, in USD.
119
+ attr_accessor :long_term_debt_total
120
+
121
+ # Intangible assets, in USD.
122
+ attr_accessor :intangible_assets
123
+
124
+ # Property, plant and equipment, in USD.
125
+ attr_accessor :property_plant_equipment
126
+
127
+ # Goodwill, in USD.
128
+ attr_accessor :goodwill
129
+
130
+ # Inventory, in USD.
131
+ attr_accessor :inventory
132
+
133
+ # Accounts payable, in USD.
134
+ attr_accessor :accounts_payable
135
+
136
+ # Accounts receivable, in USD.
137
+ attr_accessor :accounts_receivable
138
+
139
+ # Weighted average basic shares, a count.
140
+ attr_accessor :weighted_average_shares_basic
141
+
142
+ # Weighted average diluted shares, a count.
143
+ attr_accessor :weighted_average_shares_diluted
144
+
145
+ # The average operating cash flow over this fiscal year and the two before it (the years reported), in USD; negative means burning.
146
+ attr_accessor :burn_basis_usd
147
+
148
+ # How many reported years burn_basis_usd averages over, 1 to 3.
149
+ attr_accessor :burn_basis_years
150
+
151
+ # Derived, not reported: cash_and_investments divided by the monthly burn (burn_basis_usd over 12), in months, rounded to 0.1. Null when the filer generated cash or has no cash figure.
152
+ attr_accessor :runway_months
153
+
154
+ # The filing-level total revenue extracted from the 10-K or 20-F, in USD millions (the line the revenue-by-drug chart draws over the per-product stack); null where no total was extracted.
155
+ attr_accessor :sec_total_revenue_usd_millions
156
+
157
+ # Attribute mapping from ruby-style variable name to JSON key.
158
+ def self.attribute_map
159
+ {
160
+ :'company_id' => :'company_id',
161
+ :'company_name' => :'company_name',
162
+ :'group_id' => :'group_id',
163
+ :'group_name' => :'group_name',
164
+ :'reporting_org_id' => :'reporting_org_id',
165
+ :'fiscal_year' => :'fiscal_year',
166
+ :'is_public' => :'is_public',
167
+ :'edgar_cik' => :'edgar_cik',
168
+ :'ticker' => :'ticker',
169
+ :'exchange' => :'exchange',
170
+ :'public_float_usd' => :'public_float_usd',
171
+ :'public_float_fy' => :'public_float_fy',
172
+ :'latest_shares_outstanding' => :'latest_shares_outstanding',
173
+ :'latest_shares_outstanding_fy' => :'latest_shares_outstanding_fy',
174
+ :'latest_financial_fy' => :'latest_financial_fy',
175
+ :'revenue' => :'revenue',
176
+ :'net_income' => :'net_income',
177
+ :'rnd' => :'rnd',
178
+ :'assets' => :'assets',
179
+ :'equity' => :'equity',
180
+ :'public_float' => :'public_float',
181
+ :'cash' => :'cash',
182
+ :'short_term_investments' => :'short_term_investments',
183
+ :'cash_and_investments' => :'cash_and_investments',
184
+ :'operating_cash_flow' => :'operating_cash_flow',
185
+ :'shares_outstanding' => :'shares_outstanding',
186
+ :'stock_based_compensation' => :'stock_based_compensation',
187
+ :'operating_expenses' => :'operating_expenses',
188
+ :'dividends_paid' => :'dividends_paid',
189
+ :'eps_basic' => :'eps_basic',
190
+ :'eps_diluted' => :'eps_diluted',
191
+ :'total_liabilities' => :'total_liabilities',
192
+ :'long_term_debt_noncurrent' => :'long_term_debt_noncurrent',
193
+ :'long_term_debt_total' => :'long_term_debt_total',
194
+ :'intangible_assets' => :'intangible_assets',
195
+ :'property_plant_equipment' => :'property_plant_equipment',
196
+ :'goodwill' => :'goodwill',
197
+ :'inventory' => :'inventory',
198
+ :'accounts_payable' => :'accounts_payable',
199
+ :'accounts_receivable' => :'accounts_receivable',
200
+ :'weighted_average_shares_basic' => :'weighted_average_shares_basic',
201
+ :'weighted_average_shares_diluted' => :'weighted_average_shares_diluted',
202
+ :'burn_basis_usd' => :'burn_basis_usd',
203
+ :'burn_basis_years' => :'burn_basis_years',
204
+ :'runway_months' => :'runway_months',
205
+ :'sec_total_revenue_usd_millions' => :'sec_total_revenue_usd_millions'
206
+ }
207
+ end
208
+
209
+ # Returns attribute mapping this model knows about
210
+ def self.acceptable_attribute_map
211
+ attribute_map
212
+ end
213
+
214
+ # Returns all the JSON keys this model knows about
215
+ def self.acceptable_attributes
216
+ acceptable_attribute_map.values
217
+ end
218
+
219
+ # Attribute type mapping.
220
+ def self.openapi_types
221
+ {
222
+ :'company_id' => :'String',
223
+ :'company_name' => :'String',
224
+ :'group_id' => :'String',
225
+ :'group_name' => :'String',
226
+ :'reporting_org_id' => :'String',
227
+ :'fiscal_year' => :'Integer',
228
+ :'is_public' => :'Boolean',
229
+ :'edgar_cik' => :'String',
230
+ :'ticker' => :'String',
231
+ :'exchange' => :'String',
232
+ :'public_float_usd' => :'Float',
233
+ :'public_float_fy' => :'Integer',
234
+ :'latest_shares_outstanding' => :'Float',
235
+ :'latest_shares_outstanding_fy' => :'Integer',
236
+ :'latest_financial_fy' => :'Integer',
237
+ :'revenue' => :'Float',
238
+ :'net_income' => :'Float',
239
+ :'rnd' => :'Float',
240
+ :'assets' => :'Float',
241
+ :'equity' => :'Float',
242
+ :'public_float' => :'Float',
243
+ :'cash' => :'Float',
244
+ :'short_term_investments' => :'Float',
245
+ :'cash_and_investments' => :'Float',
246
+ :'operating_cash_flow' => :'Float',
247
+ :'shares_outstanding' => :'Float',
248
+ :'stock_based_compensation' => :'Float',
249
+ :'operating_expenses' => :'Float',
250
+ :'dividends_paid' => :'Float',
251
+ :'eps_basic' => :'Float',
252
+ :'eps_diluted' => :'Float',
253
+ :'total_liabilities' => :'Float',
254
+ :'long_term_debt_noncurrent' => :'Float',
255
+ :'long_term_debt_total' => :'Float',
256
+ :'intangible_assets' => :'Float',
257
+ :'property_plant_equipment' => :'Float',
258
+ :'goodwill' => :'Float',
259
+ :'inventory' => :'Float',
260
+ :'accounts_payable' => :'Float',
261
+ :'accounts_receivable' => :'Float',
262
+ :'weighted_average_shares_basic' => :'Float',
263
+ :'weighted_average_shares_diluted' => :'Float',
264
+ :'burn_basis_usd' => :'Float',
265
+ :'burn_basis_years' => :'Integer',
266
+ :'runway_months' => :'Float',
267
+ :'sec_total_revenue_usd_millions' => :'Float'
268
+ }
269
+ end
270
+
271
+ # List of attributes with nullable: true
272
+ def self.openapi_nullable
273
+ Set.new([
274
+ :'company_id',
275
+ :'company_name',
276
+ :'group_id',
277
+ :'group_name',
278
+ :'reporting_org_id',
279
+ :'fiscal_year',
280
+ :'is_public',
281
+ :'edgar_cik',
282
+ :'ticker',
283
+ :'exchange',
284
+ :'public_float_usd',
285
+ :'public_float_fy',
286
+ :'latest_shares_outstanding',
287
+ :'latest_shares_outstanding_fy',
288
+ :'latest_financial_fy',
289
+ :'revenue',
290
+ :'net_income',
291
+ :'rnd',
292
+ :'assets',
293
+ :'equity',
294
+ :'public_float',
295
+ :'cash',
296
+ :'short_term_investments',
297
+ :'cash_and_investments',
298
+ :'operating_cash_flow',
299
+ :'shares_outstanding',
300
+ :'stock_based_compensation',
301
+ :'operating_expenses',
302
+ :'dividends_paid',
303
+ :'eps_basic',
304
+ :'eps_diluted',
305
+ :'total_liabilities',
306
+ :'long_term_debt_noncurrent',
307
+ :'long_term_debt_total',
308
+ :'intangible_assets',
309
+ :'property_plant_equipment',
310
+ :'goodwill',
311
+ :'inventory',
312
+ :'accounts_payable',
313
+ :'accounts_receivable',
314
+ :'weighted_average_shares_basic',
315
+ :'weighted_average_shares_diluted',
316
+ :'burn_basis_usd',
317
+ :'burn_basis_years',
318
+ :'runway_months',
319
+ :'sec_total_revenue_usd_millions'
320
+ ])
321
+ end
322
+
323
+ # Initializes the object
324
+ # @param [Hash] attributes Model attributes in the form of hash
325
+ def initialize(attributes = {})
326
+ if (!attributes.is_a?(Hash))
327
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::CompanyFinancialsRow` initialize method"
328
+ end
329
+
330
+ # check to see if the attribute exists and convert string to symbol for hash key
331
+ acceptable_attribute_map = self.class.acceptable_attribute_map
332
+ attributes = attributes.each_with_object({}) { |(k, v), h|
333
+ if (!acceptable_attribute_map.key?(k.to_sym))
334
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::CompanyFinancialsRow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
335
+ end
336
+ h[k.to_sym] = v
337
+ }
338
+
339
+ if attributes.key?(:'company_id')
340
+ self.company_id = attributes[:'company_id']
341
+ end
342
+
343
+ if attributes.key?(:'company_name')
344
+ self.company_name = attributes[:'company_name']
345
+ end
346
+
347
+ if attributes.key?(:'group_id')
348
+ self.group_id = attributes[:'group_id']
349
+ end
350
+
351
+ if attributes.key?(:'group_name')
352
+ self.group_name = attributes[:'group_name']
353
+ end
354
+
355
+ if attributes.key?(:'reporting_org_id')
356
+ self.reporting_org_id = attributes[:'reporting_org_id']
357
+ end
358
+
359
+ if attributes.key?(:'fiscal_year')
360
+ self.fiscal_year = attributes[:'fiscal_year']
361
+ end
362
+
363
+ if attributes.key?(:'is_public')
364
+ self.is_public = attributes[:'is_public']
365
+ end
366
+
367
+ if attributes.key?(:'edgar_cik')
368
+ self.edgar_cik = attributes[:'edgar_cik']
369
+ end
370
+
371
+ if attributes.key?(:'ticker')
372
+ self.ticker = attributes[:'ticker']
373
+ end
374
+
375
+ if attributes.key?(:'exchange')
376
+ self.exchange = attributes[:'exchange']
377
+ end
378
+
379
+ if attributes.key?(:'public_float_usd')
380
+ self.public_float_usd = attributes[:'public_float_usd']
381
+ end
382
+
383
+ if attributes.key?(:'public_float_fy')
384
+ self.public_float_fy = attributes[:'public_float_fy']
385
+ end
386
+
387
+ if attributes.key?(:'latest_shares_outstanding')
388
+ self.latest_shares_outstanding = attributes[:'latest_shares_outstanding']
389
+ end
390
+
391
+ if attributes.key?(:'latest_shares_outstanding_fy')
392
+ self.latest_shares_outstanding_fy = attributes[:'latest_shares_outstanding_fy']
393
+ end
394
+
395
+ if attributes.key?(:'latest_financial_fy')
396
+ self.latest_financial_fy = attributes[:'latest_financial_fy']
397
+ end
398
+
399
+ if attributes.key?(:'revenue')
400
+ self.revenue = attributes[:'revenue']
401
+ end
402
+
403
+ if attributes.key?(:'net_income')
404
+ self.net_income = attributes[:'net_income']
405
+ end
406
+
407
+ if attributes.key?(:'rnd')
408
+ self.rnd = attributes[:'rnd']
409
+ end
410
+
411
+ if attributes.key?(:'assets')
412
+ self.assets = attributes[:'assets']
413
+ end
414
+
415
+ if attributes.key?(:'equity')
416
+ self.equity = attributes[:'equity']
417
+ end
418
+
419
+ if attributes.key?(:'public_float')
420
+ self.public_float = attributes[:'public_float']
421
+ end
422
+
423
+ if attributes.key?(:'cash')
424
+ self.cash = attributes[:'cash']
425
+ end
426
+
427
+ if attributes.key?(:'short_term_investments')
428
+ self.short_term_investments = attributes[:'short_term_investments']
429
+ end
430
+
431
+ if attributes.key?(:'cash_and_investments')
432
+ self.cash_and_investments = attributes[:'cash_and_investments']
433
+ end
434
+
435
+ if attributes.key?(:'operating_cash_flow')
436
+ self.operating_cash_flow = attributes[:'operating_cash_flow']
437
+ end
438
+
439
+ if attributes.key?(:'shares_outstanding')
440
+ self.shares_outstanding = attributes[:'shares_outstanding']
441
+ end
442
+
443
+ if attributes.key?(:'stock_based_compensation')
444
+ self.stock_based_compensation = attributes[:'stock_based_compensation']
445
+ end
446
+
447
+ if attributes.key?(:'operating_expenses')
448
+ self.operating_expenses = attributes[:'operating_expenses']
449
+ end
450
+
451
+ if attributes.key?(:'dividends_paid')
452
+ self.dividends_paid = attributes[:'dividends_paid']
453
+ end
454
+
455
+ if attributes.key?(:'eps_basic')
456
+ self.eps_basic = attributes[:'eps_basic']
457
+ end
458
+
459
+ if attributes.key?(:'eps_diluted')
460
+ self.eps_diluted = attributes[:'eps_diluted']
461
+ end
462
+
463
+ if attributes.key?(:'total_liabilities')
464
+ self.total_liabilities = attributes[:'total_liabilities']
465
+ end
466
+
467
+ if attributes.key?(:'long_term_debt_noncurrent')
468
+ self.long_term_debt_noncurrent = attributes[:'long_term_debt_noncurrent']
469
+ end
470
+
471
+ if attributes.key?(:'long_term_debt_total')
472
+ self.long_term_debt_total = attributes[:'long_term_debt_total']
473
+ end
474
+
475
+ if attributes.key?(:'intangible_assets')
476
+ self.intangible_assets = attributes[:'intangible_assets']
477
+ end
478
+
479
+ if attributes.key?(:'property_plant_equipment')
480
+ self.property_plant_equipment = attributes[:'property_plant_equipment']
481
+ end
482
+
483
+ if attributes.key?(:'goodwill')
484
+ self.goodwill = attributes[:'goodwill']
485
+ end
486
+
487
+ if attributes.key?(:'inventory')
488
+ self.inventory = attributes[:'inventory']
489
+ end
490
+
491
+ if attributes.key?(:'accounts_payable')
492
+ self.accounts_payable = attributes[:'accounts_payable']
493
+ end
494
+
495
+ if attributes.key?(:'accounts_receivable')
496
+ self.accounts_receivable = attributes[:'accounts_receivable']
497
+ end
498
+
499
+ if attributes.key?(:'weighted_average_shares_basic')
500
+ self.weighted_average_shares_basic = attributes[:'weighted_average_shares_basic']
501
+ end
502
+
503
+ if attributes.key?(:'weighted_average_shares_diluted')
504
+ self.weighted_average_shares_diluted = attributes[:'weighted_average_shares_diluted']
505
+ end
506
+
507
+ if attributes.key?(:'burn_basis_usd')
508
+ self.burn_basis_usd = attributes[:'burn_basis_usd']
509
+ end
510
+
511
+ if attributes.key?(:'burn_basis_years')
512
+ self.burn_basis_years = attributes[:'burn_basis_years']
513
+ end
514
+
515
+ if attributes.key?(:'runway_months')
516
+ self.runway_months = attributes[:'runway_months']
517
+ end
518
+
519
+ if attributes.key?(:'sec_total_revenue_usd_millions')
520
+ self.sec_total_revenue_usd_millions = attributes[:'sec_total_revenue_usd_millions']
521
+ end
522
+ end
523
+
524
+ # Show invalid properties with the reasons. Usually used together with valid?
525
+ # @return Array for valid properties with the reasons
526
+ def list_invalid_properties
527
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
528
+ invalid_properties = Array.new
529
+ invalid_properties
530
+ end
531
+
532
+ # Check to see if the all the properties in the model are valid
533
+ # @return true if the model is valid
534
+ def valid?
535
+ warn '[DEPRECATED] the `valid?` method is obsolete'
536
+ true
537
+ end
538
+
539
+ # Checks equality by comparing each attribute.
540
+ # @param [Object] Object to be compared
541
+ def ==(o)
542
+ return true if self.equal?(o)
543
+ self.class == o.class &&
544
+ company_id == o.company_id &&
545
+ company_name == o.company_name &&
546
+ group_id == o.group_id &&
547
+ group_name == o.group_name &&
548
+ reporting_org_id == o.reporting_org_id &&
549
+ fiscal_year == o.fiscal_year &&
550
+ is_public == o.is_public &&
551
+ edgar_cik == o.edgar_cik &&
552
+ ticker == o.ticker &&
553
+ exchange == o.exchange &&
554
+ public_float_usd == o.public_float_usd &&
555
+ public_float_fy == o.public_float_fy &&
556
+ latest_shares_outstanding == o.latest_shares_outstanding &&
557
+ latest_shares_outstanding_fy == o.latest_shares_outstanding_fy &&
558
+ latest_financial_fy == o.latest_financial_fy &&
559
+ revenue == o.revenue &&
560
+ net_income == o.net_income &&
561
+ rnd == o.rnd &&
562
+ assets == o.assets &&
563
+ equity == o.equity &&
564
+ public_float == o.public_float &&
565
+ cash == o.cash &&
566
+ short_term_investments == o.short_term_investments &&
567
+ cash_and_investments == o.cash_and_investments &&
568
+ operating_cash_flow == o.operating_cash_flow &&
569
+ shares_outstanding == o.shares_outstanding &&
570
+ stock_based_compensation == o.stock_based_compensation &&
571
+ operating_expenses == o.operating_expenses &&
572
+ dividends_paid == o.dividends_paid &&
573
+ eps_basic == o.eps_basic &&
574
+ eps_diluted == o.eps_diluted &&
575
+ total_liabilities == o.total_liabilities &&
576
+ long_term_debt_noncurrent == o.long_term_debt_noncurrent &&
577
+ long_term_debt_total == o.long_term_debt_total &&
578
+ intangible_assets == o.intangible_assets &&
579
+ property_plant_equipment == o.property_plant_equipment &&
580
+ goodwill == o.goodwill &&
581
+ inventory == o.inventory &&
582
+ accounts_payable == o.accounts_payable &&
583
+ accounts_receivable == o.accounts_receivable &&
584
+ weighted_average_shares_basic == o.weighted_average_shares_basic &&
585
+ weighted_average_shares_diluted == o.weighted_average_shares_diluted &&
586
+ burn_basis_usd == o.burn_basis_usd &&
587
+ burn_basis_years == o.burn_basis_years &&
588
+ runway_months == o.runway_months &&
589
+ sec_total_revenue_usd_millions == o.sec_total_revenue_usd_millions
590
+ end
591
+
592
+ # @see the `==` method
593
+ # @param [Object] Object to be compared
594
+ def eql?(o)
595
+ self == o
596
+ end
597
+
598
+ # Calculates hash code according to all attributes.
599
+ # @return [Integer] Hash code
600
+ def hash
601
+ [company_id, company_name, group_id, group_name, reporting_org_id, fiscal_year, is_public, edgar_cik, ticker, exchange, public_float_usd, public_float_fy, latest_shares_outstanding, latest_shares_outstanding_fy, latest_financial_fy, revenue, net_income, rnd, assets, equity, public_float, cash, short_term_investments, cash_and_investments, operating_cash_flow, shares_outstanding, stock_based_compensation, operating_expenses, dividends_paid, eps_basic, eps_diluted, total_liabilities, long_term_debt_noncurrent, long_term_debt_total, intangible_assets, property_plant_equipment, goodwill, inventory, accounts_payable, accounts_receivable, weighted_average_shares_basic, weighted_average_shares_diluted, burn_basis_usd, burn_basis_years, runway_months, sec_total_revenue_usd_millions].hash
602
+ end
603
+
604
+ # Builds the object from hash
605
+ # @param [Hash] attributes Model attributes in the form of hash
606
+ # @return [Object] Returns the model itself
607
+ def self.build_from_hash(attributes)
608
+ return nil unless attributes.is_a?(Hash)
609
+ attributes = attributes.transform_keys(&:to_sym)
610
+ transformed_hash = {}
611
+ openapi_types.each_pair do |key, type|
612
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
613
+ transformed_hash["#{key}"] = nil
614
+ elsif type =~ /\AArray<(.*)>/i
615
+ # check to ensure the input is an array given that the attribute
616
+ # is documented as an array but the input is not
617
+ if attributes[attribute_map[key]].is_a?(Array)
618
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
619
+ end
620
+ elsif !attributes[attribute_map[key]].nil?
621
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
622
+ end
623
+ end
624
+ new(transformed_hash)
625
+ end
626
+
627
+ # Deserializes the data based on type
628
+ # @param string type Data type
629
+ # @param string value Value to be deserialized
630
+ # @return [Object] Deserialized data
631
+ def self._deserialize(type, value)
632
+ case type.to_sym
633
+ when :Time
634
+ Time.parse(value)
635
+ when :Date
636
+ Date.parse(value)
637
+ when :String
638
+ value.to_s
639
+ when :Integer
640
+ value.to_i
641
+ when :Float
642
+ value.to_f
643
+ when :Boolean
644
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
645
+ true
646
+ else
647
+ false
648
+ end
649
+ when :Object
650
+ # generic object (usually a Hash), return directly
651
+ value
652
+ when /\AArray<(?<inner_type>.+)>\z/
653
+ inner_type = Regexp.last_match[:inner_type]
654
+ value.map { |v| _deserialize(inner_type, v) }
655
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
656
+ k_type = Regexp.last_match[:k_type]
657
+ v_type = Regexp.last_match[:v_type]
658
+ {}.tap do |hash|
659
+ value.each do |k, v|
660
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
661
+ end
662
+ end
663
+ else # model
664
+ # models (e.g. Pet) or oneOf
665
+ klass = PharmaObservatory.const_get(type)
666
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
667
+ end
668
+ end
669
+
670
+ # Returns the string representation of the object
671
+ # @return [String] String presentation of the object
672
+ def to_s
673
+ to_hash.to_s
674
+ end
675
+
676
+ # to_body is an alias to to_hash (backward compatibility)
677
+ # @return [Hash] Returns the object in the form of hash
678
+ def to_body
679
+ to_hash
680
+ end
681
+
682
+ # Returns the object in the form of hash
683
+ # @return [Hash] Returns the object in the form of hash
684
+ def to_hash
685
+ hash = {}
686
+ self.class.attribute_map.each_pair do |attr, param|
687
+ value = self.send(attr)
688
+ if value.nil?
689
+ is_nullable = self.class.openapi_nullable.include?(attr)
690
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
691
+ end
692
+
693
+ hash[param] = _to_hash(value)
694
+ end
695
+ hash
696
+ end
697
+
698
+ # Outputs non-array value in the form of hash
699
+ # For object, use to_hash. Otherwise, just return the value
700
+ # @param [Object] value Any valid value
701
+ # @return [Hash] Returns the value in the form of hash
702
+ def _to_hash(value)
703
+ if value.is_a?(Array)
704
+ value.compact.map { |v| _to_hash(v) }
705
+ elsif value.is_a?(Hash)
706
+ {}.tap do |hash|
707
+ value.each { |k, v| hash[k] = _to_hash(v) }
708
+ end
709
+ elsif value.respond_to? :to_hash
710
+ value.to_hash
711
+ else
712
+ value
713
+ end
714
+ end
715
+
716
+ end
717
+
718
+ end