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,252 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "occurrence_span_code_qualifier"
4
+ require_relative "occurrence_span_code"
5
+ require_relative "rd_8_date"
6
+ require_relative "code_list_qualifier_code"
7
+ require_relative "date_time_period_format_qualifier"
8
+ require "ostruct"
9
+ require "json"
10
+
11
+ module CandidApiClient
12
+ module HealthCareCodeInformation
13
+ module V1
14
+ module Types
15
+ # This corresponds to the BI code qualifier value.
16
+ class OccurrenceSpanInformation
17
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCodeQualifier]
18
+ attr_reader :occurrence_span_code_qualifier
19
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCode]
20
+ attr_reader :occurrence_span_code
21
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::Rd8Date]
22
+ attr_reader :occurrence_span_date
23
+ # @return [String] The id of this health care code information if it is already stored.
24
+ # If this is not set, this is referring to a new health care code information to
25
+ # be added
26
+ # to the encounter. If it is set, this refers to an update of an existing health
27
+ # care code
28
+ # information object on the encounter.
29
+ attr_reader :id
30
+ # @return [String] The encounter_id of this health care code information if it is already stored.
31
+ # This will be set by the server in responses, but clients are not expected to set
32
+ # it.
33
+ attr_reader :encounter_id
34
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
35
+ attr_reader :code_list_qualifier
36
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
37
+ # You do not need to set this field generally, instead it is provided as advisory
38
+ # context on how this HealthCareCodeInformation's data will be available in
39
+ # reporting.
40
+ attr_reader :industry_code_1
41
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
42
+ # You do not need to set this field generally, instead it is provided as advisory
43
+ # context on how this HealthCareCodeInformation's data will be available in
44
+ # reporting.
45
+ attr_reader :industry_code_2
46
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
47
+ # You do not need to set this field generally, instead it is provided as advisory
48
+ # context on how this HealthCareCodeInformation's data will be available in
49
+ # reporting.
50
+ attr_reader :industry_code_3
51
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
52
+ # You do not need to set this field generally, instead it is provided as advisory
53
+ # context on how this HealthCareCodeInformation's data will be available in
54
+ # reporting.
55
+ attr_reader :industry_code_4
56
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
57
+ # as part of claim process.
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 :date_time_period_format_qualifier
62
+ # @return [String] A string, formatted according to date_time_period_format_qualifier, which
63
+ # ultimately represents the date time period in which an information object
64
+ # is covering.
65
+ # You do not need to set this field generally, instead it is provided as advisory
66
+ # context on how this HealthCareCodeInformation's data will be available in
67
+ # reporting.
68
+ attr_reader :date_time_period
69
+ # @return [String] A decimal used to represent ValueInformation results.
70
+ # 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 :monetary_amount
74
+ # @return [String] You do not need to set this field generally, instead it is provided as advisory
75
+ # context on how this HealthCareCodeInformation's data will be available in
76
+ # reporting.
77
+ attr_reader :quantity
78
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
79
+ attr_reader :additional_properties
80
+ # @return [Object]
81
+ attr_reader :_field_set
82
+ protected :_field_set
83
+
84
+ OMIT = Object.new
85
+
86
+ # @param occurrence_span_code_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCodeQualifier]
87
+ # @param occurrence_span_code [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCode]
88
+ # @param occurrence_span_date [CandidApiClient::HealthCareCodeInformation::V1::Types::Rd8Date]
89
+ # @param id [String] The id of this health care code information if it is already stored.
90
+ # If this is not set, this is referring to a new health care code information to
91
+ # be added
92
+ # to the encounter. If it is set, this refers to an update of an existing health
93
+ # care code
94
+ # information object on the encounter.
95
+ # @param encounter_id [String] The encounter_id of this health care code information if it is already stored.
96
+ # This will be set by the server in responses, but clients are not expected to set
97
+ # it.
98
+ # @param code_list_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
99
+ # @param industry_code_1 [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_2 [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_3 [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 industry_code_4 [String] A code string whose interpretation depends on the code_list_qualifier being set.
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_format_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
116
+ # as part of claim process.
117
+ # You do not need to set this field generally, instead it is provided as advisory
118
+ # context on how this HealthCareCodeInformation's data will be available in
119
+ # reporting.
120
+ # @param date_time_period [String] A string, formatted according to date_time_period_format_qualifier, which
121
+ # ultimately represents the date time period in which an information object
122
+ # is covering.
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 monetary_amount [String] A decimal used to represent ValueInformation results.
127
+ # You do not need to set this field generally, instead it is provided as advisory
128
+ # context on how this HealthCareCodeInformation's data will be available in
129
+ # reporting.
130
+ # @param quantity [String] You do not need to set this field generally, instead it is provided as advisory
131
+ # context on how this HealthCareCodeInformation's data will be available in
132
+ # reporting.
133
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
134
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanInformation]
135
+ def initialize(occurrence_span_code_qualifier:, occurrence_span_code:, occurrence_span_date:, id: OMIT,
136
+ 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)
137
+ @occurrence_span_code_qualifier = occurrence_span_code_qualifier
138
+ @occurrence_span_code = occurrence_span_code
139
+ @occurrence_span_date = occurrence_span_date
140
+ @id = id if id != OMIT
141
+ @encounter_id = encounter_id if encounter_id != OMIT
142
+ @code_list_qualifier = code_list_qualifier if code_list_qualifier != OMIT
143
+ @industry_code_1 = industry_code_1 if industry_code_1 != OMIT
144
+ @industry_code_2 = industry_code_2 if industry_code_2 != OMIT
145
+ @industry_code_3 = industry_code_3 if industry_code_3 != OMIT
146
+ @industry_code_4 = industry_code_4 if industry_code_4 != OMIT
147
+ if date_time_period_format_qualifier != OMIT
148
+ @date_time_period_format_qualifier = date_time_period_format_qualifier
149
+ end
150
+ @date_time_period = date_time_period if date_time_period != OMIT
151
+ @monetary_amount = monetary_amount if monetary_amount != OMIT
152
+ @quantity = quantity if quantity != OMIT
153
+ @additional_properties = additional_properties
154
+ @_field_set = {
155
+ "occurrence_span_code_qualifier": occurrence_span_code_qualifier,
156
+ "occurrence_span_code": occurrence_span_code,
157
+ "occurrence_span_date": occurrence_span_date,
158
+ "id": id,
159
+ "encounter_id": encounter_id,
160
+ "code_list_qualifier": code_list_qualifier,
161
+ "industry_code_1": industry_code_1,
162
+ "industry_code_2": industry_code_2,
163
+ "industry_code_3": industry_code_3,
164
+ "industry_code_4": industry_code_4,
165
+ "date_time_period_format_qualifier": date_time_period_format_qualifier,
166
+ "date_time_period": date_time_period,
167
+ "monetary_amount": monetary_amount,
168
+ "quantity": quantity
169
+ }.reject do |_k, v|
170
+ v == OMIT
171
+ end
172
+ end
173
+
174
+ # Deserialize a JSON object to an instance of OccurrenceSpanInformation
175
+ #
176
+ # @param json_object [String]
177
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanInformation]
178
+ def self.from_json(json_object:)
179
+ struct = JSON.parse(json_object, object_class: OpenStruct)
180
+ parsed_json = JSON.parse(json_object)
181
+ occurrence_span_code_qualifier = struct["occurrence_span_code_qualifier"]
182
+ occurrence_span_code = struct["occurrence_span_code"]
183
+ if parsed_json["occurrence_span_date"].nil?
184
+ occurrence_span_date = nil
185
+ else
186
+ occurrence_span_date = parsed_json["occurrence_span_date"].to_json
187
+ occurrence_span_date = CandidApiClient::HealthCareCodeInformation::V1::Types::Rd8Date.from_json(json_object: occurrence_span_date)
188
+ end
189
+ id = struct["id"]
190
+ encounter_id = struct["encounter_id"]
191
+ code_list_qualifier = struct["code_list_qualifier"]
192
+ industry_code_1 = struct["industry_code_1"]
193
+ industry_code_2 = struct["industry_code_2"]
194
+ industry_code_3 = struct["industry_code_3"]
195
+ industry_code_4 = struct["industry_code_4"]
196
+ date_time_period_format_qualifier = struct["date_time_period_format_qualifier"]
197
+ date_time_period = struct["date_time_period"]
198
+ monetary_amount = struct["monetary_amount"]
199
+ quantity = struct["quantity"]
200
+ new(
201
+ occurrence_span_code_qualifier: occurrence_span_code_qualifier,
202
+ occurrence_span_code: occurrence_span_code,
203
+ occurrence_span_date: occurrence_span_date,
204
+ id: id,
205
+ encounter_id: encounter_id,
206
+ code_list_qualifier: code_list_qualifier,
207
+ industry_code_1: industry_code_1,
208
+ industry_code_2: industry_code_2,
209
+ industry_code_3: industry_code_3,
210
+ industry_code_4: industry_code_4,
211
+ date_time_period_format_qualifier: date_time_period_format_qualifier,
212
+ date_time_period: date_time_period,
213
+ monetary_amount: monetary_amount,
214
+ quantity: quantity,
215
+ additional_properties: struct
216
+ )
217
+ end
218
+
219
+ # Serialize an instance of OccurrenceSpanInformation to a JSON object
220
+ #
221
+ # @return [String]
222
+ def to_json(*_args)
223
+ @_field_set&.to_json
224
+ end
225
+
226
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
227
+ # hash and check each fields type against the current object's property
228
+ # definitions.
229
+ #
230
+ # @param obj [Object]
231
+ # @return [Void]
232
+ def self.validate_raw(obj:)
233
+ obj.occurrence_span_code_qualifier.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCodeQualifier) != false || raise("Passed value for field obj.occurrence_span_code_qualifier is not the expected type, validation failed.")
234
+ obj.occurrence_span_code.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCode) != false || raise("Passed value for field obj.occurrence_span_code is not the expected type, validation failed.")
235
+ CandidApiClient::HealthCareCodeInformation::V1::Types::Rd8Date.validate_raw(obj: obj.occurrence_span_date)
236
+ obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
237
+ obj.encounter_id&.is_a?(String) != false || raise("Passed value for field obj.encounter_id is not the expected type, validation failed.")
238
+ 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.")
239
+ obj.industry_code_1&.is_a?(String) != false || raise("Passed value for field obj.industry_code_1 is not the expected type, validation failed.")
240
+ obj.industry_code_2&.is_a?(String) != false || raise("Passed value for field obj.industry_code_2 is not the expected type, validation failed.")
241
+ obj.industry_code_3&.is_a?(String) != false || raise("Passed value for field obj.industry_code_3 is not the expected type, validation failed.")
242
+ obj.industry_code_4&.is_a?(String) != false || raise("Passed value for field obj.industry_code_4 is not the expected type, validation failed.")
243
+ 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.")
244
+ obj.date_time_period&.is_a?(String) != false || raise("Passed value for field obj.date_time_period is not the expected type, validation failed.")
245
+ obj.monetary_amount&.is_a?(String) != false || raise("Passed value for field obj.monetary_amount is not the expected type, validation failed.")
246
+ obj.quantity&.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
247
+ end
248
+ end
249
+ end
250
+ end
251
+ end
252
+ end
@@ -0,0 +1,222 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "occurrence_span_code_qualifier"
4
+ require_relative "occurrence_span_code"
5
+ require_relative "rd_8_date"
6
+ require_relative "code_list_qualifier_code"
7
+ require_relative "date_time_period_format_qualifier"
8
+ require "ostruct"
9
+ require "json"
10
+
11
+ module CandidApiClient
12
+ module HealthCareCodeInformation
13
+ module V1
14
+ module Types
15
+ # This corresponds to the BI code qualifier value.
16
+ class OccurrenceSpanInformationNew
17
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCodeQualifier]
18
+ attr_reader :occurrence_span_code_qualifier
19
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCode]
20
+ attr_reader :occurrence_span_code
21
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::Rd8Date]
22
+ attr_reader :occurrence_span_date
23
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
24
+ attr_reader :code_list_qualifier
25
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
26
+ # You do not need to set this field generally, instead it is provided as advisory
27
+ # context on how this HealthCareCodeInformation's data will be available in
28
+ # reporting.
29
+ attr_reader :industry_code_1
30
+ # @return [String] A code string whose interpretation depends on the code_list_qualifier being set.
31
+ # You do not need to set this field generally, instead it is provided as advisory
32
+ # context on how this HealthCareCodeInformation's data will be available in
33
+ # reporting.
34
+ attr_reader :industry_code_2
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_3
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_4
45
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
46
+ # as part of claim process.
47
+ # You do not need to set this field generally, instead it is provided as advisory
48
+ # context on how this HealthCareCodeInformation's data will be available in
49
+ # reporting.
50
+ attr_reader :date_time_period_format_qualifier
51
+ # @return [String] A string, formatted according to date_time_period_format_qualifier, which
52
+ # ultimately represents the date time period in which an information object
53
+ # is covering.
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
58
+ # @return [String] A decimal used to represent ValueInformation results.
59
+ # You do not need to set this field generally, instead it is provided as advisory
60
+ # context on how this HealthCareCodeInformation's data will be available in
61
+ # reporting.
62
+ attr_reader :monetary_amount
63
+ # @return [String] You do not need to set this field generally, instead it is provided as advisory
64
+ # context on how this HealthCareCodeInformation's data will be available in
65
+ # reporting.
66
+ attr_reader :quantity
67
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
68
+ attr_reader :additional_properties
69
+ # @return [Object]
70
+ attr_reader :_field_set
71
+ protected :_field_set
72
+
73
+ OMIT = Object.new
74
+
75
+ # @param occurrence_span_code_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCodeQualifier]
76
+ # @param occurrence_span_code [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCode]
77
+ # @param occurrence_span_date [CandidApiClient::HealthCareCodeInformation::V1::Types::Rd8Date]
78
+ # @param code_list_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::CodeListQualifierCode]
79
+ # @param industry_code_1 [String] A code string whose interpretation depends on the code_list_qualifier being set.
80
+ # You do not need to set this field generally, instead it is provided as advisory
81
+ # context on how this HealthCareCodeInformation's data will be available in
82
+ # reporting.
83
+ # @param industry_code_2 [String] A code string whose interpretation depends on the code_list_qualifier being set.
84
+ # You do not need to set this field generally, instead it is provided as advisory
85
+ # context on how this HealthCareCodeInformation's data will be available in
86
+ # reporting.
87
+ # @param industry_code_3 [String] A code string whose interpretation depends on the code_list_qualifier being set.
88
+ # You do not need to set this field generally, instead it is provided as advisory
89
+ # context on how this HealthCareCodeInformation's data will be available in
90
+ # reporting.
91
+ # @param industry_code_4 [String] A code string whose interpretation depends on the code_list_qualifier being set.
92
+ # You do not need to set this field generally, instead it is provided as advisory
93
+ # context on how this HealthCareCodeInformation's data will be available in
94
+ # reporting.
95
+ # @param date_time_period_format_qualifier [CandidApiClient::HealthCareCodeInformation::V1::Types::DateTimePeriodFormatQualifier] Controls how the date_time_period field is interpreted and is submitted
96
+ # as part of claim process.
97
+ # You do not need to set this field generally, instead it is provided as advisory
98
+ # context on how this HealthCareCodeInformation's data will be available in
99
+ # reporting.
100
+ # @param date_time_period [String] A string, formatted according to date_time_period_format_qualifier, which
101
+ # ultimately represents the date time period in which an information object
102
+ # is covering.
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 monetary_amount [String] A decimal used to represent ValueInformation results.
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 quantity [String] You do not need to set this field generally, instead it is provided as advisory
111
+ # context on how this HealthCareCodeInformation's data will be available in
112
+ # reporting.
113
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
114
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanInformationNew]
115
+ def initialize(occurrence_span_code_qualifier:, occurrence_span_code:, occurrence_span_date:,
116
+ 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)
117
+ @occurrence_span_code_qualifier = occurrence_span_code_qualifier
118
+ @occurrence_span_code = occurrence_span_code
119
+ @occurrence_span_date = occurrence_span_date
120
+ @code_list_qualifier = code_list_qualifier if code_list_qualifier != OMIT
121
+ @industry_code_1 = industry_code_1 if industry_code_1 != OMIT
122
+ @industry_code_2 = industry_code_2 if industry_code_2 != OMIT
123
+ @industry_code_3 = industry_code_3 if industry_code_3 != OMIT
124
+ @industry_code_4 = industry_code_4 if industry_code_4 != OMIT
125
+ if date_time_period_format_qualifier != OMIT
126
+ @date_time_period_format_qualifier = date_time_period_format_qualifier
127
+ end
128
+ @date_time_period = date_time_period if date_time_period != OMIT
129
+ @monetary_amount = monetary_amount if monetary_amount != OMIT
130
+ @quantity = quantity if quantity != OMIT
131
+ @additional_properties = additional_properties
132
+ @_field_set = {
133
+ "occurrence_span_code_qualifier": occurrence_span_code_qualifier,
134
+ "occurrence_span_code": occurrence_span_code,
135
+ "occurrence_span_date": occurrence_span_date,
136
+ "code_list_qualifier": code_list_qualifier,
137
+ "industry_code_1": industry_code_1,
138
+ "industry_code_2": industry_code_2,
139
+ "industry_code_3": industry_code_3,
140
+ "industry_code_4": industry_code_4,
141
+ "date_time_period_format_qualifier": date_time_period_format_qualifier,
142
+ "date_time_period": date_time_period,
143
+ "monetary_amount": monetary_amount,
144
+ "quantity": quantity
145
+ }.reject do |_k, v|
146
+ v == OMIT
147
+ end
148
+ end
149
+
150
+ # Deserialize a JSON object to an instance of OccurrenceSpanInformationNew
151
+ #
152
+ # @param json_object [String]
153
+ # @return [CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanInformationNew]
154
+ def self.from_json(json_object:)
155
+ struct = JSON.parse(json_object, object_class: OpenStruct)
156
+ parsed_json = JSON.parse(json_object)
157
+ occurrence_span_code_qualifier = struct["occurrence_span_code_qualifier"]
158
+ occurrence_span_code = struct["occurrence_span_code"]
159
+ if parsed_json["occurrence_span_date"].nil?
160
+ occurrence_span_date = nil
161
+ else
162
+ occurrence_span_date = parsed_json["occurrence_span_date"].to_json
163
+ occurrence_span_date = CandidApiClient::HealthCareCodeInformation::V1::Types::Rd8Date.from_json(json_object: occurrence_span_date)
164
+ end
165
+ code_list_qualifier = struct["code_list_qualifier"]
166
+ industry_code_1 = struct["industry_code_1"]
167
+ industry_code_2 = struct["industry_code_2"]
168
+ industry_code_3 = struct["industry_code_3"]
169
+ industry_code_4 = struct["industry_code_4"]
170
+ date_time_period_format_qualifier = struct["date_time_period_format_qualifier"]
171
+ date_time_period = struct["date_time_period"]
172
+ monetary_amount = struct["monetary_amount"]
173
+ quantity = struct["quantity"]
174
+ new(
175
+ occurrence_span_code_qualifier: occurrence_span_code_qualifier,
176
+ occurrence_span_code: occurrence_span_code,
177
+ occurrence_span_date: occurrence_span_date,
178
+ code_list_qualifier: code_list_qualifier,
179
+ industry_code_1: industry_code_1,
180
+ industry_code_2: industry_code_2,
181
+ industry_code_3: industry_code_3,
182
+ industry_code_4: industry_code_4,
183
+ date_time_period_format_qualifier: date_time_period_format_qualifier,
184
+ date_time_period: date_time_period,
185
+ monetary_amount: monetary_amount,
186
+ quantity: quantity,
187
+ additional_properties: struct
188
+ )
189
+ end
190
+
191
+ # Serialize an instance of OccurrenceSpanInformationNew to a JSON object
192
+ #
193
+ # @return [String]
194
+ def to_json(*_args)
195
+ @_field_set&.to_json
196
+ end
197
+
198
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
199
+ # hash and check each fields type against the current object's property
200
+ # definitions.
201
+ #
202
+ # @param obj [Object]
203
+ # @return [Void]
204
+ def self.validate_raw(obj:)
205
+ obj.occurrence_span_code_qualifier.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCodeQualifier) != false || raise("Passed value for field obj.occurrence_span_code_qualifier is not the expected type, validation failed.")
206
+ obj.occurrence_span_code.is_a?(CandidApiClient::HealthCareCodeInformation::V1::Types::OccurrenceSpanCode) != false || raise("Passed value for field obj.occurrence_span_code is not the expected type, validation failed.")
207
+ CandidApiClient::HealthCareCodeInformation::V1::Types::Rd8Date.validate_raw(obj: obj.occurrence_span_date)
208
+ 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.")
209
+ obj.industry_code_1&.is_a?(String) != false || raise("Passed value for field obj.industry_code_1 is not the expected type, validation failed.")
210
+ obj.industry_code_2&.is_a?(String) != false || raise("Passed value for field obj.industry_code_2 is not the expected type, validation failed.")
211
+ obj.industry_code_3&.is_a?(String) != false || raise("Passed value for field obj.industry_code_3 is not the expected type, validation failed.")
212
+ obj.industry_code_4&.is_a?(String) != false || raise("Passed value for field obj.industry_code_4 is not the expected type, validation failed.")
213
+ 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.")
214
+ obj.date_time_period&.is_a?(String) != false || raise("Passed value for field obj.date_time_period is not the expected type, validation failed.")
215
+ obj.monetary_amount&.is_a?(String) != false || raise("Passed value for field obj.monetary_amount is not the expected type, validation failed.")
216
+ obj.quantity&.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
217
+ end
218
+ end
219
+ end
220
+ end
221
+ end
222
+ end