vericred_client 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -6
  3. data/docs/CountyBulk.md +2 -0
  4. data/docs/Plan.md +3 -0
  5. data/docs/PlanSearchResult.md +3 -0
  6. data/docs/PlanShowResponse.md +8 -0
  7. data/docs/PlansApi.md +56 -0
  8. data/docs/ProvidersApi.md +8 -2
  9. data/docs/RequestPlanFind.md +2 -1
  10. data/docs/RequestPlanFindDrugPackage.md +8 -0
  11. data/docs/RequestProvidersSearch.md +1 -0
  12. data/docs/ServiceArea.md +10 -0
  13. data/docs/ServiceAreaZipCounty.md +10 -0
  14. data/lib/vericred_client/api/plans_api.rb +56 -0
  15. data/lib/vericred_client/api/providers_api.rb +6 -0
  16. data/lib/vericred_client/api_client.rb +9 -3
  17. data/lib/vericred_client/configuration.rb +22 -1
  18. data/lib/vericred_client/models/county_bulk.rb +24 -4
  19. data/lib/vericred_client/models/plan.rb +31 -1
  20. data/lib/vericred_client/models/plan_search_result.rb +31 -1
  21. data/lib/vericred_client/models/plan_show_response.rb +307 -0
  22. data/lib/vericred_client/models/request_plan_find.rb +14 -2
  23. data/lib/vericred_client/models/request_plan_find_drug_package.rb +307 -0
  24. data/lib/vericred_client/models/request_providers_search.rb +11 -1
  25. data/lib/vericred_client/models/service_area.rb +327 -0
  26. data/lib/vericred_client/models/{plan_zip_county.rb → service_area_zip_county.rb} +14 -14
  27. data/lib/vericred_client/version.rb +1 -1
  28. data/lib/vericred_client.rb +4 -1
  29. data/spec/api/plans_api_spec.rb +12 -0
  30. data/spec/api/providers_api_spec.rb +2 -0
  31. data/spec/api_client_spec.rb +20 -79
  32. data/spec/configuration_spec.rb +11 -6
  33. data/spec/models/county_bulk_spec.rb +12 -0
  34. data/spec/models/plan_search_result_spec.rb +18 -0
  35. data/spec/models/plan_show_response_spec.rb +160 -0
  36. data/spec/models/plan_spec.rb +18 -0
  37. data/spec/models/request_plan_find_drug_package_spec.rb +160 -0
  38. data/spec/models/request_plan_find_spec.rb +6 -0
  39. data/spec/models/request_providers_search_spec.rb +6 -0
  40. data/spec/models/service_area_spec.rb +172 -0
  41. data/spec/models/{plan_zip_county_spec.rb → service_area_zip_county_spec.rb} +8 -8
  42. metadata +18 -6
  43. data/docs/PlanZipCounty.md +0 -10
@@ -169,6 +169,9 @@ module VericredClient
169
169
  # Diagnostic tests benefit summary
170
170
  attr_accessor :diagnostic_test
171
171
 
172
+ # Alternate name for the Plan
173
+ attr_accessor :display_name
174
+
172
175
  # Is this a domestic plan?
173
176
  attr_accessor :dp_rider
174
177
 
@@ -214,6 +217,9 @@ module VericredClient
214
217
  # Hospice service benefits summary
215
218
  attr_accessor :hospice_service
216
219
 
220
+ # Is the plan HSA eligible?
221
+ attr_accessor :hsa_eligible
222
+
217
223
  # Government-issued HIOS plan ID
218
224
  attr_accessor :id
219
225
 
@@ -316,6 +322,9 @@ module VericredClient
316
322
  # Benefits summary for rehabilitation services
317
323
  attr_accessor :rehabilitation_services
318
324
 
325
+ # Foreign key for service area
326
+ attr_accessor :service_area_id
327
+
319
328
  # Benefits summary for skilled nursing services
320
329
  attr_accessor :skilled_nursing
321
330
 
@@ -344,6 +353,7 @@ module VericredClient
344
353
  :'customer_service_phone_number' => :'customer_service_phone_number',
345
354
  :'durable_medical_equipment' => :'durable_medical_equipment',
346
355
  :'diagnostic_test' => :'diagnostic_test',
356
+ :'display_name' => :'display_name',
347
357
  :'dp_rider' => :'dp_rider',
348
358
  :'drug_formulary_url' => :'drug_formulary_url',
349
359
  :'effective_date' => :'effective_date',
@@ -359,6 +369,7 @@ module VericredClient
359
369
  :'hios_issuer_id' => :'hios_issuer_id',
360
370
  :'home_health_care' => :'home_health_care',
361
371
  :'hospice_service' => :'hospice_service',
372
+ :'hsa_eligible' => :'hsa_eligible',
362
373
  :'id' => :'id',
363
374
  :'imaging' => :'imaging',
364
375
  :'in_network_ids' => :'in_network_ids',
@@ -393,6 +404,7 @@ module VericredClient
393
404
  :'premium' => :'premium',
394
405
  :'primary_care_physician' => :'primary_care_physician',
395
406
  :'rehabilitation_services' => :'rehabilitation_services',
407
+ :'service_area_id' => :'service_area_id',
396
408
  :'skilled_nursing' => :'skilled_nursing',
397
409
  :'specialist' => :'specialist',
398
410
  :'specialty_drugs' => :'specialty_drugs',
@@ -415,6 +427,7 @@ module VericredClient
415
427
  :'customer_service_phone_number' => :'String',
416
428
  :'durable_medical_equipment' => :'String',
417
429
  :'diagnostic_test' => :'String',
430
+ :'display_name' => :'String',
418
431
  :'dp_rider' => :'BOOLEAN',
419
432
  :'drug_formulary_url' => :'String',
420
433
  :'effective_date' => :'String',
@@ -430,6 +443,7 @@ module VericredClient
430
443
  :'hios_issuer_id' => :'String',
431
444
  :'home_health_care' => :'String',
432
445
  :'hospice_service' => :'String',
446
+ :'hsa_eligible' => :'BOOLEAN',
433
447
  :'id' => :'String',
434
448
  :'imaging' => :'String',
435
449
  :'in_network_ids' => :'Array<Integer>',
@@ -464,6 +478,7 @@ module VericredClient
464
478
  :'premium' => :'Float',
465
479
  :'primary_care_physician' => :'String',
466
480
  :'rehabilitation_services' => :'String',
481
+ :'service_area_id' => :'String',
467
482
  :'skilled_nursing' => :'String',
468
483
  :'specialist' => :'String',
469
484
  :'specialty_drugs' => :'String',
@@ -527,6 +542,10 @@ module VericredClient
527
542
  self.diagnostic_test = attributes[:'diagnostic_test']
528
543
  end
529
544
 
545
+ if attributes.has_key?(:'display_name')
546
+ self.display_name = attributes[:'display_name']
547
+ end
548
+
530
549
  if attributes.has_key?(:'dp_rider')
531
550
  self.dp_rider = attributes[:'dp_rider']
532
551
  end
@@ -587,6 +606,10 @@ module VericredClient
587
606
  self.hospice_service = attributes[:'hospice_service']
588
607
  end
589
608
 
609
+ if attributes.has_key?(:'hsa_eligible')
610
+ self.hsa_eligible = attributes[:'hsa_eligible']
611
+ end
612
+
590
613
  if attributes.has_key?(:'id')
591
614
  self.id = attributes[:'id']
592
615
  end
@@ -727,6 +750,10 @@ module VericredClient
727
750
  self.rehabilitation_services = attributes[:'rehabilitation_services']
728
751
  end
729
752
 
753
+ if attributes.has_key?(:'service_area_id')
754
+ self.service_area_id = attributes[:'service_area_id']
755
+ end
756
+
730
757
  if attributes.has_key?(:'skilled_nursing')
731
758
  self.skilled_nursing = attributes[:'skilled_nursing']
732
759
  end
@@ -775,6 +802,7 @@ module VericredClient
775
802
  customer_service_phone_number == o.customer_service_phone_number &&
776
803
  durable_medical_equipment == o.durable_medical_equipment &&
777
804
  diagnostic_test == o.diagnostic_test &&
805
+ display_name == o.display_name &&
778
806
  dp_rider == o.dp_rider &&
779
807
  drug_formulary_url == o.drug_formulary_url &&
780
808
  effective_date == o.effective_date &&
@@ -790,6 +818,7 @@ module VericredClient
790
818
  hios_issuer_id == o.hios_issuer_id &&
791
819
  home_health_care == o.home_health_care &&
792
820
  hospice_service == o.hospice_service &&
821
+ hsa_eligible == o.hsa_eligible &&
793
822
  id == o.id &&
794
823
  imaging == o.imaging &&
795
824
  in_network_ids == o.in_network_ids &&
@@ -824,6 +853,7 @@ module VericredClient
824
853
  premium == o.premium &&
825
854
  primary_care_physician == o.primary_care_physician &&
826
855
  rehabilitation_services == o.rehabilitation_services &&
856
+ service_area_id == o.service_area_id &&
827
857
  skilled_nursing == o.skilled_nursing &&
828
858
  specialist == o.specialist &&
829
859
  specialty_drugs == o.specialty_drugs &&
@@ -839,7 +869,7 @@ module VericredClient
839
869
  # Calculates hash code according to all attributes.
840
870
  # @return [Fixnum] Hash code
841
871
  def hash
842
- [adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eyewear, child_eye_exam, customer_service_phone_number, durable_medical_equipment, diagnostic_test, dp_rider, drug_formulary_url, effective_date, expiration_date, emergency_room, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, id, imaging, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, inpatient_birth, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, level, logo_url, name, network_size, non_preferred_brand_drugs, on_market, off_market, out_of_network_coverage, out_of_network_ids, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_market, plan_type, preferred_brand_drugs, prenatal_postnatal_care, preventative_care, premium_subsidized, premium, primary_care_physician, rehabilitation_services, skilled_nursing, specialist, specialty_drugs, urgent_care].hash
872
+ [adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eyewear, child_eye_exam, customer_service_phone_number, durable_medical_equipment, diagnostic_test, display_name, dp_rider, drug_formulary_url, effective_date, expiration_date, emergency_room, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, imaging, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, inpatient_birth, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, level, logo_url, name, network_size, non_preferred_brand_drugs, on_market, off_market, out_of_network_coverage, out_of_network_ids, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_market, plan_type, preferred_brand_drugs, prenatal_postnatal_care, preventative_care, premium_subsidized, premium, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, specialist, specialty_drugs, urgent_care].hash
843
873
  end
844
874
 
845
875
  # Builds the object from hash
@@ -169,6 +169,9 @@ module VericredClient
169
169
  # Diagnostic tests benefit summary
170
170
  attr_accessor :diagnostic_test
171
171
 
172
+ # Alternate name for the Plan
173
+ attr_accessor :display_name
174
+
172
175
  # Is this a domestic plan?
173
176
  attr_accessor :dp_rider
174
177
 
@@ -214,6 +217,9 @@ module VericredClient
214
217
  # Hospice service benefits summary
215
218
  attr_accessor :hospice_service
216
219
 
220
+ # Is the plan HSA eligible?
221
+ attr_accessor :hsa_eligible
222
+
217
223
  # Government-issued HIOS plan ID
218
224
  attr_accessor :id
219
225
 
@@ -313,6 +319,9 @@ module VericredClient
313
319
  # Benefits summary for rehabilitation services
314
320
  attr_accessor :rehabilitation_services
315
321
 
322
+ # Foreign key for service area
323
+ attr_accessor :service_area_id
324
+
316
325
  # Benefits summary for skilled nursing services
317
326
  attr_accessor :skilled_nursing
318
327
 
@@ -353,6 +362,7 @@ module VericredClient
353
362
  :'customer_service_phone_number' => :'customer_service_phone_number',
354
363
  :'durable_medical_equipment' => :'durable_medical_equipment',
355
364
  :'diagnostic_test' => :'diagnostic_test',
365
+ :'display_name' => :'display_name',
356
366
  :'dp_rider' => :'dp_rider',
357
367
  :'drug_formulary_url' => :'drug_formulary_url',
358
368
  :'effective_date' => :'effective_date',
@@ -368,6 +378,7 @@ module VericredClient
368
378
  :'hios_issuer_id' => :'hios_issuer_id',
369
379
  :'home_health_care' => :'home_health_care',
370
380
  :'hospice_service' => :'hospice_service',
381
+ :'hsa_eligible' => :'hsa_eligible',
371
382
  :'id' => :'id',
372
383
  :'imaging' => :'imaging',
373
384
  :'in_network_ids' => :'in_network_ids',
@@ -401,6 +412,7 @@ module VericredClient
401
412
  :'premium' => :'premium',
402
413
  :'primary_care_physician' => :'primary_care_physician',
403
414
  :'rehabilitation_services' => :'rehabilitation_services',
415
+ :'service_area_id' => :'service_area_id',
404
416
  :'skilled_nursing' => :'skilled_nursing',
405
417
  :'specialist' => :'specialist',
406
418
  :'specialty_drugs' => :'specialty_drugs',
@@ -427,6 +439,7 @@ module VericredClient
427
439
  :'customer_service_phone_number' => :'String',
428
440
  :'durable_medical_equipment' => :'String',
429
441
  :'diagnostic_test' => :'String',
442
+ :'display_name' => :'String',
430
443
  :'dp_rider' => :'BOOLEAN',
431
444
  :'drug_formulary_url' => :'String',
432
445
  :'effective_date' => :'String',
@@ -442,6 +455,7 @@ module VericredClient
442
455
  :'hios_issuer_id' => :'String',
443
456
  :'home_health_care' => :'String',
444
457
  :'hospice_service' => :'String',
458
+ :'hsa_eligible' => :'BOOLEAN',
445
459
  :'id' => :'String',
446
460
  :'imaging' => :'String',
447
461
  :'in_network_ids' => :'Array<Integer>',
@@ -475,6 +489,7 @@ module VericredClient
475
489
  :'premium' => :'Float',
476
490
  :'primary_care_physician' => :'String',
477
491
  :'rehabilitation_services' => :'String',
492
+ :'service_area_id' => :'String',
478
493
  :'skilled_nursing' => :'String',
479
494
  :'specialist' => :'String',
480
495
  :'specialty_drugs' => :'String',
@@ -542,6 +557,10 @@ module VericredClient
542
557
  self.diagnostic_test = attributes[:'diagnostic_test']
543
558
  end
544
559
 
560
+ if attributes.has_key?(:'display_name')
561
+ self.display_name = attributes[:'display_name']
562
+ end
563
+
545
564
  if attributes.has_key?(:'dp_rider')
546
565
  self.dp_rider = attributes[:'dp_rider']
547
566
  end
@@ -602,6 +621,10 @@ module VericredClient
602
621
  self.hospice_service = attributes[:'hospice_service']
603
622
  end
604
623
 
624
+ if attributes.has_key?(:'hsa_eligible')
625
+ self.hsa_eligible = attributes[:'hsa_eligible']
626
+ end
627
+
605
628
  if attributes.has_key?(:'id')
606
629
  self.id = attributes[:'id']
607
630
  end
@@ -738,6 +761,10 @@ module VericredClient
738
761
  self.rehabilitation_services = attributes[:'rehabilitation_services']
739
762
  end
740
763
 
764
+ if attributes.has_key?(:'service_area_id')
765
+ self.service_area_id = attributes[:'service_area_id']
766
+ end
767
+
741
768
  if attributes.has_key?(:'skilled_nursing')
742
769
  self.skilled_nursing = attributes[:'skilled_nursing']
743
770
  end
@@ -802,6 +829,7 @@ module VericredClient
802
829
  customer_service_phone_number == o.customer_service_phone_number &&
803
830
  durable_medical_equipment == o.durable_medical_equipment &&
804
831
  diagnostic_test == o.diagnostic_test &&
832
+ display_name == o.display_name &&
805
833
  dp_rider == o.dp_rider &&
806
834
  drug_formulary_url == o.drug_formulary_url &&
807
835
  effective_date == o.effective_date &&
@@ -817,6 +845,7 @@ module VericredClient
817
845
  hios_issuer_id == o.hios_issuer_id &&
818
846
  home_health_care == o.home_health_care &&
819
847
  hospice_service == o.hospice_service &&
848
+ hsa_eligible == o.hsa_eligible &&
820
849
  id == o.id &&
821
850
  imaging == o.imaging &&
822
851
  in_network_ids == o.in_network_ids &&
@@ -850,6 +879,7 @@ module VericredClient
850
879
  premium == o.premium &&
851
880
  primary_care_physician == o.primary_care_physician &&
852
881
  rehabilitation_services == o.rehabilitation_services &&
882
+ service_area_id == o.service_area_id &&
853
883
  skilled_nursing == o.skilled_nursing &&
854
884
  specialist == o.specialist &&
855
885
  specialty_drugs == o.specialty_drugs &&
@@ -869,7 +899,7 @@ module VericredClient
869
899
  # Calculates hash code according to all attributes.
870
900
  # @return [Fixnum] Hash code
871
901
  def hash
872
- [adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eyewear, child_eye_exam, customer_service_phone_number, durable_medical_equipment, diagnostic_test, dp_rider, drug_formulary_url, effective_date, expiration_date, emergency_room, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, id, imaging, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, inpatient_birth, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, level, logo_url, name, non_preferred_brand_drugs, on_market, off_market, out_of_network_coverage, out_of_network_ids, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_market, plan_type, preferred_brand_drugs, prenatal_postnatal_care, preventative_care, premium_subsidized, premium, primary_care_physician, rehabilitation_services, skilled_nursing, specialist, specialty_drugs, urgent_care, match_percentage, perfect_match_percentage, employee_premium, dependent_premium].hash
902
+ [adult_dental, age29_rider, ambulance, benefits_summary_url, buy_link, carrier_name, child_dental, child_eyewear, child_eye_exam, customer_service_phone_number, durable_medical_equipment, diagnostic_test, display_name, dp_rider, drug_formulary_url, effective_date, expiration_date, emergency_room, family_drug_deductible, family_drug_moop, family_medical_deductible, family_medical_moop, fp_rider, generic_drugs, habilitation_services, hios_issuer_id, home_health_care, hospice_service, hsa_eligible, id, imaging, in_network_ids, individual_drug_deductible, individual_drug_moop, individual_medical_deductible, individual_medical_moop, inpatient_birth, inpatient_facility, inpatient_mental_health, inpatient_physician, inpatient_substance, level, logo_url, name, non_preferred_brand_drugs, on_market, off_market, out_of_network_coverage, out_of_network_ids, outpatient_facility, outpatient_mental_health, outpatient_physician, outpatient_substance, plan_market, plan_type, preferred_brand_drugs, prenatal_postnatal_care, preventative_care, premium_subsidized, premium, primary_care_physician, rehabilitation_services, service_area_id, skilled_nursing, specialist, specialty_drugs, urgent_care, match_percentage, perfect_match_percentage, employee_premium, dependent_premium].hash
873
903
  end
874
904
 
875
905
  # Builds the object from hash
@@ -0,0 +1,307 @@
1
+ =begin
2
+ #Vericred API
3
+
4
+ #Vericred's API allows you to search for Health Plans that a specific doctor
5
+ accepts.
6
+
7
+ ## Getting Started
8
+
9
+ Visit our [Developer Portal](https://vericred.3scale.net) to
10
+ create an account.
11
+
12
+ Once you have created an account, you can create one Application for
13
+ Production and another for our Sandbox (select the appropriate Plan when
14
+ you create the Application).
15
+
16
+ ## Authentication
17
+
18
+ To authenticate, pass the API Key you created in the Developer Portal as
19
+ a `Vericred-Api-Key` header.
20
+
21
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' "https://api.vericred.com/providers?search_term=Foo&zip_code=11215"`
22
+
23
+ ## Versioning
24
+
25
+ Vericred's API default to the latest version. However, if you need a specific
26
+ version, you can request it with an `Accept-Version` header.
27
+
28
+ The current version is `v3`. Previous versions are `v1` and `v2`.
29
+
30
+ `curl -H 'Vericred-Api-Key: YOUR_KEY' -H 'Accept-Version: v2' "https://api.vericred.com/providers?search_term=Foo&zip_code=11215"`
31
+
32
+ ## Pagination
33
+
34
+ Endpoints that accept `page` and `per_page` parameters are paginated. They expose
35
+ four additional fields that contain data about your position in the response,
36
+ namely `Total`, `Per-Page`, `Link`, and `Page` as described in [RFC-5988](https://tools.ietf.org/html/rfc5988).
37
+
38
+ For example, to display 5 results per page and view the second page of a
39
+ `GET` to `/networks`, your final request would be `GET /networks?....page=2&per_page=5`.
40
+
41
+ ## Sideloading
42
+
43
+ When we return multiple levels of an object graph (e.g. `Provider`s and their `State`s
44
+ we sideload the associated data. In this example, we would provide an Array of
45
+ `State`s and a `state_id` for each provider. This is done primarily to reduce the
46
+ payload size since many of the `Provider`s will share a `State`
47
+
48
+ ```
49
+ {
50
+ providers: [{ id: 1, state_id: 1}, { id: 2, state_id: 1 }],
51
+ states: [{ id: 1, code: 'NY' }]
52
+ }
53
+ ```
54
+
55
+ If you need the second level of the object graph, you can just match the
56
+ corresponding id.
57
+
58
+ ## Selecting specific data
59
+
60
+ All endpoints allow you to specify which fields you would like to return.
61
+ This allows you to limit the response to contain only the data you need.
62
+
63
+ For example, let's take a request that returns the following JSON by default
64
+
65
+ ```
66
+ {
67
+ provider: {
68
+ id: 1,
69
+ name: 'John',
70
+ phone: '1234567890',
71
+ field_we_dont_care_about: 'value_we_dont_care_about'
72
+ },
73
+ states: [{
74
+ id: 1,
75
+ name: 'New York',
76
+ code: 'NY',
77
+ field_we_dont_care_about: 'value_we_dont_care_about'
78
+ }]
79
+ }
80
+ ```
81
+
82
+ To limit our results to only return the fields we care about, we specify the
83
+ `select` query string parameter for the corresponding fields in the JSON
84
+ document.
85
+
86
+ In this case, we want to select `name` and `phone` from the `provider` key,
87
+ so we would add the parameters `select=provider.name,provider.phone`.
88
+ We also want the `name` and `code` from the `states` key, so we would
89
+ add the parameters `select=states.name,staes.code`. The id field of
90
+ each document is always returned whether or not it is requested.
91
+
92
+ Our final request would be `GET /providers/12345?select=provider.name,provider.phone,states.name,states.code`
93
+
94
+ The response would be
95
+
96
+ ```
97
+ {
98
+ provider: {
99
+ id: 1,
100
+ name: 'John',
101
+ phone: '1234567890'
102
+ },
103
+ states: [{
104
+ id: 1,
105
+ name: 'New York',
106
+ code: 'NY'
107
+ }]
108
+ }
109
+ ```
110
+
111
+
112
+
113
+ OpenAPI spec version: 1.0.0
114
+
115
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
116
+
117
+ Licensed under the Apache License, Version 2.0 (the "License");
118
+ you may not use this file except in compliance with the License.
119
+ You may obtain a copy of the License at
120
+
121
+ http://www.apache.org/licenses/LICENSE-2.0
122
+
123
+ Unless required by applicable law or agreed to in writing, software
124
+ distributed under the License is distributed on an "AS IS" BASIS,
125
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
126
+ See the License for the specific language governing permissions and
127
+ limitations under the License.
128
+
129
+ =end
130
+
131
+ require 'date'
132
+
133
+ module VericredClient
134
+
135
+ class PlanShowResponse
136
+ # Plan response
137
+ attr_accessor :plan
138
+
139
+
140
+ # Attribute mapping from ruby-style variable name to JSON key.
141
+ def self.attribute_map
142
+ {
143
+ :'plan' => :'plan'
144
+ }
145
+ end
146
+
147
+ # Attribute type mapping.
148
+ def self.swagger_types
149
+ {
150
+ :'plan' => :'Plan'
151
+ }
152
+ end
153
+
154
+ # Initializes the object
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ def initialize(attributes = {})
157
+ return unless attributes.is_a?(Hash)
158
+
159
+ # convert string to symbol for hash key
160
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
161
+
162
+ if attributes.has_key?(:'plan')
163
+ self.plan = attributes[:'plan']
164
+ end
165
+
166
+ end
167
+
168
+ # Show invalid properties with the reasons. Usually used together with valid?
169
+ # @return Array for valid properies with the reasons
170
+ def list_invalid_properties
171
+ invalid_properties = Array.new
172
+ return invalid_properties
173
+ end
174
+
175
+ # Check to see if the all the properties in the model are valid
176
+ # @return true if the model is valid
177
+ def valid?
178
+ return true
179
+ end
180
+
181
+ # Checks equality by comparing each attribute.
182
+ # @param [Object] Object to be compared
183
+ def ==(o)
184
+ return true if self.equal?(o)
185
+ self.class == o.class &&
186
+ plan == o.plan
187
+ end
188
+
189
+ # @see the `==` method
190
+ # @param [Object] Object to be compared
191
+ def eql?(o)
192
+ self == o
193
+ end
194
+
195
+ # Calculates hash code according to all attributes.
196
+ # @return [Fixnum] Hash code
197
+ def hash
198
+ [plan].hash
199
+ end
200
+
201
+ # Builds the object from hash
202
+ # @param [Hash] attributes Model attributes in the form of hash
203
+ # @return [Object] Returns the model itself
204
+ def build_from_hash(attributes)
205
+ return nil unless attributes.is_a?(Hash)
206
+ self.class.swagger_types.each_pair do |key, type|
207
+ if type =~ /^Array<(.*)>/i
208
+ # check to ensure the input is an array given that the the attribute
209
+ # is documented as an array but the input is not
210
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
211
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
212
+ end
213
+ elsif !attributes[self.class.attribute_map[key]].nil?
214
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
215
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
216
+ end
217
+
218
+ self
219
+ end
220
+
221
+ # Deserializes the data based on type
222
+ # @param string type Data type
223
+ # @param string value Value to be deserialized
224
+ # @return [Object] Deserialized data
225
+ def _deserialize(type, value)
226
+ case type.to_sym
227
+ when :DateTime
228
+ DateTime.parse(value)
229
+ when :Date
230
+ Date.parse(value)
231
+ when :String
232
+ value.to_s
233
+ when :Integer
234
+ value.to_i
235
+ when :Float
236
+ value.to_f
237
+ when :BOOLEAN
238
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
239
+ true
240
+ else
241
+ false
242
+ end
243
+ when :Object
244
+ # generic object (usually a Hash), return directly
245
+ value
246
+ when /\AArray<(?<inner_type>.+)>\z/
247
+ inner_type = Regexp.last_match[:inner_type]
248
+ value.map { |v| _deserialize(inner_type, v) }
249
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
250
+ k_type = Regexp.last_match[:k_type]
251
+ v_type = Regexp.last_match[:v_type]
252
+ {}.tap do |hash|
253
+ value.each do |k, v|
254
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
255
+ end
256
+ end
257
+ else # model
258
+ temp_model = VericredClient.const_get(type).new
259
+ temp_model.build_from_hash(value)
260
+ end
261
+ end
262
+
263
+ # Returns the string representation of the object
264
+ # @return [String] String presentation of the object
265
+ def to_s
266
+ to_hash.to_s
267
+ end
268
+
269
+ # to_body is an alias to to_hash (backward compatibility)
270
+ # @return [Hash] Returns the object in the form of hash
271
+ def to_body
272
+ to_hash
273
+ end
274
+
275
+ # Returns the object in the form of hash
276
+ # @return [Hash] Returns the object in the form of hash
277
+ def to_hash
278
+ hash = {}
279
+ self.class.attribute_map.each_pair do |attr, param|
280
+ value = self.send(attr)
281
+ next if value.nil?
282
+ hash[param] = _to_hash(value)
283
+ end
284
+ hash
285
+ end
286
+
287
+ # Outputs non-array value in the form of hash
288
+ # For object, use to_hash. Otherwise, just return the value
289
+ # @param [Object] value Any valid value
290
+ # @return [Hash] Returns the value in the form of hash
291
+ def _to_hash(value)
292
+ if value.is_a?(Array)
293
+ value.compact.map{ |v| _to_hash(v) }
294
+ elsif value.is_a?(Hash)
295
+ {}.tap do |hash|
296
+ value.each { |k, v| hash[k] = _to_hash(v) }
297
+ end
298
+ elsif value.respond_to? :to_hash
299
+ value.to_hash
300
+ else
301
+ value
302
+ end
303
+ end
304
+
305
+ end
306
+
307
+ end
@@ -151,6 +151,9 @@ module VericredClient
151
151
  # Number of people living in household.
152
152
  attr_accessor :household_size
153
153
 
154
+ # List of plan IDs to filter by
155
+ attr_accessor :ids
156
+
154
157
  # Type of plan to search for.
155
158
  attr_accessor :market
156
159
 
@@ -179,6 +182,7 @@ module VericredClient
179
182
  :'fips_code' => :'fips_code',
180
183
  :'household_income' => :'household_income',
181
184
  :'household_size' => :'household_size',
185
+ :'ids' => :'ids',
182
186
  :'market' => :'market',
183
187
  :'providers' => :'providers',
184
188
  :'page' => :'page',
@@ -193,10 +197,11 @@ module VericredClient
193
197
  {
194
198
  :'applicants' => :'Array<RequestPlanFindApplicant>',
195
199
  :'enrollment_date' => :'String',
196
- :'drug_packages' => :'Array<DrugPackage>',
200
+ :'drug_packages' => :'Array<RequestPlanFindDrugPackage>',
197
201
  :'fips_code' => :'String',
198
202
  :'household_income' => :'Integer',
199
203
  :'household_size' => :'Integer',
204
+ :'ids' => :'Array<Integer>',
200
205
  :'market' => :'String',
201
206
  :'providers' => :'Array<RequestPlanFindProvider>',
202
207
  :'page' => :'Integer',
@@ -242,6 +247,12 @@ module VericredClient
242
247
  self.household_size = attributes[:'household_size']
243
248
  end
244
249
 
250
+ if attributes.has_key?(:'ids')
251
+ if (value = attributes[:'ids']).is_a?(Array)
252
+ self.ids = value
253
+ end
254
+ end
255
+
245
256
  if attributes.has_key?(:'market')
246
257
  self.market = attributes[:'market']
247
258
  end
@@ -294,6 +305,7 @@ module VericredClient
294
305
  fips_code == o.fips_code &&
295
306
  household_income == o.household_income &&
296
307
  household_size == o.household_size &&
308
+ ids == o.ids &&
297
309
  market == o.market &&
298
310
  providers == o.providers &&
299
311
  page == o.page &&
@@ -311,7 +323,7 @@ module VericredClient
311
323
  # Calculates hash code according to all attributes.
312
324
  # @return [Fixnum] Hash code
313
325
  def hash
314
- [applicants, enrollment_date, drug_packages, fips_code, household_income, household_size, market, providers, page, per_page, sort, zip_code].hash
326
+ [applicants, enrollment_date, drug_packages, fips_code, household_income, household_size, ids, market, providers, page, per_page, sort, zip_code].hash
315
327
  end
316
328
 
317
329
  # Builds the object from hash