phenoml 0.0.8__py3-none-any.whl → 0.0.10__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.
- phenoml/agent/client.py +38 -2
- phenoml/agent/raw_client.py +24 -0
- phenoml/client.py +4 -4
- phenoml/construe/__init__.py +2 -16
- phenoml/construe/client.py +0 -90
- phenoml/construe/raw_client.py +0 -180
- phenoml/construe/types/__init__.py +2 -20
- phenoml/construe/types/extract_request_config.py +33 -4
- phenoml/construe/types/extract_request_config_chunking_method.py +3 -1
- phenoml/construe/types/extract_request_config_validation_method.py +5 -0
- phenoml/construe/types/extract_request_system.py +2 -0
- phenoml/core/client_wrapper.py +8 -10
- phenoml/fhir/client.py +116 -14
- phenoml/fhir/raw_client.py +84 -0
- phenoml/fhir_provider/__init__.py +2 -0
- phenoml/fhir_provider/client.py +21 -4
- phenoml/fhir_provider/raw_client.py +23 -6
- phenoml/fhir_provider/types/__init__.py +2 -0
- phenoml/fhir_provider/types/auth_method.py +1 -1
- phenoml/fhir_provider/types/role.py +27 -0
- phenoml/tools/client.py +112 -6
- phenoml/tools/raw_client.py +82 -2
- {phenoml-0.0.8.dist-info → phenoml-0.0.10.dist-info}/METADATA +1 -1
- {phenoml-0.0.8.dist-info → phenoml-0.0.10.dist-info}/RECORD +26 -32
- phenoml/construe/types/bad_request_error_body.py +0 -27
- phenoml/construe/types/construe_cohort_request_config.py +0 -37
- phenoml/construe/types/construe_cohort_response.py +0 -33
- phenoml/construe/types/construe_cohort_response_queries_item.py +0 -49
- phenoml/construe/types/construe_cohort_response_queries_item_code_extract_results_item.py +0 -31
- phenoml/construe/types/construe_cohort_response_queries_item_code_extract_results_item_codes_item.py +0 -32
- phenoml/construe/types/internal_server_error_body.py +0 -27
- phenoml/construe/types/unauthorized_error_body.py +0 -27
- {phenoml-0.0.8.dist-info → phenoml-0.0.10.dist-info}/LICENSE +0 -0
- {phenoml-0.0.8.dist-info → phenoml-0.0.10.dist-info}/WHEEL +0 -0
phenoml/tools/client.py
CHANGED
|
@@ -36,6 +36,8 @@ class ToolsClient:
|
|
|
36
36
|
*,
|
|
37
37
|
resource: Lang2FhirAndCreateRequestResource,
|
|
38
38
|
text: str,
|
|
39
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
40
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
39
41
|
provider: typing.Optional[str] = OMIT,
|
|
40
42
|
request_options: typing.Optional[RequestOptions] = None,
|
|
41
43
|
) -> Lang2FhirAndCreateResponse:
|
|
@@ -50,6 +52,14 @@ class ToolsClient:
|
|
|
50
52
|
text : str
|
|
51
53
|
Natural language text to convert to FHIR resource
|
|
52
54
|
|
|
55
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
56
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
57
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
58
|
+
|
|
59
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
60
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
61
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
62
|
+
|
|
53
63
|
provider : typing.Optional[str]
|
|
54
64
|
FHIR provider ID - must be a valid UUID from existing FHIR providers. also supports provider by name (e.g. medplum)
|
|
55
65
|
|
|
@@ -69,12 +79,19 @@ class ToolsClient:
|
|
|
69
79
|
token="YOUR_TOKEN",
|
|
70
80
|
)
|
|
71
81
|
client.tools.create_fhir_resource(
|
|
82
|
+
phenoml_on_behalf_of="Patient/550e8400-e29b-41d4-a716-446655440000",
|
|
83
|
+
phenoml_fhir_provider="550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
|
|
72
84
|
resource="auto",
|
|
73
85
|
text="Patient John Doe has severe asthma with acute exacerbation",
|
|
74
86
|
)
|
|
75
87
|
"""
|
|
76
88
|
_response = self._raw_client.create_fhir_resource(
|
|
77
|
-
resource=resource,
|
|
89
|
+
resource=resource,
|
|
90
|
+
text=text,
|
|
91
|
+
phenoml_on_behalf_of=phenoml_on_behalf_of,
|
|
92
|
+
phenoml_fhir_provider=phenoml_fhir_provider,
|
|
93
|
+
provider=provider,
|
|
94
|
+
request_options=request_options,
|
|
78
95
|
)
|
|
79
96
|
return _response.data
|
|
80
97
|
|
|
@@ -82,6 +99,8 @@ class ToolsClient:
|
|
|
82
99
|
self,
|
|
83
100
|
*,
|
|
84
101
|
text: str,
|
|
102
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
103
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
85
104
|
patient_id: typing.Optional[str] = OMIT,
|
|
86
105
|
practitioner_id: typing.Optional[str] = OMIT,
|
|
87
106
|
count: typing.Optional[int] = OMIT,
|
|
@@ -96,6 +115,14 @@ class ToolsClient:
|
|
|
96
115
|
text : str
|
|
97
116
|
Natural language text to convert to FHIR search parameters
|
|
98
117
|
|
|
118
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
119
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
120
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
121
|
+
|
|
122
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
123
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
124
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
125
|
+
|
|
99
126
|
patient_id : typing.Optional[str]
|
|
100
127
|
Patient ID to filter results
|
|
101
128
|
|
|
@@ -124,11 +151,15 @@ class ToolsClient:
|
|
|
124
151
|
token="YOUR_TOKEN",
|
|
125
152
|
)
|
|
126
153
|
client.tools.search_fhir_resources(
|
|
154
|
+
phenoml_on_behalf_of="Patient/550e8400-e29b-41d4-a716-446655440000",
|
|
155
|
+
phenoml_fhir_provider="550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
|
|
127
156
|
text="Find all appointments for patient John Doe next week",
|
|
128
157
|
)
|
|
129
158
|
"""
|
|
130
159
|
_response = self._raw_client.search_fhir_resources(
|
|
131
160
|
text=text,
|
|
161
|
+
phenoml_on_behalf_of=phenoml_on_behalf_of,
|
|
162
|
+
phenoml_fhir_provider=phenoml_fhir_provider,
|
|
132
163
|
patient_id=patient_id,
|
|
133
164
|
practitioner_id=practitioner_id,
|
|
134
165
|
count=count,
|
|
@@ -138,7 +169,13 @@ class ToolsClient:
|
|
|
138
169
|
return _response.data
|
|
139
170
|
|
|
140
171
|
def analyze_cohort(
|
|
141
|
-
self,
|
|
172
|
+
self,
|
|
173
|
+
*,
|
|
174
|
+
text: str,
|
|
175
|
+
provider: str,
|
|
176
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
177
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
178
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
142
179
|
) -> CohortResponse:
|
|
143
180
|
"""
|
|
144
181
|
Uses LLM to extract search concepts from natural language and builds patient cohorts with inclusion/exclusion criteria
|
|
@@ -151,6 +188,14 @@ class ToolsClient:
|
|
|
151
188
|
provider : str
|
|
152
189
|
FHIR provider ID - must be a valid UUID from existing FHIR providers. also supports provider by name (e.g. medplum)
|
|
153
190
|
|
|
191
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
192
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
193
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
194
|
+
|
|
195
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
196
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
197
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
198
|
+
|
|
154
199
|
request_options : typing.Optional[RequestOptions]
|
|
155
200
|
Request-specific configuration.
|
|
156
201
|
|
|
@@ -167,11 +212,19 @@ class ToolsClient:
|
|
|
167
212
|
token="YOUR_TOKEN",
|
|
168
213
|
)
|
|
169
214
|
client.tools.analyze_cohort(
|
|
215
|
+
phenoml_on_behalf_of="Patient/550e8400-e29b-41d4-a716-446655440000",
|
|
216
|
+
phenoml_fhir_provider="550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
|
|
170
217
|
text="female patients over 20 with diabetes but not hypertension",
|
|
171
218
|
provider="550e8400-e29b-41d4-a716-446655440000",
|
|
172
219
|
)
|
|
173
220
|
"""
|
|
174
|
-
_response = self._raw_client.analyze_cohort(
|
|
221
|
+
_response = self._raw_client.analyze_cohort(
|
|
222
|
+
text=text,
|
|
223
|
+
provider=provider,
|
|
224
|
+
phenoml_on_behalf_of=phenoml_on_behalf_of,
|
|
225
|
+
phenoml_fhir_provider=phenoml_fhir_provider,
|
|
226
|
+
request_options=request_options,
|
|
227
|
+
)
|
|
175
228
|
return _response.data
|
|
176
229
|
|
|
177
230
|
|
|
@@ -196,6 +249,8 @@ class AsyncToolsClient:
|
|
|
196
249
|
*,
|
|
197
250
|
resource: Lang2FhirAndCreateRequestResource,
|
|
198
251
|
text: str,
|
|
252
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
253
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
199
254
|
provider: typing.Optional[str] = OMIT,
|
|
200
255
|
request_options: typing.Optional[RequestOptions] = None,
|
|
201
256
|
) -> Lang2FhirAndCreateResponse:
|
|
@@ -210,6 +265,14 @@ class AsyncToolsClient:
|
|
|
210
265
|
text : str
|
|
211
266
|
Natural language text to convert to FHIR resource
|
|
212
267
|
|
|
268
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
269
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
270
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
271
|
+
|
|
272
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
273
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
274
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
275
|
+
|
|
213
276
|
provider : typing.Optional[str]
|
|
214
277
|
FHIR provider ID - must be a valid UUID from existing FHIR providers. also supports provider by name (e.g. medplum)
|
|
215
278
|
|
|
@@ -234,6 +297,8 @@ class AsyncToolsClient:
|
|
|
234
297
|
|
|
235
298
|
async def main() -> None:
|
|
236
299
|
await client.tools.create_fhir_resource(
|
|
300
|
+
phenoml_on_behalf_of="Patient/550e8400-e29b-41d4-a716-446655440000",
|
|
301
|
+
phenoml_fhir_provider="550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
|
|
237
302
|
resource="auto",
|
|
238
303
|
text="Patient John Doe has severe asthma with acute exacerbation",
|
|
239
304
|
)
|
|
@@ -242,7 +307,12 @@ class AsyncToolsClient:
|
|
|
242
307
|
asyncio.run(main())
|
|
243
308
|
"""
|
|
244
309
|
_response = await self._raw_client.create_fhir_resource(
|
|
245
|
-
resource=resource,
|
|
310
|
+
resource=resource,
|
|
311
|
+
text=text,
|
|
312
|
+
phenoml_on_behalf_of=phenoml_on_behalf_of,
|
|
313
|
+
phenoml_fhir_provider=phenoml_fhir_provider,
|
|
314
|
+
provider=provider,
|
|
315
|
+
request_options=request_options,
|
|
246
316
|
)
|
|
247
317
|
return _response.data
|
|
248
318
|
|
|
@@ -250,6 +320,8 @@ class AsyncToolsClient:
|
|
|
250
320
|
self,
|
|
251
321
|
*,
|
|
252
322
|
text: str,
|
|
323
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
324
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
253
325
|
patient_id: typing.Optional[str] = OMIT,
|
|
254
326
|
practitioner_id: typing.Optional[str] = OMIT,
|
|
255
327
|
count: typing.Optional[int] = OMIT,
|
|
@@ -264,6 +336,14 @@ class AsyncToolsClient:
|
|
|
264
336
|
text : str
|
|
265
337
|
Natural language text to convert to FHIR search parameters
|
|
266
338
|
|
|
339
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
340
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
341
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
342
|
+
|
|
343
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
344
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
345
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
346
|
+
|
|
267
347
|
patient_id : typing.Optional[str]
|
|
268
348
|
Patient ID to filter results
|
|
269
349
|
|
|
@@ -297,6 +377,8 @@ class AsyncToolsClient:
|
|
|
297
377
|
|
|
298
378
|
async def main() -> None:
|
|
299
379
|
await client.tools.search_fhir_resources(
|
|
380
|
+
phenoml_on_behalf_of="Patient/550e8400-e29b-41d4-a716-446655440000",
|
|
381
|
+
phenoml_fhir_provider="550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
|
|
300
382
|
text="Find all appointments for patient John Doe next week",
|
|
301
383
|
)
|
|
302
384
|
|
|
@@ -305,6 +387,8 @@ class AsyncToolsClient:
|
|
|
305
387
|
"""
|
|
306
388
|
_response = await self._raw_client.search_fhir_resources(
|
|
307
389
|
text=text,
|
|
390
|
+
phenoml_on_behalf_of=phenoml_on_behalf_of,
|
|
391
|
+
phenoml_fhir_provider=phenoml_fhir_provider,
|
|
308
392
|
patient_id=patient_id,
|
|
309
393
|
practitioner_id=practitioner_id,
|
|
310
394
|
count=count,
|
|
@@ -314,7 +398,13 @@ class AsyncToolsClient:
|
|
|
314
398
|
return _response.data
|
|
315
399
|
|
|
316
400
|
async def analyze_cohort(
|
|
317
|
-
self,
|
|
401
|
+
self,
|
|
402
|
+
*,
|
|
403
|
+
text: str,
|
|
404
|
+
provider: str,
|
|
405
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
406
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
407
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
318
408
|
) -> CohortResponse:
|
|
319
409
|
"""
|
|
320
410
|
Uses LLM to extract search concepts from natural language and builds patient cohorts with inclusion/exclusion criteria
|
|
@@ -327,6 +417,14 @@ class AsyncToolsClient:
|
|
|
327
417
|
provider : str
|
|
328
418
|
FHIR provider ID - must be a valid UUID from existing FHIR providers. also supports provider by name (e.g. medplum)
|
|
329
419
|
|
|
420
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
421
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
422
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
423
|
+
|
|
424
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
425
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
426
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
427
|
+
|
|
330
428
|
request_options : typing.Optional[RequestOptions]
|
|
331
429
|
Request-specific configuration.
|
|
332
430
|
|
|
@@ -348,6 +446,8 @@ class AsyncToolsClient:
|
|
|
348
446
|
|
|
349
447
|
async def main() -> None:
|
|
350
448
|
await client.tools.analyze_cohort(
|
|
449
|
+
phenoml_on_behalf_of="Patient/550e8400-e29b-41d4-a716-446655440000",
|
|
450
|
+
phenoml_fhir_provider="550e8400-e29b-41d4-a716-446655440000:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c...",
|
|
351
451
|
text="female patients over 20 with diabetes but not hypertension",
|
|
352
452
|
provider="550e8400-e29b-41d4-a716-446655440000",
|
|
353
453
|
)
|
|
@@ -355,5 +455,11 @@ class AsyncToolsClient:
|
|
|
355
455
|
|
|
356
456
|
asyncio.run(main())
|
|
357
457
|
"""
|
|
358
|
-
_response = await self._raw_client.analyze_cohort(
|
|
458
|
+
_response = await self._raw_client.analyze_cohort(
|
|
459
|
+
text=text,
|
|
460
|
+
provider=provider,
|
|
461
|
+
phenoml_on_behalf_of=phenoml_on_behalf_of,
|
|
462
|
+
phenoml_fhir_provider=phenoml_fhir_provider,
|
|
463
|
+
request_options=request_options,
|
|
464
|
+
)
|
|
359
465
|
return _response.data
|
phenoml/tools/raw_client.py
CHANGED
|
@@ -31,6 +31,8 @@ class RawToolsClient:
|
|
|
31
31
|
*,
|
|
32
32
|
resource: Lang2FhirAndCreateRequestResource,
|
|
33
33
|
text: str,
|
|
34
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
35
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
34
36
|
provider: typing.Optional[str] = OMIT,
|
|
35
37
|
request_options: typing.Optional[RequestOptions] = None,
|
|
36
38
|
) -> HttpResponse[Lang2FhirAndCreateResponse]:
|
|
@@ -45,6 +47,14 @@ class RawToolsClient:
|
|
|
45
47
|
text : str
|
|
46
48
|
Natural language text to convert to FHIR resource
|
|
47
49
|
|
|
50
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
51
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
52
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
53
|
+
|
|
54
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
55
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
56
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
57
|
+
|
|
48
58
|
provider : typing.Optional[str]
|
|
49
59
|
FHIR provider ID - must be a valid UUID from existing FHIR providers. also supports provider by name (e.g. medplum)
|
|
50
60
|
|
|
@@ -66,6 +76,8 @@ class RawToolsClient:
|
|
|
66
76
|
},
|
|
67
77
|
headers={
|
|
68
78
|
"content-type": "application/json",
|
|
79
|
+
"X-Phenoml-On-Behalf-Of": str(phenoml_on_behalf_of) if phenoml_on_behalf_of is not None else None,
|
|
80
|
+
"X-Phenoml-Fhir-Provider": str(phenoml_fhir_provider) if phenoml_fhir_provider is not None else None,
|
|
69
81
|
},
|
|
70
82
|
request_options=request_options,
|
|
71
83
|
omit=OMIT,
|
|
@@ -144,6 +156,8 @@ class RawToolsClient:
|
|
|
144
156
|
self,
|
|
145
157
|
*,
|
|
146
158
|
text: str,
|
|
159
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
160
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
147
161
|
patient_id: typing.Optional[str] = OMIT,
|
|
148
162
|
practitioner_id: typing.Optional[str] = OMIT,
|
|
149
163
|
count: typing.Optional[int] = OMIT,
|
|
@@ -158,6 +172,14 @@ class RawToolsClient:
|
|
|
158
172
|
text : str
|
|
159
173
|
Natural language text to convert to FHIR search parameters
|
|
160
174
|
|
|
175
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
176
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
177
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
178
|
+
|
|
179
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
180
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
181
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
182
|
+
|
|
161
183
|
patient_id : typing.Optional[str]
|
|
162
184
|
Patient ID to filter results
|
|
163
185
|
|
|
@@ -190,6 +212,8 @@ class RawToolsClient:
|
|
|
190
212
|
},
|
|
191
213
|
headers={
|
|
192
214
|
"content-type": "application/json",
|
|
215
|
+
"X-Phenoml-On-Behalf-Of": str(phenoml_on_behalf_of) if phenoml_on_behalf_of is not None else None,
|
|
216
|
+
"X-Phenoml-Fhir-Provider": str(phenoml_fhir_provider) if phenoml_fhir_provider is not None else None,
|
|
193
217
|
},
|
|
194
218
|
request_options=request_options,
|
|
195
219
|
omit=OMIT,
|
|
@@ -265,7 +289,13 @@ class RawToolsClient:
|
|
|
265
289
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
266
290
|
|
|
267
291
|
def analyze_cohort(
|
|
268
|
-
self,
|
|
292
|
+
self,
|
|
293
|
+
*,
|
|
294
|
+
text: str,
|
|
295
|
+
provider: str,
|
|
296
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
297
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
298
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
269
299
|
) -> HttpResponse[CohortResponse]:
|
|
270
300
|
"""
|
|
271
301
|
Uses LLM to extract search concepts from natural language and builds patient cohorts with inclusion/exclusion criteria
|
|
@@ -278,6 +308,14 @@ class RawToolsClient:
|
|
|
278
308
|
provider : str
|
|
279
309
|
FHIR provider ID - must be a valid UUID from existing FHIR providers. also supports provider by name (e.g. medplum)
|
|
280
310
|
|
|
311
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
312
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
313
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
314
|
+
|
|
315
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
316
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
317
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
318
|
+
|
|
281
319
|
request_options : typing.Optional[RequestOptions]
|
|
282
320
|
Request-specific configuration.
|
|
283
321
|
|
|
@@ -295,6 +333,8 @@ class RawToolsClient:
|
|
|
295
333
|
},
|
|
296
334
|
headers={
|
|
297
335
|
"content-type": "application/json",
|
|
336
|
+
"X-Phenoml-On-Behalf-Of": str(phenoml_on_behalf_of) if phenoml_on_behalf_of is not None else None,
|
|
337
|
+
"X-Phenoml-Fhir-Provider": str(phenoml_fhir_provider) if phenoml_fhir_provider is not None else None,
|
|
298
338
|
},
|
|
299
339
|
request_options=request_options,
|
|
300
340
|
omit=OMIT,
|
|
@@ -368,6 +408,8 @@ class AsyncRawToolsClient:
|
|
|
368
408
|
*,
|
|
369
409
|
resource: Lang2FhirAndCreateRequestResource,
|
|
370
410
|
text: str,
|
|
411
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
412
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
371
413
|
provider: typing.Optional[str] = OMIT,
|
|
372
414
|
request_options: typing.Optional[RequestOptions] = None,
|
|
373
415
|
) -> AsyncHttpResponse[Lang2FhirAndCreateResponse]:
|
|
@@ -382,6 +424,14 @@ class AsyncRawToolsClient:
|
|
|
382
424
|
text : str
|
|
383
425
|
Natural language text to convert to FHIR resource
|
|
384
426
|
|
|
427
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
428
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
429
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
430
|
+
|
|
431
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
432
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
433
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
434
|
+
|
|
385
435
|
provider : typing.Optional[str]
|
|
386
436
|
FHIR provider ID - must be a valid UUID from existing FHIR providers. also supports provider by name (e.g. medplum)
|
|
387
437
|
|
|
@@ -403,6 +453,8 @@ class AsyncRawToolsClient:
|
|
|
403
453
|
},
|
|
404
454
|
headers={
|
|
405
455
|
"content-type": "application/json",
|
|
456
|
+
"X-Phenoml-On-Behalf-Of": str(phenoml_on_behalf_of) if phenoml_on_behalf_of is not None else None,
|
|
457
|
+
"X-Phenoml-Fhir-Provider": str(phenoml_fhir_provider) if phenoml_fhir_provider is not None else None,
|
|
406
458
|
},
|
|
407
459
|
request_options=request_options,
|
|
408
460
|
omit=OMIT,
|
|
@@ -481,6 +533,8 @@ class AsyncRawToolsClient:
|
|
|
481
533
|
self,
|
|
482
534
|
*,
|
|
483
535
|
text: str,
|
|
536
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
537
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
484
538
|
patient_id: typing.Optional[str] = OMIT,
|
|
485
539
|
practitioner_id: typing.Optional[str] = OMIT,
|
|
486
540
|
count: typing.Optional[int] = OMIT,
|
|
@@ -495,6 +549,14 @@ class AsyncRawToolsClient:
|
|
|
495
549
|
text : str
|
|
496
550
|
Natural language text to convert to FHIR search parameters
|
|
497
551
|
|
|
552
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
553
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
554
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
555
|
+
|
|
556
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
557
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
558
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
559
|
+
|
|
498
560
|
patient_id : typing.Optional[str]
|
|
499
561
|
Patient ID to filter results
|
|
500
562
|
|
|
@@ -527,6 +589,8 @@ class AsyncRawToolsClient:
|
|
|
527
589
|
},
|
|
528
590
|
headers={
|
|
529
591
|
"content-type": "application/json",
|
|
592
|
+
"X-Phenoml-On-Behalf-Of": str(phenoml_on_behalf_of) if phenoml_on_behalf_of is not None else None,
|
|
593
|
+
"X-Phenoml-Fhir-Provider": str(phenoml_fhir_provider) if phenoml_fhir_provider is not None else None,
|
|
530
594
|
},
|
|
531
595
|
request_options=request_options,
|
|
532
596
|
omit=OMIT,
|
|
@@ -602,7 +666,13 @@ class AsyncRawToolsClient:
|
|
|
602
666
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
603
667
|
|
|
604
668
|
async def analyze_cohort(
|
|
605
|
-
self,
|
|
669
|
+
self,
|
|
670
|
+
*,
|
|
671
|
+
text: str,
|
|
672
|
+
provider: str,
|
|
673
|
+
phenoml_on_behalf_of: typing.Optional[str] = None,
|
|
674
|
+
phenoml_fhir_provider: typing.Optional[str] = None,
|
|
675
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
606
676
|
) -> AsyncHttpResponse[CohortResponse]:
|
|
607
677
|
"""
|
|
608
678
|
Uses LLM to extract search concepts from natural language and builds patient cohorts with inclusion/exclusion criteria
|
|
@@ -615,6 +685,14 @@ class AsyncRawToolsClient:
|
|
|
615
685
|
provider : str
|
|
616
686
|
FHIR provider ID - must be a valid UUID from existing FHIR providers. also supports provider by name (e.g. medplum)
|
|
617
687
|
|
|
688
|
+
phenoml_on_behalf_of : typing.Optional[str]
|
|
689
|
+
Optional header for on-behalf-of authentication. Used when making requests on behalf of another user or entity.
|
|
690
|
+
Must be in the format: Patient/{uuid} or Practitioner/{uuid}
|
|
691
|
+
|
|
692
|
+
phenoml_fhir_provider : typing.Optional[str]
|
|
693
|
+
Optional header for FHIR provider authentication. Contains credentials in the format {fhir_provider_id}:{oauth2_token}.
|
|
694
|
+
Multiple FHIR provider integrations can be provided as comma-separated values.
|
|
695
|
+
|
|
618
696
|
request_options : typing.Optional[RequestOptions]
|
|
619
697
|
Request-specific configuration.
|
|
620
698
|
|
|
@@ -632,6 +710,8 @@ class AsyncRawToolsClient:
|
|
|
632
710
|
},
|
|
633
711
|
headers={
|
|
634
712
|
"content-type": "application/json",
|
|
713
|
+
"X-Phenoml-On-Behalf-Of": str(phenoml_on_behalf_of) if phenoml_on_behalf_of is not None else None,
|
|
714
|
+
"X-Phenoml-Fhir-Provider": str(phenoml_fhir_provider) if phenoml_fhir_provider is not None else None,
|
|
635
715
|
},
|
|
636
716
|
request_options=request_options,
|
|
637
717
|
omit=OMIT,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
phenoml/__init__.py,sha256=SeYOCP1ABPA3aB2UDDPr5DOYT4UKKQcw1CHW49I51X8,778
|
|
2
2
|
phenoml/agent/__init__.py,sha256=oHLnXLJ_uzj3zAtpAUaoXuWZcxl1K8cQh2ommFsp1Kg,1433
|
|
3
|
-
phenoml/agent/client.py,sha256=
|
|
3
|
+
phenoml/agent/client.py,sha256=ITjohJGQ0RqsAlFFhCX1Dl7h4GKg0XfncbRSh2uxvqE,27597
|
|
4
4
|
phenoml/agent/errors/__init__.py,sha256=Wnvf4XPELmAIZ-jVxx2t-dBNZ-X9PcDxPSL5EHqJr1Q,434
|
|
5
5
|
phenoml/agent/errors/bad_request_error.py,sha256=nv0bK4gtOnTon6a2NdVxJxHBje_O_7wIoRtXLZHovUQ,339
|
|
6
6
|
phenoml/agent/errors/forbidden_error.py,sha256=ek8-sffTy9gY3F0zyaSkcskDVvq9puXP_YvvB2BJYbA,338
|
|
@@ -13,7 +13,7 @@ phenoml/agent/prompts/raw_client.py,sha256=n2R6TL8Rjix8ewpA3b3J68hy_sqlBOxMYMNcV
|
|
|
13
13
|
phenoml/agent/prompts/types/__init__.py,sha256=N-qiOKtvTg2c7r8DaBddWQDaqjAEve1W-K-yCRLCi84,259
|
|
14
14
|
phenoml/agent/prompts/types/prompts_delete_response.py,sha256=hG7Y3lEyBAF2-cIIicRO5RVoBNOajNR9PHQ-1L2kMK8,599
|
|
15
15
|
phenoml/agent/prompts/types/prompts_list_response.py,sha256=7OzSEUyw2frge0HO7BiZf-I_DJBF0o5e20qsmK1-24s,714
|
|
16
|
-
phenoml/agent/raw_client.py,sha256=
|
|
16
|
+
phenoml/agent/raw_client.py,sha256=7Yx79x2NTWMVbz3UzWC04v1lhPLvAXozaF5k4uAMzfw,65988
|
|
17
17
|
phenoml/agent/types/__init__.py,sha256=jMiQhVO3NTKEv5Qm6ZyAeBueWCEFJUzAd78FSsetdME,1566
|
|
18
18
|
phenoml/agent/types/agent_chat_response.py,sha256=GqPcv7lyZlsypeqFwf1ecouik9A-9xDde0sckYOc8lA,862
|
|
19
19
|
phenoml/agent/types/agent_create_request.py,sha256=zHEnDylu2M6ZcgfxwWJvXTdMa70UqJ6tTYhLMRK151E,1411
|
|
@@ -47,7 +47,7 @@ phenoml/authtoken/raw_client.py,sha256=85R3SJneFJ-fxGXzYOz_Se01pJ9bKXDTB_BP903PL
|
|
|
47
47
|
phenoml/authtoken/types/__init__.py,sha256=ruKn1OfqKNJmeB1h39vh7-8srePTRpWsqGQzCH9_vok,260
|
|
48
48
|
phenoml/authtoken/types/bad_request_error_body.py,sha256=9D69GH2JTNatHxwC7fDlFhTmRKIJ3jRojQP3MwmJ1KI,672
|
|
49
49
|
phenoml/authtoken/types/unauthorized_error_body.py,sha256=fqqAo2_kWj0nNwLjm1fd-2lQPu5QhPuJP0yB7yE8sRw,674
|
|
50
|
-
phenoml/client.py,sha256=
|
|
50
|
+
phenoml/client.py,sha256=jc98KWXJuLEAyDq9bCobbzQATmEbi-RioE_K49ExbxI,7835
|
|
51
51
|
phenoml/cohort/__init__.py,sha256=T7swsjx17aidvorMPqyak0JeX13MT4itAEQvNHNOxuE,320
|
|
52
52
|
phenoml/cohort/client.py,sha256=4bA8cffE6EvLZVMveJ2_aGu90vtXUHYTfO0E9EQuN9U,3312
|
|
53
53
|
phenoml/cohort/errors/__init__.py,sha256=su56D86txLO0suHwq_Yixg4EaMbSyaB00cma1beOFGE,312
|
|
@@ -58,34 +58,27 @@ phenoml/cohort/raw_client.py,sha256=yhquYZ6fNyhAJG_-6YwQqLMOcIP_JvojryxOEXt_Qfc,
|
|
|
58
58
|
phenoml/cohort/types/__init__.py,sha256=zNq1Pom_534srvUJxnEcFPoUK98Cr4oYzPxvL_ifBmc,218
|
|
59
59
|
phenoml/cohort/types/cohort_response.py,sha256=A0ekTeNT6jh_yMRAcdnMoavcrqUGKZuy_6-k4YwoFmk,981
|
|
60
60
|
phenoml/cohort/types/search_concept.py,sha256=yIGRoIp8ASZ0I0G-9UA6eTseoZPwHrUuvRRQMamf4yA,1041
|
|
61
|
-
phenoml/construe/__init__.py,sha256=
|
|
62
|
-
phenoml/construe/client.py,sha256=
|
|
61
|
+
phenoml/construe/__init__.py,sha256=cn_KBBh2epzr6fQAEc8WYPK4RtD2gT2tZmz-FfHFAQM,870
|
|
62
|
+
phenoml/construe/client.py,sha256=VdITc7hZo_ihFPX5_S6sDaxaYoxhRNIYMmTLs8UCSv8,9395
|
|
63
63
|
phenoml/construe/errors/__init__.py,sha256=vqkSMWgMY6cxAgnI7Gij9m9UwXrlDWmMS12HylhMSi4,455
|
|
64
64
|
phenoml/construe/errors/bad_request_error.py,sha256=nv0bK4gtOnTon6a2NdVxJxHBje_O_7wIoRtXLZHovUQ,339
|
|
65
65
|
phenoml/construe/errors/conflict_error.py,sha256=NyA4yoleBcQcrDK2rF79eVs62xclhih2kpEIBlAToow,337
|
|
66
66
|
phenoml/construe/errors/failed_dependency_error.py,sha256=eXiqG062inkUF7fs2Newhx9uAKReK6fosz29PMD4gVw,345
|
|
67
67
|
phenoml/construe/errors/internal_server_error.py,sha256=biBHJfSP1_zWF5CJgxY4B8wrL1uC18RSccQ-BCKmYNs,343
|
|
68
68
|
phenoml/construe/errors/unauthorized_error.py,sha256=h8T6QhXuTo0GLL9MKfIM5p--wDqlB1-ZkMp3lY-aM3E,341
|
|
69
|
-
phenoml/construe/raw_client.py,sha256=
|
|
70
|
-
phenoml/construe/types/__init__.py,sha256=
|
|
71
|
-
phenoml/construe/types/bad_request_error_body.py,sha256=YQ-qSOtzI9G3La2W-xCRbYJCM-rlVct6F6T9Yu8EvCQ,716
|
|
72
|
-
phenoml/construe/types/construe_cohort_request_config.py,sha256=W-9C8RieHtMy1AmhNVK1ITtjJykFvsy34SFH-IQLH24,1272
|
|
73
|
-
phenoml/construe/types/construe_cohort_response.py,sha256=NDJB5ZKUiXyaq5x8OMtNDDuLBN5S0SkOiIwK7dvxi2o,1201
|
|
74
|
-
phenoml/construe/types/construe_cohort_response_queries_item.py,sha256=g5N89Hbh4kXAo5wwj6RczpmzixKHG_Mk7LMIr4ZAHtI,1561
|
|
75
|
-
phenoml/construe/types/construe_cohort_response_queries_item_code_extract_results_item.py,sha256=SFsD7pLvYTqRC4TzqxDL2FV9eXjX9WwpfcRFBb7t2Ho,1120
|
|
76
|
-
phenoml/construe/types/construe_cohort_response_queries_item_code_extract_results_item_codes_item.py,sha256=wpXzzwabEE2hO0Q5gSFEBcn9EWSYnX0LV6RaCRzbK_Q,893
|
|
69
|
+
phenoml/construe/raw_client.py,sha256=xXhtTmLzDELw9TEXWSKk9ZK2UXYNKMfp3IAk2EKxzl0,20722
|
|
70
|
+
phenoml/construe/types/__init__.py,sha256=Id0OJ58ZEQX9Ut-7iMwWEv49MTJLTTmNPH9es1ya8Cw,900
|
|
77
71
|
phenoml/construe/types/construe_upload_code_system_response.py,sha256=s0m5EHpkhkp7hYiC5zLZeIeqQ4mrwXlPI1Msihb-ZGo,566
|
|
78
72
|
phenoml/construe/types/extract_codes_result.py,sha256=DbVDLWqtmt9TyD5MC0q8grgnNXPnXq4eJnLDinTe0uc,701
|
|
79
|
-
phenoml/construe/types/extract_request_config.py,sha256
|
|
80
|
-
phenoml/construe/types/extract_request_config_chunking_method.py,sha256=
|
|
81
|
-
phenoml/construe/types/
|
|
73
|
+
phenoml/construe/types/extract_request_config.py,sha256=-N_yPxXcWeuFx2JNOJIGHjtyJNSFMOGslmLbjYxMh18,1831
|
|
74
|
+
phenoml/construe/types/extract_request_config_chunking_method.py,sha256=AmVPPj0oT5r0pwWUoFxG_K8s5g8xaGYIRsPt3VvqSXQ,209
|
|
75
|
+
phenoml/construe/types/extract_request_config_validation_method.py,sha256=6uUqKn8DXF34EDtNKPa6KLW07DsxgQF2aR5BGdG5Fd4,199
|
|
76
|
+
phenoml/construe/types/extract_request_system.py,sha256=50qkxvinJKS5y1_glr-OFe5tQRyMWLYpeny1NZ9gFzw,1191
|
|
82
77
|
phenoml/construe/types/extracted_code_result.py,sha256=LmhaQYFeLXBWR_NWcF1c-qt3OqwWQduefvInJRHcvio,1121
|
|
83
|
-
phenoml/construe/types/internal_server_error_body.py,sha256=LbZ3C6FayIwL-0oBJAcsSoLF6F4lcz2d3osoNPBCM44,720
|
|
84
|
-
phenoml/construe/types/unauthorized_error_body.py,sha256=j7msnWr6ENYKxLVrfi2ZTg4eh1b1rSyd1VNSsBbOIAc,718
|
|
85
78
|
phenoml/construe/types/upload_request_format.py,sha256=5mJhMM7R7hn6gGQNDJT9lxPDsRpUkRzqNxtRU0Nnlls,158
|
|
86
79
|
phenoml/core/__init__.py,sha256=lTcqUPXcx4112yLDd70RAPeqq6tu3eFMe1pKOqkW9JQ,1562
|
|
87
80
|
phenoml/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
|
88
|
-
phenoml/core/client_wrapper.py,sha256=
|
|
81
|
+
phenoml/core/client_wrapper.py,sha256=v9axvK2KlCjPEFGEw6CRb_jb-rJAR1R24hCL6LwuPng,2642
|
|
89
82
|
phenoml/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
|
90
83
|
phenoml/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
|
91
84
|
phenoml/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
|
|
@@ -99,13 +92,13 @@ phenoml/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHgmzaxp
|
|
|
99
92
|
phenoml/core/serialization.py,sha256=ECL3bvv_0i7U4uvPidZCNel--MUbA0iq0aGcNKi3kws,9818
|
|
100
93
|
phenoml/environment.py,sha256=x2TB5u9AblwVCke6_38YZmVhcjjHLE5gXBo5TMeaeO8,164
|
|
101
94
|
phenoml/fhir/__init__.py,sha256=CGOe2OSGyiryHY66fcRyZXsSMHiM5Y_GkTNPUqzwTP8,910
|
|
102
|
-
phenoml/fhir/client.py,sha256=
|
|
95
|
+
phenoml/fhir/client.py,sha256=1hQSCDOYsC89zPlPWHJIKgVBa-j8mRT_97lDHFJ3jN8,43581
|
|
103
96
|
phenoml/fhir/errors/__init__.py,sha256=1K_bceYvXUdWyvhH-WRwOEcc1gkiT_K6kGrs3VKg3PA,372
|
|
104
97
|
phenoml/fhir/errors/bad_request_error.py,sha256=nv0bK4gtOnTon6a2NdVxJxHBje_O_7wIoRtXLZHovUQ,339
|
|
105
98
|
phenoml/fhir/errors/internal_server_error.py,sha256=biBHJfSP1_zWF5CJgxY4B8wrL1uC18RSccQ-BCKmYNs,343
|
|
106
99
|
phenoml/fhir/errors/not_found_error.py,sha256=hQ1KdyGQJCBQqo6iLu2-szlKJdzaoV5odq_7kdXAEbc,337
|
|
107
100
|
phenoml/fhir/errors/unauthorized_error.py,sha256=h8T6QhXuTo0GLL9MKfIM5p--wDqlB1-ZkMp3lY-aM3E,341
|
|
108
|
-
phenoml/fhir/raw_client.py,sha256=
|
|
101
|
+
phenoml/fhir/raw_client.py,sha256=XZE1iWjujv5hSROSSo8kdG773l6T_vKV66iZYqcvNks,66380
|
|
109
102
|
phenoml/fhir/types/__init__.py,sha256=J9Gj1h5TZ5mNjBYE-Vn2bVPR3VCRwRIf1BrS5DHQrV4,1054
|
|
110
103
|
phenoml/fhir/types/error_response.py,sha256=Vw1veSbj51ki93gmYml3fRjB6XAEwvnkcYkSNhyLDeU,897
|
|
111
104
|
phenoml/fhir/types/fhir_bundle.py,sha256=p_CsuL2U1q7Qzmkdu6vCBtNZLznWmHXw5WtMzDnstdE,1373
|
|
@@ -118,17 +111,17 @@ phenoml/fhir/types/fhir_patch_request_body_item_op.py,sha256=qOU6uYuWoscQ876W58a
|
|
|
118
111
|
phenoml/fhir/types/fhir_resource.py,sha256=kZxeWoOMiGqwfwdxgdWg3NUjFFTuVKCAv6Ty80myhuI,1223
|
|
119
112
|
phenoml/fhir/types/fhir_resource_meta.py,sha256=9nXzZ7V7u0x9ehDyjoydmVl7leXzzvIOzxSQJSYmHbk,934
|
|
120
113
|
phenoml/fhir/types/fhir_search_response.py,sha256=rUuRN_iECtOyETTKGx4WNBinrvC0XU4ivsPipI6OyHw,217
|
|
121
|
-
phenoml/fhir_provider/__init__.py,sha256=
|
|
122
|
-
phenoml/fhir_provider/client.py,sha256=
|
|
114
|
+
phenoml/fhir_provider/__init__.py,sha256=eJCs8myQf5vFvBw61XfbU2zREeU2Twq_epJYlX6ldE4,1142
|
|
115
|
+
phenoml/fhir_provider/client.py,sha256=htt7uajiTavAIUe5-45ucaAX0evxcEulHaFV1Hcgaug,23429
|
|
123
116
|
phenoml/fhir_provider/errors/__init__.py,sha256=Wnvf4XPELmAIZ-jVxx2t-dBNZ-X9PcDxPSL5EHqJr1Q,434
|
|
124
117
|
phenoml/fhir_provider/errors/bad_request_error.py,sha256=nv0bK4gtOnTon6a2NdVxJxHBje_O_7wIoRtXLZHovUQ,339
|
|
125
118
|
phenoml/fhir_provider/errors/forbidden_error.py,sha256=ek8-sffTy9gY3F0zyaSkcskDVvq9puXP_YvvB2BJYbA,338
|
|
126
119
|
phenoml/fhir_provider/errors/internal_server_error.py,sha256=biBHJfSP1_zWF5CJgxY4B8wrL1uC18RSccQ-BCKmYNs,343
|
|
127
120
|
phenoml/fhir_provider/errors/not_found_error.py,sha256=hQ1KdyGQJCBQqo6iLu2-szlKJdzaoV5odq_7kdXAEbc,337
|
|
128
121
|
phenoml/fhir_provider/errors/unauthorized_error.py,sha256=h8T6QhXuTo0GLL9MKfIM5p--wDqlB1-ZkMp3lY-aM3E,341
|
|
129
|
-
phenoml/fhir_provider/raw_client.py,sha256=
|
|
130
|
-
phenoml/fhir_provider/types/__init__.py,sha256=
|
|
131
|
-
phenoml/fhir_provider/types/auth_method.py,sha256=
|
|
122
|
+
phenoml/fhir_provider/raw_client.py,sha256=h1f9kQiyzKos3HD-qc0Daw4IuJLRQR3_yYn5101TLd4,60286
|
|
123
|
+
phenoml/fhir_provider/types/__init__.py,sha256=nI5cnzergAlcDXfQkIAtJOEibdOqQ2BYTZGQrLAm2E4,1356
|
|
124
|
+
phenoml/fhir_provider/types/auth_method.py,sha256=Ox5c5SQo1EHAwkhBNOJHEovgE6U2OoSvgXHLlqgk9-U,230
|
|
132
125
|
phenoml/fhir_provider/types/fhir_provider_auth_config.py,sha256=-SGF8RiYF7tdttGCmagmZsO5OxL-Gz0sXV8OaYow9SA,1651
|
|
133
126
|
phenoml/fhir_provider/types/fhir_provider_delete_response.py,sha256=mye_IDz2hAw7BxuzeRjkPjuFAeeEsdFk0RQrSP4ZzjM,603
|
|
134
127
|
phenoml/fhir_provider/types/fhir_provider_list_response.py,sha256=ZoJMAhVgFAONuY0rt7glykjdWOskoSxi6_8JXVEf1_I,736
|
|
@@ -140,6 +133,7 @@ phenoml/fhir_provider/types/fhir_query_response.py,sha256=fOy_oCRexu2iZgDWW6sRIR
|
|
|
140
133
|
phenoml/fhir_provider/types/fhir_query_response_data.py,sha256=TfQ94GSU7NUfkxpy1VNFwOoUmFn4OxZxqFVkQDADsMk,169
|
|
141
134
|
phenoml/fhir_provider/types/json_web_key.py,sha256=ouUPhdvlASdBSJyazqecjQ64A9V9aqvtSt1wt2K3MLg,1615
|
|
142
135
|
phenoml/fhir_provider/types/provider.py,sha256=AmGOmoy5Cv9W0km4rAf3mxqH3g3UUnj_xC4FopPMdAk,238
|
|
136
|
+
phenoml/fhir_provider/types/role.py,sha256=Igag80s-KaGOc4nWfrGWyT81HU__c6_WJ-1oV7DOVdE,638
|
|
143
137
|
phenoml/fhir_provider/types/service_account_key.py,sha256=uup1Xl0HSc_B3278i0CS-ygCroShLS5_q0KtqXI96HY,1085
|
|
144
138
|
phenoml/fhir_provider/types/smart_configuration.py,sha256=bG_J1yNFEWWo9kjxF0s2Ik9rXehB1JHcQ2fTn6dht6k,1174
|
|
145
139
|
phenoml/lang2fhir/__init__.py,sha256=R8VOE03BLTk90GJVBfpiUXHeODUNX3rZLkRIC21s1ow,694
|
|
@@ -182,7 +176,7 @@ phenoml/summary/types/summary_list_templates_response.py,sha256=go45lFGp3KktaZq4
|
|
|
182
176
|
phenoml/summary/types/summary_template.py,sha256=eCM6BVMZC4jxp7d2PoIfcluflAMXa07oZcXf0nzytXM,1269
|
|
183
177
|
phenoml/summary/types/summary_update_template_response.py,sha256=1i_2LELTdulyXLNaEaN10Phy9KZfmGUBQCcj_9eZZy4,706
|
|
184
178
|
phenoml/tools/__init__.py,sha256=tWbUCa1RVpte1Ov53WgLExOXvGT72Mol2JM1Ul3nj3M,989
|
|
185
|
-
phenoml/tools/client.py,sha256=
|
|
179
|
+
phenoml/tools/client.py,sha256=JRLj2mUGWuJ_ClRiSRimSKxx55hWQOLtPACpvFFVqxw,18261
|
|
186
180
|
phenoml/tools/errors/__init__.py,sha256=nIzg981R3USgSar0WuuVrpDVg-H5vIp2AceEzbhphGw,458
|
|
187
181
|
phenoml/tools/errors/bad_request_error.py,sha256=nv0bK4gtOnTon6a2NdVxJxHBje_O_7wIoRtXLZHovUQ,339
|
|
188
182
|
phenoml/tools/errors/failed_dependency_error.py,sha256=eXiqG062inkUF7fs2Newhx9uAKReK6fosz29PMD4gVw,345
|
|
@@ -195,7 +189,7 @@ phenoml/tools/mcp_server/raw_client.py,sha256=AVnepraHeEuI4zl1eBeHC3_-mkc7zfEIeY
|
|
|
195
189
|
phenoml/tools/mcp_server/tools/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
|
196
190
|
phenoml/tools/mcp_server/tools/client.py,sha256=iu-AclviqNB9NWfkS_h7LY9exfzPGmAjOG3MIbQgtuk,9807
|
|
197
191
|
phenoml/tools/mcp_server/tools/raw_client.py,sha256=FC_OQZ526AGrN1lAnYLvtr-s8NrHfcKUpxM_YLKZgos,26380
|
|
198
|
-
phenoml/tools/raw_client.py,sha256=
|
|
192
|
+
phenoml/tools/raw_client.py,sha256=AdHQW0jlx-QtysAT2lo8DuxFZE1rsU_ji8EbPfLrVPc,33432
|
|
199
193
|
phenoml/tools/types/__init__.py,sha256=Q9a9RbiUDz9jFLZi_43I40t8ZZuolzaDtluYJWV8yN8,1021
|
|
200
194
|
phenoml/tools/types/cohort_response.py,sha256=Nft1eLyFhNrKDNYOhQxzSH1o35JS7UdZlTgI9ndjdVM,1503
|
|
201
195
|
phenoml/tools/types/lang2fhir_and_create_request_resource.py,sha256=mIBUXOfKrweiYsCu-vxboK_uDu43GQUEdKWlVLHMOyU,608
|
|
@@ -242,7 +236,7 @@ phenoml/workflows/types/workflows_delete_response.py,sha256=izcubUOnSNOgThD9Ozo6
|
|
|
242
236
|
phenoml/workflows/types/workflows_get_response.py,sha256=gfNyUs14JSynprRwT-fuq4IDsGrPZmUSsK3WmgqIEi8,891
|
|
243
237
|
phenoml/workflows/types/workflows_update_response.py,sha256=FEvQpC9ZRk8dV1oaIAwV5bSDD2tkXZ5fG4mozRjibuQ,1046
|
|
244
238
|
phenoml/wrapper_client.py,sha256=JYTdhXgju4tOsata06wQY_ZbMsuMj3qaxkgvDzpY068,5022
|
|
245
|
-
phenoml-0.0.
|
|
246
|
-
phenoml-0.0.
|
|
247
|
-
phenoml-0.0.
|
|
248
|
-
phenoml-0.0.
|
|
239
|
+
phenoml-0.0.10.dist-info/LICENSE,sha256=Am1fNNveR2gcmOloSWQTsnUw2SQEF8HtowFqIvlagfk,1064
|
|
240
|
+
phenoml-0.0.10.dist-info/METADATA,sha256=Rh79dAmGywpTFwXmxSNvMDu_LeOG4pT0tPywaOFZ51E,5331
|
|
241
|
+
phenoml-0.0.10.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
|
242
|
+
phenoml-0.0.10.dist-info/RECORD,,
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
-
|
|
3
|
-
import typing
|
|
4
|
-
|
|
5
|
-
import pydantic
|
|
6
|
-
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class BadRequestErrorBody(UniversalBaseModel):
|
|
10
|
-
status: typing.Optional[int] = pydantic.Field(default=None)
|
|
11
|
-
"""
|
|
12
|
-
HTTP status code.
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
|
-
"""
|
|
17
|
-
Error message.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
if IS_PYDANTIC_V2:
|
|
21
|
-
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
-
else:
|
|
23
|
-
|
|
24
|
-
class Config:
|
|
25
|
-
frozen = True
|
|
26
|
-
smart_union = True
|
|
27
|
-
extra = pydantic.Extra.allow
|