candidhealth 1.6.0 → 1.8.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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/auth/default/client.rb +74 -0
  3. data/lib/candidhealth/charge_capture/v_1/client.rb +48 -48
  4. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_data.rb +70 -56
  5. data/lib/candidhealth/commons/types/clearinghouse.rb +18 -0
  6. data/lib/candidhealth/commons/types/procedure_modifier.rb +11 -0
  7. data/lib/candidhealth/credentialing/v_2/client.rb +342 -8
  8. data/lib/candidhealth/credentialing/v_2/types/base_credentialing_span.rb +143 -0
  9. data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span.rb +165 -0
  10. data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span_page.rb +88 -0
  11. data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span.rb +34 -34
  12. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb +1 -1
  13. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update.rb +1 -1
  14. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb +1 -1
  15. data/lib/candidhealth/encounters/v_4/client.rb +3253 -2040
  16. data/lib/candidhealth/encounters/v_4/types/encounter.rb +111 -86
  17. data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +39 -33
  18. data/lib/candidhealth/encounters/v_4/types/encounter_create.rb +796 -0
  19. data/lib/candidhealth/encounters/v_4/types/encounter_create_from_pre_encounter.rb +131 -117
  20. data/lib/candidhealth/encounters/v_4/types/encounter_deep_optional.rb +70 -56
  21. data/lib/candidhealth/encounters/v_4/types/encounter_optional.rb +29 -39
  22. data/lib/candidhealth/encounters/v_4/types/encounter_rendering_or_attending_provider_required_error.rb +55 -0
  23. data/lib/candidhealth/encounters/v_4/types/encounter_update.rb +736 -0
  24. data/lib/candidhealth/encounters_universal/types/universal_encounter_create.rb +944 -0
  25. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_base.rb +691 -0
  26. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_from_pre_encounter.rb +791 -0
  27. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_from_pre_encounter_base.rb +572 -0
  28. data/lib/candidhealth/encounters_universal/types/universal_encounter_update.rb +872 -0
  29. data/lib/candidhealth/encounters_universal/types/universal_encounter_update_base.rb +700 -0
  30. data/lib/candidhealth/fee_schedules/v_3/client.rb +57 -0
  31. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +12 -0
  32. data/lib/candidhealth/financials/types/patient_transaction_source.rb +1 -0
  33. data/lib/candidhealth/health_care_code_information/client.rb +30 -0
  34. data/lib/candidhealth/health_care_code_information/v_1/client.rb +268 -0
  35. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis.rb +236 -0
  36. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_code_qualifier.rb +14 -0
  37. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_new.rb +206 -0
  38. data/lib/candidhealth/health_care_code_information/v_1/types/code_list_qualifier_code.rb +1068 -0
  39. data/lib/candidhealth/health_care_code_information/v_1/types/condition_code.rb +71 -0
  40. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information.rb +237 -0
  41. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_code_qualifier.rb +13 -0
  42. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_new.rb +207 -0
  43. data/lib/candidhealth/health_care_code_information/v_1/types/date_time_period_format_qualifier.rb +54 -0
  44. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group.rb +236 -0
  45. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_code_qualifier.rb +13 -0
  46. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_new.rb +206 -0
  47. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury.rb +245 -0
  48. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_code_qualifier.rb +14 -0
  49. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_new.rb +245 -0
  50. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information.rb +218 -0
  51. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_create.rb +225 -0
  52. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_get_all_response.rb +227 -0
  53. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_new.rb +188 -0
  54. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_update.rb +225 -0
  55. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_code.rb +71 -0
  56. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information.rb +249 -0
  57. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_code_qualifier.rb +13 -0
  58. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_new.rb +219 -0
  59. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code.rb +25 -0
  60. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code_qualifier.rb +13 -0
  61. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information.rb +252 -0
  62. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information_new.rb +222 -0
  63. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information.rb +245 -0
  64. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_code_qualifier.rb +14 -0
  65. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_new.rb +215 -0
  66. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information.rb +248 -0
  67. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_code_qualifier.rb +14 -0
  68. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_new.rb +218 -0
  69. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit.rb +236 -0
  70. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_code_qualifier.rb +14 -0
  71. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_new.rb +206 -0
  72. data/lib/candidhealth/health_care_code_information/v_1/types/present_on_admission_indicator_code.rb +17 -0
  73. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis.rb +245 -0
  74. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_code_qualifier.rb +14 -0
  75. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_new.rb +215 -0
  76. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information.rb +246 -0
  77. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_code_qualifier.rb +15 -0
  78. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_new.rb +216 -0
  79. data/lib/candidhealth/health_care_code_information/v_1/types/rd_8_date.rb +72 -0
  80. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_admitting_diagnosis.rb +69 -0
  81. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_diagnosis_related_group.rb +69 -0
  82. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_diagnosis.rb +69 -0
  83. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_procedure_information.rb +71 -0
  84. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information.rb +236 -0
  85. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information_new.rb +206 -0
  86. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_qualifier.rb +13 -0
  87. data/lib/candidhealth/health_care_code_information/v_1/types/value_code.rb +119 -0
  88. data/lib/candidhealth/health_care_code_information/v_1/types/value_code_qualifier.rb +13 -0
  89. data/lib/candidhealth/health_care_code_information/v_1/types/value_information.rb +245 -0
  90. data/lib/candidhealth/health_care_code_information/v_1/types/value_information_new.rb +215 -0
  91. data/lib/candidhealth/individual/types/patient.rb +6 -6
  92. data/lib/candidhealth/individual/types/patient_base.rb +6 -6
  93. data/lib/candidhealth/individual/types/patient_create.rb +6 -6
  94. data/lib/candidhealth/individual/types/patient_update.rb +6 -6
  95. data/lib/candidhealth/individual/types/patient_update_with_optional_address.rb +6 -6
  96. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +2 -0
  97. data/lib/candidhealth/patient_ar/client.rb +30 -0
  98. data/lib/candidhealth/patient_ar/v_1/client.rb +161 -0
  99. data/lib/candidhealth/patient_ar/v_1/types/insurance_adjustment_info.rb +60 -0
  100. data/lib/candidhealth/patient_ar/v_1/types/insurance_payment_info.rb +60 -0
  101. data/lib/candidhealth/patient_ar/v_1/types/invalid_filters_error_type.rb +60 -0
  102. data/lib/candidhealth/patient_ar/v_1/types/inventory_record.rb +101 -0
  103. data/lib/candidhealth/patient_ar/v_1/types/invoice_itemization_response.rb +103 -0
  104. data/lib/candidhealth/patient_ar/v_1/types/list_inventory_paged_response.rb +77 -0
  105. data/lib/candidhealth/patient_ar/v_1/types/non_insurance_adjustment_info.rb +60 -0
  106. data/lib/candidhealth/patient_ar/v_1/types/non_insurance_payment_info.rb +60 -0
  107. data/lib/candidhealth/patient_ar/v_1/types/patient_adjustment_info.rb +60 -0
  108. data/lib/candidhealth/patient_ar/v_1/types/patient_ar_status.rb +14 -0
  109. data/lib/candidhealth/patient_ar/v_1/types/patient_payment_allocation.rb +76 -0
  110. data/lib/candidhealth/patient_ar/v_1/types/patient_payment_info.rb +75 -0
  111. data/lib/candidhealth/patient_ar/v_1/types/service_line_itemization.rb +210 -0
  112. data/lib/candidhealth/payers/client.rb +7 -0
  113. data/lib/candidhealth/payers/v_4/client.rb +137 -0
  114. data/lib/candidhealth/payers/v_4/types/clearinghouse_payer_info.rb +93 -0
  115. data/lib/candidhealth/payers/v_4/types/payer.rb +116 -0
  116. data/lib/candidhealth/payers/v_4/types/payer_ids.rb +107 -0
  117. data/lib/candidhealth/payers/v_4/types/payer_page.rb +88 -0
  118. data/lib/candidhealth/payers/v_4/types/support_state.rb +15 -0
  119. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +4 -4
  120. data/lib/candidhealth/pre_encounter/coverages/v_1/types/subscriber.rb +3 -3
  121. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +204 -6
  122. data/lib/candidhealth/pre_encounter/patients/v_1/types/guarantor.rb +3 -3
  123. data/lib/candidhealth/pre_encounter/patients/v_1/types/inferred_patient_metadata.rb +80 -0
  124. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +33 -5
  125. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +33 -5
  126. data/lib/candidhealth/pre_encounter/patients/v_1/types/origination_detail.rb +104 -0
  127. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +32 -4
  128. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_source.rb +18 -0
  129. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_type.rb +17 -0
  130. data/lib/candidhealth/pre_encounter/patients/v_1/types/specialization_category.rb +42 -0
  131. data/lib/candidhealth/service_lines/v_2/client.rb +252 -10
  132. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +28 -10
  133. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +52 -40
  134. data/lib/candidhealth/service_lines/v_2/types/service_line_create_base.rb +251 -0
  135. data/lib/candidhealth/service_lines/v_2/types/service_line_create_base_base.rb +243 -0
  136. data/lib/candidhealth/service_lines/v_2/types/service_line_create_optional.rb +48 -24
  137. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb +58 -46
  138. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone_base.rb +273 -0
  139. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone_base_base.rb +265 -0
  140. data/lib/candidhealth/service_lines/v_2/types/service_line_update.rb +64 -54
  141. data/lib/candidhealth/service_lines/v_2/types/service_line_update_base.rb +263 -0
  142. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_create.rb +271 -0
  143. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_create_standalone.rb +317 -0
  144. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_update.rb +307 -0
  145. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite.rb +2 -2
  146. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite_base.rb +90 -0
  147. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite_update.rb +112 -0
  148. data/lib/candidhealth.rb +21 -7
  149. data/lib/requests.rb +2 -2
  150. data/lib/types_export.rb +116 -13
  151. metadata +109 -2
@@ -0,0 +1,245 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "other_diagnosis_information_code_qualifier"
4
+ require_relative "present_on_admission_indicator_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 BF and ABF code qualifier values.
15
+ class OtherDiagnosisInformation
16
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformationCodeQualifier]
17
+ attr_reader :other_diagnosis_code_qualifier
18
+ # @return [String]
19
+ attr_reader :other_diagnosis
20
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::PresentOnAdmissionIndicatorCode]
21
+ attr_reader :present_on_admission_indicator
22
+ # @return [String] The id of this health care code information if it is already stored.
23
+ # If this is not set, this is referring to a new health care code information to
24
+ # be added
25
+ # to the encounter. If it is set, this refers to an update of an existing health
26
+ # care code
27
+ # information object on the encounter.
28
+ attr_reader :id
29
+ # @return [String] The encounter_id of this health care code information if it is already stored.
30
+ # This will be set by the server in responses, but clients are not expected to set
31
+ # it.
32
+ attr_reader :encounter_id
33
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
34
+ attr_reader :code_list_qualifier
35
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
36
+ # You do not need to set this field generally, instead it is provided as advisory
37
+ # context on how this HealthCareCodeInformation's data will be available in
38
+ # reporting.
39
+ attr_reader :industry_code_1
40
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
41
+ # You do not need to set this field generally, instead it is provided as advisory
42
+ # context on how this HealthCareCodeInformation's data will be available in
43
+ # reporting.
44
+ attr_reader :industry_code_2
45
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
46
+ # You do not need to set this field generally, instead it is provided as advisory
47
+ # context on how this HealthCareCodeInformation's data will be available in
48
+ # reporting.
49
+ attr_reader :industry_code_3
50
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
51
+ # You do not need to set this field generally, instead it is provided as advisory
52
+ # context on how this HealthCareCodeInformation's data will be available in
53
+ # reporting.
54
+ attr_reader :industry_code_4
55
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
56
+ # as part of claim process.
57
+ # You do not need to set this field generally, instead it is provided as advisory
58
+ # context on how this HealthCareCodeInformation's data will be available in
59
+ # reporting.
60
+ attr_reader :date_time_period_format_qualifier
61
+ # @return [String] A string, formatted according to date_time_period_format_qualifier, which
62
+ # ultimately represents the date time period in which an information object
63
+ # is covering.
64
+ # You do not need to set this field generally, instead it is provided as advisory
65
+ # context on how this HealthCareCodeInformation's data will be available in
66
+ # reporting.
67
+ attr_reader :date_time_period
68
+ # @return [String] A decimal used to represent ValueInformation results.
69
+ # You do not need to set this field generally, instead it is provided as advisory
70
+ # context on how this HealthCareCodeInformation's data will be available in
71
+ # reporting.
72
+ attr_reader :monetary_amount
73
+ # @return [String] You do not need to set this field generally, instead it is provided as advisory
74
+ # context on how this HealthCareCodeInformation's data will be available in
75
+ # reporting.
76
+ attr_reader :quantity
77
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
78
+ attr_reader :additional_properties
79
+ # @return [Object]
80
+ attr_reader :_field_set
81
+ protected :_field_set
82
+
83
+ OMIT = Object.new
84
+
85
+ # @param other_diagnosis_code_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformationCodeQualifier]
86
+ # @param other_diagnosis [String]
87
+ # @param present_on_admission_indicator [CandidApiClient::HealthCareCodeInformation::V1::Types::PresentOnAdmissionIndicatorCode]
88
+ # @param id [String] The id of this health care code information if it is already stored.
89
+ # If this is not set, this is referring to a new health care code information to
90
+ # be added
91
+ # to the encounter. If it is set, this refers to an update of an existing health
92
+ # care code
93
+ # information object on the encounter.
94
+ # @param encounter_id [String] The encounter_id of this health care code information if it is already stored.
95
+ # This will be set by the server in responses, but clients are not expected to set
96
+ # it.
97
+ # @param code_list_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
98
+ # @param industry_code_1 [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_2 [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_3 [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 industry_code_4 [String] A code string whose interpretation depends on the code_list_qualifier being set.
111
+ # You do not need to set this field generally, instead it is provided as advisory
112
+ # context on how this HealthCareCodeInformation's data will be available in
113
+ # reporting.
114
+ # @param date_time_period_format_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
115
+ # as part of claim process.
116
+ # You do not need to set this field generally, instead it is provided as advisory
117
+ # context on how this HealthCareCodeInformation's data will be available in
118
+ # reporting.
119
+ # @param date_time_period [String] A string, formatted according to date_time_period_format_qualifier, which
120
+ # ultimately represents the date time period in which an information object
121
+ # is covering.
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 monetary_amount [String] A decimal used to represent ValueInformation results.
126
+ # 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 quantity [String] You do not need to set this field generally, instead it is provided as advisory
130
+ # context on how this HealthCareCodeInformation's data will be available in
131
+ # reporting.
132
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
133
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformation]
134
+ def initialize(other_diagnosis_code_qualifier:, other_diagnosis:, present_on_admission_indicator: OMIT,
135
+ id: OMIT, 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)
136
+ @other_diagnosis_code_qualifier = other_diagnosis_code_qualifier
137
+ @other_diagnosis = other_diagnosis
138
+ @present_on_admission_indicator = present_on_admission_indicator if present_on_admission_indicator != OMIT
139
+ @id = id if id != OMIT
140
+ @encounter_id = encounter_id if encounter_id != OMIT
141
+ @code_list_qualifier = code_list_qualifier if code_list_qualifier != OMIT
142
+ @industry_code_1 = industry_code_1 if industry_code_1 != OMIT
143
+ @industry_code_2 = industry_code_2 if industry_code_2 != OMIT
144
+ @industry_code_3 = industry_code_3 if industry_code_3 != OMIT
145
+ @industry_code_4 = industry_code_4 if industry_code_4 != OMIT
146
+ if date_time_period_format_qualifier != OMIT
147
+ @date_time_period_format_qualifier = date_time_period_format_qualifier
148
+ end
149
+ @date_time_period = date_time_period if date_time_period != OMIT
150
+ @monetary_amount = monetary_amount if monetary_amount != OMIT
151
+ @quantity = quantity if quantity != OMIT
152
+ @additional_properties = additional_properties
153
+ @_field_set = {
154
+ "other_diagnosis_code_qualifier": other_diagnosis_code_qualifier,
155
+ "other_diagnosis": other_diagnosis,
156
+ "present_on_admission_indicator": present_on_admission_indicator,
157
+ "id": id,
158
+ "encounter_id": encounter_id,
159
+ "code_list_qualifier": code_list_qualifier,
160
+ "industry_code_1": industry_code_1,
161
+ "industry_code_2": industry_code_2,
162
+ "industry_code_3": industry_code_3,
163
+ "industry_code_4": industry_code_4,
164
+ "date_time_period_format_qualifier": date_time_period_format_qualifier,
165
+ "date_time_period": date_time_period,
166
+ "monetary_amount": monetary_amount,
167
+ "quantity": quantity
168
+ }.reject do |_k, v|
169
+ v == OMIT
170
+ end
171
+ end
172
+
173
+ # Deserialize a JSON object to an instance of OtherDiagnosisInformation
174
+ #
175
+ # @param json_object [String]
176
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformation]
177
+ def self.from_json(json_object:)
178
+ struct = JSON.parse(json_object, object_class: OpenStruct)
179
+ other_diagnosis_code_qualifier = struct["other_diagnosis_code_qualifier"]
180
+ other_diagnosis = struct["other_diagnosis"]
181
+ present_on_admission_indicator = struct["present_on_admission_indicator"]
182
+ id = struct["id"]
183
+ encounter_id = struct["encounter_id"]
184
+ code_list_qualifier = struct["code_list_qualifier"]
185
+ industry_code_1 = struct["industry_code_1"]
186
+ industry_code_2 = struct["industry_code_2"]
187
+ industry_code_3 = struct["industry_code_3"]
188
+ industry_code_4 = struct["industry_code_4"]
189
+ date_time_period_format_qualifier = struct["date_time_period_format_qualifier"]
190
+ date_time_period = struct["date_time_period"]
191
+ monetary_amount = struct["monetary_amount"]
192
+ quantity = struct["quantity"]
193
+ new(
194
+ other_diagnosis_code_qualifier: other_diagnosis_code_qualifier,
195
+ other_diagnosis: other_diagnosis,
196
+ present_on_admission_indicator: present_on_admission_indicator,
197
+ id: id,
198
+ encounter_id: encounter_id,
199
+ code_list_qualifier: code_list_qualifier,
200
+ industry_code_1: industry_code_1,
201
+ industry_code_2: industry_code_2,
202
+ industry_code_3: industry_code_3,
203
+ industry_code_4: industry_code_4,
204
+ date_time_period_format_qualifier: date_time_period_format_qualifier,
205
+ date_time_period: date_time_period,
206
+ monetary_amount: monetary_amount,
207
+ quantity: quantity,
208
+ additional_properties: struct
209
+ )
210
+ end
211
+
212
+ # Serialize an instance of OtherDiagnosisInformation to a JSON object
213
+ #
214
+ # @return [String]
215
+ def to_json(*_args)
216
+ @_field_set&.to_json
217
+ end
218
+
219
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
220
+ # hash and check each fields type against the current object's property
221
+ # definitions.
222
+ #
223
+ # @param obj [Object]
224
+ # @return [Void]
225
+ def self.validate_raw(obj:)
226
+ obj.other_diagnosis_code_qualifier.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformationCodeQualifier) != false || raise("Passed value for field obj.other_diagnosis_code_qualifier is not the expected type, validation failed.")
227
+ obj.other_diagnosis.is_a?(String) != false || raise("Passed value for field obj.other_diagnosis is not the expected type, validation failed.")
228
+ obj.present_on_admission_indicator&.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::PresentOnAdmissionIndicatorCode) != false || raise("Passed value for field obj.present_on_admission_indicator is not the expected type, validation failed.")
229
+ obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
230
+ obj.encounter_id&.is_a?(String) != false || raise("Passed value for field obj.encounter_id is not the expected type, validation failed.")
231
+ 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.")
232
+ obj.industry_code_1&.is_a?(String) != false || raise("Passed value for field obj.industry_code_1 is not the expected type, validation failed.")
233
+ obj.industry_code_2&.is_a?(String) != false || raise("Passed value for field obj.industry_code_2 is not the expected type, validation failed.")
234
+ obj.industry_code_3&.is_a?(String) != false || raise("Passed value for field obj.industry_code_3 is not the expected type, validation failed.")
235
+ obj.industry_code_4&.is_a?(String) != false || raise("Passed value for field obj.industry_code_4 is not the expected type, validation failed.")
236
+ 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.")
237
+ obj.date_time_period&.is_a?(String) != false || raise("Passed value for field obj.date_time_period is not the expected type, validation failed.")
238
+ obj.monetary_amount&.is_a?(String) != false || raise("Passed value for field obj.monetary_amount is not the expected type, validation failed.")
239
+ obj.quantity&.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
240
+ end
241
+ end
242
+ end
243
+ end
244
+ end
245
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module HealthCareCodeInformation
5
+ module V1
6
+ module Types
7
+ class OtherDiagnosisInformationCodeQualifier
8
+ CBF = "BF"
9
+ CABF = "ABF"
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,215 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "other_diagnosis_information_code_qualifier"
4
+ require_relative "present_on_admission_indicator_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 BF and ABF code qualifier values.
15
+ class OtherDiagnosisInformationNew
16
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformationCodeQualifier]
17
+ attr_reader :other_diagnosis_code_qualifier
18
+ # @return [String]
19
+ attr_reader :other_diagnosis
20
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::PresentOnAdmissionIndicatorCode]
21
+ attr_reader :present_on_admission_indicator
22
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
23
+ attr_reader :code_list_qualifier
24
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
25
+ # You do not need to set this field generally, instead it is provided as advisory
26
+ # context on how this HealthCareCodeInformation's data will be available in
27
+ # reporting.
28
+ attr_reader :industry_code_1
29
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
30
+ # You do not need to set this field generally, instead it is provided as advisory
31
+ # context on how this HealthCareCodeInformation's data will be available in
32
+ # reporting.
33
+ attr_reader :industry_code_2
34
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
35
+ # You do not need to set this field generally, instead it is provided as advisory
36
+ # context on how this HealthCareCodeInformation's data will be available in
37
+ # reporting.
38
+ attr_reader :industry_code_3
39
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
40
+ # You do not need to set this field generally, instead it is provided as advisory
41
+ # context on how this HealthCareCodeInformation's data will be available in
42
+ # reporting.
43
+ attr_reader :industry_code_4
44
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
45
+ # as part of claim process.
46
+ # You do not need to set this field generally, instead it is provided as advisory
47
+ # context on how this HealthCareCodeInformation's data will be available in
48
+ # reporting.
49
+ attr_reader :date_time_period_format_qualifier
50
+ # @return [String] A string, formatted according to date_time_period_format_qualifier, which
51
+ # ultimately represents the date time period in which an information object
52
+ # is covering.
53
+ # You do not need to set this field generally, instead it is provided as advisory
54
+ # context on how this HealthCareCodeInformation's data will be available in
55
+ # reporting.
56
+ attr_reader :date_time_period
57
+ # @return [String] A decimal used to represent ValueInformation results.
58
+ # You do not need to set this field generally, instead it is provided as advisory
59
+ # context on how this HealthCareCodeInformation's data will be available in
60
+ # reporting.
61
+ attr_reader :monetary_amount
62
+ # @return [String] 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 :quantity
66
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
67
+ attr_reader :additional_properties
68
+ # @return [Object]
69
+ attr_reader :_field_set
70
+ protected :_field_set
71
+
72
+ OMIT = Object.new
73
+
74
+ # @param other_diagnosis_code_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformationCodeQualifier]
75
+ # @param other_diagnosis [String]
76
+ # @param present_on_admission_indicator [CandidApiClient::HealthCareCodeInformation::V1::Types::PresentOnAdmissionIndicatorCode]
77
+ # @param code_list_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
78
+ # @param industry_code_1 [String] A code string whose interpretation depends on the code_list_qualifier being set.
79
+ # You do not need to set this field generally, instead it is provided as advisory
80
+ # context on how this HealthCareCodeInformation's data will be available in
81
+ # reporting.
82
+ # @param industry_code_2 [String] A code string whose interpretation depends on the code_list_qualifier being set.
83
+ # You do not need to set this field generally, instead it is provided as advisory
84
+ # context on how this HealthCareCodeInformation's data will be available in
85
+ # reporting.
86
+ # @param industry_code_3 [String] A code string whose interpretation depends on the code_list_qualifier being set.
87
+ # You do not need to set this field generally, instead it is provided as advisory
88
+ # context on how this HealthCareCodeInformation's data will be available in
89
+ # reporting.
90
+ # @param industry_code_4 [String] A code string whose interpretation depends on the code_list_qualifier being set.
91
+ # You do not need to set this field generally, instead it is provided as advisory
92
+ # context on how this HealthCareCodeInformation's data will be available in
93
+ # reporting.
94
+ # @param date_time_period_format_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
95
+ # as part of claim process.
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 date_time_period [String] A string, formatted according to date_time_period_format_qualifier, which
100
+ # ultimately represents the date time period in which an information object
101
+ # is covering.
102
+ # You do not need to set this field generally, instead it is provided as advisory
103
+ # context on how this HealthCareCodeInformation's data will be available in
104
+ # reporting.
105
+ # @param monetary_amount [String] A decimal used to represent ValueInformation results.
106
+ # You do not need to set this field generally, instead it is provided as advisory
107
+ # context on how this HealthCareCodeInformation's data will be available in
108
+ # reporting.
109
+ # @param quantity [String] You do not need to set this field generally, instead it is provided as advisory
110
+ # context on how this HealthCareCodeInformation's data will be available in
111
+ # reporting.
112
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
113
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformationNew]
114
+ def initialize(other_diagnosis_code_qualifier:, other_diagnosis:, present_on_admission_indicator: OMIT,
115
+ 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)
116
+ @other_diagnosis_code_qualifier = other_diagnosis_code_qualifier
117
+ @other_diagnosis = other_diagnosis
118
+ @present_on_admission_indicator = present_on_admission_indicator if present_on_admission_indicator != OMIT
119
+ @code_list_qualifier = code_list_qualifier if code_list_qualifier != OMIT
120
+ @industry_code_1 = industry_code_1 if industry_code_1 != OMIT
121
+ @industry_code_2 = industry_code_2 if industry_code_2 != OMIT
122
+ @industry_code_3 = industry_code_3 if industry_code_3 != OMIT
123
+ @industry_code_4 = industry_code_4 if industry_code_4 != OMIT
124
+ if date_time_period_format_qualifier != OMIT
125
+ @date_time_period_format_qualifier = date_time_period_format_qualifier
126
+ end
127
+ @date_time_period = date_time_period if date_time_period != OMIT
128
+ @monetary_amount = monetary_amount if monetary_amount != OMIT
129
+ @quantity = quantity if quantity != OMIT
130
+ @additional_properties = additional_properties
131
+ @_field_set = {
132
+ "other_diagnosis_code_qualifier": other_diagnosis_code_qualifier,
133
+ "other_diagnosis": other_diagnosis,
134
+ "present_on_admission_indicator": present_on_admission_indicator,
135
+ "code_list_qualifier": code_list_qualifier,
136
+ "industry_code_1": industry_code_1,
137
+ "industry_code_2": industry_code_2,
138
+ "industry_code_3": industry_code_3,
139
+ "industry_code_4": industry_code_4,
140
+ "date_time_period_format_qualifier": date_time_period_format_qualifier,
141
+ "date_time_period": date_time_period,
142
+ "monetary_amount": monetary_amount,
143
+ "quantity": quantity
144
+ }.reject do |_k, v|
145
+ v == OMIT
146
+ end
147
+ end
148
+
149
+ # Deserialize a JSON object to an instance of OtherDiagnosisInformationNew
150
+ #
151
+ # @param json_object [String]
152
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformationNew]
153
+ def self.from_json(json_object:)
154
+ struct = JSON.parse(json_object, object_class: OpenStruct)
155
+ other_diagnosis_code_qualifier = struct["other_diagnosis_code_qualifier"]
156
+ other_diagnosis = struct["other_diagnosis"]
157
+ present_on_admission_indicator = struct["present_on_admission_indicator"]
158
+ code_list_qualifier = struct["code_list_qualifier"]
159
+ industry_code_1 = struct["industry_code_1"]
160
+ industry_code_2 = struct["industry_code_2"]
161
+ industry_code_3 = struct["industry_code_3"]
162
+ industry_code_4 = struct["industry_code_4"]
163
+ date_time_period_format_qualifier = struct["date_time_period_format_qualifier"]
164
+ date_time_period = struct["date_time_period"]
165
+ monetary_amount = struct["monetary_amount"]
166
+ quantity = struct["quantity"]
167
+ new(
168
+ other_diagnosis_code_qualifier: other_diagnosis_code_qualifier,
169
+ other_diagnosis: other_diagnosis,
170
+ present_on_admission_indicator: present_on_admission_indicator,
171
+ code_list_qualifier: code_list_qualifier,
172
+ industry_code_1: industry_code_1,
173
+ industry_code_2: industry_code_2,
174
+ industry_code_3: industry_code_3,
175
+ industry_code_4: industry_code_4,
176
+ date_time_period_format_qualifier: date_time_period_format_qualifier,
177
+ date_time_period: date_time_period,
178
+ monetary_amount: monetary_amount,
179
+ quantity: quantity,
180
+ additional_properties: struct
181
+ )
182
+ end
183
+
184
+ # Serialize an instance of OtherDiagnosisInformationNew to a JSON object
185
+ #
186
+ # @return [String]
187
+ def to_json(*_args)
188
+ @_field_set&.to_json
189
+ end
190
+
191
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
192
+ # hash and check each fields type against the current object's property
193
+ # definitions.
194
+ #
195
+ # @param obj [Object]
196
+ # @return [Void]
197
+ def self.validate_raw(obj:)
198
+ obj.other_diagnosis_code_qualifier.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::OtherDiagnosisInformationCodeQualifier) != false || raise("Passed value for field obj.other_diagnosis_code_qualifier is not the expected type, validation failed.")
199
+ obj.other_diagnosis.is_a?(String) != false || raise("Passed value for field obj.other_diagnosis is not the expected type, validation failed.")
200
+ obj.present_on_admission_indicator&.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::PresentOnAdmissionIndicatorCode) != false || raise("Passed value for field obj.present_on_admission_indicator is not the expected type, validation failed.")
201
+ 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.")
202
+ obj.industry_code_1&.is_a?(String) != false || raise("Passed value for field obj.industry_code_1 is not the expected type, validation failed.")
203
+ obj.industry_code_2&.is_a?(String) != false || raise("Passed value for field obj.industry_code_2 is not the expected type, validation failed.")
204
+ obj.industry_code_3&.is_a?(String) != false || raise("Passed value for field obj.industry_code_3 is not the expected type, validation failed.")
205
+ obj.industry_code_4&.is_a?(String) != false || raise("Passed value for field obj.industry_code_4 is not the expected type, validation failed.")
206
+ 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.")
207
+ obj.date_time_period&.is_a?(String) != false || raise("Passed value for field obj.date_time_period is not the expected type, validation failed.")
208
+ obj.monetary_amount&.is_a?(String) != false || raise("Passed value for field obj.monetary_amount is not the expected type, validation failed.")
209
+ obj.quantity&.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
210
+ end
211
+ end
212
+ end
213
+ end
214
+ end
215
+ end