samplehc 0.16.0__py3-none-any.whl → 0.18.0__py3-none-any.whl

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 (150) hide show
  1. samplehc/_client.py +1 -38
  2. samplehc/_version.py +1 -1
  3. samplehc/resources/__init__.py +0 -14
  4. samplehc/resources/v2/__init__.py +0 -98
  5. samplehc/resources/v2/async_results.py +0 -79
  6. samplehc/resources/v2/documents/__init__.py +0 -14
  7. samplehc/resources/v2/documents/documents.py +0 -194
  8. samplehc/resources/v2/v2.py +0 -224
  9. samplehc/types/__init__.py +0 -5
  10. samplehc/types/v2/__init__.py +0 -53
  11. samplehc/types/v2/documents/__init__.py +0 -3
  12. {samplehc-0.16.0.dist-info → samplehc-0.18.0.dist-info}/METADATA +22 -27
  13. samplehc-0.18.0.dist-info/RECORD +92 -0
  14. samplehc/resources/v1/__init__.py +0 -19
  15. samplehc/resources/v1/v1.py +0 -298
  16. samplehc/resources/v2/clearinghouse/__init__.py +0 -47
  17. samplehc/resources/v2/clearinghouse/claim.py +0 -407
  18. samplehc/resources/v2/clearinghouse/clearinghouse.py +0 -844
  19. samplehc/resources/v2/clearinghouse/payers.py +0 -224
  20. samplehc/resources/v2/documents/pdf_template.py +0 -165
  21. samplehc/resources/v2/hie/__init__.py +0 -47
  22. samplehc/resources/v2/hie/adt.py +0 -249
  23. samplehc/resources/v2/hie/documents.py +0 -390
  24. samplehc/resources/v2/hie/hie.py +0 -134
  25. samplehc/resources/v2/integrations/__init__.py +0 -131
  26. samplehc/resources/v2/integrations/bank/__init__.py +0 -33
  27. samplehc/resources/v2/integrations/bank/bank.py +0 -102
  28. samplehc/resources/v2/integrations/bank/transactions.py +0 -185
  29. samplehc/resources/v2/integrations/careviso.py +0 -372
  30. samplehc/resources/v2/integrations/glidian/__init__.py +0 -33
  31. samplehc/resources/v2/integrations/glidian/glidian.py +0 -425
  32. samplehc/resources/v2/integrations/glidian/prior_authorizations/__init__.py +0 -33
  33. samplehc/resources/v2/integrations/glidian/prior_authorizations/clinical_questions.py +0 -276
  34. samplehc/resources/v2/integrations/glidian/prior_authorizations/prior_authorizations.py +0 -527
  35. samplehc/resources/v2/integrations/integrations.py +0 -326
  36. samplehc/resources/v2/integrations/kno2/__init__.py +0 -33
  37. samplehc/resources/v2/integrations/kno2/kno2.py +0 -102
  38. samplehc/resources/v2/integrations/kno2/messages.py +0 -260
  39. samplehc/resources/v2/integrations/salesforce.py +0 -277
  40. samplehc/resources/v2/integrations/snowflake.py +0 -173
  41. samplehc/resources/v2/integrations/wellsky/__init__.py +0 -33
  42. samplehc/resources/v2/integrations/wellsky/patients.py +0 -324
  43. samplehc/resources/v2/integrations/wellsky/wellsky.py +0 -102
  44. samplehc/resources/v2/integrations/xcures.py +0 -197
  45. samplehc/resources/v2/policies.py +0 -655
  46. samplehc/resources/v2/tasks/__init__.py +0 -33
  47. samplehc/resources/v2/tasks/state.py +0 -266
  48. samplehc/resources/v2/tasks/tasks.py +0 -754
  49. samplehc/resources/v2/workflow_runs/__init__.py +0 -33
  50. samplehc/resources/v2/workflow_runs/step.py +0 -169
  51. samplehc/resources/v2/workflow_runs/workflow_runs.py +0 -479
  52. samplehc/resources/v2/workflows.py +0 -365
  53. samplehc/types/v1/__init__.py +0 -3
  54. samplehc/types/v1_query_audit_logs_params.py +0 -12
  55. samplehc/types/v1_query_audit_logs_response.py +0 -16
  56. samplehc/types/v1_sql_execute_params.py +0 -27
  57. samplehc/types/v1_sql_execute_response.py +0 -27
  58. samplehc/types/v2/async_result_retrieve_response.py +0 -18
  59. samplehc/types/v2/clearinghouse/__init__.py +0 -9
  60. samplehc/types/v2/clearinghouse/claim_submit_params.py +0 -2693
  61. samplehc/types/v2/clearinghouse/claim_submit_response.py +0 -23
  62. samplehc/types/v2/clearinghouse/payer_list_response.py +0 -27
  63. samplehc/types/v2/clearinghouse/payer_search_params.py +0 -12
  64. samplehc/types/v2/clearinghouse/payer_search_response.py +0 -33
  65. samplehc/types/v2/clearinghouse_calculate_patient_cost_params.py +0 -3129
  66. samplehc/types/v2/clearinghouse_check_claim_status_params.py +0 -41
  67. samplehc/types/v2/clearinghouse_check_eligibility_params.py +0 -36
  68. samplehc/types/v2/clearinghouse_check_eligibility_response.py +0 -15
  69. samplehc/types/v2/clearinghouse_coordination_of_benefits_params.py +0 -35
  70. samplehc/types/v2/clearinghouse_run_discovery_params.py +0 -59
  71. samplehc/types/v2/clearinghouse_run_discovery_response.py +0 -13
  72. samplehc/types/v2/document_unzip_async_response.py +0 -12
  73. samplehc/types/v2/document_unzip_response.py +0 -20
  74. samplehc/types/v2/documents/pdf_template_retrieve_metadata_response.py +0 -17
  75. samplehc/types/v2/hie/__init__.py +0 -8
  76. samplehc/types/v2/hie/adt_subscribe_params.py +0 -92
  77. samplehc/types/v2/hie/document_query_params.py +0 -92
  78. samplehc/types/v2/hie/document_query_response.py +0 -16
  79. samplehc/types/v2/hie/document_upload_params.py +0 -54
  80. samplehc/types/v2/integrations/__init__.py +0 -23
  81. samplehc/types/v2/integrations/bank/__init__.py +0 -6
  82. samplehc/types/v2/integrations/bank/transaction_sync_params.py +0 -15
  83. samplehc/types/v2/integrations/bank/transaction_sync_response.py +0 -26
  84. samplehc/types/v2/integrations/careviso_get_payers_response.py +0 -19
  85. samplehc/types/v2/integrations/careviso_submit_prior_authorization_params.py +0 -90
  86. samplehc/types/v2/integrations/glidian/__init__.py +0 -20
  87. samplehc/types/v2/integrations/glidian/prior_authorization_create_draft_params.py +0 -32
  88. samplehc/types/v2/integrations/glidian/prior_authorization_create_draft_response.py +0 -24
  89. samplehc/types/v2/integrations/glidian/prior_authorization_retrieve_record_response.py +0 -13
  90. samplehc/types/v2/integrations/glidian/prior_authorization_submit_response.py +0 -16
  91. samplehc/types/v2/integrations/glidian/prior_authorization_update_record_params.py +0 -20
  92. samplehc/types/v2/integrations/glidian/prior_authorization_update_record_response.py +0 -16
  93. samplehc/types/v2/integrations/glidian/prior_authorizations/__init__.py +0 -7
  94. samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_list_response.py +0 -42
  95. samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_update_params.py +0 -23
  96. samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_update_response.py +0 -19
  97. samplehc/types/v2/integrations/glidian_get_submission_requirements_params.py +0 -17
  98. samplehc/types/v2/integrations/glidian_get_submission_requirements_response.py +0 -31
  99. samplehc/types/v2/integrations/glidian_list_payers_params.py +0 -11
  100. samplehc/types/v2/integrations/glidian_list_payers_response.py +0 -17
  101. samplehc/types/v2/integrations/glidian_list_services_params.py +0 -13
  102. samplehc/types/v2/integrations/glidian_list_services_response.py +0 -19
  103. samplehc/types/v2/integrations/kno2/__init__.py +0 -6
  104. samplehc/types/v2/integrations/kno2/message_get_attachment_response.py +0 -15
  105. samplehc/types/v2/integrations/kno2/message_retrieve_response.py +0 -13
  106. samplehc/types/v2/integrations/salesforce_run_crud_action_params.py +0 -22
  107. samplehc/types/v2/integrations/salesforce_run_soql_query_params.py +0 -11
  108. samplehc/types/v2/integrations/snowflake_query_params.py +0 -12
  109. samplehc/types/v2/integrations/snowflake_query_response.py +0 -8
  110. samplehc/types/v2/integrations/wellsky/__init__.py +0 -6
  111. samplehc/types/v2/integrations/wellsky/patient_add_params.py +0 -13
  112. samplehc/types/v2/integrations/wellsky/patient_search_params.py +0 -32
  113. samplehc/types/v2/integrations/xcure_make_request_params.py +0 -18
  114. samplehc/types/v2/ledger/__init__.py +0 -3
  115. samplehc/types/v2/policy_list_companies_params.py +0 -18
  116. samplehc/types/v2/policy_list_companies_response.py +0 -24
  117. samplehc/types/v2/policy_list_params.py +0 -47
  118. samplehc/types/v2/policy_list_plans_params.py +0 -18
  119. samplehc/types/v2/policy_list_plans_response.py +0 -30
  120. samplehc/types/v2/policy_list_response.py +0 -67
  121. samplehc/types/v2/policy_retrieve_presigned_url_response.py +0 -17
  122. samplehc/types/v2/policy_retrieve_text_response.py +0 -12
  123. samplehc/types/v2/task_cancel_response.py +0 -12
  124. samplehc/types/v2/task_complete_params.py +0 -12
  125. samplehc/types/v2/task_complete_response.py +0 -16
  126. samplehc/types/v2/task_get_suspended_payload_response.py +0 -8
  127. samplehc/types/v2/task_retrieve_response.py +0 -22
  128. samplehc/types/v2/task_retry_response.py +0 -10
  129. samplehc/types/v2/task_update_column_params.py +0 -19
  130. samplehc/types/v2/task_update_column_response.py +0 -9
  131. samplehc/types/v2/task_update_screen_time_params.py +0 -14
  132. samplehc/types/v2/task_update_screen_time_response.py +0 -8
  133. samplehc/types/v2/tasks/__init__.py +0 -7
  134. samplehc/types/v2/tasks/state_get_response.py +0 -8
  135. samplehc/types/v2/tasks/state_update_params.py +0 -13
  136. samplehc/types/v2/tasks/state_update_response.py +0 -9
  137. samplehc/types/v2/workflow_deploy_response.py +0 -12
  138. samplehc/types/v2/workflow_query_params.py +0 -12
  139. samplehc/types/v2/workflow_query_response.py +0 -8
  140. samplehc/types/v2/workflow_run_get_start_data_response.py +0 -14
  141. samplehc/types/v2/workflow_run_resume_when_complete_params.py +0 -14
  142. samplehc/types/v2/workflow_run_resume_when_complete_response.py +0 -12
  143. samplehc/types/v2/workflow_run_retrieve_response.py +0 -16
  144. samplehc/types/v2/workflow_runs/__init__.py +0 -5
  145. samplehc/types/v2/workflow_runs/step_get_output_response.py +0 -14
  146. samplehc/types/v2/workflow_start_params.py +0 -17
  147. samplehc/types/v2/workflow_start_response.py +0 -25
  148. samplehc-0.16.0.dist-info/RECORD +0 -226
  149. {samplehc-0.16.0.dist-info → samplehc-0.18.0.dist-info}/WHEEL +0 -0
  150. {samplehc-0.16.0.dist-info → samplehc-0.18.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,844 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from __future__ import annotations
4
-
5
- from typing import Iterable
6
-
7
- import httpx
8
-
9
- from .claim import (
10
- ClaimResource,
11
- AsyncClaimResource,
12
- ClaimResourceWithRawResponse,
13
- AsyncClaimResourceWithRawResponse,
14
- ClaimResourceWithStreamingResponse,
15
- AsyncClaimResourceWithStreamingResponse,
16
- )
17
- from .payers import (
18
- PayersResource,
19
- AsyncPayersResource,
20
- PayersResourceWithRawResponse,
21
- AsyncPayersResourceWithRawResponse,
22
- PayersResourceWithStreamingResponse,
23
- AsyncPayersResourceWithStreamingResponse,
24
- )
25
- from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, SequenceNotStr, omit, not_given
26
- from ...._utils import maybe_transform, strip_not_given, async_maybe_transform
27
- from ...._compat import cached_property
28
- from ....types.v2 import (
29
- clearinghouse_run_discovery_params,
30
- clearinghouse_check_eligibility_params,
31
- clearinghouse_check_claim_status_params,
32
- clearinghouse_calculate_patient_cost_params,
33
- clearinghouse_coordination_of_benefits_params,
34
- )
35
- from ...._resource import SyncAPIResource, AsyncAPIResource
36
- from ...._response import (
37
- to_raw_response_wrapper,
38
- to_streamed_response_wrapper,
39
- async_to_raw_response_wrapper,
40
- async_to_streamed_response_wrapper,
41
- )
42
- from ...._base_client import make_request_options
43
- from ....types.v2.clearinghouse_run_discovery_response import ClearinghouseRunDiscoveryResponse
44
- from ....types.v2.clearinghouse_check_eligibility_response import ClearinghouseCheckEligibilityResponse
45
-
46
- __all__ = ["ClearinghouseResource", "AsyncClearinghouseResource"]
47
-
48
-
49
- class ClearinghouseResource(SyncAPIResource):
50
- @cached_property
51
- def payers(self) -> PayersResource:
52
- return PayersResource(self._client)
53
-
54
- @cached_property
55
- def claim(self) -> ClaimResource:
56
- return ClaimResource(self._client)
57
-
58
- @cached_property
59
- def with_raw_response(self) -> ClearinghouseResourceWithRawResponse:
60
- """
61
- This property can be used as a prefix for any HTTP method call to return
62
- the raw response object instead of the parsed content.
63
-
64
- For more information, see https://www.github.com/samplehc/samplehc-python#accessing-raw-response-data-eg-headers
65
- """
66
- return ClearinghouseResourceWithRawResponse(self)
67
-
68
- @cached_property
69
- def with_streaming_response(self) -> ClearinghouseResourceWithStreamingResponse:
70
- """
71
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
72
-
73
- For more information, see https://www.github.com/samplehc/samplehc-python#with_streaming_response
74
- """
75
- return ClearinghouseResourceWithStreamingResponse(self)
76
-
77
- def calculate_patient_cost(
78
- self,
79
- *,
80
- eligibility_responses: Iterable[clearinghouse_calculate_patient_cost_params.EligibilityResponse],
81
- line_items: Iterable[clearinghouse_calculate_patient_cost_params.LineItem],
82
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
83
- # The extra values given here take precedence over values defined on the client or passed to this method.
84
- extra_headers: Headers | None = None,
85
- extra_query: Query | None = None,
86
- extra_body: Body | None = None,
87
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
88
- ) -> None:
89
- """
90
- Calculates the cost of a patient's services based on the provided information.
91
-
92
- Args:
93
- eligibility_responses: The eligibility responses that the patient has in order of preference (primary,
94
- secondary, etc.).
95
-
96
- line_items: The line items you are estimating the patient cost for
97
-
98
- extra_headers: Send extra headers
99
-
100
- extra_query: Add additional query parameters to the request
101
-
102
- extra_body: Add additional JSON properties to the request
103
-
104
- timeout: Override the client-level default timeout for this request, in seconds
105
- """
106
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
107
- return self._post(
108
- "/api/v2/clearinghouse/patient-cost",
109
- body=maybe_transform(
110
- {
111
- "eligibility_responses": eligibility_responses,
112
- "line_items": line_items,
113
- },
114
- clearinghouse_calculate_patient_cost_params.ClearinghouseCalculatePatientCostParams,
115
- ),
116
- options=make_request_options(
117
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
118
- ),
119
- cast_to=NoneType,
120
- )
121
-
122
- def check_claim_status(
123
- self,
124
- *,
125
- provider_npi: str,
126
- subscriber_date_of_birth: str,
127
- subscriber_first_name: str,
128
- subscriber_last_name: str,
129
- subscriber_member_id: str,
130
- trading_partner_service_id: str,
131
- payer_claim_number: str | Omit = omit,
132
- provider_name: str | Omit = omit,
133
- service_from_date: str | Omit = omit,
134
- service_to_date: str | Omit = omit,
135
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
136
- # The extra values given here take precedence over values defined on the client or passed to this method.
137
- extra_headers: Headers | None = None,
138
- extra_query: Query | None = None,
139
- extra_body: Body | None = None,
140
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
141
- ) -> object:
142
- """
143
- Checks the real-time status of a claim using 276/277 transactions.
144
-
145
- Args:
146
- provider_npi: The provider's NPI number
147
-
148
- subscriber_date_of_birth: The subscriber's date of birth (YYYY-MM-DD format)
149
-
150
- subscriber_first_name: The subscriber's first name
151
-
152
- subscriber_last_name: The subscriber's last name
153
-
154
- subscriber_member_id: The subscriber's member ID
155
-
156
- trading_partner_service_id: The Payer ID in our clearinghouse
157
-
158
- payer_claim_number: The payer claim number (ICN) to check status for
159
-
160
- provider_name: The provider's organization name
161
-
162
- service_from_date: The beginning date of service (YYYY-MM-DD format)
163
-
164
- service_to_date: The ending date of service (YYYY-MM-DD format)
165
-
166
- extra_headers: Send extra headers
167
-
168
- extra_query: Add additional query parameters to the request
169
-
170
- extra_body: Add additional JSON properties to the request
171
-
172
- timeout: Override the client-level default timeout for this request, in seconds
173
- """
174
- return self._post(
175
- "/api/v2/clearinghouse/claim-status",
176
- body=maybe_transform(
177
- {
178
- "provider_npi": provider_npi,
179
- "subscriber_date_of_birth": subscriber_date_of_birth,
180
- "subscriber_first_name": subscriber_first_name,
181
- "subscriber_last_name": subscriber_last_name,
182
- "subscriber_member_id": subscriber_member_id,
183
- "trading_partner_service_id": trading_partner_service_id,
184
- "payer_claim_number": payer_claim_number,
185
- "provider_name": provider_name,
186
- "service_from_date": service_from_date,
187
- "service_to_date": service_to_date,
188
- },
189
- clearinghouse_check_claim_status_params.ClearinghouseCheckClaimStatusParams,
190
- ),
191
- options=make_request_options(
192
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
193
- ),
194
- cast_to=object,
195
- )
196
-
197
- def check_eligibility(
198
- self,
199
- *,
200
- provider_identifier: str,
201
- provider_name: str,
202
- service_type_codes: SequenceNotStr[str],
203
- subscriber_date_of_birth: str,
204
- subscriber_first_name: str,
205
- subscriber_last_name: str,
206
- subscriber_member_id: str,
207
- trading_partner_service_id: str,
208
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
209
- # The extra values given here take precedence over values defined on the client or passed to this method.
210
- extra_headers: Headers | None = None,
211
- extra_query: Query | None = None,
212
- extra_body: Body | None = None,
213
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
214
- ) -> ClearinghouseCheckEligibilityResponse:
215
- """
216
- Verifies patient eligibility with a specific payer for given services based on
217
- the provided patient and provider information.
218
-
219
- Args:
220
- provider_identifier: The provider identifier. This is usually your NPI.
221
-
222
- provider_name: The provider name.
223
-
224
- service_type_codes: The service type codes.
225
-
226
- subscriber_date_of_birth: The date of birth of the subscriber.
227
-
228
- subscriber_first_name: The first name of the subscriber.
229
-
230
- subscriber_last_name: The last name of the subscriber.
231
-
232
- subscriber_member_id: The member ID of the subscriber.
233
-
234
- trading_partner_service_id: The trading partner service ID
235
-
236
- extra_headers: Send extra headers
237
-
238
- extra_query: Add additional query parameters to the request
239
-
240
- extra_body: Add additional JSON properties to the request
241
-
242
- timeout: Override the client-level default timeout for this request, in seconds
243
- """
244
- return self._post(
245
- "/api/v2/clearinghouse/check-eligibility",
246
- body=maybe_transform(
247
- {
248
- "provider_identifier": provider_identifier,
249
- "provider_name": provider_name,
250
- "service_type_codes": service_type_codes,
251
- "subscriber_date_of_birth": subscriber_date_of_birth,
252
- "subscriber_first_name": subscriber_first_name,
253
- "subscriber_last_name": subscriber_last_name,
254
- "subscriber_member_id": subscriber_member_id,
255
- "trading_partner_service_id": trading_partner_service_id,
256
- },
257
- clearinghouse_check_eligibility_params.ClearinghouseCheckEligibilityParams,
258
- ),
259
- options=make_request_options(
260
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
261
- ),
262
- cast_to=ClearinghouseCheckEligibilityResponse,
263
- )
264
-
265
- def coordination_of_benefits(
266
- self,
267
- *,
268
- dependent_date_of_birth: str,
269
- dependent_first_name: str,
270
- dependent_last_name: str,
271
- encounter_date_of_service: str,
272
- encounter_service_type_code: str,
273
- provider_name: str,
274
- provider_npi: str,
275
- subscriber_date_of_birth: str,
276
- subscriber_first_name: str,
277
- subscriber_last_name: str,
278
- subscriber_member_id: str,
279
- trading_partner_service_id: str,
280
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
281
- # The extra values given here take precedence over values defined on the client or passed to this method.
282
- extra_headers: Headers | None = None,
283
- extra_query: Query | None = None,
284
- extra_body: Body | None = None,
285
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
286
- ) -> object:
287
- """
288
- Fetches coordination of benefits (COB) information for a patient from a
289
- specified payer, detailing other insurance coverages.
290
-
291
- Args:
292
- extra_headers: Send extra headers
293
-
294
- extra_query: Add additional query parameters to the request
295
-
296
- extra_body: Add additional JSON properties to the request
297
-
298
- timeout: Override the client-level default timeout for this request, in seconds
299
- """
300
- return self._post(
301
- "/api/v2/clearinghouse/coordination-of-benefits",
302
- body=maybe_transform(
303
- {
304
- "dependent_date_of_birth": dependent_date_of_birth,
305
- "dependent_first_name": dependent_first_name,
306
- "dependent_last_name": dependent_last_name,
307
- "encounter_date_of_service": encounter_date_of_service,
308
- "encounter_service_type_code": encounter_service_type_code,
309
- "provider_name": provider_name,
310
- "provider_npi": provider_npi,
311
- "subscriber_date_of_birth": subscriber_date_of_birth,
312
- "subscriber_first_name": subscriber_first_name,
313
- "subscriber_last_name": subscriber_last_name,
314
- "subscriber_member_id": subscriber_member_id,
315
- "trading_partner_service_id": trading_partner_service_id,
316
- },
317
- clearinghouse_coordination_of_benefits_params.ClearinghouseCoordinationOfBenefitsParams,
318
- ),
319
- options=make_request_options(
320
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
321
- ),
322
- cast_to=object,
323
- )
324
-
325
- def run_discovery(
326
- self,
327
- *,
328
- person: clearinghouse_run_discovery_params.Person,
329
- account_number: str | Omit = omit,
330
- check_credit: bool | Omit = omit,
331
- check_demographics: bool | Omit = omit,
332
- date_of_service: str | Omit = omit,
333
- run_business_rules: bool | Omit = omit,
334
- service_code: str | Omit = omit,
335
- idempotency_key: str | Omit = omit,
336
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
337
- # The extra values given here take precedence over values defined on the client or passed to this method.
338
- extra_headers: Headers | None = None,
339
- extra_query: Query | None = None,
340
- extra_body: Body | None = None,
341
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
342
- ) -> ClearinghouseRunDiscoveryResponse:
343
- """
344
- Initiates a discovery process to find insurance coverage for a patient using
345
- Front Runner integration.
346
-
347
- Args:
348
- account_number: Account number
349
-
350
- check_credit: Whether to check credit
351
-
352
- check_demographics: Whether to check demographics
353
-
354
- date_of_service: Date of service (YYYY-MM-DD)
355
-
356
- run_business_rules: Whether to run business rules
357
-
358
- service_code: Service code
359
-
360
- extra_headers: Send extra headers
361
-
362
- extra_query: Add additional query parameters to the request
363
-
364
- extra_body: Add additional JSON properties to the request
365
-
366
- timeout: Override the client-level default timeout for this request, in seconds
367
- """
368
- extra_headers = {**strip_not_given({"Idempotency-Key": idempotency_key}), **(extra_headers or {})}
369
- return self._post(
370
- "/api/v2/clearinghouse/discovery",
371
- body=maybe_transform(
372
- {
373
- "person": person,
374
- "account_number": account_number,
375
- "check_credit": check_credit,
376
- "check_demographics": check_demographics,
377
- "date_of_service": date_of_service,
378
- "run_business_rules": run_business_rules,
379
- "service_code": service_code,
380
- },
381
- clearinghouse_run_discovery_params.ClearinghouseRunDiscoveryParams,
382
- ),
383
- options=make_request_options(
384
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
385
- ),
386
- cast_to=ClearinghouseRunDiscoveryResponse,
387
- )
388
-
389
-
390
- class AsyncClearinghouseResource(AsyncAPIResource):
391
- @cached_property
392
- def payers(self) -> AsyncPayersResource:
393
- return AsyncPayersResource(self._client)
394
-
395
- @cached_property
396
- def claim(self) -> AsyncClaimResource:
397
- return AsyncClaimResource(self._client)
398
-
399
- @cached_property
400
- def with_raw_response(self) -> AsyncClearinghouseResourceWithRawResponse:
401
- """
402
- This property can be used as a prefix for any HTTP method call to return
403
- the raw response object instead of the parsed content.
404
-
405
- For more information, see https://www.github.com/samplehc/samplehc-python#accessing-raw-response-data-eg-headers
406
- """
407
- return AsyncClearinghouseResourceWithRawResponse(self)
408
-
409
- @cached_property
410
- def with_streaming_response(self) -> AsyncClearinghouseResourceWithStreamingResponse:
411
- """
412
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
413
-
414
- For more information, see https://www.github.com/samplehc/samplehc-python#with_streaming_response
415
- """
416
- return AsyncClearinghouseResourceWithStreamingResponse(self)
417
-
418
- async def calculate_patient_cost(
419
- self,
420
- *,
421
- eligibility_responses: Iterable[clearinghouse_calculate_patient_cost_params.EligibilityResponse],
422
- line_items: Iterable[clearinghouse_calculate_patient_cost_params.LineItem],
423
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
424
- # The extra values given here take precedence over values defined on the client or passed to this method.
425
- extra_headers: Headers | None = None,
426
- extra_query: Query | None = None,
427
- extra_body: Body | None = None,
428
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
429
- ) -> None:
430
- """
431
- Calculates the cost of a patient's services based on the provided information.
432
-
433
- Args:
434
- eligibility_responses: The eligibility responses that the patient has in order of preference (primary,
435
- secondary, etc.).
436
-
437
- line_items: The line items you are estimating the patient cost for
438
-
439
- extra_headers: Send extra headers
440
-
441
- extra_query: Add additional query parameters to the request
442
-
443
- extra_body: Add additional JSON properties to the request
444
-
445
- timeout: Override the client-level default timeout for this request, in seconds
446
- """
447
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
448
- return await self._post(
449
- "/api/v2/clearinghouse/patient-cost",
450
- body=await async_maybe_transform(
451
- {
452
- "eligibility_responses": eligibility_responses,
453
- "line_items": line_items,
454
- },
455
- clearinghouse_calculate_patient_cost_params.ClearinghouseCalculatePatientCostParams,
456
- ),
457
- options=make_request_options(
458
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
459
- ),
460
- cast_to=NoneType,
461
- )
462
-
463
- async def check_claim_status(
464
- self,
465
- *,
466
- provider_npi: str,
467
- subscriber_date_of_birth: str,
468
- subscriber_first_name: str,
469
- subscriber_last_name: str,
470
- subscriber_member_id: str,
471
- trading_partner_service_id: str,
472
- payer_claim_number: str | Omit = omit,
473
- provider_name: str | Omit = omit,
474
- service_from_date: str | Omit = omit,
475
- service_to_date: str | Omit = omit,
476
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
477
- # The extra values given here take precedence over values defined on the client or passed to this method.
478
- extra_headers: Headers | None = None,
479
- extra_query: Query | None = None,
480
- extra_body: Body | None = None,
481
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
482
- ) -> object:
483
- """
484
- Checks the real-time status of a claim using 276/277 transactions.
485
-
486
- Args:
487
- provider_npi: The provider's NPI number
488
-
489
- subscriber_date_of_birth: The subscriber's date of birth (YYYY-MM-DD format)
490
-
491
- subscriber_first_name: The subscriber's first name
492
-
493
- subscriber_last_name: The subscriber's last name
494
-
495
- subscriber_member_id: The subscriber's member ID
496
-
497
- trading_partner_service_id: The Payer ID in our clearinghouse
498
-
499
- payer_claim_number: The payer claim number (ICN) to check status for
500
-
501
- provider_name: The provider's organization name
502
-
503
- service_from_date: The beginning date of service (YYYY-MM-DD format)
504
-
505
- service_to_date: The ending date of service (YYYY-MM-DD format)
506
-
507
- extra_headers: Send extra headers
508
-
509
- extra_query: Add additional query parameters to the request
510
-
511
- extra_body: Add additional JSON properties to the request
512
-
513
- timeout: Override the client-level default timeout for this request, in seconds
514
- """
515
- return await self._post(
516
- "/api/v2/clearinghouse/claim-status",
517
- body=await async_maybe_transform(
518
- {
519
- "provider_npi": provider_npi,
520
- "subscriber_date_of_birth": subscriber_date_of_birth,
521
- "subscriber_first_name": subscriber_first_name,
522
- "subscriber_last_name": subscriber_last_name,
523
- "subscriber_member_id": subscriber_member_id,
524
- "trading_partner_service_id": trading_partner_service_id,
525
- "payer_claim_number": payer_claim_number,
526
- "provider_name": provider_name,
527
- "service_from_date": service_from_date,
528
- "service_to_date": service_to_date,
529
- },
530
- clearinghouse_check_claim_status_params.ClearinghouseCheckClaimStatusParams,
531
- ),
532
- options=make_request_options(
533
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
534
- ),
535
- cast_to=object,
536
- )
537
-
538
- async def check_eligibility(
539
- self,
540
- *,
541
- provider_identifier: str,
542
- provider_name: str,
543
- service_type_codes: SequenceNotStr[str],
544
- subscriber_date_of_birth: str,
545
- subscriber_first_name: str,
546
- subscriber_last_name: str,
547
- subscriber_member_id: str,
548
- trading_partner_service_id: str,
549
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
550
- # The extra values given here take precedence over values defined on the client or passed to this method.
551
- extra_headers: Headers | None = None,
552
- extra_query: Query | None = None,
553
- extra_body: Body | None = None,
554
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
555
- ) -> ClearinghouseCheckEligibilityResponse:
556
- """
557
- Verifies patient eligibility with a specific payer for given services based on
558
- the provided patient and provider information.
559
-
560
- Args:
561
- provider_identifier: The provider identifier. This is usually your NPI.
562
-
563
- provider_name: The provider name.
564
-
565
- service_type_codes: The service type codes.
566
-
567
- subscriber_date_of_birth: The date of birth of the subscriber.
568
-
569
- subscriber_first_name: The first name of the subscriber.
570
-
571
- subscriber_last_name: The last name of the subscriber.
572
-
573
- subscriber_member_id: The member ID of the subscriber.
574
-
575
- trading_partner_service_id: The trading partner service ID
576
-
577
- extra_headers: Send extra headers
578
-
579
- extra_query: Add additional query parameters to the request
580
-
581
- extra_body: Add additional JSON properties to the request
582
-
583
- timeout: Override the client-level default timeout for this request, in seconds
584
- """
585
- return await self._post(
586
- "/api/v2/clearinghouse/check-eligibility",
587
- body=await async_maybe_transform(
588
- {
589
- "provider_identifier": provider_identifier,
590
- "provider_name": provider_name,
591
- "service_type_codes": service_type_codes,
592
- "subscriber_date_of_birth": subscriber_date_of_birth,
593
- "subscriber_first_name": subscriber_first_name,
594
- "subscriber_last_name": subscriber_last_name,
595
- "subscriber_member_id": subscriber_member_id,
596
- "trading_partner_service_id": trading_partner_service_id,
597
- },
598
- clearinghouse_check_eligibility_params.ClearinghouseCheckEligibilityParams,
599
- ),
600
- options=make_request_options(
601
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
602
- ),
603
- cast_to=ClearinghouseCheckEligibilityResponse,
604
- )
605
-
606
- async def coordination_of_benefits(
607
- self,
608
- *,
609
- dependent_date_of_birth: str,
610
- dependent_first_name: str,
611
- dependent_last_name: str,
612
- encounter_date_of_service: str,
613
- encounter_service_type_code: str,
614
- provider_name: str,
615
- provider_npi: str,
616
- subscriber_date_of_birth: str,
617
- subscriber_first_name: str,
618
- subscriber_last_name: str,
619
- subscriber_member_id: str,
620
- trading_partner_service_id: str,
621
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
622
- # The extra values given here take precedence over values defined on the client or passed to this method.
623
- extra_headers: Headers | None = None,
624
- extra_query: Query | None = None,
625
- extra_body: Body | None = None,
626
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
627
- ) -> object:
628
- """
629
- Fetches coordination of benefits (COB) information for a patient from a
630
- specified payer, detailing other insurance coverages.
631
-
632
- Args:
633
- extra_headers: Send extra headers
634
-
635
- extra_query: Add additional query parameters to the request
636
-
637
- extra_body: Add additional JSON properties to the request
638
-
639
- timeout: Override the client-level default timeout for this request, in seconds
640
- """
641
- return await self._post(
642
- "/api/v2/clearinghouse/coordination-of-benefits",
643
- body=await async_maybe_transform(
644
- {
645
- "dependent_date_of_birth": dependent_date_of_birth,
646
- "dependent_first_name": dependent_first_name,
647
- "dependent_last_name": dependent_last_name,
648
- "encounter_date_of_service": encounter_date_of_service,
649
- "encounter_service_type_code": encounter_service_type_code,
650
- "provider_name": provider_name,
651
- "provider_npi": provider_npi,
652
- "subscriber_date_of_birth": subscriber_date_of_birth,
653
- "subscriber_first_name": subscriber_first_name,
654
- "subscriber_last_name": subscriber_last_name,
655
- "subscriber_member_id": subscriber_member_id,
656
- "trading_partner_service_id": trading_partner_service_id,
657
- },
658
- clearinghouse_coordination_of_benefits_params.ClearinghouseCoordinationOfBenefitsParams,
659
- ),
660
- options=make_request_options(
661
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
662
- ),
663
- cast_to=object,
664
- )
665
-
666
- async def run_discovery(
667
- self,
668
- *,
669
- person: clearinghouse_run_discovery_params.Person,
670
- account_number: str | Omit = omit,
671
- check_credit: bool | Omit = omit,
672
- check_demographics: bool | Omit = omit,
673
- date_of_service: str | Omit = omit,
674
- run_business_rules: bool | Omit = omit,
675
- service_code: str | Omit = omit,
676
- idempotency_key: str | Omit = omit,
677
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
678
- # The extra values given here take precedence over values defined on the client or passed to this method.
679
- extra_headers: Headers | None = None,
680
- extra_query: Query | None = None,
681
- extra_body: Body | None = None,
682
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
683
- ) -> ClearinghouseRunDiscoveryResponse:
684
- """
685
- Initiates a discovery process to find insurance coverage for a patient using
686
- Front Runner integration.
687
-
688
- Args:
689
- account_number: Account number
690
-
691
- check_credit: Whether to check credit
692
-
693
- check_demographics: Whether to check demographics
694
-
695
- date_of_service: Date of service (YYYY-MM-DD)
696
-
697
- run_business_rules: Whether to run business rules
698
-
699
- service_code: Service code
700
-
701
- extra_headers: Send extra headers
702
-
703
- extra_query: Add additional query parameters to the request
704
-
705
- extra_body: Add additional JSON properties to the request
706
-
707
- timeout: Override the client-level default timeout for this request, in seconds
708
- """
709
- extra_headers = {**strip_not_given({"Idempotency-Key": idempotency_key}), **(extra_headers or {})}
710
- return await self._post(
711
- "/api/v2/clearinghouse/discovery",
712
- body=await async_maybe_transform(
713
- {
714
- "person": person,
715
- "account_number": account_number,
716
- "check_credit": check_credit,
717
- "check_demographics": check_demographics,
718
- "date_of_service": date_of_service,
719
- "run_business_rules": run_business_rules,
720
- "service_code": service_code,
721
- },
722
- clearinghouse_run_discovery_params.ClearinghouseRunDiscoveryParams,
723
- ),
724
- options=make_request_options(
725
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
726
- ),
727
- cast_to=ClearinghouseRunDiscoveryResponse,
728
- )
729
-
730
-
731
- class ClearinghouseResourceWithRawResponse:
732
- def __init__(self, clearinghouse: ClearinghouseResource) -> None:
733
- self._clearinghouse = clearinghouse
734
-
735
- self.calculate_patient_cost = to_raw_response_wrapper(
736
- clearinghouse.calculate_patient_cost,
737
- )
738
- self.check_claim_status = to_raw_response_wrapper(
739
- clearinghouse.check_claim_status,
740
- )
741
- self.check_eligibility = to_raw_response_wrapper(
742
- clearinghouse.check_eligibility,
743
- )
744
- self.coordination_of_benefits = to_raw_response_wrapper(
745
- clearinghouse.coordination_of_benefits,
746
- )
747
- self.run_discovery = to_raw_response_wrapper(
748
- clearinghouse.run_discovery,
749
- )
750
-
751
- @cached_property
752
- def payers(self) -> PayersResourceWithRawResponse:
753
- return PayersResourceWithRawResponse(self._clearinghouse.payers)
754
-
755
- @cached_property
756
- def claim(self) -> ClaimResourceWithRawResponse:
757
- return ClaimResourceWithRawResponse(self._clearinghouse.claim)
758
-
759
-
760
- class AsyncClearinghouseResourceWithRawResponse:
761
- def __init__(self, clearinghouse: AsyncClearinghouseResource) -> None:
762
- self._clearinghouse = clearinghouse
763
-
764
- self.calculate_patient_cost = async_to_raw_response_wrapper(
765
- clearinghouse.calculate_patient_cost,
766
- )
767
- self.check_claim_status = async_to_raw_response_wrapper(
768
- clearinghouse.check_claim_status,
769
- )
770
- self.check_eligibility = async_to_raw_response_wrapper(
771
- clearinghouse.check_eligibility,
772
- )
773
- self.coordination_of_benefits = async_to_raw_response_wrapper(
774
- clearinghouse.coordination_of_benefits,
775
- )
776
- self.run_discovery = async_to_raw_response_wrapper(
777
- clearinghouse.run_discovery,
778
- )
779
-
780
- @cached_property
781
- def payers(self) -> AsyncPayersResourceWithRawResponse:
782
- return AsyncPayersResourceWithRawResponse(self._clearinghouse.payers)
783
-
784
- @cached_property
785
- def claim(self) -> AsyncClaimResourceWithRawResponse:
786
- return AsyncClaimResourceWithRawResponse(self._clearinghouse.claim)
787
-
788
-
789
- class ClearinghouseResourceWithStreamingResponse:
790
- def __init__(self, clearinghouse: ClearinghouseResource) -> None:
791
- self._clearinghouse = clearinghouse
792
-
793
- self.calculate_patient_cost = to_streamed_response_wrapper(
794
- clearinghouse.calculate_patient_cost,
795
- )
796
- self.check_claim_status = to_streamed_response_wrapper(
797
- clearinghouse.check_claim_status,
798
- )
799
- self.check_eligibility = to_streamed_response_wrapper(
800
- clearinghouse.check_eligibility,
801
- )
802
- self.coordination_of_benefits = to_streamed_response_wrapper(
803
- clearinghouse.coordination_of_benefits,
804
- )
805
- self.run_discovery = to_streamed_response_wrapper(
806
- clearinghouse.run_discovery,
807
- )
808
-
809
- @cached_property
810
- def payers(self) -> PayersResourceWithStreamingResponse:
811
- return PayersResourceWithStreamingResponse(self._clearinghouse.payers)
812
-
813
- @cached_property
814
- def claim(self) -> ClaimResourceWithStreamingResponse:
815
- return ClaimResourceWithStreamingResponse(self._clearinghouse.claim)
816
-
817
-
818
- class AsyncClearinghouseResourceWithStreamingResponse:
819
- def __init__(self, clearinghouse: AsyncClearinghouseResource) -> None:
820
- self._clearinghouse = clearinghouse
821
-
822
- self.calculate_patient_cost = async_to_streamed_response_wrapper(
823
- clearinghouse.calculate_patient_cost,
824
- )
825
- self.check_claim_status = async_to_streamed_response_wrapper(
826
- clearinghouse.check_claim_status,
827
- )
828
- self.check_eligibility = async_to_streamed_response_wrapper(
829
- clearinghouse.check_eligibility,
830
- )
831
- self.coordination_of_benefits = async_to_streamed_response_wrapper(
832
- clearinghouse.coordination_of_benefits,
833
- )
834
- self.run_discovery = async_to_streamed_response_wrapper(
835
- clearinghouse.run_discovery,
836
- )
837
-
838
- @cached_property
839
- def payers(self) -> AsyncPayersResourceWithStreamingResponse:
840
- return AsyncPayersResourceWithStreamingResponse(self._clearinghouse.payers)
841
-
842
- @cached_property
843
- def claim(self) -> AsyncClaimResourceWithStreamingResponse:
844
- return AsyncClaimResourceWithStreamingResponse(self._clearinghouse.claim)