pharmaobservatory 0.1.7 → 0.1.8

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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +83 -4
  3. data/docs/BiomarkerAlleleFrequenciesResponse.md +58 -0
  4. data/docs/BiomarkerAlleleFrequenciesRow.md +62 -0
  5. data/docs/BiomarkerAssayProvidersResponse.md +58 -0
  6. data/docs/BiomarkerAssayProvidersRow.md +72 -0
  7. data/docs/BiomarkerEvidenceByYearResponse.md +58 -0
  8. data/docs/BiomarkerEvidenceByYearRow.md +32 -0
  9. data/docs/BiomarkerTraversalStatusResponse.md +58 -0
  10. data/docs/BiomarkerTraversalStatusRow.md +36 -0
  11. data/docs/BiomarkersApi.md +320 -0
  12. data/docs/CompaniesApi.md +1001 -99
  13. data/docs/CompanyAssetsRow.md +5 -1
  14. data/docs/CompanyBiomarkerCapabilityResponse.md +58 -0
  15. data/docs/CompanyBiomarkerCapabilityRow.md +68 -0
  16. data/docs/CompanyProgramsRow.md +5 -1
  17. data/docs/CompanyRareDiseaseDeclarationsResponse.md +58 -0
  18. data/docs/CompanyRareDiseaseDeclarationsRow.md +52 -0
  19. data/docs/GxpFacilitiesRow.md +22 -0
  20. data/docs/LegalEntitiesApi.md +981 -101
  21. data/docs/LegalEntitiesRecordAttributes.md +6 -0
  22. data/docs/LegalEntitySecFilingsResponse.md +58 -0
  23. data/docs/LegalEntitySecFilingsRow.md +44 -0
  24. data/docs/OrgDisclosureTrendResponse.md +58 -0
  25. data/docs/OrgDisclosureTrendRow.md +62 -0
  26. data/docs/OwnershipSourceCoverageResponse.md +58 -0
  27. data/docs/OwnershipSourceCoverageRow.md +62 -0
  28. data/docs/ProgramLicensingCandidatesRow.md +5 -1
  29. data/docs/ProgramsRow.md +1 -1
  30. data/docs/RwdConductorDeliveryResponse.md +58 -0
  31. data/docs/RwdConductorDeliveryRow.md +74 -0
  32. data/docs/RwdConductorFootprintResponse.md +58 -0
  33. data/docs/RwdConductorFootprintRow.md +40 -0
  34. data/docs/RwdConductorStudiesResponse.md +58 -0
  35. data/docs/RwdConductorStudiesRow.md +42 -0
  36. data/docs/RwdConductorsApi.md +393 -0
  37. data/docs/RwdConductorsRecord.md +38 -0
  38. data/docs/RwdConductorsResponse.md +58 -0
  39. data/docs/RwdConductorsRow.md +72 -0
  40. data/docs/RwdInstitutionsApi.md +153 -0
  41. data/docs/RwdInstitutionsRecord.md +38 -0
  42. data/docs/RwdInstitutionsResponse.md +58 -0
  43. data/docs/RwdInstitutionsRow.md +154 -0
  44. data/docs/RwdNetworksApi.md +153 -0
  45. data/docs/RwdNetworksRecord.md +38 -0
  46. data/docs/RwdNetworksResponse.md +58 -0
  47. data/docs/RwdNetworksRow.md +110 -0
  48. data/docs/RwdStudiesApi.md +80 -0
  49. data/docs/SbtiCrosscheckResponse.md +58 -0
  50. data/docs/SbtiCrosscheckRow.md +48 -0
  51. data/docs/SponsorDeliveryResponse.md +58 -0
  52. data/docs/SponsorDeliveryRow.md +52 -0
  53. data/docs/SponsorPatentMentionsResponse.md +58 -0
  54. data/docs/SponsorPatentMentionsRow.md +42 -0
  55. data/docs/SponsorTrialConditionsResponse.md +58 -0
  56. data/docs/SponsorTrialConditionsRow.md +36 -0
  57. data/docs/SponsorTrialDrugsResponse.md +58 -0
  58. data/docs/SponsorTrialDrugsRow.md +34 -0
  59. data/lib/pharmaobservatory/api/biomarkers_api.rb +336 -0
  60. data/lib/pharmaobservatory/api/companies_api.rb +1131 -130
  61. data/lib/pharmaobservatory/api/legal_entities_api.rb +1047 -123
  62. data/lib/pharmaobservatory/api/rwd_conductors_api.rb +413 -0
  63. data/lib/pharmaobservatory/api/rwd_institutions_api.rb +161 -0
  64. data/lib/pharmaobservatory/api/rwd_networks_api.rb +161 -0
  65. data/lib/pharmaobservatory/api/rwd_studies_api.rb +84 -0
  66. data/lib/pharmaobservatory/models/biomarker_allele_frequencies_response.rb +478 -0
  67. data/lib/pharmaobservatory/models/biomarker_allele_frequencies_row.rb +465 -0
  68. data/lib/pharmaobservatory/models/biomarker_assay_providers_response.rb +478 -0
  69. data/lib/pharmaobservatory/models/biomarker_assay_providers_row.rb +520 -0
  70. data/lib/pharmaobservatory/models/biomarker_evidence_by_year_response.rb +478 -0
  71. data/lib/pharmaobservatory/models/biomarker_evidence_by_year_row.rb +300 -0
  72. data/lib/pharmaobservatory/models/biomarker_traversal_status_response.rb +478 -0
  73. data/lib/pharmaobservatory/models/biomarker_traversal_status_row.rb +322 -0
  74. data/lib/pharmaobservatory/models/company_assets_row.rb +24 -2
  75. data/lib/pharmaobservatory/models/company_biomarker_capability_response.rb +478 -0
  76. data/lib/pharmaobservatory/models/company_biomarker_capability_row.rb +498 -0
  77. data/lib/pharmaobservatory/models/company_programs_row.rb +24 -2
  78. data/lib/pharmaobservatory/models/company_rare_disease_declarations_response.rb +478 -0
  79. data/lib/pharmaobservatory/models/company_rare_disease_declarations_row.rb +410 -0
  80. data/lib/pharmaobservatory/models/gxp_facilities_row.rb +122 -1
  81. data/lib/pharmaobservatory/models/legal_entities_record_attributes.rb +28 -1
  82. data/lib/pharmaobservatory/models/legal_entity_sec_filings_response.rb +478 -0
  83. data/lib/pharmaobservatory/models/legal_entity_sec_filings_row.rb +370 -0
  84. data/lib/pharmaobservatory/models/org_disclosure_trend_response.rb +478 -0
  85. data/lib/pharmaobservatory/models/org_disclosure_trend_row.rb +465 -0
  86. data/lib/pharmaobservatory/models/ownership_source_coverage_response.rb +478 -0
  87. data/lib/pharmaobservatory/models/ownership_source_coverage_row.rb +465 -0
  88. data/lib/pharmaobservatory/models/program_licensing_candidates_row.rb +24 -2
  89. data/lib/pharmaobservatory/models/programs_row.rb +1 -1
  90. data/lib/pharmaobservatory/models/rwd_conductor_delivery_response.rb +478 -0
  91. data/lib/pharmaobservatory/models/rwd_conductor_delivery_row.rb +537 -0
  92. data/lib/pharmaobservatory/models/rwd_conductor_footprint_response.rb +478 -0
  93. data/lib/pharmaobservatory/models/rwd_conductor_footprint_row.rb +346 -0
  94. data/lib/pharmaobservatory/models/rwd_conductor_studies_response.rb +478 -0
  95. data/lib/pharmaobservatory/models/rwd_conductor_studies_row.rb +355 -0
  96. data/lib/pharmaobservatory/models/rwd_conductors_record.rb +385 -0
  97. data/lib/pharmaobservatory/models/rwd_conductors_response.rb +478 -0
  98. data/lib/pharmaobservatory/models/rwd_conductors_row.rb +526 -0
  99. data/lib/pharmaobservatory/models/rwd_institutions_record.rb +385 -0
  100. data/lib/pharmaobservatory/models/rwd_institutions_response.rb +478 -0
  101. data/lib/pharmaobservatory/models/rwd_institutions_row.rb +981 -0
  102. data/lib/pharmaobservatory/models/rwd_networks_record.rb +385 -0
  103. data/lib/pharmaobservatory/models/rwd_networks_response.rb +478 -0
  104. data/lib/pharmaobservatory/models/rwd_networks_row.rb +733 -0
  105. data/lib/pharmaobservatory/models/sbti_crosscheck_response.rb +478 -0
  106. data/lib/pharmaobservatory/models/sbti_crosscheck_row.rb +388 -0
  107. data/lib/pharmaobservatory/models/sponsor_delivery_response.rb +478 -0
  108. data/lib/pharmaobservatory/models/sponsor_delivery_row.rb +410 -0
  109. data/lib/pharmaobservatory/models/sponsor_patent_mentions_response.rb +478 -0
  110. data/lib/pharmaobservatory/models/sponsor_patent_mentions_row.rb +355 -0
  111. data/lib/pharmaobservatory/models/sponsor_trial_conditions_response.rb +478 -0
  112. data/lib/pharmaobservatory/models/sponsor_trial_conditions_row.rb +322 -0
  113. data/lib/pharmaobservatory/models/sponsor_trial_drugs_response.rb +478 -0
  114. data/lib/pharmaobservatory/models/sponsor_trial_drugs_row.rb +311 -0
  115. data/lib/pharmaobservatory/version.rb +1 -1
  116. data/lib/pharmaobservatory.rb +46 -0
  117. metadata +94 -2
@@ -0,0 +1,322 @@
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 biomarker_traversal_status dataset: one row per biomarker and traversal. A grouped request returns the group columns and the measures instead, as additional properties.
18
+ class BiomarkerTraversalStatusRow
19
+ # The biomarker's route key, the entry key for the biomarkers object type.
20
+ attr_accessor :route_key
21
+
22
+ # The biomarker's own key.
23
+ attr_accessor :biomarker_id
24
+
25
+ # What kind of biomarker the row describes.
26
+ attr_accessor :biomarker_kind
27
+
28
+ # The traversal.
29
+ attr_accessor :traversal_key
30
+
31
+ # The order the web page lists the traversals in, one to nine.
32
+ attr_accessor :display_order
33
+
34
+ # The traversal's display name.
35
+ attr_accessor :traversal_name
36
+
37
+ # applicable: measured for this kind of biomarker. inapplicable: does not apply to this kind. not_measured: applies in principle but the corpus is not mined for this kind yet.
38
+ attr_accessor :applicability_state
39
+
40
+ # How the traversal reads for this biomarker. direct: its own rows. parent_gene: the variant's gene rows. parent_and_exact: the gene's rows plus the exact variant's. child_variants: the gene's variant children. source_linked: shown when a source assertion resolves to it. bridge_deferred: depends on a bridge that has not landed. none: no traversal.
41
+ attr_accessor :context_mode
42
+
43
+ # The code behind the applicability state and context mode; state_detail is its sentence.
44
+ attr_accessor :reason_code
45
+
46
+ # The sentence the web page prints for the reason code.
47
+ attr_accessor :state_detail
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'route_key' => :'route_key',
53
+ :'biomarker_id' => :'biomarker_id',
54
+ :'biomarker_kind' => :'biomarker_kind',
55
+ :'traversal_key' => :'traversal_key',
56
+ :'display_order' => :'display_order',
57
+ :'traversal_name' => :'traversal_name',
58
+ :'applicability_state' => :'applicability_state',
59
+ :'context_mode' => :'context_mode',
60
+ :'reason_code' => :'reason_code',
61
+ :'state_detail' => :'state_detail'
62
+ }
63
+ end
64
+
65
+ # Returns attribute mapping this model knows about
66
+ def self.acceptable_attribute_map
67
+ attribute_map
68
+ end
69
+
70
+ # Returns all the JSON keys this model knows about
71
+ def self.acceptable_attributes
72
+ acceptable_attribute_map.values
73
+ end
74
+
75
+ # Attribute type mapping.
76
+ def self.openapi_types
77
+ {
78
+ :'route_key' => :'String',
79
+ :'biomarker_id' => :'String',
80
+ :'biomarker_kind' => :'String',
81
+ :'traversal_key' => :'String',
82
+ :'display_order' => :'Integer',
83
+ :'traversal_name' => :'String',
84
+ :'applicability_state' => :'String',
85
+ :'context_mode' => :'String',
86
+ :'reason_code' => :'String',
87
+ :'state_detail' => :'String'
88
+ }
89
+ end
90
+
91
+ # List of attributes with nullable: true
92
+ def self.openapi_nullable
93
+ Set.new([
94
+ :'route_key',
95
+ :'biomarker_id',
96
+ :'biomarker_kind',
97
+ :'traversal_key',
98
+ :'display_order',
99
+ :'traversal_name',
100
+ :'applicability_state',
101
+ :'context_mode',
102
+ :'reason_code',
103
+ :'state_detail'
104
+ ])
105
+ end
106
+
107
+ # Initializes the object
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ def initialize(attributes = {})
110
+ if (!attributes.is_a?(Hash))
111
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::BiomarkerTraversalStatusRow` initialize method"
112
+ end
113
+
114
+ # check to see if the attribute exists and convert string to symbol for hash key
115
+ acceptable_attribute_map = self.class.acceptable_attribute_map
116
+ attributes = attributes.each_with_object({}) { |(k, v), h|
117
+ if (!acceptable_attribute_map.key?(k.to_sym))
118
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::BiomarkerTraversalStatusRow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
119
+ end
120
+ h[k.to_sym] = v
121
+ }
122
+
123
+ if attributes.key?(:'route_key')
124
+ self.route_key = attributes[:'route_key']
125
+ end
126
+
127
+ if attributes.key?(:'biomarker_id')
128
+ self.biomarker_id = attributes[:'biomarker_id']
129
+ end
130
+
131
+ if attributes.key?(:'biomarker_kind')
132
+ self.biomarker_kind = attributes[:'biomarker_kind']
133
+ end
134
+
135
+ if attributes.key?(:'traversal_key')
136
+ self.traversal_key = attributes[:'traversal_key']
137
+ end
138
+
139
+ if attributes.key?(:'display_order')
140
+ self.display_order = attributes[:'display_order']
141
+ end
142
+
143
+ if attributes.key?(:'traversal_name')
144
+ self.traversal_name = attributes[:'traversal_name']
145
+ end
146
+
147
+ if attributes.key?(:'applicability_state')
148
+ self.applicability_state = attributes[:'applicability_state']
149
+ end
150
+
151
+ if attributes.key?(:'context_mode')
152
+ self.context_mode = attributes[:'context_mode']
153
+ end
154
+
155
+ if attributes.key?(:'reason_code')
156
+ self.reason_code = attributes[:'reason_code']
157
+ end
158
+
159
+ if attributes.key?(:'state_detail')
160
+ self.state_detail = attributes[:'state_detail']
161
+ end
162
+ end
163
+
164
+ # Show invalid properties with the reasons. Usually used together with valid?
165
+ # @return Array for valid properties with the reasons
166
+ def list_invalid_properties
167
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
168
+ invalid_properties = Array.new
169
+ invalid_properties
170
+ end
171
+
172
+ # Check to see if the all the properties in the model are valid
173
+ # @return true if the model is valid
174
+ def valid?
175
+ warn '[DEPRECATED] the `valid?` method is obsolete'
176
+ true
177
+ end
178
+
179
+ # Checks equality by comparing each attribute.
180
+ # @param [Object] Object to be compared
181
+ def ==(o)
182
+ return true if self.equal?(o)
183
+ self.class == o.class &&
184
+ route_key == o.route_key &&
185
+ biomarker_id == o.biomarker_id &&
186
+ biomarker_kind == o.biomarker_kind &&
187
+ traversal_key == o.traversal_key &&
188
+ display_order == o.display_order &&
189
+ traversal_name == o.traversal_name &&
190
+ applicability_state == o.applicability_state &&
191
+ context_mode == o.context_mode &&
192
+ reason_code == o.reason_code &&
193
+ state_detail == o.state_detail
194
+ end
195
+
196
+ # @see the `==` method
197
+ # @param [Object] Object to be compared
198
+ def eql?(o)
199
+ self == o
200
+ end
201
+
202
+ # Calculates hash code according to all attributes.
203
+ # @return [Integer] Hash code
204
+ def hash
205
+ [route_key, biomarker_id, biomarker_kind, traversal_key, display_order, traversal_name, applicability_state, context_mode, reason_code, state_detail].hash
206
+ end
207
+
208
+ # Builds the object from hash
209
+ # @param [Hash] attributes Model attributes in the form of hash
210
+ # @return [Object] Returns the model itself
211
+ def self.build_from_hash(attributes)
212
+ return nil unless attributes.is_a?(Hash)
213
+ attributes = attributes.transform_keys(&:to_sym)
214
+ transformed_hash = {}
215
+ openapi_types.each_pair do |key, type|
216
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
217
+ transformed_hash["#{key}"] = nil
218
+ elsif type =~ /\AArray<(.*)>/i
219
+ # check to ensure the input is an array given that the attribute
220
+ # is documented as an array but the input is not
221
+ if attributes[attribute_map[key]].is_a?(Array)
222
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
223
+ end
224
+ elsif !attributes[attribute_map[key]].nil?
225
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
226
+ end
227
+ end
228
+ new(transformed_hash)
229
+ end
230
+
231
+ # Deserializes the data based on type
232
+ # @param string type Data type
233
+ # @param string value Value to be deserialized
234
+ # @return [Object] Deserialized data
235
+ def self._deserialize(type, value)
236
+ case type.to_sym
237
+ when :Time
238
+ Time.parse(value)
239
+ when :Date
240
+ Date.parse(value)
241
+ when :String
242
+ value.to_s
243
+ when :Integer
244
+ value.to_i
245
+ when :Float
246
+ value.to_f
247
+ when :Boolean
248
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
249
+ true
250
+ else
251
+ false
252
+ end
253
+ when :Object
254
+ # generic object (usually a Hash), return directly
255
+ value
256
+ when /\AArray<(?<inner_type>.+)>\z/
257
+ inner_type = Regexp.last_match[:inner_type]
258
+ value.map { |v| _deserialize(inner_type, v) }
259
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
260
+ k_type = Regexp.last_match[:k_type]
261
+ v_type = Regexp.last_match[:v_type]
262
+ {}.tap do |hash|
263
+ value.each do |k, v|
264
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
265
+ end
266
+ end
267
+ else # model
268
+ # models (e.g. Pet) or oneOf
269
+ klass = PharmaObservatory.const_get(type)
270
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
271
+ end
272
+ end
273
+
274
+ # Returns the string representation of the object
275
+ # @return [String] String presentation of the object
276
+ def to_s
277
+ to_hash.to_s
278
+ end
279
+
280
+ # to_body is an alias to to_hash (backward compatibility)
281
+ # @return [Hash] Returns the object in the form of hash
282
+ def to_body
283
+ to_hash
284
+ end
285
+
286
+ # Returns the object in the form of hash
287
+ # @return [Hash] Returns the object in the form of hash
288
+ def to_hash
289
+ hash = {}
290
+ self.class.attribute_map.each_pair do |attr, param|
291
+ value = self.send(attr)
292
+ if value.nil?
293
+ is_nullable = self.class.openapi_nullable.include?(attr)
294
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
295
+ end
296
+
297
+ hash[param] = _to_hash(value)
298
+ end
299
+ hash
300
+ end
301
+
302
+ # Outputs non-array value in the form of hash
303
+ # For object, use to_hash. Otherwise, just return the value
304
+ # @param [Object] value Any valid value
305
+ # @return [Hash] Returns the value in the form of hash
306
+ def _to_hash(value)
307
+ if value.is_a?(Array)
308
+ value.compact.map { |v| _to_hash(v) }
309
+ elsif value.is_a?(Hash)
310
+ {}.tap do |hash|
311
+ value.each { |k, v| hash[k] = _to_hash(v) }
312
+ end
313
+ elsif value.respond_to? :to_hash
314
+ value.to_hash
315
+ else
316
+ value
317
+ end
318
+ end
319
+
320
+ end
321
+
322
+ end
@@ -40,9 +40,15 @@ module PharmaObservatory
40
40
  # The drug's name.
41
41
  attr_accessor :drug_name
42
42
 
43
- # Highest phase the sponsor reached on the drug: 0 early phase 1 through 6 for phase 4 (marketed); -1 when unstated.
43
+ # Highest phase the sponsor reached on the drug on the 0 to 4 scale: 0 not reported, 1 through 4 for phase 1 through phase 4 (4 is marketed); a split phase folds up to its higher phase.
44
44
  attr_accessor :max_phase
45
45
 
46
+ # The furthest phase reached with the split phases kept: Early 1, Phase 1, Phase 1/2, Phase 2, Phase 2/3, Phase 3, Phase 4, or Not reported. max_phase is the same value folded onto 0 to 4 (a split phase counts as its higher phase).
47
+ attr_accessor :max_phase_label
48
+
49
+ # The finest phase rank behind max_phase_label: 6 Phase 4, 5 Phase 3, 4 Phase 2/3, 3 Phase 2, 2 Phase 1/2, 1 Phase 1, 0 Early 1, -1 not reported. Sort on it to order programs by furthest phase with the split phases kept; max_phase is the same value folded onto 0 to 4.
50
+ attr_accessor :max_phase_fine_rank
51
+
46
52
  # Distinct trials this sponsor leads on the drug. Counted once per trial within the sponsor organization, so it is not additive across a company's organizations.
47
53
  attr_accessor :n_trials
48
54
 
@@ -67,6 +73,8 @@ module PharmaObservatory
67
73
  :'drug_id' => :'drug_id',
68
74
  :'drug_name' => :'drug_name',
69
75
  :'max_phase' => :'max_phase',
76
+ :'max_phase_label' => :'max_phase_label',
77
+ :'max_phase_fine_rank' => :'max_phase_fine_rank',
70
78
  :'n_trials' => :'n_trials',
71
79
  :'n_active' => :'n_active',
72
80
  :'last_year' => :'last_year',
@@ -96,6 +104,8 @@ module PharmaObservatory
96
104
  :'drug_id' => :'String',
97
105
  :'drug_name' => :'String',
98
106
  :'max_phase' => :'Integer',
107
+ :'max_phase_label' => :'String',
108
+ :'max_phase_fine_rank' => :'Integer',
99
109
  :'n_trials' => :'Integer',
100
110
  :'n_active' => :'Integer',
101
111
  :'last_year' => :'Integer',
@@ -115,6 +125,8 @@ module PharmaObservatory
115
125
  :'drug_id',
116
126
  :'drug_name',
117
127
  :'max_phase',
128
+ :'max_phase_label',
129
+ :'max_phase_fine_rank',
118
130
  :'n_trials',
119
131
  :'n_active',
120
132
  :'last_year',
@@ -174,6 +186,14 @@ module PharmaObservatory
174
186
  self.max_phase = attributes[:'max_phase']
175
187
  end
176
188
 
189
+ if attributes.key?(:'max_phase_label')
190
+ self.max_phase_label = attributes[:'max_phase_label']
191
+ end
192
+
193
+ if attributes.key?(:'max_phase_fine_rank')
194
+ self.max_phase_fine_rank = attributes[:'max_phase_fine_rank']
195
+ end
196
+
177
197
  if attributes.key?(:'n_trials')
178
198
  self.n_trials = attributes[:'n_trials']
179
199
  end
@@ -220,6 +240,8 @@ module PharmaObservatory
220
240
  drug_id == o.drug_id &&
221
241
  drug_name == o.drug_name &&
222
242
  max_phase == o.max_phase &&
243
+ max_phase_label == o.max_phase_label &&
244
+ max_phase_fine_rank == o.max_phase_fine_rank &&
223
245
  n_trials == o.n_trials &&
224
246
  n_active == o.n_active &&
225
247
  last_year == o.last_year &&
@@ -235,7 +257,7 @@ module PharmaObservatory
235
257
  # Calculates hash code according to all attributes.
236
258
  # @return [Integer] Hash code
237
259
  def hash
238
- [sponsor_org_id, sponsor_name, sponsor_company_id, sponsor_company_name, sponsor_group_id, sponsor_group_name, drug_id, drug_name, max_phase, n_trials, n_active, last_year, withdrawn].hash
260
+ [sponsor_org_id, sponsor_name, sponsor_company_id, sponsor_company_name, sponsor_group_id, sponsor_group_name, drug_id, drug_name, max_phase, max_phase_label, max_phase_fine_rank, n_trials, n_active, last_year, withdrawn].hash
239
261
  end
240
262
 
241
263
  # Builds the object from hash