candidhealth 1.5.0 → 1.7.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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/auth/default/client.rb +46 -0
  3. data/lib/candidhealth/credentialing/v_2/client.rb +342 -8
  4. data/lib/candidhealth/credentialing/v_2/types/base_credentialing_span.rb +143 -0
  5. data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span.rb +165 -0
  6. data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span_page.rb +88 -0
  7. data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span.rb +34 -34
  8. data/lib/candidhealth/health_care_code_information/client.rb +30 -0
  9. data/lib/candidhealth/health_care_code_information/v_1/client.rb +268 -0
  10. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis.rb +236 -0
  11. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_code_qualifier.rb +14 -0
  12. data/lib/candidhealth/health_care_code_information/v_1/types/code_list_qualifier_code.rb +1068 -0
  13. data/lib/candidhealth/health_care_code_information/v_1/types/condition_code.rb +71 -0
  14. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information.rb +237 -0
  15. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_code_qualifier.rb +13 -0
  16. data/lib/candidhealth/health_care_code_information/v_1/types/date_time_period_format_qualifier.rb +54 -0
  17. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group.rb +236 -0
  18. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_code_qualifier.rb +13 -0
  19. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury.rb +245 -0
  20. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_code_qualifier.rb +14 -0
  21. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information.rb +218 -0
  22. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_get_all_response.rb +227 -0
  23. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_new.rb +188 -0
  24. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_update.rb +225 -0
  25. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_code.rb +71 -0
  26. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information.rb +249 -0
  27. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_code_qualifier.rb +13 -0
  28. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code.rb +25 -0
  29. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code_qualifier.rb +13 -0
  30. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information.rb +252 -0
  31. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information.rb +245 -0
  32. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_code_qualifier.rb +14 -0
  33. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information.rb +248 -0
  34. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_code_qualifier.rb +14 -0
  35. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit.rb +236 -0
  36. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_code_qualifier.rb +14 -0
  37. data/lib/candidhealth/health_care_code_information/v_1/types/present_on_admission_indicator_code.rb +17 -0
  38. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis.rb +245 -0
  39. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_code_qualifier.rb +14 -0
  40. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information.rb +246 -0
  41. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_code_qualifier.rb +15 -0
  42. data/lib/candidhealth/health_care_code_information/v_1/types/rd_8_date.rb +72 -0
  43. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_admitting_diagnosis.rb +69 -0
  44. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_diagnosis_related_group.rb +69 -0
  45. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_diagnosis.rb +69 -0
  46. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_procedure_information.rb +71 -0
  47. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information.rb +236 -0
  48. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_qualifier.rb +13 -0
  49. data/lib/candidhealth/health_care_code_information/v_1/types/value_code.rb +119 -0
  50. data/lib/candidhealth/health_care_code_information/v_1/types/value_code_qualifier.rb +13 -0
  51. data/lib/candidhealth/health_care_code_information/v_1/types/value_information.rb +245 -0
  52. data/lib/candidhealth/patient_ar/client.rb +30 -0
  53. data/lib/candidhealth/patient_ar/v_1/client.rb +161 -0
  54. data/lib/candidhealth/patient_ar/v_1/types/insurance_adjustment_info.rb +60 -0
  55. data/lib/candidhealth/patient_ar/v_1/types/insurance_payment_info.rb +60 -0
  56. data/lib/candidhealth/patient_ar/v_1/types/invalid_filters_error_type.rb +60 -0
  57. data/lib/candidhealth/patient_ar/v_1/types/inventory_record.rb +101 -0
  58. data/lib/candidhealth/patient_ar/v_1/types/invoice_itemization_response.rb +103 -0
  59. data/lib/candidhealth/patient_ar/v_1/types/list_inventory_paged_response.rb +77 -0
  60. data/lib/candidhealth/patient_ar/v_1/types/non_insurance_adjustment_info.rb +60 -0
  61. data/lib/candidhealth/patient_ar/v_1/types/non_insurance_payment_info.rb +60 -0
  62. data/lib/candidhealth/patient_ar/v_1/types/patient_adjustment_info.rb +60 -0
  63. data/lib/candidhealth/patient_ar/v_1/types/patient_ar_status.rb +14 -0
  64. data/lib/candidhealth/patient_ar/v_1/types/patient_payment_allocation.rb +76 -0
  65. data/lib/candidhealth/patient_ar/v_1/types/patient_payment_info.rb +75 -0
  66. data/lib/candidhealth/patient_ar/v_1/types/service_line_itemization.rb +210 -0
  67. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +132 -0
  68. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +16 -2
  69. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +16 -2
  70. data/lib/candidhealth/pre_encounter/patients/v_1/types/origination_detail.rb +104 -0
  71. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +16 -2
  72. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_source.rb +18 -0
  73. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_type.rb +16 -0
  74. data/lib/candidhealth/pre_encounter/patients/v_1/types/specialization_category.rb +42 -0
  75. data/lib/candidhealth.rb +21 -7
  76. data/lib/requests.rb +2 -2
  77. data/lib/types_export.rb +72 -9
  78. metadata +68 -2
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module HealthCareCodeInformation
5
+ module V1
6
+ module Types
7
+ class ConditionCode
8
+ C_01 = "01"
9
+ C_02 = "02"
10
+ C_03 = "03"
11
+ C_04 = "04"
12
+ C_05 = "05"
13
+ C_06 = "06"
14
+ C_07 = "07"
15
+ C_08 = "08"
16
+ C_09 = "09"
17
+ C_10 = "10"
18
+ C_11 = "11"
19
+ C_17 = "17"
20
+ C_18 = "18"
21
+ C_19 = "19"
22
+ C_20 = "20"
23
+ C_21 = "21"
24
+ C_22 = "22"
25
+ C_23 = "23"
26
+ C_24 = "24"
27
+ C_25 = "25"
28
+ C_26 = "26"
29
+ C_28 = "28"
30
+ C_29 = "29"
31
+ C_30 = "30"
32
+ C_31 = "31"
33
+ C_32 = "32"
34
+ C_33 = "33"
35
+ C_34 = "34"
36
+ C_35 = "35"
37
+ C_36 = "36"
38
+ C_37 = "37"
39
+ C_38 = "38"
40
+ C_39 = "39"
41
+ C_40 = "40"
42
+ C_41 = "41"
43
+ C_42 = "42"
44
+ C_43 = "43"
45
+ C_44 = "44"
46
+ C_45 = "45"
47
+ C_46 = "46"
48
+ C_47 = "47"
49
+ C_50 = "50"
50
+ C_51 = "51"
51
+ C_52 = "52"
52
+ C_54 = "54"
53
+ C_55 = "55"
54
+ C_56 = "56"
55
+ C_61 = "61"
56
+ C_62 = "62"
57
+ CA_1 = "A1"
58
+ CA_2 = "A2"
59
+ CA_3 = "A3"
60
+ CA_4 = "A4"
61
+ CB_1 = "B1"
62
+ CB_2 = "B2"
63
+ CB_3 = "B3"
64
+ CC_1 = "C1"
65
+ CC_2 = "C2"
66
+ CC_3 = "C3"
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,237 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "condition_information_code_qualifier"
4
+ require_relative "condition_code"
5
+ require_relative "code_list_qualifier_code"
6
+ require_relative "date_time_period_format_qualifier"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ module HealthCareCodeInformation
12
+ module V1
13
+ module Types
14
+ # This corresponds to the BG code qualifier value.
15
+ class ConditionInformation
16
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::ConditionInformationCodeQualifier]
17
+ attr_reader :condition_code_qualifier
18
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::ConditionCode]
19
+ attr_reader :condition_code
20
+ # @return [String] The id of this health care code information if it is already stored.
21
+ # If this is not set, this is referring to a new health care code information to
22
+ # be added
23
+ # to the encounter. If it is set, this refers to an update of an existing health
24
+ # care code
25
+ # information object on the encounter.
26
+ attr_reader :id
27
+ # @return [String] The encounter_id of this health care code information if it is already stored.
28
+ # This will be set by the server in responses, but clients are not expected to set
29
+ # it.
30
+ attr_reader :encounter_id
31
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
32
+ attr_reader :code_list_qualifier
33
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
34
+ # You do not need to set this field generally, instead it is provided as advisory
35
+ # context on how this HealthCareCodeInformation's data will be available in
36
+ # reporting.
37
+ attr_reader :industry_code_1
38
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
39
+ # You do not need to set this field generally, instead it is provided as advisory
40
+ # context on how this HealthCareCodeInformation's data will be available in
41
+ # reporting.
42
+ attr_reader :industry_code_2
43
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
44
+ # You do not need to set this field generally, instead it is provided as advisory
45
+ # context on how this HealthCareCodeInformation's data will be available in
46
+ # reporting.
47
+ attr_reader :industry_code_3
48
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
49
+ # You do not need to set this field generally, instead it is provided as advisory
50
+ # context on how this HealthCareCodeInformation's data will be available in
51
+ # reporting.
52
+ attr_reader :industry_code_4
53
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
54
+ # as part of claim process.
55
+ # You do not need to set this field generally, instead it is provided as advisory
56
+ # context on how this HealthCareCodeInformation's data will be available in
57
+ # reporting.
58
+ attr_reader :date_time_period_format_qualifier
59
+ # @return [String] A string, formatted according to date_time_period_format_qualifier, which
60
+ # ultimately represents the date time period in which an information object
61
+ # is covering.
62
+ # You do not need to set this field generally, instead it is provided as advisory
63
+ # context on how this HealthCareCodeInformation's data will be available in
64
+ # reporting.
65
+ attr_reader :date_time_period
66
+ # @return [String] A decimal used to represent ValueInformation results.
67
+ # You do not need to set this field generally, instead it is provided as advisory
68
+ # context on how this HealthCareCodeInformation's data will be available in
69
+ # reporting.
70
+ attr_reader :monetary_amount
71
+ # @return [String] You do not need to set this field generally, instead it is provided as advisory
72
+ # context on how this HealthCareCodeInformation's data will be available in
73
+ # reporting.
74
+ attr_reader :quantity
75
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
76
+ attr_reader :additional_properties
77
+ # @return [Object]
78
+ attr_reader :_field_set
79
+ protected :_field_set
80
+
81
+ OMIT = Object.new
82
+
83
+ # @param condition_code_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::ConditionInformationCodeQualifier]
84
+ # @param condition_code [CandidApiClient::HealthCareCodeInformation::V1::Types::ConditionCode]
85
+ # @param id [String] The id of this health care code information if it is already stored.
86
+ # If this is not set, this is referring to a new health care code information to
87
+ # be added
88
+ # to the encounter. If it is set, this refers to an update of an existing health
89
+ # care code
90
+ # information object on the encounter.
91
+ # @param encounter_id [String] The encounter_id of this health care code information if it is already stored.
92
+ # This will be set by the server in responses, but clients are not expected to set
93
+ # it.
94
+ # @param code_list_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
95
+ # @param industry_code_1 [String] A code string whose interpretation depends on the code_list_qualifier being set.
96
+ # You do not need to set this field generally, instead it is provided as advisory
97
+ # context on how this HealthCareCodeInformation's data will be available in
98
+ # reporting.
99
+ # @param industry_code_2 [String] A code string whose interpretation depends on the code_list_qualifier being set.
100
+ # You do not need to set this field generally, instead it is provided as advisory
101
+ # context on how this HealthCareCodeInformation's data will be available in
102
+ # reporting.
103
+ # @param industry_code_3 [String] A code string whose interpretation depends on the code_list_qualifier being set.
104
+ # You do not need to set this field generally, instead it is provided as advisory
105
+ # context on how this HealthCareCodeInformation's data will be available in
106
+ # reporting.
107
+ # @param industry_code_4 [String] A code string whose interpretation depends on the code_list_qualifier being set.
108
+ # You do not need to set this field generally, instead it is provided as advisory
109
+ # context on how this HealthCareCodeInformation's data will be available in
110
+ # reporting.
111
+ # @param date_time_period_format_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
112
+ # as part of claim process.
113
+ # You do not need to set this field generally, instead it is provided as advisory
114
+ # context on how this HealthCareCodeInformation's data will be available in
115
+ # reporting.
116
+ # @param date_time_period [String] A string, formatted according to date_time_period_format_qualifier, which
117
+ # ultimately represents the date time period in which an information object
118
+ # is covering.
119
+ # You do not need to set this field generally, instead it is provided as advisory
120
+ # context on how this HealthCareCodeInformation's data will be available in
121
+ # reporting.
122
+ # @param monetary_amount [String] A decimal used to represent ValueInformation results.
123
+ # You do not need to set this field generally, instead it is provided as advisory
124
+ # context on how this HealthCareCodeInformation's data will be available in
125
+ # reporting.
126
+ # @param quantity [String] You do not need to set this field generally, instead it is provided as advisory
127
+ # context on how this HealthCareCodeInformation's data will be available in
128
+ # reporting.
129
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
130
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::ConditionInformation]
131
+ def initialize(condition_code_qualifier:, condition_code:, id: OMIT, encounter_id: OMIT,
132
+ code_list_qualifier: OMIT, industry_code_1: OMIT, industry_code_2: OMIT, industry_code_3: OMIT, industry_code_4: OMIT, date_time_period_format_qualifier: OMIT, date_time_period: OMIT, monetary_amount: OMIT, quantity: OMIT, additional_properties: nil)
133
+ @condition_code_qualifier = condition_code_qualifier
134
+ @condition_code = condition_code
135
+ @id = id if id != OMIT
136
+ @encounter_id = encounter_id if encounter_id != OMIT
137
+ @code_list_qualifier = code_list_qualifier if code_list_qualifier != OMIT
138
+ @industry_code_1 = industry_code_1 if industry_code_1 != OMIT
139
+ @industry_code_2 = industry_code_2 if industry_code_2 != OMIT
140
+ @industry_code_3 = industry_code_3 if industry_code_3 != OMIT
141
+ @industry_code_4 = industry_code_4 if industry_code_4 != OMIT
142
+ if date_time_period_format_qualifier != OMIT
143
+ @date_time_period_format_qualifier = date_time_period_format_qualifier
144
+ end
145
+ @date_time_period = date_time_period if date_time_period != OMIT
146
+ @monetary_amount = monetary_amount if monetary_amount != OMIT
147
+ @quantity = quantity if quantity != OMIT
148
+ @additional_properties = additional_properties
149
+ @_field_set = {
150
+ "condition_code_qualifier": condition_code_qualifier,
151
+ "condition_code": condition_code,
152
+ "id": id,
153
+ "encounter_id": encounter_id,
154
+ "code_list_qualifier": code_list_qualifier,
155
+ "industry_code_1": industry_code_1,
156
+ "industry_code_2": industry_code_2,
157
+ "industry_code_3": industry_code_3,
158
+ "industry_code_4": industry_code_4,
159
+ "date_time_period_format_qualifier": date_time_period_format_qualifier,
160
+ "date_time_period": date_time_period,
161
+ "monetary_amount": monetary_amount,
162
+ "quantity": quantity
163
+ }.reject do |_k, v|
164
+ v == OMIT
165
+ end
166
+ end
167
+
168
+ # Deserialize a JSON object to an instance of ConditionInformation
169
+ #
170
+ # @param json_object [String]
171
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::ConditionInformation]
172
+ def self.from_json(json_object:)
173
+ struct = JSON.parse(json_object, object_class: OpenStruct)
174
+ condition_code_qualifier = struct["condition_code_qualifier"]
175
+ condition_code = struct["condition_code"]
176
+ id = struct["id"]
177
+ encounter_id = struct["encounter_id"]
178
+ code_list_qualifier = struct["code_list_qualifier"]
179
+ industry_code_1 = struct["industry_code_1"]
180
+ industry_code_2 = struct["industry_code_2"]
181
+ industry_code_3 = struct["industry_code_3"]
182
+ industry_code_4 = struct["industry_code_4"]
183
+ date_time_period_format_qualifier = struct["date_time_period_format_qualifier"]
184
+ date_time_period = struct["date_time_period"]
185
+ monetary_amount = struct["monetary_amount"]
186
+ quantity = struct["quantity"]
187
+ new(
188
+ condition_code_qualifier: condition_code_qualifier,
189
+ condition_code: condition_code,
190
+ id: id,
191
+ encounter_id: encounter_id,
192
+ code_list_qualifier: code_list_qualifier,
193
+ industry_code_1: industry_code_1,
194
+ industry_code_2: industry_code_2,
195
+ industry_code_3: industry_code_3,
196
+ industry_code_4: industry_code_4,
197
+ date_time_period_format_qualifier: date_time_period_format_qualifier,
198
+ date_time_period: date_time_period,
199
+ monetary_amount: monetary_amount,
200
+ quantity: quantity,
201
+ additional_properties: struct
202
+ )
203
+ end
204
+
205
+ # Serialize an instance of ConditionInformation to a JSON object
206
+ #
207
+ # @return [String]
208
+ def to_json(*_args)
209
+ @_field_set&.to_json
210
+ end
211
+
212
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
213
+ # hash and check each fields type against the current object's property
214
+ # definitions.
215
+ #
216
+ # @param obj [Object]
217
+ # @return [Void]
218
+ def self.validate_raw(obj:)
219
+ obj.condition_code_qualifier.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::ConditionInformationCodeQualifier) != false || raise("Passed value for field obj.condition_code_qualifier is not the expected type, validation failed.")
220
+ obj.condition_code.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::ConditionCode) != false || raise("Passed value for field obj.condition_code is not the expected type, validation failed.")
221
+ obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
222
+ obj.encounter_id&.is_a?(String) != false || raise("Passed value for field obj.encounter_id is not the expected type, validation failed.")
223
+ obj.code_list_qualifier&.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode) != false || raise("Passed value for field obj.code_list_qualifier is not the expected type, validation failed.")
224
+ obj.industry_code_1&.is_a?(String) != false || raise("Passed value for field obj.industry_code_1 is not the expected type, validation failed.")
225
+ obj.industry_code_2&.is_a?(String) != false || raise("Passed value for field obj.industry_code_2 is not the expected type, validation failed.")
226
+ obj.industry_code_3&.is_a?(String) != false || raise("Passed value for field obj.industry_code_3 is not the expected type, validation failed.")
227
+ obj.industry_code_4&.is_a?(String) != false || raise("Passed value for field obj.industry_code_4 is not the expected type, validation failed.")
228
+ obj.date_time_period_format_qualifier&.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier) != false || raise("Passed value for field obj.date_time_period_format_qualifier is not the expected type, validation failed.")
229
+ obj.date_time_period&.is_a?(String) != false || raise("Passed value for field obj.date_time_period is not the expected type, validation failed.")
230
+ obj.monetary_amount&.is_a?(String) != false || raise("Passed value for field obj.monetary_amount is not the expected type, validation failed.")
231
+ obj.quantity&.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end
237
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module HealthCareCodeInformation
5
+ module V1
6
+ module Types
7
+ class ConditionInformationCodeQualifier
8
+ CBG = "BG"
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module HealthCareCodeInformation
5
+ module V1
6
+ module Types
7
+ class DateTimePeriodFormatQualifier
8
+ CCC = "CC"
9
+ CCD = "CD"
10
+ CCM = "CM"
11
+ CCQ = "CQ"
12
+ CCY = "CY"
13
+ CD_6 = "D6"
14
+ CD_8 = "D8"
15
+ CDA = "DA"
16
+ CDB = "DB"
17
+ CDD = "DD"
18
+ CDT = "DT"
19
+ CEH = "EH"
20
+ CKA = "KA"
21
+ CMD = "MD"
22
+ CMM = "MM"
23
+ CRD = "RD"
24
+ CTC = "TC"
25
+ CTM = "TM"
26
+ CTQ = "TQ"
27
+ CTR = "TR"
28
+ CTS = "TS"
29
+ CTT = "TT"
30
+ CTU = "TU"
31
+ CUN = "UN"
32
+ CYM = "YM"
33
+ CYY = "YY"
34
+ CDDT = "DDT"
35
+ CDTD = "DTD"
36
+ CDTS = "DTS"
37
+ CMCY = "MCY"
38
+ CRD_2 = "RD2"
39
+ CRD_4 = "RD4"
40
+ CRD_5 = "RD5"
41
+ CRD_6 = "RD6"
42
+ CRD_8 = "RD8"
43
+ CRDM = "RDM"
44
+ CRDT = "RDT"
45
+ CRMD = "RMD"
46
+ CRMY = "RMY"
47
+ CRTM = "RTM"
48
+ CRTS = "RTS"
49
+ CYMM = "YMM"
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,236 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "diagnosis_related_group_code_qualifier"
4
+ require_relative "code_list_qualifier_code"
5
+ require_relative "date_time_period_format_qualifier"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module CandidApiClient
10
+ module HealthCareCodeInformation
11
+ module V1
12
+ module Types
13
+ # This corresponds to DR code qualifier values.
14
+ class DiagnosisRelatedGroup
15
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DiagnosisRelatedGroupCodeQualifier]
16
+ attr_reader :diagnosis_related_group_code_qualifier
17
+ # @return [String]
18
+ attr_reader :diagnosis_related_group_code
19
+ # @return [String] The id of this health care code information if it is already stored.
20
+ # If this is not set, this is referring to a new health care code information to
21
+ # be added
22
+ # to the encounter. If it is set, this refers to an update of an existing health
23
+ # care code
24
+ # information object on the encounter.
25
+ attr_reader :id
26
+ # @return [String] The encounter_id of this health care code information if it is already stored.
27
+ # This will be set by the server in responses, but clients are not expected to set
28
+ # it.
29
+ attr_reader :encounter_id
30
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
31
+ attr_reader :code_list_qualifier
32
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
33
+ # You do not need to set this field generally, instead it is provided as advisory
34
+ # context on how this HealthCareCodeInformation's data will be available in
35
+ # reporting.
36
+ attr_reader :industry_code_1
37
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
38
+ # You do not need to set this field generally, instead it is provided as advisory
39
+ # context on how this HealthCareCodeInformation's data will be available in
40
+ # reporting.
41
+ attr_reader :industry_code_2
42
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
43
+ # You do not need to set this field generally, instead it is provided as advisory
44
+ # context on how this HealthCareCodeInformation's data will be available in
45
+ # reporting.
46
+ attr_reader :industry_code_3
47
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
48
+ # You do not need to set this field generally, instead it is provided as advisory
49
+ # context on how this HealthCareCodeInformation's data will be available in
50
+ # reporting.
51
+ attr_reader :industry_code_4
52
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
53
+ # as part of claim process.
54
+ # You do not need to set this field generally, instead it is provided as advisory
55
+ # context on how this HealthCareCodeInformation's data will be available in
56
+ # reporting.
57
+ attr_reader :date_time_period_format_qualifier
58
+ # @return [String] A string, formatted according to date_time_period_format_qualifier, which
59
+ # ultimately represents the date time period in which an information object
60
+ # is covering.
61
+ # You do not need to set this field generally, instead it is provided as advisory
62
+ # context on how this HealthCareCodeInformation's data will be available in
63
+ # reporting.
64
+ attr_reader :date_time_period
65
+ # @return [String] A decimal used to represent ValueInformation results.
66
+ # You do not need to set this field generally, instead it is provided as advisory
67
+ # context on how this HealthCareCodeInformation's data will be available in
68
+ # reporting.
69
+ attr_reader :monetary_amount
70
+ # @return [String] You do not need to set this field generally, instead it is provided as advisory
71
+ # context on how this HealthCareCodeInformation's data will be available in
72
+ # reporting.
73
+ attr_reader :quantity
74
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
75
+ attr_reader :additional_properties
76
+ # @return [Object]
77
+ attr_reader :_field_set
78
+ protected :_field_set
79
+
80
+ OMIT = Object.new
81
+
82
+ # @param diagnosis_related_group_code_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::DiagnosisRelatedGroupCodeQualifier]
83
+ # @param diagnosis_related_group_code [String]
84
+ # @param id [String] The id of this health care code information if it is already stored.
85
+ # If this is not set, this is referring to a new health care code information to
86
+ # be added
87
+ # to the encounter. If it is set, this refers to an update of an existing health
88
+ # care code
89
+ # information object on the encounter.
90
+ # @param encounter_id [String] The encounter_id of this health care code information if it is already stored.
91
+ # This will be set by the server in responses, but clients are not expected to set
92
+ # it.
93
+ # @param code_list_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
94
+ # @param industry_code_1 [String] A code string whose interpretation depends on the code_list_qualifier being set.
95
+ # You do not need to set this field generally, instead it is provided as advisory
96
+ # context on how this HealthCareCodeInformation's data will be available in
97
+ # reporting.
98
+ # @param industry_code_2 [String] A code string whose interpretation depends on the code_list_qualifier being set.
99
+ # You do not need to set this field generally, instead it is provided as advisory
100
+ # context on how this HealthCareCodeInformation's data will be available in
101
+ # reporting.
102
+ # @param industry_code_3 [String] A code string whose interpretation depends on the code_list_qualifier being set.
103
+ # You do not need to set this field generally, instead it is provided as advisory
104
+ # context on how this HealthCareCodeInformation's data will be available in
105
+ # reporting.
106
+ # @param industry_code_4 [String] A code string whose interpretation depends on the code_list_qualifier being set.
107
+ # You do not need to set this field generally, instead it is provided as advisory
108
+ # context on how this HealthCareCodeInformation's data will be available in
109
+ # reporting.
110
+ # @param date_time_period_format_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
111
+ # as part of claim process.
112
+ # You do not need to set this field generally, instead it is provided as advisory
113
+ # context on how this HealthCareCodeInformation's data will be available in
114
+ # reporting.
115
+ # @param date_time_period [String] A string, formatted according to date_time_period_format_qualifier, which
116
+ # ultimately represents the date time period in which an information object
117
+ # is covering.
118
+ # You do not need to set this field generally, instead it is provided as advisory
119
+ # context on how this HealthCareCodeInformation's data will be available in
120
+ # reporting.
121
+ # @param monetary_amount [String] A decimal used to represent ValueInformation results.
122
+ # You do not need to set this field generally, instead it is provided as advisory
123
+ # context on how this HealthCareCodeInformation's data will be available in
124
+ # reporting.
125
+ # @param quantity [String] You do not need to set this field generally, instead it is provided as advisory
126
+ # context on how this HealthCareCodeInformation's data will be available in
127
+ # reporting.
128
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
129
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DiagnosisRelatedGroup]
130
+ def initialize(diagnosis_related_group_code_qualifier:, diagnosis_related_group_code:, id: OMIT,
131
+ encounter_id: OMIT, code_list_qualifier: OMIT, industry_code_1: OMIT, industry_code_2: OMIT, industry_code_3: OMIT, industry_code_4: OMIT, date_time_period_format_qualifier: OMIT, date_time_period: OMIT, monetary_amount: OMIT, quantity: OMIT, additional_properties: nil)
132
+ @diagnosis_related_group_code_qualifier = diagnosis_related_group_code_qualifier
133
+ @diagnosis_related_group_code = diagnosis_related_group_code
134
+ @id = id if id != OMIT
135
+ @encounter_id = encounter_id if encounter_id != OMIT
136
+ @code_list_qualifier = code_list_qualifier if code_list_qualifier != OMIT
137
+ @industry_code_1 = industry_code_1 if industry_code_1 != OMIT
138
+ @industry_code_2 = industry_code_2 if industry_code_2 != OMIT
139
+ @industry_code_3 = industry_code_3 if industry_code_3 != OMIT
140
+ @industry_code_4 = industry_code_4 if industry_code_4 != OMIT
141
+ if date_time_period_format_qualifier != OMIT
142
+ @date_time_period_format_qualifier = date_time_period_format_qualifier
143
+ end
144
+ @date_time_period = date_time_period if date_time_period != OMIT
145
+ @monetary_amount = monetary_amount if monetary_amount != OMIT
146
+ @quantity = quantity if quantity != OMIT
147
+ @additional_properties = additional_properties
148
+ @_field_set = {
149
+ "diagnosis_related_group_code_qualifier": diagnosis_related_group_code_qualifier,
150
+ "diagnosis_related_group_code": diagnosis_related_group_code,
151
+ "id": id,
152
+ "encounter_id": encounter_id,
153
+ "code_list_qualifier": code_list_qualifier,
154
+ "industry_code_1": industry_code_1,
155
+ "industry_code_2": industry_code_2,
156
+ "industry_code_3": industry_code_3,
157
+ "industry_code_4": industry_code_4,
158
+ "date_time_period_format_qualifier": date_time_period_format_qualifier,
159
+ "date_time_period": date_time_period,
160
+ "monetary_amount": monetary_amount,
161
+ "quantity": quantity
162
+ }.reject do |_k, v|
163
+ v == OMIT
164
+ end
165
+ end
166
+
167
+ # Deserialize a JSON object to an instance of DiagnosisRelatedGroup
168
+ #
169
+ # @param json_object [String]
170
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DiagnosisRelatedGroup]
171
+ def self.from_json(json_object:)
172
+ struct = JSON.parse(json_object, object_class: OpenStruct)
173
+ diagnosis_related_group_code_qualifier = struct["diagnosis_related_group_code_qualifier"]
174
+ diagnosis_related_group_code = struct["diagnosis_related_group_code"]
175
+ id = struct["id"]
176
+ encounter_id = struct["encounter_id"]
177
+ code_list_qualifier = struct["code_list_qualifier"]
178
+ industry_code_1 = struct["industry_code_1"]
179
+ industry_code_2 = struct["industry_code_2"]
180
+ industry_code_3 = struct["industry_code_3"]
181
+ industry_code_4 = struct["industry_code_4"]
182
+ date_time_period_format_qualifier = struct["date_time_period_format_qualifier"]
183
+ date_time_period = struct["date_time_period"]
184
+ monetary_amount = struct["monetary_amount"]
185
+ quantity = struct["quantity"]
186
+ new(
187
+ diagnosis_related_group_code_qualifier: diagnosis_related_group_code_qualifier,
188
+ diagnosis_related_group_code: diagnosis_related_group_code,
189
+ id: id,
190
+ encounter_id: encounter_id,
191
+ code_list_qualifier: code_list_qualifier,
192
+ industry_code_1: industry_code_1,
193
+ industry_code_2: industry_code_2,
194
+ industry_code_3: industry_code_3,
195
+ industry_code_4: industry_code_4,
196
+ date_time_period_format_qualifier: date_time_period_format_qualifier,
197
+ date_time_period: date_time_period,
198
+ monetary_amount: monetary_amount,
199
+ quantity: quantity,
200
+ additional_properties: struct
201
+ )
202
+ end
203
+
204
+ # Serialize an instance of DiagnosisRelatedGroup to a JSON object
205
+ #
206
+ # @return [String]
207
+ def to_json(*_args)
208
+ @_field_set&.to_json
209
+ end
210
+
211
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
212
+ # hash and check each fields type against the current object's property
213
+ # definitions.
214
+ #
215
+ # @param obj [Object]
216
+ # @return [Void]
217
+ def self.validate_raw(obj:)
218
+ obj.diagnosis_related_group_code_qualifier.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::DiagnosisRelatedGroupCodeQualifier) != false || raise("Passed value for field obj.diagnosis_related_group_code_qualifier is not the expected type, validation failed.")
219
+ obj.diagnosis_related_group_code.is_a?(String) != false || raise("Passed value for field obj.diagnosis_related_group_code is not the expected type, validation failed.")
220
+ obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
221
+ obj.encounter_id&.is_a?(String) != false || raise("Passed value for field obj.encounter_id is not the expected type, validation failed.")
222
+ obj.code_list_qualifier&.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode) != false || raise("Passed value for field obj.code_list_qualifier is not the expected type, validation failed.")
223
+ obj.industry_code_1&.is_a?(String) != false || raise("Passed value for field obj.industry_code_1 is not the expected type, validation failed.")
224
+ obj.industry_code_2&.is_a?(String) != false || raise("Passed value for field obj.industry_code_2 is not the expected type, validation failed.")
225
+ obj.industry_code_3&.is_a?(String) != false || raise("Passed value for field obj.industry_code_3 is not the expected type, validation failed.")
226
+ obj.industry_code_4&.is_a?(String) != false || raise("Passed value for field obj.industry_code_4 is not the expected type, validation failed.")
227
+ obj.date_time_period_format_qualifier&.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier) != false || raise("Passed value for field obj.date_time_period_format_qualifier is not the expected type, validation failed.")
228
+ obj.date_time_period&.is_a?(String) != false || raise("Passed value for field obj.date_time_period is not the expected type, validation failed.")
229
+ obj.monetary_amount&.is_a?(String) != false || raise("Passed value for field obj.monetary_amount is not the expected type, validation failed.")
230
+ obj.quantity&.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
231
+ end
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module HealthCareCodeInformation
5
+ module V1
6
+ module Types
7
+ class DiagnosisRelatedGroupCodeQualifier
8
+ CDR = "DR"
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end