pharmaobservatory 0.1.0

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 (348) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +314 -0
  3. data/docs/ApiV1BaseApi.md +72 -0
  4. data/docs/ApiV1BiomarkerAssayScreenApi.md +87 -0
  5. data/docs/ApiV1BiomarkerAssayScreenGet200Response.md +26 -0
  6. data/docs/ApiV1BiomarkerAssayScreenGet200ResponseBuildState.md +22 -0
  7. data/docs/ApiV1BiomarkerAssayScreenGet200ResponseEvidenceInner.md +48 -0
  8. data/docs/ApiV1BiomarkerAssayScreenGet200ResponseEvidenceInnerSourceRef.md +28 -0
  9. data/docs/ApiV1BiomarkerAssayScreenGet200ResponseFilters.md +28 -0
  10. data/docs/ApiV1BiomarkerAssayWhitespaceApi.md +87 -0
  11. data/docs/ApiV1BiomarkerAssayWhitespaceGet200Response.md +76 -0
  12. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseBucketCounts.md +34 -0
  13. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseFilters.md +26 -0
  14. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseGenesInner.md +38 -0
  15. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseLiteratureEvidenceInner.md +24 -0
  16. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseProfileLink.md +20 -0
  17. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseSupplierDeclarationsInner.md +22 -0
  18. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseValidatedEvidenceInner.md +34 -0
  19. data/docs/ApiV1CandidateSiteApi.md +83 -0
  20. data/docs/ApiV1CandidateSitesGet200Response.md +32 -0
  21. data/docs/ApiV1CandidateSitesGet200ResponseFilters.md +22 -0
  22. data/docs/ApiV1CandidateSitesGet200ResponseSitesInner.md +46 -0
  23. data/docs/ApiV1ConditionApi.md +211 -0
  24. data/docs/ApiV1ConditionsConditionIdBurdenVsEvidenceGet200Response.md +36 -0
  25. data/docs/ApiV1ConditionsConditionIdBurdenVsEvidenceGet200ResponseRestriction.md +22 -0
  26. data/docs/ApiV1ConditionsConditionIdEvidenceFreshnessGet200Response.md +26 -0
  27. data/docs/ApiV1ConditionsConditionIdEvidenceFreshnessGet200ResponseBuildState.md +18 -0
  28. data/docs/ApiV1ConditionsConditionIdEvidenceFreshnessGet200ResponseSections.md +20 -0
  29. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200Response.md +40 -0
  30. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseActiveYearSpan.md +20 -0
  31. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponsePhaseBreakdownInner.md +20 -0
  32. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollup.md +74 -0
  33. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupFiguresInner.md +22 -0
  34. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupPhasesInner.md +48 -0
  35. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupPredicted.md +24 -0
  36. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupRealized.md +22 -0
  37. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupStatuses.md +32 -0
  38. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseSections.md +28 -0
  39. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseSponsorsInner.md +22 -0
  40. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseTrialStartForecast.md +32 -0
  41. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseTrialsByYearInner.md +20 -0
  42. data/docs/ApiV1EnrollmentBenchmarkApi.md +79 -0
  43. data/docs/ApiV1EnrollmentBenchmarkGet200Response.md +28 -0
  44. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmark.md +42 -0
  45. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmarkAccrualRatePerSiteMonth.md +26 -0
  46. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmarkConfidence.md +24 -0
  47. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmarkEnrollment.md +22 -0
  48. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmarkTypicalDurationMonths.md +28 -0
  49. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseFilters.md +20 -0
  50. data/docs/ApiV1InvestorProfileGet200Response.md +38 -0
  51. data/docs/ApiV1InvestorProfileGet200ResponseFunds.md +20 -0
  52. data/docs/ApiV1InvestorProfileGet200ResponseFundsRollupInner.md +22 -0
  53. data/docs/ApiV1InvestorProfileGet200ResponseOwnership.md +22 -0
  54. data/docs/ApiV1InvestorProfileGet200ResponseOwnershipHoldings.md +22 -0
  55. data/docs/ApiV1InvestorProfileGet200ResponseOwnershipOwners.md +22 -0
  56. data/docs/ApiV1InvestorProfileGet200ResponseOwnershipOwnersRowsInner.md +52 -0
  57. data/docs/ApiV1InvestorProfileGet200ResponseProfile.md +44 -0
  58. data/docs/ApiV1InvestorProfileGet200ResponseResolution.md +24 -0
  59. data/docs/ApiV1InvestorProfileGet200ResponseSections.md +24 -0
  60. data/docs/ApiV1InvestorProfileGet200ResponseSemantics.md +20 -0
  61. data/docs/ApiV1InvestorProfileGet200ResponseSemanticsOwnershipDimension.md +20 -0
  62. data/docs/ApiV1InvestorProfileGet200ResponseSemanticsSourceClass.md +18 -0
  63. data/docs/ApiV1InvestorProfileGet200ResponseSemanticsSourceClassSecFormAdv.md +20 -0
  64. data/docs/ApiV1LicensingCandidatesGet200Response.md +26 -0
  65. data/docs/ApiV1LicensingCandidatesGet200ResponseCandidatesInner.md +42 -0
  66. data/docs/ApiV1OrgFinancingAndOwnershipGet200Response.md +48 -0
  67. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseFinancing.md +24 -0
  68. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseFinancingRoundsInner.md +40 -0
  69. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseFinancingSummary.md +38 -0
  70. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseInvestors.md +26 -0
  71. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentages.md +30 -0
  72. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentagesInsider.md +40 -0
  73. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentagesInstitutional.md +42 -0
  74. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentagesNotes.md +30 -0
  75. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentagesSharesOutstanding.md +28 -0
  76. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPositions.md +24 -0
  77. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPositionsInstitutional13f.md +22 -0
  78. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPositionsPositionsInner.md +50 -0
  79. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseSections.md +36 -0
  80. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseSemantics.md +20 -0
  81. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseSemanticsOwnershipDimension.md +22 -0
  82. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseSemanticsSourceClass.md +22 -0
  83. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseUnmatchedProductRevenue.md +24 -0
  84. data/docs/ApiV1OrgFinancingAndOwnershipOwnershipPositionsInstitutional13fHoldersInner.md +34 -0
  85. data/docs/ApiV1OrgPipelineStagesGet200Response.md +48 -0
  86. data/docs/ApiV1OrgPipelineStagesGet200ResponseApprovedMarketedInner.md +30 -0
  87. data/docs/ApiV1OrgPipelineStagesGet200ResponseInDevelopmentInner.md +34 -0
  88. data/docs/ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollup.md +74 -0
  89. data/docs/ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollupPhasesInner.md +48 -0
  90. data/docs/ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollupPredicted.md +24 -0
  91. data/docs/ApiV1OrgPipelineStagesGet200ResponseSections.md +30 -0
  92. data/docs/ApiV1OrgPipelineStagesGet200ResponseTrialStartForecast.md +32 -0
  93. data/docs/ApiV1OrgPipelineStagesGet200ResponseTrialStartForecastYearsInner.md +50 -0
  94. data/docs/ApiV1OwnershipApi.md +155 -0
  95. data/docs/ApiV1PatentCliffExposureGet200Response.md +28 -0
  96. data/docs/ApiV1PatentCliffExposureGet200ResponseExposuresInner.md +46 -0
  97. data/docs/ApiV1ProgramCatalystApi.md +291 -0
  98. data/docs/ApiV1ProgramCatalystsGet200Response.md +32 -0
  99. data/docs/ApiV1ProgramCatalystsGet200ResponseCalendarInner.md +46 -0
  100. data/docs/ApiV1ProgramCatalystsGet200ResponsePdufa.md +26 -0
  101. data/docs/ApiV1ProgramCatalystsGet200ResponseSections.md +22 -0
  102. data/docs/ApiV1ResolveEntityApi.md +83 -0
  103. data/docs/ApiV1ResolveEntityGet200Response.md +36 -0
  104. data/docs/ApiV1ResolveEntityGet200ResponseCandidatesInner.md +26 -0
  105. data/docs/ApiV1ResolveEntityGet200ResponseCandidatesInnerRestriction.md +22 -0
  106. data/docs/ApiV1ResolveEntityGet200ResponseResolutionConfidence.md +20 -0
  107. data/docs/ApiV1RwdApi.md +153 -0
  108. data/docs/ApiV1RwdConductorTrackRecordGet200Response.md +42 -0
  109. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseConductor.md +28 -0
  110. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseDeliveryByMandate.md +22 -0
  111. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseDeliveryByMandateAll.md +52 -0
  112. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseDeliveryByMandateMandated.md +52 -0
  113. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseDeliveryByMandateVoluntary.md +52 -0
  114. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseFootprint.md +20 -0
  115. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseFootprintDeliveredCountriesInner.md +20 -0
  116. data/docs/ApiV1RwdStudyScreenGet200Response.md +34 -0
  117. data/docs/ApiV1RwdStudyScreenGet200ResponseDeliveryDistribution.md +34 -0
  118. data/docs/ApiV1RwdStudyScreenGet200ResponseFilters.md +24 -0
  119. data/docs/ApiV1SiteRecordApi.md +83 -0
  120. data/docs/ApiV1SiteRecordGet200Response.md +36 -0
  121. data/docs/ApiV1SiteRecordGet200ResponseDetailSections.md +26 -0
  122. data/docs/ApiV1SiteRecordGet200ResponseDetailSectionsTrials.md +20 -0
  123. data/docs/ApiV1SiteRecordGet200ResponseSiteKeyRedirect.md +20 -0
  124. data/docs/ApiV1SiteRecordGet200ResponseSitesInner.md +46 -0
  125. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerActiveYears.md +20 -0
  126. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerDrugsInner.md +22 -0
  127. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerEstimatedEnrollment.md +22 -0
  128. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerIndicationsInner.md +22 -0
  129. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerInvestigatorsInner.md +26 -0
  130. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerTrialsInner.md +24 -0
  131. data/docs/ApiV1SponsorLandscapeRecruitmentRollupPredictedAtHorizonCap.md +22 -0
  132. data/docs/ApiV1SponsorLandscapeRecruitmentRollupStatusCountsInner.md +22 -0
  133. data/docs/ApiV1TrialApi.md +363 -0
  134. data/docs/ApiV1TrialsDiscontinuationReasonsGet200Response.md +34 -0
  135. data/docs/ApiV1TrialsDiscontinuationReasonsGet200ResponseFilters.md +20 -0
  136. data/docs/ApiV1TrialsDiscontinuationReasonsGet200ResponseTrialsInner.md +28 -0
  137. data/docs/ApiV1TrialsEligibilityGeneralizabilityScanGet200Response.md +32 -0
  138. data/docs/ApiV1TrialsEligibilityGeneralizabilityScanGet200ResponseFilters.md +18 -0
  139. data/docs/ApiV1TrialsEligibilityGeneralizabilityScanGet200ResponseTrialsInner.md +32 -0
  140. data/docs/ApiV1TrialsHistoryAndPredictionGet200Response.md +36 -0
  141. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInner.md +54 -0
  142. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerBaseline.md +24 -0
  143. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerFigure.md +28 -0
  144. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerInputsAsRegistered.md +38 -0
  145. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerMeasuredError.md +26 -0
  146. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerMeasuredErrorPhase.md +34 -0
  147. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerMeasuredErrorSize.md +34 -0
  148. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerReason.md +28 -0
  149. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsStatus.md +28 -0
  150. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistory.md +36 -0
  151. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryChangesInner.md +24 -0
  152. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryObservationsInner.md +32 -0
  153. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryObservationsInnerEnrollment.md +28 -0
  154. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryObservationsInnerSites.md +32 -0
  155. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryObservationsInnerStartDate.md +28 -0
  156. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseSections.md +26 -0
  157. data/docs/ApiV1TrialsHistoryPredictionsInnerRegisteredPrimaryCompletion.md +22 -0
  158. data/docs/ApiV1TrialsHistoryRecordHistoryObservationsInnerOverallStatus.md +24 -0
  159. data/docs/ApiV1TrialsRecordsGet200Response.md +28 -0
  160. data/docs/ApiV1TrialsRecordsGet200ResponseBuildState.md +22 -0
  161. data/docs/ApiV1TrialsRecordsGet200ResponseExtractionCoverage.md +32 -0
  162. data/docs/ApiV1TrialsRecordsGet200ResponseSections.md +20 -0
  163. data/docs/ApiV1TrialsRecordsGet200ResponseSectionsExtracted.md +22 -0
  164. data/docs/ApiV1TrialsRecordsGet200ResponseTrialsInner.md +114 -0
  165. data/docs/ApiV1TrialsRecordsGet200ResponseTrialsInnerExtracted.md +46 -0
  166. data/docs/ApiV1TrialsRecordsGet200ResponseTrialsInnerLinkedDrugsInner.md +28 -0
  167. data/docs/ApiV1TrialsRecordsGet200ResponseTrialsInnerLinkedDrugsInnerBrandsInner.md +20 -0
  168. data/docs/ApiV1TrialsReportingCompletenessGet200Response.md +32 -0
  169. data/docs/ApiV1TrialsReportingCompletenessGet200ResponseDemographicFieldPopulationRate.md +24 -0
  170. data/docs/ApiV1WhoamiGet200Response.md +22 -0
  171. data/docs/AuthError.md +18 -0
  172. data/docs/NotEntitledError.md +24 -0
  173. data/lib/pharmaobservatory/api/api_v1_base_api.rb +77 -0
  174. data/lib/pharmaobservatory/api/api_v1_biomarker_assay_screen_api.rb +95 -0
  175. data/lib/pharmaobservatory/api/api_v1_biomarker_assay_whitespace_api.rb +95 -0
  176. data/lib/pharmaobservatory/api/api_v1_candidate_site_api.rb +89 -0
  177. data/lib/pharmaobservatory/api/api_v1_condition_api.rb +205 -0
  178. data/lib/pharmaobservatory/api/api_v1_enrollment_benchmark_api.rb +83 -0
  179. data/lib/pharmaobservatory/api/api_v1_ownership_api.rb +150 -0
  180. data/lib/pharmaobservatory/api/api_v1_program_catalyst_api.rb +260 -0
  181. data/lib/pharmaobservatory/api/api_v1_resolve_entity_api.rb +89 -0
  182. data/lib/pharmaobservatory/api/api_v1_rwd_api.rb +147 -0
  183. data/lib/pharmaobservatory/api/api_v1_site_record_api.rb +89 -0
  184. data/lib/pharmaobservatory/api/api_v1_trial_api.rb +321 -0
  185. data/lib/pharmaobservatory/api_client.rb +437 -0
  186. data/lib/pharmaobservatory/api_error.rb +58 -0
  187. data/lib/pharmaobservatory/configuration.rb +393 -0
  188. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response.rb +343 -0
  189. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response_build_state.rb +275 -0
  190. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response_evidence_inner.rb +507 -0
  191. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response_evidence_inner_source_ref.rb +369 -0
  192. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response_filters.rb +283 -0
  193. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response.rb +525 -0
  194. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_bucket_counts.rb +445 -0
  195. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_filters.rb +285 -0
  196. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_genes_inner.rb +469 -0
  197. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_literature_evidence_inner.rb +317 -0
  198. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_profile_link.rb +263 -0
  199. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_supplier_declarations_inner.rb +289 -0
  200. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_validated_evidence_inner.rb +431 -0
  201. data/lib/pharmaobservatory/models/api_v1_candidate_sites_get200_response.rb +302 -0
  202. data/lib/pharmaobservatory/models/api_v1_candidate_sites_get200_response_filters.rb +289 -0
  203. data/lib/pharmaobservatory/models/api_v1_candidate_sites_get200_response_sites_inner.rb +573 -0
  204. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_burden_vs_evidence_get200_response.rb +471 -0
  205. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_burden_vs_evidence_get200_response_restriction.rb +289 -0
  206. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_evidence_freshness_get200_response.rb +327 -0
  207. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_evidence_freshness_get200_response_build_state.rb +237 -0
  208. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_evidence_freshness_get200_response_sections.rb +263 -0
  209. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response.rb +398 -0
  210. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_active_year_span.rb +235 -0
  211. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_phase_breakdown_inner.rb +263 -0
  212. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup.rb +954 -0
  213. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_figures_inner.rb +289 -0
  214. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_phases_inner.rb +512 -0
  215. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_predicted.rb +259 -0
  216. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_realized.rb +289 -0
  217. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_statuses.rb +419 -0
  218. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_sections.rb +299 -0
  219. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_sponsors_inner.rb +289 -0
  220. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_trial_start_forecast.rb +421 -0
  221. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_trials_by_year_inner.rb +263 -0
  222. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response.rb +282 -0
  223. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark.rb +549 -0
  224. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark_accrual_rate_per_site_month.rb +341 -0
  225. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark_confidence.rb +301 -0
  226. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark_enrollment.rb +289 -0
  227. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark_typical_duration_months.rb +367 -0
  228. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_filters.rb +263 -0
  229. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response.rb +401 -0
  230. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_funds.rb +265 -0
  231. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_funds_rollup_inner.rb +289 -0
  232. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_ownership.rb +289 -0
  233. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_ownership_holdings.rb +291 -0
  234. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_ownership_owners.rb +291 -0
  235. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_ownership_owners_rows_inner.rb +595 -0
  236. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_profile.rb +561 -0
  237. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_resolution.rb +303 -0
  238. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_sections.rb +315 -0
  239. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_semantics.rb +263 -0
  240. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_semantics_ownership_dimension.rb +229 -0
  241. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_semantics_source_class.rb +220 -0
  242. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_semantics_source_class_sec_form_adv.rb +263 -0
  243. data/lib/pharmaobservatory/models/api_v1_licensing_candidates_get200_response.rb +343 -0
  244. data/lib/pharmaobservatory/models/api_v1_licensing_candidates_get200_response_candidates_inner.rb +549 -0
  245. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response.rb +481 -0
  246. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_financing.rb +303 -0
  247. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_financing_rounds_inner.rb +509 -0
  248. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_financing_summary.rb +497 -0
  249. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_investors.rb +343 -0
  250. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages.rb +365 -0
  251. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages_insider.rb +453 -0
  252. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages_institutional.rb +437 -0
  253. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages_notes.rb +393 -0
  254. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages_shares_outstanding.rb +339 -0
  255. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_positions.rb +317 -0
  256. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_positions_institutional13f.rb +291 -0
  257. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_positions_positions_inner.rb +597 -0
  258. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_sections.rb +403 -0
  259. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_semantics.rb +263 -0
  260. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_semantics_ownership_dimension.rb +238 -0
  261. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_semantics_source_class.rb +238 -0
  262. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_unmatched_product_revenue.rb +301 -0
  263. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_ownership_positions_institutional13f_holders_inner.rb +417 -0
  264. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response.rb +449 -0
  265. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_approved_marketed_inner.rb +393 -0
  266. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_in_development_inner.rb +445 -0
  267. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_recruitment_rollup.rb +940 -0
  268. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_recruitment_rollup_phases_inner.rb +512 -0
  269. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_recruitment_rollup_predicted.rb +315 -0
  270. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_sections.rb +325 -0
  271. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_trial_start_forecast.rb +421 -0
  272. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_trial_start_forecast_years_inner.rb +611 -0
  273. data/lib/pharmaobservatory/models/api_v1_patent_cliff_exposure_get200_response.rb +339 -0
  274. data/lib/pharmaobservatory/models/api_v1_patent_cliff_exposure_get200_response_exposures_inner.rb +531 -0
  275. data/lib/pharmaobservatory/models/api_v1_program_catalysts_get200_response.rb +377 -0
  276. data/lib/pharmaobservatory/models/api_v1_program_catalysts_get200_response_calendar_inner.rb +429 -0
  277. data/lib/pharmaobservatory/models/api_v1_program_catalysts_get200_response_pdufa.rb +324 -0
  278. data/lib/pharmaobservatory/models/api_v1_program_catalysts_get200_response_sections.rb +289 -0
  279. data/lib/pharmaobservatory/models/api_v1_resolve_entity_get200_response.rb +383 -0
  280. data/lib/pharmaobservatory/models/api_v1_resolve_entity_get200_response_candidates_inner.rb +283 -0
  281. data/lib/pharmaobservatory/models/api_v1_resolve_entity_get200_response_candidates_inner_restriction.rb +289 -0
  282. data/lib/pharmaobservatory/models/api_v1_resolve_entity_get200_response_resolution_confidence.rb +249 -0
  283. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response.rb +467 -0
  284. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_conductor.rb +371 -0
  285. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_delivery_by_mandate.rb +272 -0
  286. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_delivery_by_mandate_all.rb +595 -0
  287. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_delivery_by_mandate_mandated.rb +609 -0
  288. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_delivery_by_mandate_voluntary.rb +665 -0
  289. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_footprint.rb +267 -0
  290. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_footprint_delivered_countries_inner.rb +263 -0
  291. data/lib/pharmaobservatory/models/api_v1_rwd_study_screen_get200_response.rb +387 -0
  292. data/lib/pharmaobservatory/models/api_v1_rwd_study_screen_get200_response_delivery_distribution.rb +403 -0
  293. data/lib/pharmaobservatory/models/api_v1_rwd_study_screen_get200_response_filters.rb +259 -0
  294. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response.rb +320 -0
  295. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_detail_sections.rb +341 -0
  296. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_detail_sections_trials.rb +265 -0
  297. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_site_key_redirect.rb +263 -0
  298. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner.rb +477 -0
  299. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_active_years.rb +235 -0
  300. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_drugs_inner.rb +289 -0
  301. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_estimated_enrollment.rb +289 -0
  302. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_indications_inner.rb +289 -0
  303. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_investigators_inner.rb +327 -0
  304. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_trials_inner.rb +301 -0
  305. data/lib/pharmaobservatory/models/api_v1_sponsor_landscape_recruitment_rollup_predicted_at_horizon_cap.rb +289 -0
  306. data/lib/pharmaobservatory/models/api_v1_sponsor_landscape_recruitment_rollup_status_counts_inner.rb +289 -0
  307. data/lib/pharmaobservatory/models/api_v1_trials_discontinuation_reasons_get200_response.rb +311 -0
  308. data/lib/pharmaobservatory/models/api_v1_trials_discontinuation_reasons_get200_response_filters.rb +265 -0
  309. data/lib/pharmaobservatory/models/api_v1_trials_discontinuation_reasons_get200_response_trials_inner.rb +353 -0
  310. data/lib/pharmaobservatory/models/api_v1_trials_eligibility_generalizability_scan_get200_response.rb +302 -0
  311. data/lib/pharmaobservatory/models/api_v1_trials_eligibility_generalizability_scan_get200_response_filters.rb +237 -0
  312. data/lib/pharmaobservatory/models/api_v1_trials_eligibility_generalizability_scan_get200_response_trials_inner.rb +351 -0
  313. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response.rb +340 -0
  314. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner.rb +579 -0
  315. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_baseline.rb +315 -0
  316. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_figure.rb +367 -0
  317. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_inputs_as_registered.rb +343 -0
  318. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_measured_error.rb +299 -0
  319. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_measured_error_phase.rb +361 -0
  320. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_measured_error_size.rb +375 -0
  321. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_reason.rb +311 -0
  322. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_status.rb +311 -0
  323. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history.rb +433 -0
  324. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_changes_inner.rb +315 -0
  325. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_observations_inner.rb +419 -0
  326. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_observations_inner_enrollment.rb +311 -0
  327. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_observations_inner_sites.rb +321 -0
  328. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_observations_inner_start_date.rb +311 -0
  329. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_sections.rb +273 -0
  330. data/lib/pharmaobservatory/models/api_v1_trials_history_predictions_inner_registered_primary_completion.rb +261 -0
  331. data/lib/pharmaobservatory/models/api_v1_trials_history_record_history_observations_inner_overall_status.rb +287 -0
  332. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response.rb +339 -0
  333. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_build_state.rb +256 -0
  334. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_extraction_coverage.rb +300 -0
  335. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_sections.rb +263 -0
  336. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_sections_extracted.rb +275 -0
  337. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_trials_inner.rb +1189 -0
  338. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_trials_inner_extracted.rb +382 -0
  339. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_trials_inner_linked_drugs_inner.rb +343 -0
  340. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_trials_inner_linked_drugs_inner_brands_inner.rb +263 -0
  341. data/lib/pharmaobservatory/models/api_v1_trials_reporting_completeness_get200_response.rb +300 -0
  342. data/lib/pharmaobservatory/models/api_v1_trials_reporting_completeness_get200_response_demographic_field_population_rate.rb +315 -0
  343. data/lib/pharmaobservatory/models/api_v1_whoami_get200_response.rb +291 -0
  344. data/lib/pharmaobservatory/models/auth_error.rb +237 -0
  345. data/lib/pharmaobservatory/models/not_entitled_error.rb +315 -0
  346. data/lib/pharmaobservatory/version.rb +15 -0
  347. data/lib/pharmaobservatory.rb +209 -0
  348. metadata +461 -0
@@ -0,0 +1,315 @@
1
+ =begin
2
+ #Pharma Observatory Public REST API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.13.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PharmaObservatory
17
+ class ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollupPredicted
18
+ attr_accessor :median
19
+
20
+ attr_accessor :p25
21
+
22
+ attr_accessor :p75
23
+
24
+ attr_accessor :baseline_median
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'median' => :'median',
30
+ :'p25' => :'p25',
31
+ :'p75' => :'p75',
32
+ :'baseline_median' => :'baseline_median'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'median' => :'Float',
50
+ :'p25' => :'Float',
51
+ :'p75' => :'Float',
52
+ :'baseline_median' => :'Float'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollupPredicted` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ acceptable_attribute_map = self.class.acceptable_attribute_map
71
+ attributes = attributes.each_with_object({}) { |(k, v), h|
72
+ if (!acceptable_attribute_map.key?(k.to_sym))
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollupPredicted`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
74
+ end
75
+ h[k.to_sym] = v
76
+ }
77
+
78
+ if attributes.key?(:'median')
79
+ self.median = attributes[:'median']
80
+ else
81
+ self.median = nil
82
+ end
83
+
84
+ if attributes.key?(:'p25')
85
+ self.p25 = attributes[:'p25']
86
+ else
87
+ self.p25 = nil
88
+ end
89
+
90
+ if attributes.key?(:'p75')
91
+ self.p75 = attributes[:'p75']
92
+ else
93
+ self.p75 = nil
94
+ end
95
+
96
+ if attributes.key?(:'baseline_median')
97
+ self.baseline_median = attributes[:'baseline_median']
98
+ else
99
+ self.baseline_median = nil
100
+ end
101
+ end
102
+
103
+ # Show invalid properties with the reasons. Usually used together with valid?
104
+ # @return Array for valid properties with the reasons
105
+ def list_invalid_properties
106
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
107
+ invalid_properties = Array.new
108
+ if @median.nil?
109
+ invalid_properties.push('invalid value for "median", median cannot be nil.')
110
+ end
111
+
112
+ if @p25.nil?
113
+ invalid_properties.push('invalid value for "p25", p25 cannot be nil.')
114
+ end
115
+
116
+ if @p75.nil?
117
+ invalid_properties.push('invalid value for "p75", p75 cannot be nil.')
118
+ end
119
+
120
+ if @baseline_median.nil?
121
+ invalid_properties.push('invalid value for "baseline_median", baseline_median cannot be nil.')
122
+ end
123
+
124
+ invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ warn '[DEPRECATED] the `valid?` method is obsolete'
131
+ return false if @median.nil?
132
+ return false if @p25.nil?
133
+ return false if @p75.nil?
134
+ return false if @baseline_median.nil?
135
+ true
136
+ end
137
+
138
+ # Custom attribute writer method with validation
139
+ # @param [Object] median Value to be assigned
140
+ def median=(median)
141
+ if median.nil?
142
+ fail ArgumentError, 'median cannot be nil'
143
+ end
144
+
145
+ @median = median
146
+ end
147
+
148
+ # Custom attribute writer method with validation
149
+ # @param [Object] p25 Value to be assigned
150
+ def p25=(p25)
151
+ if p25.nil?
152
+ fail ArgumentError, 'p25 cannot be nil'
153
+ end
154
+
155
+ @p25 = p25
156
+ end
157
+
158
+ # Custom attribute writer method with validation
159
+ # @param [Object] p75 Value to be assigned
160
+ def p75=(p75)
161
+ if p75.nil?
162
+ fail ArgumentError, 'p75 cannot be nil'
163
+ end
164
+
165
+ @p75 = p75
166
+ end
167
+
168
+ # Custom attribute writer method with validation
169
+ # @param [Object] baseline_median Value to be assigned
170
+ def baseline_median=(baseline_median)
171
+ if baseline_median.nil?
172
+ fail ArgumentError, 'baseline_median cannot be nil'
173
+ end
174
+
175
+ @baseline_median = baseline_median
176
+ end
177
+
178
+ # Checks equality by comparing each attribute.
179
+ # @param [Object] Object to be compared
180
+ def ==(o)
181
+ return true if self.equal?(o)
182
+ self.class == o.class &&
183
+ median == o.median &&
184
+ p25 == o.p25 &&
185
+ p75 == o.p75 &&
186
+ baseline_median == o.baseline_median
187
+ end
188
+
189
+ # @see the `==` method
190
+ # @param [Object] Object to be compared
191
+ def eql?(o)
192
+ self == o
193
+ end
194
+
195
+ # Calculates hash code according to all attributes.
196
+ # @return [Integer] Hash code
197
+ def hash
198
+ [median, p25, p75, baseline_median].hash
199
+ end
200
+
201
+ # Builds the object from hash
202
+ # @param [Hash] attributes Model attributes in the form of hash
203
+ # @return [Object] Returns the model itself
204
+ def self.build_from_hash(attributes)
205
+ return nil unless attributes.is_a?(Hash)
206
+ attributes = attributes.transform_keys(&:to_sym)
207
+ transformed_hash = {}
208
+ openapi_types.each_pair do |key, type|
209
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
210
+ transformed_hash["#{key}"] = nil
211
+ elsif type =~ /\AArray<(.*)>/i
212
+ # check to ensure the input is an array given that the attribute
213
+ # is documented as an array but the input is not
214
+ if attributes[attribute_map[key]].is_a?(Array)
215
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
216
+ end
217
+ elsif !attributes[attribute_map[key]].nil?
218
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
219
+ end
220
+ end
221
+ new(transformed_hash)
222
+ end
223
+
224
+ # Deserializes the data based on type
225
+ # @param string type Data type
226
+ # @param string value Value to be deserialized
227
+ # @return [Object] Deserialized data
228
+ def self._deserialize(type, value)
229
+ case type.to_sym
230
+ when :Time
231
+ Time.parse(value)
232
+ when :Date
233
+ Date.parse(value)
234
+ when :String
235
+ value.to_s
236
+ when :Integer
237
+ value.to_i
238
+ when :Float
239
+ value.to_f
240
+ when :Boolean
241
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
242
+ true
243
+ else
244
+ false
245
+ end
246
+ when :Object
247
+ # generic object (usually a Hash), return directly
248
+ value
249
+ when /\AArray<(?<inner_type>.+)>\z/
250
+ inner_type = Regexp.last_match[:inner_type]
251
+ value.map { |v| _deserialize(inner_type, v) }
252
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
253
+ k_type = Regexp.last_match[:k_type]
254
+ v_type = Regexp.last_match[:v_type]
255
+ {}.tap do |hash|
256
+ value.each do |k, v|
257
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
258
+ end
259
+ end
260
+ else # model
261
+ # models (e.g. Pet) or oneOf
262
+ klass = PharmaObservatory.const_get(type)
263
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
264
+ end
265
+ end
266
+
267
+ # Returns the string representation of the object
268
+ # @return [String] String presentation of the object
269
+ def to_s
270
+ to_hash.to_s
271
+ end
272
+
273
+ # to_body is an alias to to_hash (backward compatibility)
274
+ # @return [Hash] Returns the object in the form of hash
275
+ def to_body
276
+ to_hash
277
+ end
278
+
279
+ # Returns the object in the form of hash
280
+ # @return [Hash] Returns the object in the form of hash
281
+ def to_hash
282
+ hash = {}
283
+ self.class.attribute_map.each_pair do |attr, param|
284
+ value = self.send(attr)
285
+ if value.nil?
286
+ is_nullable = self.class.openapi_nullable.include?(attr)
287
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
288
+ end
289
+
290
+ hash[param] = _to_hash(value)
291
+ end
292
+ hash
293
+ end
294
+
295
+ # Outputs non-array value in the form of hash
296
+ # For object, use to_hash. Otherwise, just return the value
297
+ # @param [Object] value Any valid value
298
+ # @return [Hash] Returns the value in the form of hash
299
+ def _to_hash(value)
300
+ if value.is_a?(Array)
301
+ value.compact.map { |v| _to_hash(v) }
302
+ elsif value.is_a?(Hash)
303
+ {}.tap do |hash|
304
+ value.each { |k, v| hash[k] = _to_hash(v) }
305
+ end
306
+ elsif value.respond_to? :to_hash
307
+ value.to_hash
308
+ else
309
+ value
310
+ end
311
+ end
312
+
313
+ end
314
+
315
+ end
@@ -0,0 +1,325 @@
1
+ =begin
2
+ #Pharma Observatory Public REST API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.13.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PharmaObservatory
17
+ class ApiV1OrgPipelineStagesGet200ResponseSections
18
+ attr_accessor :in_development
19
+
20
+ attr_accessor :abandoned_dormant
21
+
22
+ attr_accessor :approved_marketed
23
+
24
+ attr_accessor :trial_start_forecast_series
25
+
26
+ attr_accessor :trial_start_forecast_years
27
+
28
+ attr_accessor :recruitment_rollup_series
29
+
30
+ attr_accessor :recruitment_rollup_phase
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'in_development' => :'in_development',
36
+ :'abandoned_dormant' => :'abandoned_dormant',
37
+ :'approved_marketed' => :'approved_marketed',
38
+ :'trial_start_forecast_series' => :'trial_start_forecast_series',
39
+ :'trial_start_forecast_years' => :'trial_start_forecast_years',
40
+ :'recruitment_rollup_series' => :'recruitment_rollup_series',
41
+ :'recruitment_rollup_phase' => :'recruitment_rollup_phase'
42
+ }
43
+ end
44
+
45
+ # Returns attribute mapping this model knows about
46
+ def self.acceptable_attribute_map
47
+ attribute_map
48
+ end
49
+
50
+ # Returns all the JSON keys this model knows about
51
+ def self.acceptable_attributes
52
+ acceptable_attribute_map.values
53
+ end
54
+
55
+ # Attribute type mapping.
56
+ def self.openapi_types
57
+ {
58
+ :'in_development' => :'ApiV1BiomarkerAssayScreenGet200ResponseBuildState',
59
+ :'abandoned_dormant' => :'ApiV1BiomarkerAssayScreenGet200ResponseBuildState',
60
+ :'approved_marketed' => :'ApiV1BiomarkerAssayScreenGet200ResponseBuildState',
61
+ :'trial_start_forecast_series' => :'ApiV1BiomarkerAssayScreenGet200ResponseBuildState',
62
+ :'trial_start_forecast_years' => :'ApiV1BiomarkerAssayScreenGet200ResponseBuildState',
63
+ :'recruitment_rollup_series' => :'ApiV1BiomarkerAssayScreenGet200ResponseBuildState',
64
+ :'recruitment_rollup_phase' => :'ApiV1BiomarkerAssayScreenGet200ResponseBuildState'
65
+ }
66
+ end
67
+
68
+ # List of attributes with nullable: true
69
+ def self.openapi_nullable
70
+ Set.new([
71
+ ])
72
+ end
73
+
74
+ # Initializes the object
75
+ # @param [Hash] attributes Model attributes in the form of hash
76
+ def initialize(attributes = {})
77
+ if (!attributes.is_a?(Hash))
78
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::ApiV1OrgPipelineStagesGet200ResponseSections` initialize method"
79
+ end
80
+
81
+ # check to see if the attribute exists and convert string to symbol for hash key
82
+ acceptable_attribute_map = self.class.acceptable_attribute_map
83
+ attributes = attributes.each_with_object({}) { |(k, v), h|
84
+ if (!acceptable_attribute_map.key?(k.to_sym))
85
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::ApiV1OrgPipelineStagesGet200ResponseSections`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
86
+ end
87
+ h[k.to_sym] = v
88
+ }
89
+
90
+ if attributes.key?(:'in_development')
91
+ self.in_development = attributes[:'in_development']
92
+ else
93
+ self.in_development = nil
94
+ end
95
+
96
+ if attributes.key?(:'abandoned_dormant')
97
+ self.abandoned_dormant = attributes[:'abandoned_dormant']
98
+ else
99
+ self.abandoned_dormant = nil
100
+ end
101
+
102
+ if attributes.key?(:'approved_marketed')
103
+ self.approved_marketed = attributes[:'approved_marketed']
104
+ else
105
+ self.approved_marketed = nil
106
+ end
107
+
108
+ if attributes.key?(:'trial_start_forecast_series')
109
+ self.trial_start_forecast_series = attributes[:'trial_start_forecast_series']
110
+ end
111
+
112
+ if attributes.key?(:'trial_start_forecast_years')
113
+ self.trial_start_forecast_years = attributes[:'trial_start_forecast_years']
114
+ end
115
+
116
+ if attributes.key?(:'recruitment_rollup_series')
117
+ self.recruitment_rollup_series = attributes[:'recruitment_rollup_series']
118
+ end
119
+
120
+ if attributes.key?(:'recruitment_rollup_phase')
121
+ self.recruitment_rollup_phase = attributes[:'recruitment_rollup_phase']
122
+ end
123
+ end
124
+
125
+ # Show invalid properties with the reasons. Usually used together with valid?
126
+ # @return Array for valid properties with the reasons
127
+ def list_invalid_properties
128
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
129
+ invalid_properties = Array.new
130
+ if @in_development.nil?
131
+ invalid_properties.push('invalid value for "in_development", in_development cannot be nil.')
132
+ end
133
+
134
+ if @abandoned_dormant.nil?
135
+ invalid_properties.push('invalid value for "abandoned_dormant", abandoned_dormant cannot be nil.')
136
+ end
137
+
138
+ if @approved_marketed.nil?
139
+ invalid_properties.push('invalid value for "approved_marketed", approved_marketed cannot be nil.')
140
+ end
141
+
142
+ invalid_properties
143
+ end
144
+
145
+ # Check to see if the all the properties in the model are valid
146
+ # @return true if the model is valid
147
+ def valid?
148
+ warn '[DEPRECATED] the `valid?` method is obsolete'
149
+ return false if @in_development.nil?
150
+ return false if @abandoned_dormant.nil?
151
+ return false if @approved_marketed.nil?
152
+ true
153
+ end
154
+
155
+ # Custom attribute writer method with validation
156
+ # @param [Object] in_development Value to be assigned
157
+ def in_development=(in_development)
158
+ if in_development.nil?
159
+ fail ArgumentError, 'in_development cannot be nil'
160
+ end
161
+
162
+ @in_development = in_development
163
+ end
164
+
165
+ # Custom attribute writer method with validation
166
+ # @param [Object] abandoned_dormant Value to be assigned
167
+ def abandoned_dormant=(abandoned_dormant)
168
+ if abandoned_dormant.nil?
169
+ fail ArgumentError, 'abandoned_dormant cannot be nil'
170
+ end
171
+
172
+ @abandoned_dormant = abandoned_dormant
173
+ end
174
+
175
+ # Custom attribute writer method with validation
176
+ # @param [Object] approved_marketed Value to be assigned
177
+ def approved_marketed=(approved_marketed)
178
+ if approved_marketed.nil?
179
+ fail ArgumentError, 'approved_marketed cannot be nil'
180
+ end
181
+
182
+ @approved_marketed = approved_marketed
183
+ end
184
+
185
+ # Checks equality by comparing each attribute.
186
+ # @param [Object] Object to be compared
187
+ def ==(o)
188
+ return true if self.equal?(o)
189
+ self.class == o.class &&
190
+ in_development == o.in_development &&
191
+ abandoned_dormant == o.abandoned_dormant &&
192
+ approved_marketed == o.approved_marketed &&
193
+ trial_start_forecast_series == o.trial_start_forecast_series &&
194
+ trial_start_forecast_years == o.trial_start_forecast_years &&
195
+ recruitment_rollup_series == o.recruitment_rollup_series &&
196
+ recruitment_rollup_phase == o.recruitment_rollup_phase
197
+ end
198
+
199
+ # @see the `==` method
200
+ # @param [Object] Object to be compared
201
+ def eql?(o)
202
+ self == o
203
+ end
204
+
205
+ # Calculates hash code according to all attributes.
206
+ # @return [Integer] Hash code
207
+ def hash
208
+ [in_development, abandoned_dormant, approved_marketed, trial_start_forecast_series, trial_start_forecast_years, recruitment_rollup_series, recruitment_rollup_phase].hash
209
+ end
210
+
211
+ # Builds the object from hash
212
+ # @param [Hash] attributes Model attributes in the form of hash
213
+ # @return [Object] Returns the model itself
214
+ def self.build_from_hash(attributes)
215
+ return nil unless attributes.is_a?(Hash)
216
+ attributes = attributes.transform_keys(&:to_sym)
217
+ transformed_hash = {}
218
+ openapi_types.each_pair do |key, type|
219
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
220
+ transformed_hash["#{key}"] = nil
221
+ elsif type =~ /\AArray<(.*)>/i
222
+ # check to ensure the input is an array given that the attribute
223
+ # is documented as an array but the input is not
224
+ if attributes[attribute_map[key]].is_a?(Array)
225
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
226
+ end
227
+ elsif !attributes[attribute_map[key]].nil?
228
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
229
+ end
230
+ end
231
+ new(transformed_hash)
232
+ end
233
+
234
+ # Deserializes the data based on type
235
+ # @param string type Data type
236
+ # @param string value Value to be deserialized
237
+ # @return [Object] Deserialized data
238
+ def self._deserialize(type, value)
239
+ case type.to_sym
240
+ when :Time
241
+ Time.parse(value)
242
+ when :Date
243
+ Date.parse(value)
244
+ when :String
245
+ value.to_s
246
+ when :Integer
247
+ value.to_i
248
+ when :Float
249
+ value.to_f
250
+ when :Boolean
251
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
252
+ true
253
+ else
254
+ false
255
+ end
256
+ when :Object
257
+ # generic object (usually a Hash), return directly
258
+ value
259
+ when /\AArray<(?<inner_type>.+)>\z/
260
+ inner_type = Regexp.last_match[:inner_type]
261
+ value.map { |v| _deserialize(inner_type, v) }
262
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
263
+ k_type = Regexp.last_match[:k_type]
264
+ v_type = Regexp.last_match[:v_type]
265
+ {}.tap do |hash|
266
+ value.each do |k, v|
267
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
268
+ end
269
+ end
270
+ else # model
271
+ # models (e.g. Pet) or oneOf
272
+ klass = PharmaObservatory.const_get(type)
273
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
274
+ end
275
+ end
276
+
277
+ # Returns the string representation of the object
278
+ # @return [String] String presentation of the object
279
+ def to_s
280
+ to_hash.to_s
281
+ end
282
+
283
+ # to_body is an alias to to_hash (backward compatibility)
284
+ # @return [Hash] Returns the object in the form of hash
285
+ def to_body
286
+ to_hash
287
+ end
288
+
289
+ # Returns the object in the form of hash
290
+ # @return [Hash] Returns the object in the form of hash
291
+ def to_hash
292
+ hash = {}
293
+ self.class.attribute_map.each_pair do |attr, param|
294
+ value = self.send(attr)
295
+ if value.nil?
296
+ is_nullable = self.class.openapi_nullable.include?(attr)
297
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
298
+ end
299
+
300
+ hash[param] = _to_hash(value)
301
+ end
302
+ hash
303
+ end
304
+
305
+ # Outputs non-array value in the form of hash
306
+ # For object, use to_hash. Otherwise, just return the value
307
+ # @param [Object] value Any valid value
308
+ # @return [Hash] Returns the value in the form of hash
309
+ def _to_hash(value)
310
+ if value.is_a?(Array)
311
+ value.compact.map { |v| _to_hash(v) }
312
+ elsif value.is_a?(Hash)
313
+ {}.tap do |hash|
314
+ value.each { |k, v| hash[k] = _to_hash(v) }
315
+ end
316
+ elsif value.respond_to? :to_hash
317
+ value.to_hash
318
+ else
319
+ value
320
+ end
321
+ end
322
+
323
+ end
324
+
325
+ end