pharmaobservatory 0.1.3 → 0.1.5

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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +105 -4
  3. data/docs/ApiV1WhoamiGet200Response.md +13 -1
  4. data/docs/ApiV1WhoamiGet200ResponseLimits.md +32 -0
  5. data/docs/ApiV1WhoamiGet200ResponseQuota.md +20 -0
  6. data/docs/ApiV1WhoamiGet200ResponseQuotaBuckets.md +28 -0
  7. data/docs/ApiV1WhoamiGet200ResponseQuotaBucketsRequestsPerMinute.md +28 -0
  8. data/docs/BiomarkerBqpAssertionsRow.md +1 -1
  9. data/docs/BiomarkerEvidenceRow.md +1 -1
  10. data/docs/BiomarkerLiteratureRow.md +1 -1
  11. data/docs/BiomarkerRelationsResponse.md +58 -0
  12. data/docs/BiomarkerRelationsRow.md +54 -0
  13. data/docs/BiomarkerSampleCoverageResponse.md +58 -0
  14. data/docs/BiomarkerSampleCoverageRow.md +36 -0
  15. data/docs/BiomarkerSamplePrevalenceResponse.md +58 -0
  16. data/docs/BiomarkerSamplePrevalenceRow.md +56 -0
  17. data/docs/BiomarkerValidationResponse.md +58 -0
  18. data/docs/BiomarkerValidationRow.md +70 -0
  19. data/docs/BiomarkersApi.md +320 -0
  20. data/docs/BiomarkersRow.md +2 -2
  21. data/docs/CellLinesRow.md +1 -1
  22. data/docs/CompaniesApi.md +410 -0
  23. data/docs/CompaniesRecord.md +1 -1
  24. data/docs/CompaniesRecordAttributes.md +18 -0
  25. data/docs/CompaniesRow.md +8 -4
  26. data/docs/CompanyAssetsResponse.md +58 -0
  27. data/docs/CompanyAssetsRow.md +42 -0
  28. data/docs/CompanyFundingEventsResponse.md +58 -0
  29. data/docs/CompanyFundingEventsRow.md +62 -0
  30. data/docs/CompanyFundingSummaryResponse.md +58 -0
  31. data/docs/CompanyFundingSummaryRow.md +46 -0
  32. data/docs/CompanyProgramsRow.md +2 -2
  33. data/docs/ConditionAdverseEventsResponse.md +58 -0
  34. data/docs/ConditionAdverseEventsRow.md +24 -0
  35. data/docs/ConditionBurdenResponse.md +58 -0
  36. data/docs/ConditionBurdenRow.md +32 -0
  37. data/docs/ConditionDeliveryResponse.md +58 -0
  38. data/docs/ConditionDeliveryRow.md +44 -0
  39. data/docs/ConditionDrugsResponse.md +58 -0
  40. data/docs/ConditionDrugsRow.md +26 -0
  41. data/docs/ConditionPrevalenceResponse.md +58 -0
  42. data/docs/ConditionPrevalenceRow.md +62 -0
  43. data/docs/ConditionPublicationsResponse.md +58 -0
  44. data/docs/ConditionPublicationsRow.md +32 -0
  45. data/docs/ConditionSitesResponse.md +58 -0
  46. data/docs/ConditionSitesRow.md +28 -0
  47. data/docs/ConditionTrialsResponse.md +58 -0
  48. data/docs/ConditionTrialsRow.md +60 -0
  49. data/docs/ConditionsApi.md +953 -0
  50. data/docs/ConditionsRecord.md +38 -0
  51. data/docs/ConditionsRecordAttributes.md +20 -0
  52. data/docs/ConditionsResponse.md +58 -0
  53. data/docs/ConditionsRow.md +32 -0
  54. data/docs/DrugPatentCliffRow.md +1 -1
  55. data/docs/InstitutionalHoldingsRow.md +3 -1
  56. data/docs/LegalEntitiesApi.md +160 -0
  57. data/docs/LegalEntitiesRow.md +2 -2
  58. data/docs/OwnershipPositionsResponse.md +58 -0
  59. data/docs/OwnershipPositionsRow.md +100 -0
  60. data/docs/PdufaDatesRow.md +2 -2
  61. data/docs/SiteCroTrialsRow.md +1 -1
  62. data/docs/SiteTrialConditionsRow.md +1 -1
  63. data/docs/SiteTrialDrugsRow.md +1 -1
  64. data/docs/SiteTrialsRow.md +4 -2
  65. data/docs/SponsorRecruitmentByPhaseRow.md +2 -2
  66. data/docs/SponsorRecruitmentDurationRow.md +1 -1
  67. data/docs/SponsorTrialsRow.md +5 -3
  68. data/docs/TrialAdverseEventsResponse.md +58 -0
  69. data/docs/TrialAdverseEventsRow.md +28 -0
  70. data/docs/TrialChangesResponse.md +58 -0
  71. data/docs/TrialChangesRow.md +36 -0
  72. data/docs/TrialDeliveryResponse.md +58 -0
  73. data/docs/TrialDeliveryRow.md +66 -0
  74. data/docs/TrialDemographicsResponse.md +58 -0
  75. data/docs/TrialDemographicsRow.md +32 -0
  76. data/docs/TrialDrugsResponse.md +58 -0
  77. data/docs/TrialDrugsRow.md +30 -0
  78. data/docs/TrialEnrollmentHistoryResponse.md +58 -0
  79. data/docs/TrialEnrollmentHistoryRow.md +36 -0
  80. data/docs/TrialEnrollmentRateResponse.md +58 -0
  81. data/docs/TrialEnrollmentRateRow.md +60 -0
  82. data/docs/TrialExtractedEndpointsResponse.md +58 -0
  83. data/docs/TrialExtractedEndpointsRow.md +40 -0
  84. data/docs/TrialOutcomeMeasuresResponse.md +58 -0
  85. data/docs/TrialOutcomeMeasuresRow.md +28 -0
  86. data/docs/TrialSitesResponse.md +58 -0
  87. data/docs/TrialSitesRow.md +46 -0
  88. data/docs/TrialsApi.md +1033 -0
  89. data/docs/TrialsRecord.md +38 -0
  90. data/docs/TrialsRecordAttributes.md +24 -0
  91. data/docs/TrialsResponse.md +58 -0
  92. data/docs/TrialsRow.md +116 -0
  93. data/lib/pharmaobservatory/api/biomarkers_api.rb +336 -0
  94. data/lib/pharmaobservatory/api/companies_api.rb +455 -0
  95. data/lib/pharmaobservatory/api/conditions_api.rb +1001 -0
  96. data/lib/pharmaobservatory/api/legal_entities_api.rb +168 -0
  97. data/lib/pharmaobservatory/api/trials_api.rb +1085 -0
  98. data/lib/pharmaobservatory/models/api_v1_whoami_get200_response.rb +62 -4
  99. data/lib/pharmaobservatory/models/api_v1_whoami_get200_response_limits.rb +419 -0
  100. data/lib/pharmaobservatory/models/api_v1_whoami_get200_response_quota.rb +263 -0
  101. data/lib/pharmaobservatory/models/api_v1_whoami_get200_response_quota_buckets.rb +367 -0
  102. data/lib/pharmaobservatory/models/api_v1_whoami_get200_response_quota_buckets_requests_per_minute.rb +367 -0
  103. data/lib/pharmaobservatory/models/biomarker_bqp_assertions_row.rb +1 -1
  104. data/lib/pharmaobservatory/models/biomarker_evidence_row.rb +1 -1
  105. data/lib/pharmaobservatory/models/biomarker_literature_row.rb +1 -1
  106. data/lib/pharmaobservatory/models/biomarker_relations_response.rb +478 -0
  107. data/lib/pharmaobservatory/models/biomarker_relations_row.rb +421 -0
  108. data/lib/pharmaobservatory/models/biomarker_sample_coverage_response.rb +478 -0
  109. data/lib/pharmaobservatory/models/biomarker_sample_coverage_row.rb +322 -0
  110. data/lib/pharmaobservatory/models/biomarker_sample_prevalence_response.rb +478 -0
  111. data/lib/pharmaobservatory/models/biomarker_sample_prevalence_row.rb +436 -0
  112. data/lib/pharmaobservatory/models/biomarker_validation_response.rb +478 -0
  113. data/lib/pharmaobservatory/models/biomarker_validation_row.rb +509 -0
  114. data/lib/pharmaobservatory/models/biomarkers_row.rb +2 -2
  115. data/lib/pharmaobservatory/models/cell_lines_row.rb +1 -1
  116. data/lib/pharmaobservatory/models/companies_record.rb +1 -1
  117. data/lib/pharmaobservatory/models/companies_record_attributes.rb +220 -0
  118. data/lib/pharmaobservatory/models/companies_row.rb +30 -8
  119. data/lib/pharmaobservatory/models/company_assets_response.rb +478 -0
  120. data/lib/pharmaobservatory/models/company_assets_row.rb +355 -0
  121. data/lib/pharmaobservatory/models/company_funding_events_response.rb +478 -0
  122. data/lib/pharmaobservatory/models/company_funding_events_row.rb +465 -0
  123. data/lib/pharmaobservatory/models/company_funding_summary_response.rb +478 -0
  124. data/lib/pharmaobservatory/models/company_funding_summary_row.rb +377 -0
  125. data/lib/pharmaobservatory/models/company_programs_row.rb +2 -2
  126. data/lib/pharmaobservatory/models/condition_adverse_events_response.rb +478 -0
  127. data/lib/pharmaobservatory/models/condition_adverse_events_row.rb +256 -0
  128. data/lib/pharmaobservatory/models/condition_burden_response.rb +478 -0
  129. data/lib/pharmaobservatory/models/condition_burden_row.rb +300 -0
  130. data/lib/pharmaobservatory/models/condition_delivery_response.rb +478 -0
  131. data/lib/pharmaobservatory/models/condition_delivery_row.rb +366 -0
  132. data/lib/pharmaobservatory/models/condition_drugs_response.rb +478 -0
  133. data/lib/pharmaobservatory/models/condition_drugs_row.rb +267 -0
  134. data/lib/pharmaobservatory/models/condition_prevalence_response.rb +478 -0
  135. data/lib/pharmaobservatory/models/condition_prevalence_row.rb +465 -0
  136. data/lib/pharmaobservatory/models/condition_publications_response.rb +478 -0
  137. data/lib/pharmaobservatory/models/condition_publications_row.rb +300 -0
  138. data/lib/pharmaobservatory/models/condition_sites_response.rb +478 -0
  139. data/lib/pharmaobservatory/models/condition_sites_row.rb +278 -0
  140. data/lib/pharmaobservatory/models/condition_trials_response.rb +478 -0
  141. data/lib/pharmaobservatory/models/condition_trials_row.rb +454 -0
  142. data/lib/pharmaobservatory/models/conditions_record.rb +385 -0
  143. data/lib/pharmaobservatory/models/conditions_record_attributes.rb +229 -0
  144. data/lib/pharmaobservatory/models/conditions_response.rb +478 -0
  145. data/lib/pharmaobservatory/models/conditions_row.rb +304 -0
  146. data/lib/pharmaobservatory/models/drug_patent_cliff_row.rb +1 -1
  147. data/lib/pharmaobservatory/models/institutional_holdings_row.rb +13 -2
  148. data/lib/pharmaobservatory/models/legal_entities_row.rb +2 -2
  149. data/lib/pharmaobservatory/models/ownership_positions_response.rb +478 -0
  150. data/lib/pharmaobservatory/models/ownership_positions_row.rb +674 -0
  151. data/lib/pharmaobservatory/models/pdufa_dates_row.rb +2 -2
  152. data/lib/pharmaobservatory/models/site_cro_trials_row.rb +1 -1
  153. data/lib/pharmaobservatory/models/site_trial_conditions_row.rb +1 -1
  154. data/lib/pharmaobservatory/models/site_trial_drugs_row.rb +1 -1
  155. data/lib/pharmaobservatory/models/site_trials_row.rb +14 -3
  156. data/lib/pharmaobservatory/models/sponsor_recruitment_by_phase_row.rb +2 -2
  157. data/lib/pharmaobservatory/models/sponsor_recruitment_duration_row.rb +1 -1
  158. data/lib/pharmaobservatory/models/sponsor_trials_row.rb +15 -4
  159. data/lib/pharmaobservatory/models/trial_adverse_events_response.rb +478 -0
  160. data/lib/pharmaobservatory/models/trial_adverse_events_row.rb +278 -0
  161. data/lib/pharmaobservatory/models/trial_changes_response.rb +478 -0
  162. data/lib/pharmaobservatory/models/trial_changes_row.rb +328 -0
  163. data/lib/pharmaobservatory/models/trial_delivery_response.rb +478 -0
  164. data/lib/pharmaobservatory/models/trial_delivery_row.rb +487 -0
  165. data/lib/pharmaobservatory/models/trial_demographics_response.rb +478 -0
  166. data/lib/pharmaobservatory/models/trial_demographics_row.rb +300 -0
  167. data/lib/pharmaobservatory/models/trial_drugs_response.rb +478 -0
  168. data/lib/pharmaobservatory/models/trial_drugs_row.rb +291 -0
  169. data/lib/pharmaobservatory/models/trial_enrollment_history_response.rb +478 -0
  170. data/lib/pharmaobservatory/models/trial_enrollment_history_row.rb +322 -0
  171. data/lib/pharmaobservatory/models/trial_enrollment_rate_response.rb +478 -0
  172. data/lib/pharmaobservatory/models/trial_enrollment_rate_row.rb +454 -0
  173. data/lib/pharmaobservatory/models/trial_extracted_endpoints_response.rb +478 -0
  174. data/lib/pharmaobservatory/models/trial_extracted_endpoints_row.rb +346 -0
  175. data/lib/pharmaobservatory/models/trial_outcome_measures_response.rb +478 -0
  176. data/lib/pharmaobservatory/models/trial_outcome_measures_row.rb +278 -0
  177. data/lib/pharmaobservatory/models/trial_sites_response.rb +478 -0
  178. data/lib/pharmaobservatory/models/trial_sites_row.rb +377 -0
  179. data/lib/pharmaobservatory/models/trials_record.rb +385 -0
  180. data/lib/pharmaobservatory/models/trials_record_attributes.rb +247 -0
  181. data/lib/pharmaobservatory/models/trials_response.rb +478 -0
  182. data/lib/pharmaobservatory/models/trials_row.rb +784 -0
  183. data/lib/pharmaobservatory/version.rb +1 -1
  184. data/lib/pharmaobservatory.rb +67 -0
  185. metadata +136 -2
@@ -0,0 +1,487 @@
1
+ =begin
2
+ #Pharma Observatory Public REST API
3
+
4
+ #Read-only REST API over the Pharma Observatory biomedical data platform. Reference: https://pharmaobservatory.com/api-reference
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.13.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PharmaObservatory
17
+ # One row of the trial_delivery dataset: one row per trial. A grouped request returns the group columns and the measures instead, as additional properties.
18
+ class TrialDeliveryRow
19
+ # The trial's ClinicalTrials.gov registry id (NCT, National Clinical Trial, number).
20
+ attr_accessor :trial_id
21
+
22
+ # The lead sponsor name as filed.
23
+ attr_accessor :lead_sponsor_name
24
+
25
+ # A coarse status label (Recruiting, Completed and so on).
26
+ attr_accessor :overall_status_summary
27
+
28
+ # INTERVENTIONAL, OBSERVATIONAL or EXPANDED_ACCESS.
29
+ attr_accessor :study_type
30
+
31
+ # The registry's phase code (PHASE1, PHASE2, PHASE2/PHASE3, NA and so on). Null when the registry gives no phase (observational and expanded-access trials); phase_label carries the display label for those.
32
+ attr_accessor :phase
33
+
34
+ # The trial phase as a display label (Phase 2, Phase 3, Observational, Not applicable, Expanded access, Unknown). The same trial's phase column holds the registry code.
35
+ attr_accessor :phase_label
36
+
37
+ # Planned enrollment from the earliest snapshot typed ESTIMATED.
38
+ attr_accessor :planned_enrollment
39
+
40
+ # Enrollment from the latest observation typed ACTUAL.
41
+ attr_accessor :actual_enrollment
42
+
43
+ # Enrollment type on the current record (ACTUAL or ESTIMATED).
44
+ attr_accessor :enrollment_type
45
+
46
+ # Actual minus planned enrollment (null without both).
47
+ attr_accessor :enrollment_delta
48
+
49
+ # Actual as a percentage of planned enrollment (null without both).
50
+ attr_accessor :enrollment_attainment_pct
51
+
52
+ # Whether actual enrollment reached the plan (null without both).
53
+ attr_accessor :enrollment_met
54
+
55
+ # Whether a planned and an actual enrollment are both recorded.
56
+ attr_accessor :enrollment_delta_known
57
+
58
+ # Where the planned enrollment came from: history_earliest_estimated, type_estimated_current or none.
59
+ attr_accessor :planned_basis
60
+
61
+ # How the actual enrollment was taken (from the snapshot history, from the current record, or none).
62
+ attr_accessor :actual_basis
63
+
64
+ # Planned primary completion date from the earliest snapshot typed ESTIMATED.
65
+ attr_accessor :planned_primary_completion_date
66
+
67
+ # Primary completion date once typed ACTUAL.
68
+ attr_accessor :actual_primary_completion_date
69
+
70
+ # Planned completion date from the earliest snapshot typed ESTIMATED.
71
+ attr_accessor :planned_completion_date
72
+
73
+ # Completion date once typed ACTUAL.
74
+ attr_accessor :actual_completion_date
75
+
76
+ # ACTUAL (a date that has occurred) or ESTIMATED (a planned date). The registry's older ANTICIPATED is published as ESTIMATED.
77
+ attr_accessor :primary_completion_date_type
78
+
79
+ # ACTUAL (a date that has occurred) or ESTIMATED (a planned date). The registry's older ANTICIPATED is published as ESTIMATED.
80
+ attr_accessor :completion_date_type
81
+
82
+ # Actual minus planned primary completion date; positive is later than planned (null without both).
83
+ attr_accessor :primary_completion_slip_days
84
+
85
+ # Actual minus planned completion date; positive is later than planned (null without both).
86
+ attr_accessor :completion_slip_days
87
+
88
+ # Whether the primary completion came later than planned (null without both).
89
+ attr_accessor :completion_slipped
90
+
91
+ # Whether a planned and an actual primary completion date are both recorded.
92
+ attr_accessor :has_completion_delta
93
+
94
+ # Attribute mapping from ruby-style variable name to JSON key.
95
+ def self.attribute_map
96
+ {
97
+ :'trial_id' => :'trial_id',
98
+ :'lead_sponsor_name' => :'lead_sponsor_name',
99
+ :'overall_status_summary' => :'overall_status_summary',
100
+ :'study_type' => :'study_type',
101
+ :'phase' => :'phase',
102
+ :'phase_label' => :'phase_label',
103
+ :'planned_enrollment' => :'planned_enrollment',
104
+ :'actual_enrollment' => :'actual_enrollment',
105
+ :'enrollment_type' => :'enrollment_type',
106
+ :'enrollment_delta' => :'enrollment_delta',
107
+ :'enrollment_attainment_pct' => :'enrollment_attainment_pct',
108
+ :'enrollment_met' => :'enrollment_met',
109
+ :'enrollment_delta_known' => :'enrollment_delta_known',
110
+ :'planned_basis' => :'planned_basis',
111
+ :'actual_basis' => :'actual_basis',
112
+ :'planned_primary_completion_date' => :'planned_primary_completion_date',
113
+ :'actual_primary_completion_date' => :'actual_primary_completion_date',
114
+ :'planned_completion_date' => :'planned_completion_date',
115
+ :'actual_completion_date' => :'actual_completion_date',
116
+ :'primary_completion_date_type' => :'primary_completion_date_type',
117
+ :'completion_date_type' => :'completion_date_type',
118
+ :'primary_completion_slip_days' => :'primary_completion_slip_days',
119
+ :'completion_slip_days' => :'completion_slip_days',
120
+ :'completion_slipped' => :'completion_slipped',
121
+ :'has_completion_delta' => :'has_completion_delta'
122
+ }
123
+ end
124
+
125
+ # Returns attribute mapping this model knows about
126
+ def self.acceptable_attribute_map
127
+ attribute_map
128
+ end
129
+
130
+ # Returns all the JSON keys this model knows about
131
+ def self.acceptable_attributes
132
+ acceptable_attribute_map.values
133
+ end
134
+
135
+ # Attribute type mapping.
136
+ def self.openapi_types
137
+ {
138
+ :'trial_id' => :'String',
139
+ :'lead_sponsor_name' => :'String',
140
+ :'overall_status_summary' => :'String',
141
+ :'study_type' => :'String',
142
+ :'phase' => :'String',
143
+ :'phase_label' => :'String',
144
+ :'planned_enrollment' => :'Integer',
145
+ :'actual_enrollment' => :'Integer',
146
+ :'enrollment_type' => :'String',
147
+ :'enrollment_delta' => :'Integer',
148
+ :'enrollment_attainment_pct' => :'Float',
149
+ :'enrollment_met' => :'Boolean',
150
+ :'enrollment_delta_known' => :'Boolean',
151
+ :'planned_basis' => :'String',
152
+ :'actual_basis' => :'String',
153
+ :'planned_primary_completion_date' => :'Date',
154
+ :'actual_primary_completion_date' => :'Date',
155
+ :'planned_completion_date' => :'Date',
156
+ :'actual_completion_date' => :'Date',
157
+ :'primary_completion_date_type' => :'String',
158
+ :'completion_date_type' => :'String',
159
+ :'primary_completion_slip_days' => :'Integer',
160
+ :'completion_slip_days' => :'Integer',
161
+ :'completion_slipped' => :'Boolean',
162
+ :'has_completion_delta' => :'Boolean'
163
+ }
164
+ end
165
+
166
+ # List of attributes with nullable: true
167
+ def self.openapi_nullable
168
+ Set.new([
169
+ :'trial_id',
170
+ :'lead_sponsor_name',
171
+ :'overall_status_summary',
172
+ :'study_type',
173
+ :'phase',
174
+ :'phase_label',
175
+ :'planned_enrollment',
176
+ :'actual_enrollment',
177
+ :'enrollment_type',
178
+ :'enrollment_delta',
179
+ :'enrollment_attainment_pct',
180
+ :'enrollment_met',
181
+ :'enrollment_delta_known',
182
+ :'planned_basis',
183
+ :'actual_basis',
184
+ :'planned_primary_completion_date',
185
+ :'actual_primary_completion_date',
186
+ :'planned_completion_date',
187
+ :'actual_completion_date',
188
+ :'primary_completion_date_type',
189
+ :'completion_date_type',
190
+ :'primary_completion_slip_days',
191
+ :'completion_slip_days',
192
+ :'completion_slipped',
193
+ :'has_completion_delta'
194
+ ])
195
+ end
196
+
197
+ # Initializes the object
198
+ # @param [Hash] attributes Model attributes in the form of hash
199
+ def initialize(attributes = {})
200
+ if (!attributes.is_a?(Hash))
201
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::TrialDeliveryRow` initialize method"
202
+ end
203
+
204
+ # check to see if the attribute exists and convert string to symbol for hash key
205
+ acceptable_attribute_map = self.class.acceptable_attribute_map
206
+ attributes = attributes.each_with_object({}) { |(k, v), h|
207
+ if (!acceptable_attribute_map.key?(k.to_sym))
208
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::TrialDeliveryRow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
209
+ end
210
+ h[k.to_sym] = v
211
+ }
212
+
213
+ if attributes.key?(:'trial_id')
214
+ self.trial_id = attributes[:'trial_id']
215
+ end
216
+
217
+ if attributes.key?(:'lead_sponsor_name')
218
+ self.lead_sponsor_name = attributes[:'lead_sponsor_name']
219
+ end
220
+
221
+ if attributes.key?(:'overall_status_summary')
222
+ self.overall_status_summary = attributes[:'overall_status_summary']
223
+ end
224
+
225
+ if attributes.key?(:'study_type')
226
+ self.study_type = attributes[:'study_type']
227
+ end
228
+
229
+ if attributes.key?(:'phase')
230
+ self.phase = attributes[:'phase']
231
+ end
232
+
233
+ if attributes.key?(:'phase_label')
234
+ self.phase_label = attributes[:'phase_label']
235
+ end
236
+
237
+ if attributes.key?(:'planned_enrollment')
238
+ self.planned_enrollment = attributes[:'planned_enrollment']
239
+ end
240
+
241
+ if attributes.key?(:'actual_enrollment')
242
+ self.actual_enrollment = attributes[:'actual_enrollment']
243
+ end
244
+
245
+ if attributes.key?(:'enrollment_type')
246
+ self.enrollment_type = attributes[:'enrollment_type']
247
+ end
248
+
249
+ if attributes.key?(:'enrollment_delta')
250
+ self.enrollment_delta = attributes[:'enrollment_delta']
251
+ end
252
+
253
+ if attributes.key?(:'enrollment_attainment_pct')
254
+ self.enrollment_attainment_pct = attributes[:'enrollment_attainment_pct']
255
+ end
256
+
257
+ if attributes.key?(:'enrollment_met')
258
+ self.enrollment_met = attributes[:'enrollment_met']
259
+ end
260
+
261
+ if attributes.key?(:'enrollment_delta_known')
262
+ self.enrollment_delta_known = attributes[:'enrollment_delta_known']
263
+ end
264
+
265
+ if attributes.key?(:'planned_basis')
266
+ self.planned_basis = attributes[:'planned_basis']
267
+ end
268
+
269
+ if attributes.key?(:'actual_basis')
270
+ self.actual_basis = attributes[:'actual_basis']
271
+ end
272
+
273
+ if attributes.key?(:'planned_primary_completion_date')
274
+ self.planned_primary_completion_date = attributes[:'planned_primary_completion_date']
275
+ end
276
+
277
+ if attributes.key?(:'actual_primary_completion_date')
278
+ self.actual_primary_completion_date = attributes[:'actual_primary_completion_date']
279
+ end
280
+
281
+ if attributes.key?(:'planned_completion_date')
282
+ self.planned_completion_date = attributes[:'planned_completion_date']
283
+ end
284
+
285
+ if attributes.key?(:'actual_completion_date')
286
+ self.actual_completion_date = attributes[:'actual_completion_date']
287
+ end
288
+
289
+ if attributes.key?(:'primary_completion_date_type')
290
+ self.primary_completion_date_type = attributes[:'primary_completion_date_type']
291
+ end
292
+
293
+ if attributes.key?(:'completion_date_type')
294
+ self.completion_date_type = attributes[:'completion_date_type']
295
+ end
296
+
297
+ if attributes.key?(:'primary_completion_slip_days')
298
+ self.primary_completion_slip_days = attributes[:'primary_completion_slip_days']
299
+ end
300
+
301
+ if attributes.key?(:'completion_slip_days')
302
+ self.completion_slip_days = attributes[:'completion_slip_days']
303
+ end
304
+
305
+ if attributes.key?(:'completion_slipped')
306
+ self.completion_slipped = attributes[:'completion_slipped']
307
+ end
308
+
309
+ if attributes.key?(:'has_completion_delta')
310
+ self.has_completion_delta = attributes[:'has_completion_delta']
311
+ end
312
+ end
313
+
314
+ # Show invalid properties with the reasons. Usually used together with valid?
315
+ # @return Array for valid properties with the reasons
316
+ def list_invalid_properties
317
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
318
+ invalid_properties = Array.new
319
+ invalid_properties
320
+ end
321
+
322
+ # Check to see if the all the properties in the model are valid
323
+ # @return true if the model is valid
324
+ def valid?
325
+ warn '[DEPRECATED] the `valid?` method is obsolete'
326
+ true
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
+ trial_id == o.trial_id &&
335
+ lead_sponsor_name == o.lead_sponsor_name &&
336
+ overall_status_summary == o.overall_status_summary &&
337
+ study_type == o.study_type &&
338
+ phase == o.phase &&
339
+ phase_label == o.phase_label &&
340
+ planned_enrollment == o.planned_enrollment &&
341
+ actual_enrollment == o.actual_enrollment &&
342
+ enrollment_type == o.enrollment_type &&
343
+ enrollment_delta == o.enrollment_delta &&
344
+ enrollment_attainment_pct == o.enrollment_attainment_pct &&
345
+ enrollment_met == o.enrollment_met &&
346
+ enrollment_delta_known == o.enrollment_delta_known &&
347
+ planned_basis == o.planned_basis &&
348
+ actual_basis == o.actual_basis &&
349
+ planned_primary_completion_date == o.planned_primary_completion_date &&
350
+ actual_primary_completion_date == o.actual_primary_completion_date &&
351
+ planned_completion_date == o.planned_completion_date &&
352
+ actual_completion_date == o.actual_completion_date &&
353
+ primary_completion_date_type == o.primary_completion_date_type &&
354
+ completion_date_type == o.completion_date_type &&
355
+ primary_completion_slip_days == o.primary_completion_slip_days &&
356
+ completion_slip_days == o.completion_slip_days &&
357
+ completion_slipped == o.completion_slipped &&
358
+ has_completion_delta == o.has_completion_delta
359
+ end
360
+
361
+ # @see the `==` method
362
+ # @param [Object] Object to be compared
363
+ def eql?(o)
364
+ self == o
365
+ end
366
+
367
+ # Calculates hash code according to all attributes.
368
+ # @return [Integer] Hash code
369
+ def hash
370
+ [trial_id, lead_sponsor_name, overall_status_summary, study_type, phase, phase_label, planned_enrollment, actual_enrollment, enrollment_type, enrollment_delta, enrollment_attainment_pct, enrollment_met, enrollment_delta_known, planned_basis, actual_basis, planned_primary_completion_date, actual_primary_completion_date, planned_completion_date, actual_completion_date, primary_completion_date_type, completion_date_type, primary_completion_slip_days, completion_slip_days, completion_slipped, has_completion_delta].hash
371
+ end
372
+
373
+ # Builds the object from hash
374
+ # @param [Hash] attributes Model attributes in the form of hash
375
+ # @return [Object] Returns the model itself
376
+ def self.build_from_hash(attributes)
377
+ return nil unless attributes.is_a?(Hash)
378
+ attributes = attributes.transform_keys(&:to_sym)
379
+ transformed_hash = {}
380
+ openapi_types.each_pair do |key, type|
381
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
382
+ transformed_hash["#{key}"] = nil
383
+ elsif type =~ /\AArray<(.*)>/i
384
+ # check to ensure the input is an array given that the attribute
385
+ # is documented as an array but the input is not
386
+ if attributes[attribute_map[key]].is_a?(Array)
387
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
388
+ end
389
+ elsif !attributes[attribute_map[key]].nil?
390
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
391
+ end
392
+ end
393
+ new(transformed_hash)
394
+ end
395
+
396
+ # Deserializes the data based on type
397
+ # @param string type Data type
398
+ # @param string value Value to be deserialized
399
+ # @return [Object] Deserialized data
400
+ def self._deserialize(type, value)
401
+ case type.to_sym
402
+ when :Time
403
+ Time.parse(value)
404
+ when :Date
405
+ Date.parse(value)
406
+ when :String
407
+ value.to_s
408
+ when :Integer
409
+ value.to_i
410
+ when :Float
411
+ value.to_f
412
+ when :Boolean
413
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
414
+ true
415
+ else
416
+ false
417
+ end
418
+ when :Object
419
+ # generic object (usually a Hash), return directly
420
+ value
421
+ when /\AArray<(?<inner_type>.+)>\z/
422
+ inner_type = Regexp.last_match[:inner_type]
423
+ value.map { |v| _deserialize(inner_type, v) }
424
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
425
+ k_type = Regexp.last_match[:k_type]
426
+ v_type = Regexp.last_match[:v_type]
427
+ {}.tap do |hash|
428
+ value.each do |k, v|
429
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
430
+ end
431
+ end
432
+ else # model
433
+ # models (e.g. Pet) or oneOf
434
+ klass = PharmaObservatory.const_get(type)
435
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
436
+ end
437
+ end
438
+
439
+ # Returns the string representation of the object
440
+ # @return [String] String presentation of the object
441
+ def to_s
442
+ to_hash.to_s
443
+ end
444
+
445
+ # to_body is an alias to to_hash (backward compatibility)
446
+ # @return [Hash] Returns the object in the form of hash
447
+ def to_body
448
+ to_hash
449
+ end
450
+
451
+ # Returns the object in the form of hash
452
+ # @return [Hash] Returns the object in the form of hash
453
+ def to_hash
454
+ hash = {}
455
+ self.class.attribute_map.each_pair do |attr, param|
456
+ value = self.send(attr)
457
+ if value.nil?
458
+ is_nullable = self.class.openapi_nullable.include?(attr)
459
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
460
+ end
461
+
462
+ hash[param] = _to_hash(value)
463
+ end
464
+ hash
465
+ end
466
+
467
+ # Outputs non-array value in the form of hash
468
+ # For object, use to_hash. Otherwise, just return the value
469
+ # @param [Object] value Any valid value
470
+ # @return [Hash] Returns the value in the form of hash
471
+ def _to_hash(value)
472
+ if value.is_a?(Array)
473
+ value.compact.map { |v| _to_hash(v) }
474
+ elsif value.is_a?(Hash)
475
+ {}.tap do |hash|
476
+ value.each { |k, v| hash[k] = _to_hash(v) }
477
+ end
478
+ elsif value.respond_to? :to_hash
479
+ value.to_hash
480
+ else
481
+ value
482
+ end
483
+ end
484
+
485
+ end
486
+
487
+ end