candidhealth 0.27.0 → 0.28.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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/pre_encounter/appointments/client.rb +32 -0
  3. data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +607 -0
  4. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment.rb +257 -0
  5. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_reason.rb +19 -0
  6. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_sort_field.rb +16 -0
  7. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_type.rb +17 -0
  8. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_work_queue.rb +17 -0
  9. data/lib/candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment.rb +203 -0
  10. data/lib/candidhealth/pre_encounter/appointments/v_1/types/service.rb +82 -0
  11. data/lib/candidhealth/pre_encounter/appointments/v_1/types/universal_service_identifier.rb +18 -0
  12. data/lib/candidhealth/pre_encounter/common/types/external_provider.rb +11 -2
  13. data/lib/candidhealth/pre_encounter/common/types/external_provider_type.rb +1 -0
  14. data/lib/candidhealth/pre_encounter/common/types/resource_page.rb +72 -0
  15. data/lib/candidhealth/pre_encounter/common/types/sort_direction.rb +14 -0
  16. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +267 -8
  17. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage.rb +31 -3
  18. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_benefits.rb +88 -0
  19. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_eligibility_check_response.rb +94 -0
  20. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_value.rb +74 -0
  21. data/lib/candidhealth/pre_encounter/coverages/v_1/types/eligibility_check.rb +62 -0
  22. data/lib/candidhealth/pre_encounter/coverages/v_1/types/eligibility_check_metadata.rb +103 -0
  23. data/lib/candidhealth/pre_encounter/coverages/v_1/types/eligibility_check_status.rb +19 -0
  24. data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_type_code.rb +0 -1
  25. data/lib/candidhealth/pre_encounter/coverages/v_1/types/mutable_coverage.rb +31 -3
  26. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_coverage.rb +86 -0
  27. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_coverage_details.rb +124 -0
  28. data/lib/candidhealth/pre_encounter/coverages/v_1/types/service_coverage.rb +98 -0
  29. data/lib/candidhealth/pre_encounter/coverages/v_1/types/service_coverage_details.rb +124 -0
  30. data/lib/candidhealth/pre_encounter/coverages/v_1/types/service_type_code.rb +203 -0
  31. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +108 -24
  32. data/lib/candidhealth/pre_encounter/patients/v_1/types/contact.rb +11 -2
  33. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +4 -2
  34. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient_page.rb +90 -0
  35. data/lib/requests.rb +2 -2
  36. data/lib/types_export.rb +22 -0
  37. metadata +26 -2
@@ -3,6 +3,8 @@
3
3
  require_relative "../../../../requests"
4
4
  require_relative "types/mutable_patient"
5
5
  require_relative "types/patient"
6
+ require_relative "../../common/types/sort_direction"
7
+ require_relative "types/patient_page"
6
8
  require "json"
7
9
  require "date"
8
10
  require "async"
@@ -77,7 +79,7 @@ module CandidApiClient
77
79
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
78
80
  # @example
79
81
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
80
- # api.pre_encounter.patients.v_1.create(request: { name: { }, other_names: [{ }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { }, other_addresses: [{ }], primary_telecom: { }, other_telecoms: [{ }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { }, telecoms: [{ }], addresses: [{ }], period: { } }], general_practitioners: [{ }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
82
+ # api.pre_encounter.patients.v_1.create(request: { name: { }, other_names: [{ }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { }, other_addresses: [{ }], primary_telecom: { }, other_telecoms: [{ }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { }, telecoms: [{ }], addresses: [{ }], period: { }, hipaa_authorization: true }], general_practitioners: [{ }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
81
83
  def create(request:, request_options: nil)
82
84
  response = @request_client.conn.post do |req|
83
85
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -94,6 +96,44 @@ module CandidApiClient
94
96
  CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
95
97
  end
96
98
 
99
+ # Searches for patients that match the query parameters.
100
+ #
101
+ # @param page_token [String]
102
+ # @param limit [Integer]
103
+ # @param sort_field [String]
104
+ # @param sort_direction [CandidApiClient::PreEncounter::Common::Types::SortDirection] Defaults to ascending.
105
+ # @param request_options [CandidApiClient::RequestOptions]
106
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage]
107
+ # @example
108
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
109
+ # api.pre_encounter.patients.v_1.get_multi(
110
+ # page_token: "string",
111
+ # limit: 1,
112
+ # sort_field: "string",
113
+ # sort_direction: ASC
114
+ # )
115
+ def get_multi(page_token: nil, limit: nil, sort_field: nil, sort_direction: nil, request_options: nil)
116
+ response = @request_client.conn.get do |req|
117
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
118
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
119
+ req.headers = {
120
+ **(req.headers || {}),
121
+ **@request_client.get_headers,
122
+ **(request_options&.additional_headers || {})
123
+ }.compact
124
+ req.params = {
125
+ **(request_options&.additional_query_parameters || {}),
126
+ "page_token": page_token,
127
+ "limit": limit,
128
+ "sort_field": sort_field,
129
+ "sort_direction": sort_direction
130
+ }.compact
131
+ req.url "#{@request_client.get_url(environment: PreEncounter,
132
+ request_options: request_options)}/patients/v1/get_multi"
133
+ end
134
+ CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage.from_json(json_object: response.body)
135
+ end
136
+
97
137
  # Gets a patient.
98
138
  #
99
139
  # @param id [String]
@@ -145,8 +185,8 @@ module CandidApiClient
145
185
  end
146
186
  end
147
187
 
148
- # Updates a patient. The path must contain the most recent version to prevent
149
- # races. Updating historic versions is not supported.
188
+ # Updates a patient. The path must contain the most recent version to prevent race
189
+ # conditions. Updating historic versions is not supported.
150
190
  #
151
191
  # @param id [String]
152
192
  # @param version [String]
@@ -206,7 +246,7 @@ module CandidApiClient
206
246
  # api.pre_encounter.patients.v_1.update(
207
247
  # id: "string",
208
248
  # version: "string",
209
- # request: { name: { }, other_names: [{ }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { }, other_addresses: [{ }], primary_telecom: { }, other_telecoms: [{ }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { }, telecoms: [{ }], addresses: [{ }], period: { } }], general_practitioners: [{ }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } }
249
+ # request: { name: { }, other_names: [{ }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { }, other_addresses: [{ }], primary_telecom: { }, other_telecoms: [{ }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { }, telecoms: [{ }], addresses: [{ }], period: { }, hipaa_authorization: true }], general_practitioners: [{ }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } }
210
250
  # )
211
251
  def update(id:, version:, request:, request_options: nil)
212
252
  response = @request_client.conn.put do |req|
@@ -225,9 +265,9 @@ module CandidApiClient
225
265
  end
226
266
 
227
267
  # Sets a patient as deactivated. The path must contain the most recent version to
228
- # prevent races. Dactivating historic versions is not supported. Subsequent
229
- # updates via PUT to the patient will "reactivate" the patient and set the
230
- # deactivated flag to false.
268
+ # prevent race conditions. Deactivating historic versions is not supported.
269
+ # Subsequent updates via PUT to the patient will "reactivate" the patient and set
270
+ # the deactivated flag to false.
231
271
  #
232
272
  # @param id [String]
233
273
  # @param version [String]
@@ -250,15 +290,16 @@ module CandidApiClient
250
290
  end
251
291
  end
252
292
 
253
- # Searches for patients that match the query parameters.
293
+ # Returns a list of Patients based on the search criteria.
254
294
  #
255
- # @param name_contains [String]
295
+ # @param mrn [String]
296
+ # @param similar_name_ordering [String] A string that is used to order similar names in search results.
256
297
  # @param request_options [CandidApiClient::RequestOptions]
257
298
  # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
258
299
  # @example
259
300
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
260
- # api.pre_encounter.patients.v_1.search(name_contains: "string")
261
- def search(name_contains: nil, request_options: nil)
301
+ # api.pre_encounter.patients.v_1.search(mrn: "string", similar_name_ordering: "string")
302
+ def search(mrn: nil, similar_name_ordering: nil, request_options: nil)
262
303
  response = @request_client.conn.get do |req|
263
304
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
264
305
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -269,7 +310,8 @@ module CandidApiClient
269
310
  }.compact
270
311
  req.params = {
271
312
  **(request_options&.additional_query_parameters || {}),
272
- "name_contains": name_contains
313
+ "mrn": mrn,
314
+ "similar_name_ordering": similar_name_ordering
273
315
  }.compact
274
316
  req.url "#{@request_client.get_url(environment: PreEncounter,
275
317
  request_options: request_options)}/patients/v1"
@@ -377,7 +419,7 @@ module CandidApiClient
377
419
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
378
420
  # @example
379
421
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
380
- # api.pre_encounter.patients.v_1.create(request: { name: { }, other_names: [{ }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { }, other_addresses: [{ }], primary_telecom: { }, other_telecoms: [{ }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { }, telecoms: [{ }], addresses: [{ }], period: { } }], general_practitioners: [{ }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
422
+ # api.pre_encounter.patients.v_1.create(request: { name: { }, other_names: [{ }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { }, other_addresses: [{ }], primary_telecom: { }, other_telecoms: [{ }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { }, telecoms: [{ }], addresses: [{ }], period: { }, hipaa_authorization: true }], general_practitioners: [{ }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
381
423
  def create(request:, request_options: nil)
382
424
  Async do
383
425
  response = @request_client.conn.post do |req|
@@ -396,6 +438,46 @@ module CandidApiClient
396
438
  end
397
439
  end
398
440
 
441
+ # Searches for patients that match the query parameters.
442
+ #
443
+ # @param page_token [String]
444
+ # @param limit [Integer]
445
+ # @param sort_field [String]
446
+ # @param sort_direction [CandidApiClient::PreEncounter::Common::Types::SortDirection] Defaults to ascending.
447
+ # @param request_options [CandidApiClient::RequestOptions]
448
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage]
449
+ # @example
450
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
451
+ # api.pre_encounter.patients.v_1.get_multi(
452
+ # page_token: "string",
453
+ # limit: 1,
454
+ # sort_field: "string",
455
+ # sort_direction: ASC
456
+ # )
457
+ def get_multi(page_token: nil, limit: nil, sort_field: nil, sort_direction: nil, request_options: nil)
458
+ Async do
459
+ response = @request_client.conn.get do |req|
460
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
461
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
462
+ req.headers = {
463
+ **(req.headers || {}),
464
+ **@request_client.get_headers,
465
+ **(request_options&.additional_headers || {})
466
+ }.compact
467
+ req.params = {
468
+ **(request_options&.additional_query_parameters || {}),
469
+ "page_token": page_token,
470
+ "limit": limit,
471
+ "sort_field": sort_field,
472
+ "sort_direction": sort_direction
473
+ }.compact
474
+ req.url "#{@request_client.get_url(environment: PreEncounter,
475
+ request_options: request_options)}/patients/v1/get_multi"
476
+ end
477
+ CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage.from_json(json_object: response.body)
478
+ end
479
+ end
480
+
399
481
  # Gets a patient.
400
482
  #
401
483
  # @param id [String]
@@ -451,8 +533,8 @@ module CandidApiClient
451
533
  end
452
534
  end
453
535
 
454
- # Updates a patient. The path must contain the most recent version to prevent
455
- # races. Updating historic versions is not supported.
536
+ # Updates a patient. The path must contain the most recent version to prevent race
537
+ # conditions. Updating historic versions is not supported.
456
538
  #
457
539
  # @param id [String]
458
540
  # @param version [String]
@@ -512,7 +594,7 @@ module CandidApiClient
512
594
  # api.pre_encounter.patients.v_1.update(
513
595
  # id: "string",
514
596
  # version: "string",
515
- # request: { name: { }, other_names: [{ }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { }, other_addresses: [{ }], primary_telecom: { }, other_telecoms: [{ }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { }, telecoms: [{ }], addresses: [{ }], period: { } }], general_practitioners: [{ }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } }
597
+ # request: { name: { }, other_names: [{ }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { }, other_addresses: [{ }], primary_telecom: { }, other_telecoms: [{ }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { }, telecoms: [{ }], addresses: [{ }], period: { }, hipaa_authorization: true }], general_practitioners: [{ }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } }
516
598
  # )
517
599
  def update(id:, version:, request:, request_options: nil)
518
600
  Async do
@@ -533,9 +615,9 @@ module CandidApiClient
533
615
  end
534
616
 
535
617
  # Sets a patient as deactivated. The path must contain the most recent version to
536
- # prevent races. Dactivating historic versions is not supported. Subsequent
537
- # updates via PUT to the patient will "reactivate" the patient and set the
538
- # deactivated flag to false.
618
+ # prevent race conditions. Deactivating historic versions is not supported.
619
+ # Subsequent updates via PUT to the patient will "reactivate" the patient and set
620
+ # the deactivated flag to false.
539
621
  #
540
622
  # @param id [String]
541
623
  # @param version [String]
@@ -560,15 +642,16 @@ module CandidApiClient
560
642
  end
561
643
  end
562
644
 
563
- # Searches for patients that match the query parameters.
645
+ # Returns a list of Patients based on the search criteria.
564
646
  #
565
- # @param name_contains [String]
647
+ # @param mrn [String]
648
+ # @param similar_name_ordering [String] A string that is used to order similar names in search results.
566
649
  # @param request_options [CandidApiClient::RequestOptions]
567
650
  # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
568
651
  # @example
569
652
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
570
- # api.pre_encounter.patients.v_1.search(name_contains: "string")
571
- def search(name_contains: nil, request_options: nil)
653
+ # api.pre_encounter.patients.v_1.search(mrn: "string", similar_name_ordering: "string")
654
+ def search(mrn: nil, similar_name_ordering: nil, request_options: nil)
572
655
  Async do
573
656
  response = @request_client.conn.get do |req|
574
657
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -580,7 +663,8 @@ module CandidApiClient
580
663
  }.compact
581
664
  req.params = {
582
665
  **(request_options&.additional_query_parameters || {}),
583
- "name_contains": name_contains
666
+ "mrn": mrn,
667
+ "similar_name_ordering": similar_name_ordering
584
668
  }.compact
585
669
  req.url "#{@request_client.get_url(environment: PreEncounter,
586
670
  request_options: request_options)}/patients/v1"
@@ -24,6 +24,8 @@ module CandidApiClient
24
24
  attr_reader :addresses
25
25
  # @return [CandidApiClient::PreEncounter::Common::Types::Period]
26
26
  attr_reader :period
27
+ # @return [Boolean]
28
+ attr_reader :hipaa_authorization
27
29
  # @return [OpenStruct] Additional properties unmapped to the current class definition
28
30
  attr_reader :additional_properties
29
31
  # @return [Object]
@@ -37,21 +39,25 @@ module CandidApiClient
37
39
  # @param telecoms [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>]
38
40
  # @param addresses [Array<CandidApiClient::PreEncounter::Common::Types::Address>]
39
41
  # @param period [CandidApiClient::PreEncounter::Common::Types::Period]
42
+ # @param hipaa_authorization [Boolean]
40
43
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
44
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Contact]
42
- def initialize(relationship:, name:, telecoms:, addresses:, period: OMIT, additional_properties: nil)
45
+ def initialize(relationship:, name:, telecoms:, addresses:, period: OMIT, hipaa_authorization: OMIT,
46
+ additional_properties: nil)
43
47
  @relationship = relationship
44
48
  @name = name
45
49
  @telecoms = telecoms
46
50
  @addresses = addresses
47
51
  @period = period if period != OMIT
52
+ @hipaa_authorization = hipaa_authorization if hipaa_authorization != OMIT
48
53
  @additional_properties = additional_properties
49
54
  @_field_set = {
50
55
  "relationship": relationship,
51
56
  "name": name,
52
57
  "telecoms": telecoms,
53
58
  "addresses": addresses,
54
- "period": period
59
+ "period": period,
60
+ "hipaa_authorization": hipaa_authorization
55
61
  }.reject do |_k, v|
56
62
  v == OMIT
57
63
  end
@@ -85,12 +91,14 @@ module CandidApiClient
85
91
  period = parsed_json["period"].to_json
86
92
  period = CandidApiClient::PreEncounter::Common::Types::Period.from_json(json_object: period)
87
93
  end
94
+ hipaa_authorization = struct["hipaa_authorization"]
88
95
  new(
89
96
  relationship: relationship,
90
97
  name: name,
91
98
  telecoms: telecoms,
92
99
  addresses: addresses,
93
100
  period: period,
101
+ hipaa_authorization: hipaa_authorization,
94
102
  additional_properties: struct
95
103
  )
96
104
  end
@@ -114,6 +122,7 @@ module CandidApiClient
114
122
  obj.telecoms.is_a?(Array) != false || raise("Passed value for field obj.telecoms is not the expected type, validation failed.")
115
123
  obj.addresses.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
116
124
  obj.period.nil? || CandidApiClient::PreEncounter::Common::Types::Period.validate_raw(obj: obj.period)
125
+ obj.hipaa_authorization&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_authorization is not the expected type, validation failed.")
117
126
  end
118
127
  end
119
128
  end
@@ -29,7 +29,8 @@ module CandidApiClient
29
29
  # contexts.
30
30
  attr_reader :id
31
31
  # @return [String] The medical record number for the patient. Human-friendly Candid generated MRNs
32
- # are of the form JCH + 8 alphanumeric characters. MRNs are not case-sensitive.
32
+ # are of the form "YYMMDDXXXX", where "YYYYMMDD" is the date of patient creation
33
+ # and "XXXX" is a zero-padded incrementing integer.
33
34
  attr_reader :mrn
34
35
  # @return [String] The organization that owns this patient.
35
36
  attr_reader :organization_id
@@ -108,7 +109,8 @@ module CandidApiClient
108
109
  # @param id [String] The unique UUID identifier for a Patient. Patient ID is used in machine
109
110
  # contexts.
110
111
  # @param mrn [String] The medical record number for the patient. Human-friendly Candid generated MRNs
111
- # are of the form JCH + 8 alphanumeric characters. MRNs are not case-sensitive.
112
+ # are of the form "YYMMDDXXXX", where "YYYYMMDD" is the date of patient creation
113
+ # and "XXXX" is a zero-padded incrementing integer.
112
114
  # @param organization_id [String] The organization that owns this patient.
113
115
  # @param deactivated [Boolean] True if the patient is deactivated. Deactivated patients are not returned in
114
116
  # search results but are returned in all other endpoints including scan.
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "patient"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PreEncounter
9
+ module Patients
10
+ module V1
11
+ module Types
12
+ class PatientPage
13
+ # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
14
+ attr_reader :items
15
+ # @return [String]
16
+ attr_reader :next_page_token
17
+ # @return [String]
18
+ attr_reader :prev_page_token
19
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
20
+ attr_reader :additional_properties
21
+ # @return [Object]
22
+ attr_reader :_field_set
23
+ protected :_field_set
24
+
25
+ OMIT = Object.new
26
+
27
+ # @param items [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
28
+ # @param next_page_token [String]
29
+ # @param prev_page_token [String]
30
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
31
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage]
32
+ def initialize(items:, next_page_token: OMIT, prev_page_token: OMIT, additional_properties: nil)
33
+ @items = items
34
+ @next_page_token = next_page_token if next_page_token != OMIT
35
+ @prev_page_token = prev_page_token if prev_page_token != OMIT
36
+ @additional_properties = additional_properties
37
+ @_field_set = {
38
+ "items": items,
39
+ "next_page_token": next_page_token,
40
+ "prev_page_token": prev_page_token
41
+ }.reject do |_k, v|
42
+ v == OMIT
43
+ end
44
+ end
45
+
46
+ # Deserialize a JSON object to an instance of PatientPage
47
+ #
48
+ # @param json_object [String]
49
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage]
50
+ def self.from_json(json_object:)
51
+ struct = JSON.parse(json_object, object_class: OpenStruct)
52
+ parsed_json = JSON.parse(json_object)
53
+ items = parsed_json["items"]&.map do |item|
54
+ item = item.to_json
55
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: item)
56
+ end
57
+ next_page_token = struct["next_page_token"]
58
+ prev_page_token = struct["prev_page_token"]
59
+ new(
60
+ items: items,
61
+ next_page_token: next_page_token,
62
+ prev_page_token: prev_page_token,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+
67
+ # Serialize an instance of PatientPage to a JSON object
68
+ #
69
+ # @return [String]
70
+ def to_json(*_args)
71
+ @_field_set&.to_json
72
+ end
73
+
74
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
75
+ # hash and check each fields type against the current object's property
76
+ # definitions.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Void]
80
+ def self.validate_raw(obj:)
81
+ obj.items.is_a?(Array) != false || raise("Passed value for field obj.items is not the expected type, validation failed.")
82
+ obj.next_page_token&.is_a?(String) != false || raise("Passed value for field obj.next_page_token is not the expected type, validation failed.")
83
+ obj.prev_page_token&.is_a?(String) != false || raise("Passed value for field obj.prev_page_token is not the expected type, validation failed.")
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
data/lib/requests.rb CHANGED
@@ -43,7 +43,7 @@ module CandidApiClient
43
43
 
44
44
  # @return [Hash{String => String}]
45
45
  def get_headers
46
- headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.27.0" }
46
+ headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.28.0" }
47
47
  headers["Authorization"] = ((@token.is_a? Method) ? @token.call : @token) unless token.nil?
48
48
  headers
49
49
  end
@@ -87,7 +87,7 @@ module CandidApiClient
87
87
 
88
88
  # @return [Hash{String => String}]
89
89
  def get_headers
90
- headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.27.0" }
90
+ headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.28.0" }
91
91
  headers["Authorization"] = ((@token.is_a? Method) ? @token.call : @token) unless token.nil?
92
92
  headers
93
93
  end
data/lib/types_export.rb CHANGED
@@ -252,6 +252,24 @@ require_relative "candidhealth/x_12/v_1/types/claim_adjustment_reason_code"
252
252
  require_relative "candidhealth/x_12/v_1/types/remittance_advice_remark_code"
253
253
  require_relative "candidhealth/x_12/v_1/types/carc"
254
254
  require_relative "candidhealth/x_12/v_1/types/rarc"
255
+ require_relative "candidhealth/pre_encounter/appointments/v_1/types/appointment_work_queue"
256
+ require_relative "candidhealth/pre_encounter/appointments/v_1/types/appointment_sort_field"
257
+ require_relative "candidhealth/pre_encounter/appointments/v_1/types/universal_service_identifier"
258
+ require_relative "candidhealth/pre_encounter/appointments/v_1/types/appointment_reason"
259
+ require_relative "candidhealth/pre_encounter/appointments/v_1/types/appointment_type"
260
+ require_relative "candidhealth/pre_encounter/appointments/v_1/types/service"
261
+ require_relative "candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment"
262
+ require_relative "candidhealth/pre_encounter/appointments/v_1/types/appointment"
263
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/eligibility_check_metadata"
264
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/coverage_eligibility_check_response"
265
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/eligibility_check"
266
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/eligibility_check_status"
267
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/coverage_value"
268
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/coverage_benefits"
269
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/plan_coverage"
270
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/plan_coverage_details"
271
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/service_coverage"
272
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/service_coverage_details"
255
273
  require_relative "candidhealth/pre_encounter/coverages/v_1/types/subscriber"
256
274
  require_relative "candidhealth/pre_encounter/coverages/v_1/types/coverage_status"
257
275
  require_relative "candidhealth/pre_encounter/coverages/v_1/types/network_type"
@@ -259,12 +277,14 @@ require_relative "candidhealth/pre_encounter/coverages/v_1/types/insurance_plan"
259
277
  require_relative "candidhealth/pre_encounter/coverages/v_1/types/mutable_coverage"
260
278
  require_relative "candidhealth/pre_encounter/coverages/v_1/types/coverage"
261
279
  require_relative "candidhealth/pre_encounter/coverages/v_1/types/insurance_type_code"
280
+ require_relative "candidhealth/pre_encounter/coverages/v_1/types/service_type_code"
262
281
  require_relative "candidhealth/pre_encounter/patients/v_1/types/marital_status"
263
282
  require_relative "candidhealth/pre_encounter/patients/v_1/types/external_provenance"
264
283
  require_relative "candidhealth/pre_encounter/patients/v_1/types/contact"
265
284
  require_relative "candidhealth/pre_encounter/patients/v_1/types/filing_order"
266
285
  require_relative "candidhealth/pre_encounter/patients/v_1/types/mutable_patient"
267
286
  require_relative "candidhealth/pre_encounter/patients/v_1/types/patient"
287
+ require_relative "candidhealth/pre_encounter/patients/v_1/types/patient_page"
268
288
  require_relative "candidhealth/claims/types/claim"
269
289
  require_relative "candidhealth/claims/types/claim_status"
270
290
  require_relative "candidhealth/commons/types/primitive"
@@ -366,8 +386,10 @@ require_relative "candidhealth/pre_encounter/common/types/address"
366
386
  require_relative "candidhealth/pre_encounter/common/types/period"
367
387
  require_relative "candidhealth/pre_encounter/common/types/contact_point_use"
368
388
  require_relative "candidhealth/pre_encounter/common/types/contact_point"
389
+ require_relative "candidhealth/pre_encounter/common/types/resource_page"
369
390
  require_relative "candidhealth/pre_encounter/common/types/error_base"
370
391
  require_relative "candidhealth/pre_encounter/common/types/not_found_error_body"
371
392
  require_relative "candidhealth/pre_encounter/common/types/version_conflict_error_body"
372
393
  require_relative "candidhealth/pre_encounter/common/types/external_provider_type"
373
394
  require_relative "candidhealth/pre_encounter/common/types/external_provider"
395
+ require_relative "candidhealth/pre_encounter/common/types/sort_direction"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: candidhealth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.0
4
+ version: 0.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-16 00:00:00.000000000 Z
11
+ date: 2024-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-http-faraday
@@ -412,6 +412,16 @@ files:
412
412
  - lib/candidhealth/payers/v_3/types/payer_identifier.rb
413
413
  - lib/candidhealth/payers/v_3/types/payer_info.rb
414
414
  - lib/candidhealth/payers/v_3/types/payer_page.rb
415
+ - lib/candidhealth/pre_encounter/appointments/client.rb
416
+ - lib/candidhealth/pre_encounter/appointments/v_1/client.rb
417
+ - lib/candidhealth/pre_encounter/appointments/v_1/types/appointment.rb
418
+ - lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_reason.rb
419
+ - lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_sort_field.rb
420
+ - lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_type.rb
421
+ - lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_work_queue.rb
422
+ - lib/candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment.rb
423
+ - lib/candidhealth/pre_encounter/appointments/v_1/types/service.rb
424
+ - lib/candidhealth/pre_encounter/appointments/v_1/types/universal_service_identifier.rb
415
425
  - lib/candidhealth/pre_encounter/client.rb
416
426
  - lib/candidhealth/pre_encounter/common/types/address.rb
417
427
  - lib/candidhealth/pre_encounter/common/types/address_use.rb
@@ -429,17 +439,30 @@ files:
429
439
  - lib/candidhealth/pre_encounter/common/types/period.rb
430
440
  - lib/candidhealth/pre_encounter/common/types/race.rb
431
441
  - lib/candidhealth/pre_encounter/common/types/relationship.rb
442
+ - lib/candidhealth/pre_encounter/common/types/resource_page.rb
432
443
  - lib/candidhealth/pre_encounter/common/types/sex.rb
433
444
  - lib/candidhealth/pre_encounter/common/types/sexual_orientation.rb
445
+ - lib/candidhealth/pre_encounter/common/types/sort_direction.rb
434
446
  - lib/candidhealth/pre_encounter/common/types/version_conflict_error_body.rb
435
447
  - lib/candidhealth/pre_encounter/coverages/client.rb
436
448
  - lib/candidhealth/pre_encounter/coverages/v_1/client.rb
437
449
  - lib/candidhealth/pre_encounter/coverages/v_1/types/coverage.rb
450
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_benefits.rb
451
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_eligibility_check_response.rb
438
452
  - lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_status.rb
453
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_value.rb
454
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/eligibility_check.rb
455
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/eligibility_check_metadata.rb
456
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/eligibility_check_status.rb
439
457
  - lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_plan.rb
440
458
  - lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_type_code.rb
441
459
  - lib/candidhealth/pre_encounter/coverages/v_1/types/mutable_coverage.rb
442
460
  - lib/candidhealth/pre_encounter/coverages/v_1/types/network_type.rb
461
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/plan_coverage.rb
462
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/plan_coverage_details.rb
463
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/service_coverage.rb
464
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/service_coverage_details.rb
465
+ - lib/candidhealth/pre_encounter/coverages/v_1/types/service_type_code.rb
443
466
  - lib/candidhealth/pre_encounter/coverages/v_1/types/subscriber.rb
444
467
  - lib/candidhealth/pre_encounter/patients/client.rb
445
468
  - lib/candidhealth/pre_encounter/patients/v_1/client.rb
@@ -449,6 +472,7 @@ files:
449
472
  - lib/candidhealth/pre_encounter/patients/v_1/types/marital_status.rb
450
473
  - lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb
451
474
  - lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb
475
+ - lib/candidhealth/pre_encounter/patients/v_1/types/patient_page.rb
452
476
  - lib/candidhealth/remits/v_1/types/payee.rb
453
477
  - lib/candidhealth/remits/v_1/types/payee_identifier.rb
454
478
  - lib/candidhealth/service_facility/client.rb