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,477 @@
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 ApiV1SiteRecordGet200ResponseSitesInner
18
+ attr_accessor :site_key
19
+
20
+ attr_accessor :facility_name
21
+
22
+ attr_accessor :city
23
+
24
+ attr_accessor :state
25
+
26
+ attr_accessor :country
27
+
28
+ attr_accessor :n_trials
29
+
30
+ attr_accessor :n_active
31
+
32
+ attr_accessor :active_years
33
+
34
+ attr_accessor :latitude
35
+
36
+ attr_accessor :longitude
37
+
38
+ attr_accessor :trials
39
+
40
+ attr_accessor :indications
41
+
42
+ attr_accessor :drugs
43
+
44
+ attr_accessor :estimated_enrollment
45
+
46
+ attr_accessor :investigators
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ def self.attribute_map
50
+ {
51
+ :'site_key' => :'site_key',
52
+ :'facility_name' => :'facility_name',
53
+ :'city' => :'city',
54
+ :'state' => :'state',
55
+ :'country' => :'country',
56
+ :'n_trials' => :'n_trials',
57
+ :'n_active' => :'n_active',
58
+ :'active_years' => :'active_years',
59
+ :'latitude' => :'latitude',
60
+ :'longitude' => :'longitude',
61
+ :'trials' => :'trials',
62
+ :'indications' => :'indications',
63
+ :'drugs' => :'drugs',
64
+ :'estimated_enrollment' => :'estimated_enrollment',
65
+ :'investigators' => :'investigators'
66
+ }
67
+ end
68
+
69
+ # Returns attribute mapping this model knows about
70
+ def self.acceptable_attribute_map
71
+ attribute_map
72
+ end
73
+
74
+ # Returns all the JSON keys this model knows about
75
+ def self.acceptable_attributes
76
+ acceptable_attribute_map.values
77
+ end
78
+
79
+ # Attribute type mapping.
80
+ def self.openapi_types
81
+ {
82
+ :'site_key' => :'String',
83
+ :'facility_name' => :'String',
84
+ :'city' => :'String',
85
+ :'state' => :'String',
86
+ :'country' => :'String',
87
+ :'n_trials' => :'Integer',
88
+ :'n_active' => :'Integer',
89
+ :'active_years' => :'ApiV1SiteRecordGet200ResponseSitesInnerActiveYears',
90
+ :'latitude' => :'String',
91
+ :'longitude' => :'String',
92
+ :'trials' => :'Array<ApiV1SiteRecordGet200ResponseSitesInnerTrialsInner>',
93
+ :'indications' => :'Array<ApiV1SiteRecordGet200ResponseSitesInnerIndicationsInner>',
94
+ :'drugs' => :'Array<ApiV1SiteRecordGet200ResponseSitesInnerDrugsInner>',
95
+ :'estimated_enrollment' => :'ApiV1SiteRecordGet200ResponseSitesInnerEstimatedEnrollment',
96
+ :'investigators' => :'Array<ApiV1SiteRecordGet200ResponseSitesInnerInvestigatorsInner>'
97
+ }
98
+ end
99
+
100
+ # List of attributes with nullable: true
101
+ def self.openapi_nullable
102
+ Set.new([
103
+ :'state',
104
+ :'estimated_enrollment',
105
+ ])
106
+ end
107
+
108
+ # Initializes the object
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ def initialize(attributes = {})
111
+ if (!attributes.is_a?(Hash))
112
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::ApiV1SiteRecordGet200ResponseSitesInner` initialize method"
113
+ end
114
+
115
+ # check to see if the attribute exists and convert string to symbol for hash key
116
+ acceptable_attribute_map = self.class.acceptable_attribute_map
117
+ attributes = attributes.each_with_object({}) { |(k, v), h|
118
+ if (!acceptable_attribute_map.key?(k.to_sym))
119
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::ApiV1SiteRecordGet200ResponseSitesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
120
+ end
121
+ h[k.to_sym] = v
122
+ }
123
+
124
+ if attributes.key?(:'site_key')
125
+ self.site_key = attributes[:'site_key']
126
+ else
127
+ self.site_key = nil
128
+ end
129
+
130
+ if attributes.key?(:'facility_name')
131
+ self.facility_name = attributes[:'facility_name']
132
+ else
133
+ self.facility_name = nil
134
+ end
135
+
136
+ if attributes.key?(:'city')
137
+ self.city = attributes[:'city']
138
+ else
139
+ self.city = nil
140
+ end
141
+
142
+ if attributes.key?(:'state')
143
+ self.state = attributes[:'state']
144
+ else
145
+ self.state = nil
146
+ end
147
+
148
+ if attributes.key?(:'country')
149
+ self.country = attributes[:'country']
150
+ else
151
+ self.country = nil
152
+ end
153
+
154
+ if attributes.key?(:'n_trials')
155
+ self.n_trials = attributes[:'n_trials']
156
+ else
157
+ self.n_trials = nil
158
+ end
159
+
160
+ if attributes.key?(:'n_active')
161
+ self.n_active = attributes[:'n_active']
162
+ else
163
+ self.n_active = nil
164
+ end
165
+
166
+ if attributes.key?(:'active_years')
167
+ self.active_years = attributes[:'active_years']
168
+ else
169
+ self.active_years = nil
170
+ end
171
+
172
+ if attributes.key?(:'latitude')
173
+ self.latitude = attributes[:'latitude']
174
+ end
175
+
176
+ if attributes.key?(:'longitude')
177
+ self.longitude = attributes[:'longitude']
178
+ end
179
+
180
+ if attributes.key?(:'trials')
181
+ if (value = attributes[:'trials']).is_a?(Array)
182
+ self.trials = value
183
+ end
184
+ end
185
+
186
+ if attributes.key?(:'indications')
187
+ if (value = attributes[:'indications']).is_a?(Array)
188
+ self.indications = value
189
+ end
190
+ end
191
+
192
+ if attributes.key?(:'drugs')
193
+ if (value = attributes[:'drugs']).is_a?(Array)
194
+ self.drugs = value
195
+ end
196
+ end
197
+
198
+ if attributes.key?(:'estimated_enrollment')
199
+ self.estimated_enrollment = attributes[:'estimated_enrollment']
200
+ end
201
+
202
+ if attributes.key?(:'investigators')
203
+ if (value = attributes[:'investigators']).is_a?(Array)
204
+ self.investigators = value
205
+ end
206
+ end
207
+ end
208
+
209
+ # Show invalid properties with the reasons. Usually used together with valid?
210
+ # @return Array for valid properties with the reasons
211
+ def list_invalid_properties
212
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
213
+ invalid_properties = Array.new
214
+ if @site_key.nil?
215
+ invalid_properties.push('invalid value for "site_key", site_key cannot be nil.')
216
+ end
217
+
218
+ if @facility_name.nil?
219
+ invalid_properties.push('invalid value for "facility_name", facility_name cannot be nil.')
220
+ end
221
+
222
+ if @city.nil?
223
+ invalid_properties.push('invalid value for "city", city cannot be nil.')
224
+ end
225
+
226
+ if @country.nil?
227
+ invalid_properties.push('invalid value for "country", country cannot be nil.')
228
+ end
229
+
230
+ if @n_trials.nil?
231
+ invalid_properties.push('invalid value for "n_trials", n_trials cannot be nil.')
232
+ end
233
+
234
+ if @n_active.nil?
235
+ invalid_properties.push('invalid value for "n_active", n_active cannot be nil.')
236
+ end
237
+
238
+ if @active_years.nil?
239
+ invalid_properties.push('invalid value for "active_years", active_years cannot be nil.')
240
+ end
241
+
242
+ invalid_properties
243
+ end
244
+
245
+ # Check to see if the all the properties in the model are valid
246
+ # @return true if the model is valid
247
+ def valid?
248
+ warn '[DEPRECATED] the `valid?` method is obsolete'
249
+ return false if @site_key.nil?
250
+ return false if @facility_name.nil?
251
+ return false if @city.nil?
252
+ return false if @country.nil?
253
+ return false if @n_trials.nil?
254
+ return false if @n_active.nil?
255
+ return false if @active_years.nil?
256
+ true
257
+ end
258
+
259
+ # Custom attribute writer method with validation
260
+ # @param [Object] site_key Value to be assigned
261
+ def site_key=(site_key)
262
+ if site_key.nil?
263
+ fail ArgumentError, 'site_key cannot be nil'
264
+ end
265
+
266
+ @site_key = site_key
267
+ end
268
+
269
+ # Custom attribute writer method with validation
270
+ # @param [Object] facility_name Value to be assigned
271
+ def facility_name=(facility_name)
272
+ if facility_name.nil?
273
+ fail ArgumentError, 'facility_name cannot be nil'
274
+ end
275
+
276
+ @facility_name = facility_name
277
+ end
278
+
279
+ # Custom attribute writer method with validation
280
+ # @param [Object] city Value to be assigned
281
+ def city=(city)
282
+ if city.nil?
283
+ fail ArgumentError, 'city cannot be nil'
284
+ end
285
+
286
+ @city = city
287
+ end
288
+
289
+ # Custom attribute writer method with validation
290
+ # @param [Object] country Value to be assigned
291
+ def country=(country)
292
+ if country.nil?
293
+ fail ArgumentError, 'country cannot be nil'
294
+ end
295
+
296
+ @country = country
297
+ end
298
+
299
+ # Custom attribute writer method with validation
300
+ # @param [Object] n_trials Value to be assigned
301
+ def n_trials=(n_trials)
302
+ if n_trials.nil?
303
+ fail ArgumentError, 'n_trials cannot be nil'
304
+ end
305
+
306
+ @n_trials = n_trials
307
+ end
308
+
309
+ # Custom attribute writer method with validation
310
+ # @param [Object] n_active Value to be assigned
311
+ def n_active=(n_active)
312
+ if n_active.nil?
313
+ fail ArgumentError, 'n_active cannot be nil'
314
+ end
315
+
316
+ @n_active = n_active
317
+ end
318
+
319
+ # Custom attribute writer method with validation
320
+ # @param [Object] active_years Value to be assigned
321
+ def active_years=(active_years)
322
+ if active_years.nil?
323
+ fail ArgumentError, 'active_years cannot be nil'
324
+ end
325
+
326
+ @active_years = active_years
327
+ end
328
+
329
+ # Checks equality by comparing each attribute.
330
+ # @param [Object] Object to be compared
331
+ def ==(o)
332
+ return true if self.equal?(o)
333
+ self.class == o.class &&
334
+ site_key == o.site_key &&
335
+ facility_name == o.facility_name &&
336
+ city == o.city &&
337
+ state == o.state &&
338
+ country == o.country &&
339
+ n_trials == o.n_trials &&
340
+ n_active == o.n_active &&
341
+ active_years == o.active_years &&
342
+ latitude == o.latitude &&
343
+ longitude == o.longitude &&
344
+ trials == o.trials &&
345
+ indications == o.indications &&
346
+ drugs == o.drugs &&
347
+ estimated_enrollment == o.estimated_enrollment &&
348
+ investigators == o.investigators
349
+ end
350
+
351
+ # @see the `==` method
352
+ # @param [Object] Object to be compared
353
+ def eql?(o)
354
+ self == o
355
+ end
356
+
357
+ # Calculates hash code according to all attributes.
358
+ # @return [Integer] Hash code
359
+ def hash
360
+ [site_key, facility_name, city, state, country, n_trials, n_active, active_years, latitude, longitude, trials, indications, drugs, estimated_enrollment, investigators].hash
361
+ end
362
+
363
+ # Builds the object from hash
364
+ # @param [Hash] attributes Model attributes in the form of hash
365
+ # @return [Object] Returns the model itself
366
+ def self.build_from_hash(attributes)
367
+ return nil unless attributes.is_a?(Hash)
368
+ attributes = attributes.transform_keys(&:to_sym)
369
+ transformed_hash = {}
370
+ openapi_types.each_pair do |key, type|
371
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
372
+ transformed_hash["#{key}"] = nil
373
+ elsif type =~ /\AArray<(.*)>/i
374
+ # check to ensure the input is an array given that the attribute
375
+ # is documented as an array but the input is not
376
+ if attributes[attribute_map[key]].is_a?(Array)
377
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
378
+ end
379
+ elsif !attributes[attribute_map[key]].nil?
380
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
381
+ end
382
+ end
383
+ new(transformed_hash)
384
+ end
385
+
386
+ # Deserializes the data based on type
387
+ # @param string type Data type
388
+ # @param string value Value to be deserialized
389
+ # @return [Object] Deserialized data
390
+ def self._deserialize(type, value)
391
+ case type.to_sym
392
+ when :Time
393
+ Time.parse(value)
394
+ when :Date
395
+ Date.parse(value)
396
+ when :String
397
+ value.to_s
398
+ when :Integer
399
+ value.to_i
400
+ when :Float
401
+ value.to_f
402
+ when :Boolean
403
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
404
+ true
405
+ else
406
+ false
407
+ end
408
+ when :Object
409
+ # generic object (usually a Hash), return directly
410
+ value
411
+ when /\AArray<(?<inner_type>.+)>\z/
412
+ inner_type = Regexp.last_match[:inner_type]
413
+ value.map { |v| _deserialize(inner_type, v) }
414
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
415
+ k_type = Regexp.last_match[:k_type]
416
+ v_type = Regexp.last_match[:v_type]
417
+ {}.tap do |hash|
418
+ value.each do |k, v|
419
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
420
+ end
421
+ end
422
+ else # model
423
+ # models (e.g. Pet) or oneOf
424
+ klass = PharmaObservatory.const_get(type)
425
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
426
+ end
427
+ end
428
+
429
+ # Returns the string representation of the object
430
+ # @return [String] String presentation of the object
431
+ def to_s
432
+ to_hash.to_s
433
+ end
434
+
435
+ # to_body is an alias to to_hash (backward compatibility)
436
+ # @return [Hash] Returns the object in the form of hash
437
+ def to_body
438
+ to_hash
439
+ end
440
+
441
+ # Returns the object in the form of hash
442
+ # @return [Hash] Returns the object in the form of hash
443
+ def to_hash
444
+ hash = {}
445
+ self.class.attribute_map.each_pair do |attr, param|
446
+ value = self.send(attr)
447
+ if value.nil?
448
+ is_nullable = self.class.openapi_nullable.include?(attr)
449
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
450
+ end
451
+
452
+ hash[param] = _to_hash(value)
453
+ end
454
+ hash
455
+ end
456
+
457
+ # Outputs non-array value in the form of hash
458
+ # For object, use to_hash. Otherwise, just return the value
459
+ # @param [Object] value Any valid value
460
+ # @return [Hash] Returns the value in the form of hash
461
+ def _to_hash(value)
462
+ if value.is_a?(Array)
463
+ value.compact.map { |v| _to_hash(v) }
464
+ elsif value.is_a?(Hash)
465
+ {}.tap do |hash|
466
+ value.each { |k, v| hash[k] = _to_hash(v) }
467
+ end
468
+ elsif value.respond_to? :to_hash
469
+ value.to_hash
470
+ else
471
+ value
472
+ end
473
+ end
474
+
475
+ end
476
+
477
+ end
@@ -0,0 +1,235 @@
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 ApiV1SiteRecordGet200ResponseSitesInnerActiveYears
18
+ attr_accessor :first
19
+
20
+ attr_accessor :last
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'first' => :'first',
26
+ :'last' => :'last'
27
+ }
28
+ end
29
+
30
+ # Returns attribute mapping this model knows about
31
+ def self.acceptable_attribute_map
32
+ attribute_map
33
+ end
34
+
35
+ # Returns all the JSON keys this model knows about
36
+ def self.acceptable_attributes
37
+ acceptable_attribute_map.values
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.openapi_types
42
+ {
43
+ :'first' => :'Integer',
44
+ :'last' => :'Integer'
45
+ }
46
+ end
47
+
48
+ # List of attributes with nullable: true
49
+ def self.openapi_nullable
50
+ Set.new([
51
+ :'first',
52
+ :'last'
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::ApiV1SiteRecordGet200ResponseSitesInnerActiveYears` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::ApiV1SiteRecordGet200ResponseSitesInnerActiveYears`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'first')
73
+ self.first = attributes[:'first']
74
+ else
75
+ self.first = nil
76
+ end
77
+
78
+ if attributes.key?(:'last')
79
+ self.last = attributes[:'last']
80
+ else
81
+ self.last = nil
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ invalid_properties
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ def valid?
96
+ warn '[DEPRECATED] the `valid?` method is obsolete'
97
+ true
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ first == o.first &&
106
+ last == o.last
107
+ end
108
+
109
+ # @see the `==` method
110
+ # @param [Object] Object to be compared
111
+ def eql?(o)
112
+ self == o
113
+ end
114
+
115
+ # Calculates hash code according to all attributes.
116
+ # @return [Integer] Hash code
117
+ def hash
118
+ [first, last].hash
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def self.build_from_hash(attributes)
125
+ return nil unless attributes.is_a?(Hash)
126
+ attributes = attributes.transform_keys(&:to_sym)
127
+ transformed_hash = {}
128
+ openapi_types.each_pair do |key, type|
129
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
130
+ transformed_hash["#{key}"] = nil
131
+ elsif type =~ /\AArray<(.*)>/i
132
+ # check to ensure the input is an array given that the attribute
133
+ # is documented as an array but the input is not
134
+ if attributes[attribute_map[key]].is_a?(Array)
135
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
136
+ end
137
+ elsif !attributes[attribute_map[key]].nil?
138
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
139
+ end
140
+ end
141
+ new(transformed_hash)
142
+ end
143
+
144
+ # Deserializes the data based on type
145
+ # @param string type Data type
146
+ # @param string value Value to be deserialized
147
+ # @return [Object] Deserialized data
148
+ def self._deserialize(type, value)
149
+ case type.to_sym
150
+ when :Time
151
+ Time.parse(value)
152
+ when :Date
153
+ Date.parse(value)
154
+ when :String
155
+ value.to_s
156
+ when :Integer
157
+ value.to_i
158
+ when :Float
159
+ value.to_f
160
+ when :Boolean
161
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
162
+ true
163
+ else
164
+ false
165
+ end
166
+ when :Object
167
+ # generic object (usually a Hash), return directly
168
+ value
169
+ when /\AArray<(?<inner_type>.+)>\z/
170
+ inner_type = Regexp.last_match[:inner_type]
171
+ value.map { |v| _deserialize(inner_type, v) }
172
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
173
+ k_type = Regexp.last_match[:k_type]
174
+ v_type = Regexp.last_match[:v_type]
175
+ {}.tap do |hash|
176
+ value.each do |k, v|
177
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
178
+ end
179
+ end
180
+ else # model
181
+ # models (e.g. Pet) or oneOf
182
+ klass = PharmaObservatory.const_get(type)
183
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
184
+ end
185
+ end
186
+
187
+ # Returns the string representation of the object
188
+ # @return [String] String presentation of the object
189
+ def to_s
190
+ to_hash.to_s
191
+ end
192
+
193
+ # to_body is an alias to to_hash (backward compatibility)
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_body
196
+ to_hash
197
+ end
198
+
199
+ # Returns the object in the form of hash
200
+ # @return [Hash] Returns the object in the form of hash
201
+ def to_hash
202
+ hash = {}
203
+ self.class.attribute_map.each_pair do |attr, param|
204
+ value = self.send(attr)
205
+ if value.nil?
206
+ is_nullable = self.class.openapi_nullable.include?(attr)
207
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
208
+ end
209
+
210
+ hash[param] = _to_hash(value)
211
+ end
212
+ hash
213
+ end
214
+
215
+ # Outputs non-array value in the form of hash
216
+ # For object, use to_hash. Otherwise, just return the value
217
+ # @param [Object] value Any valid value
218
+ # @return [Hash] Returns the value in the form of hash
219
+ def _to_hash(value)
220
+ if value.is_a?(Array)
221
+ value.compact.map { |v| _to_hash(v) }
222
+ elsif value.is_a?(Hash)
223
+ {}.tap do |hash|
224
+ value.each { |k, v| hash[k] = _to_hash(v) }
225
+ end
226
+ elsif value.respond_to? :to_hash
227
+ value.to_hash
228
+ else
229
+ value
230
+ end
231
+ end
232
+
233
+ end
234
+
235
+ end