phenoml 0.0.6__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/__init__.py +30 -0
- phenoml/agent/__init__.py +56 -0
- phenoml/agent/client.py +939 -0
- phenoml/agent/errors/__init__.py +11 -0
- phenoml/agent/errors/bad_request_error.py +10 -0
- phenoml/agent/errors/forbidden_error.py +10 -0
- phenoml/agent/errors/internal_server_error.py +10 -0
- phenoml/agent/errors/not_found_error.py +10 -0
- phenoml/agent/errors/unauthorized_error.py +10 -0
- phenoml/agent/prompts/__init__.py +7 -0
- phenoml/agent/prompts/client.py +707 -0
- phenoml/agent/prompts/raw_client.py +1345 -0
- phenoml/agent/prompts/types/__init__.py +8 -0
- phenoml/agent/prompts/types/prompts_delete_response.py +20 -0
- phenoml/agent/prompts/types/prompts_list_response.py +22 -0
- phenoml/agent/raw_client.py +1668 -0
- phenoml/agent/types/__init__.py +43 -0
- phenoml/agent/types/agent_chat_response.py +33 -0
- phenoml/agent/types/agent_create_request.py +53 -0
- phenoml/agent/types/agent_create_request_provider.py +5 -0
- phenoml/agent/types/agent_delete_response.py +20 -0
- phenoml/agent/types/agent_get_chat_messages_request_order.py +5 -0
- phenoml/agent/types/agent_get_chat_messages_response.py +22 -0
- phenoml/agent/types/agent_list_response.py +22 -0
- phenoml/agent/types/agent_prompts_response.py +22 -0
- phenoml/agent/types/agent_response.py +22 -0
- phenoml/agent/types/agent_template.py +58 -0
- phenoml/agent/types/agent_template_provider.py +5 -0
- phenoml/agent/types/chat_message_template.py +72 -0
- phenoml/agent/types/chat_session_template.py +67 -0
- phenoml/agent/types/json_patch.py +7 -0
- phenoml/agent/types/json_patch_operation.py +40 -0
- phenoml/agent/types/json_patch_operation_op.py +5 -0
- phenoml/agent/types/prompt_template.py +52 -0
- phenoml/agent/types/success_response.py +20 -0
- phenoml/authtoken/__init__.py +17 -0
- phenoml/authtoken/auth/__init__.py +7 -0
- phenoml/authtoken/auth/client.py +129 -0
- phenoml/authtoken/auth/raw_client.py +173 -0
- phenoml/authtoken/auth/types/__init__.py +7 -0
- phenoml/authtoken/auth/types/auth_generate_token_response.py +22 -0
- phenoml/authtoken/client.py +39 -0
- phenoml/authtoken/errors/__init__.py +8 -0
- phenoml/authtoken/errors/bad_request_error.py +10 -0
- phenoml/authtoken/errors/unauthorized_error.py +10 -0
- phenoml/authtoken/raw_client.py +13 -0
- phenoml/authtoken/types/__init__.py +8 -0
- phenoml/authtoken/types/bad_request_error_body.py +21 -0
- phenoml/authtoken/types/unauthorized_error_body.py +21 -0
- phenoml/client.py +177 -0
- phenoml/cohort/__init__.py +8 -0
- phenoml/cohort/client.py +113 -0
- phenoml/cohort/errors/__init__.py +9 -0
- phenoml/cohort/errors/bad_request_error.py +10 -0
- phenoml/cohort/errors/internal_server_error.py +10 -0
- phenoml/cohort/errors/unauthorized_error.py +10 -0
- phenoml/cohort/raw_client.py +185 -0
- phenoml/cohort/types/__init__.py +8 -0
- phenoml/cohort/types/cohort_response.py +33 -0
- phenoml/cohort/types/search_concept.py +37 -0
- phenoml/construe/__init__.py +45 -0
- phenoml/construe/client.py +399 -0
- phenoml/construe/errors/__init__.py +11 -0
- phenoml/construe/errors/bad_request_error.py +10 -0
- phenoml/construe/errors/conflict_error.py +10 -0
- phenoml/construe/errors/failed_dependency_error.py +10 -0
- phenoml/construe/errors/internal_server_error.py +10 -0
- phenoml/construe/errors/unauthorized_error.py +10 -0
- phenoml/construe/raw_client.py +706 -0
- phenoml/construe/types/__init__.py +41 -0
- phenoml/construe/types/bad_request_error_body.py +27 -0
- phenoml/construe/types/construe_cohort_request_config.py +37 -0
- phenoml/construe/types/construe_cohort_response.py +33 -0
- phenoml/construe/types/construe_cohort_response_queries_item.py +49 -0
- phenoml/construe/types/construe_cohort_response_queries_item_code_extract_results_item.py +31 -0
- phenoml/construe/types/construe_cohort_response_queries_item_code_extract_results_item_codes_item.py +32 -0
- phenoml/construe/types/construe_upload_code_system_response.py +19 -0
- phenoml/construe/types/extract_codes_result.py +22 -0
- phenoml/construe/types/extract_request_config.py +23 -0
- phenoml/construe/types/extract_request_config_chunking_method.py +5 -0
- phenoml/construe/types/extract_request_system.py +37 -0
- phenoml/construe/types/extracted_code_result.py +41 -0
- phenoml/construe/types/internal_server_error_body.py +27 -0
- phenoml/construe/types/unauthorized_error_body.py +27 -0
- phenoml/construe/types/upload_request_format.py +5 -0
- phenoml/core/__init__.py +52 -0
- phenoml/core/api_error.py +23 -0
- phenoml/core/client_wrapper.py +87 -0
- phenoml/core/datetime_utils.py +28 -0
- phenoml/core/file.py +67 -0
- phenoml/core/force_multipart.py +16 -0
- phenoml/core/http_client.py +543 -0
- phenoml/core/http_response.py +55 -0
- phenoml/core/jsonable_encoder.py +100 -0
- phenoml/core/pydantic_utilities.py +255 -0
- phenoml/core/query_encoder.py +58 -0
- phenoml/core/remove_none_from_dict.py +11 -0
- phenoml/core/request_options.py +35 -0
- phenoml/core/serialization.py +276 -0
- phenoml/environment.py +7 -0
- phenoml/fhir/__init__.py +36 -0
- phenoml/fhir/client.py +970 -0
- phenoml/fhir/errors/__init__.py +10 -0
- phenoml/fhir/errors/bad_request_error.py +10 -0
- phenoml/fhir/errors/internal_server_error.py +10 -0
- phenoml/fhir/errors/not_found_error.py +10 -0
- phenoml/fhir/errors/unauthorized_error.py +10 -0
- phenoml/fhir/raw_client.py +1385 -0
- phenoml/fhir/types/__init__.py +29 -0
- phenoml/fhir/types/error_response.py +36 -0
- phenoml/fhir/types/fhir_bundle.py +43 -0
- phenoml/fhir/types/fhir_bundle_entry_item.py +34 -0
- phenoml/fhir/types/fhir_bundle_entry_item_request.py +25 -0
- phenoml/fhir/types/fhir_bundle_entry_item_request_method.py +5 -0
- phenoml/fhir/types/fhir_bundle_entry_item_response.py +24 -0
- phenoml/fhir/types/fhir_patch_request_body_item.py +40 -0
- phenoml/fhir/types/fhir_patch_request_body_item_op.py +7 -0
- phenoml/fhir/types/fhir_resource.py +40 -0
- phenoml/fhir/types/fhir_resource_meta.py +28 -0
- phenoml/fhir/types/fhir_search_response.py +8 -0
- phenoml/fhir_provider/__init__.py +43 -0
- phenoml/fhir_provider/client.py +731 -0
- phenoml/fhir_provider/errors/__init__.py +11 -0
- phenoml/fhir_provider/errors/bad_request_error.py +10 -0
- phenoml/fhir_provider/errors/forbidden_error.py +10 -0
- phenoml/fhir_provider/errors/internal_server_error.py +10 -0
- phenoml/fhir_provider/errors/not_found_error.py +10 -0
- phenoml/fhir_provider/errors/unauthorized_error.py +10 -0
- phenoml/fhir_provider/raw_client.py +1445 -0
- phenoml/fhir_provider/types/__init__.py +35 -0
- phenoml/fhir_provider/types/auth_method.py +7 -0
- phenoml/fhir_provider/types/fhir_provider_auth_config.py +53 -0
- phenoml/fhir_provider/types/fhir_provider_delete_response.py +20 -0
- phenoml/fhir_provider/types/fhir_provider_list_response.py +22 -0
- phenoml/fhir_provider/types/fhir_provider_remove_auth_config_response.py +22 -0
- phenoml/fhir_provider/types/fhir_provider_response.py +22 -0
- phenoml/fhir_provider/types/fhir_provider_set_active_auth_config_response.py +22 -0
- phenoml/fhir_provider/types/fhir_provider_template.py +66 -0
- phenoml/fhir_provider/types/fhir_query_response.py +27 -0
- phenoml/fhir_provider/types/fhir_query_response_data.py +5 -0
- phenoml/fhir_provider/types/json_web_key.py +51 -0
- phenoml/fhir_provider/types/provider.py +8 -0
- phenoml/fhir_provider/types/service_account_key.py +35 -0
- phenoml/fhir_provider/types/smart_configuration.py +46 -0
- phenoml/lang2fhir/__init__.py +27 -0
- phenoml/lang2fhir/client.py +430 -0
- phenoml/lang2fhir/errors/__init__.py +11 -0
- phenoml/lang2fhir/errors/bad_request_error.py +10 -0
- phenoml/lang2fhir/errors/failed_dependency_error.py +10 -0
- phenoml/lang2fhir/errors/forbidden_error.py +10 -0
- phenoml/lang2fhir/errors/internal_server_error.py +10 -0
- phenoml/lang2fhir/errors/unauthorized_error.py +10 -0
- phenoml/lang2fhir/raw_client.py +788 -0
- phenoml/lang2fhir/types/__init__.py +19 -0
- phenoml/lang2fhir/types/create_request_resource.py +25 -0
- phenoml/lang2fhir/types/document_request_file_type.py +7 -0
- phenoml/lang2fhir/types/document_request_resource.py +5 -0
- phenoml/lang2fhir/types/fhir_resource.py +5 -0
- phenoml/lang2fhir/types/lang2fhir_upload_profile_response.py +23 -0
- phenoml/lang2fhir/types/search_response.py +33 -0
- phenoml/py.typed +0 -0
- phenoml/tools/__init__.py +37 -0
- phenoml/tools/client.py +359 -0
- phenoml/tools/errors/__init__.py +11 -0
- phenoml/tools/errors/bad_request_error.py +10 -0
- phenoml/tools/errors/failed_dependency_error.py +10 -0
- phenoml/tools/errors/forbidden_error.py +10 -0
- phenoml/tools/errors/internal_server_error.py +10 -0
- phenoml/tools/errors/unauthorized_error.py +10 -0
- phenoml/tools/mcp_server/__init__.py +7 -0
- phenoml/tools/mcp_server/client.py +336 -0
- phenoml/tools/mcp_server/raw_client.py +641 -0
- phenoml/tools/mcp_server/tools/__init__.py +4 -0
- phenoml/tools/mcp_server/tools/client.py +358 -0
- phenoml/tools/mcp_server/tools/raw_client.py +656 -0
- phenoml/tools/raw_client.py +696 -0
- phenoml/tools/types/__init__.py +27 -0
- phenoml/tools/types/cohort_response.py +49 -0
- phenoml/tools/types/lang2fhir_and_create_request_resource.py +25 -0
- phenoml/tools/types/lang2fhir_and_create_response.py +33 -0
- phenoml/tools/types/lang2fhir_and_search_response.py +40 -0
- phenoml/tools/types/mcp_server_response.py +33 -0
- phenoml/tools/types/mcp_server_response_data.py +51 -0
- phenoml/tools/types/mcp_server_tool_call_response.py +37 -0
- phenoml/tools/types/mcp_server_tool_response.py +33 -0
- phenoml/tools/types/mcp_server_tool_response_data.py +61 -0
- phenoml/tools/types/search_concept.py +41 -0
- phenoml/types/__init__.py +21 -0
- phenoml/types/cohort_response.py +5 -0
- phenoml/types/lang2fhir_and_create_response.py +5 -0
- phenoml/types/lang2fhir_and_search_response.py +5 -0
- phenoml/types/mcp_server_response.py +5 -0
- phenoml/types/mcp_server_tool_call_response.py +5 -0
- phenoml/types/mcp_server_tool_response.py +5 -0
- phenoml/types/search_concept.py +5 -0
- phenoml/version.py +3 -0
- phenoml/workflows/__init__.py +66 -0
- phenoml/workflows/client.py +210 -0
- phenoml/workflows/errors/__init__.py +11 -0
- phenoml/workflows/errors/bad_request_error.py +10 -0
- phenoml/workflows/errors/forbidden_error.py +10 -0
- phenoml/workflows/errors/internal_server_error.py +10 -0
- phenoml/workflows/errors/not_found_error.py +10 -0
- phenoml/workflows/errors/unauthorized_error.py +10 -0
- phenoml/workflows/mcp_server/__init__.py +7 -0
- phenoml/workflows/mcp_server/client.py +274 -0
- phenoml/workflows/mcp_server/raw_client.py +226 -0
- phenoml/workflows/mcp_server/tools/__init__.py +4 -0
- phenoml/workflows/mcp_server/tools/client.py +287 -0
- phenoml/workflows/mcp_server/tools/raw_client.py +244 -0
- phenoml/workflows/raw_client.py +169 -0
- phenoml/workflows/types/__init__.py +43 -0
- phenoml/workflows/types/create_workflow_response.py +44 -0
- phenoml/workflows/types/decision_node_definition.py +32 -0
- phenoml/workflows/types/execute_workflow_response.py +30 -0
- phenoml/workflows/types/execute_workflow_response_results.py +22 -0
- phenoml/workflows/types/lang2fhir_create_definition.py +37 -0
- phenoml/workflows/types/lang2fhir_search_definition.py +42 -0
- phenoml/workflows/types/list_workflows_response.py +39 -0
- phenoml/workflows/types/step_operation.py +26 -0
- phenoml/workflows/types/sub_workflow_definition.py +32 -0
- phenoml/workflows/types/workflow_config.py +27 -0
- phenoml/workflows/types/workflow_definition.py +57 -0
- phenoml/workflows/types/workflow_graph.py +23 -0
- phenoml/workflows/types/workflow_response.py +61 -0
- phenoml/workflows/types/workflow_response_graph.py +23 -0
- phenoml/workflows/types/workflow_step.py +55 -0
- phenoml/workflows/types/workflow_step_summary.py +47 -0
- phenoml/workflows/types/workflow_step_summary_type.py +5 -0
- phenoml/workflows/types/workflow_step_type.py +5 -0
- phenoml/workflows/workflows/__init__.py +19 -0
- phenoml/workflows/workflows/client.py +694 -0
- phenoml/workflows/workflows/raw_client.py +1266 -0
- phenoml/workflows/workflows/types/__init__.py +17 -0
- phenoml/workflows/workflows/types/create_workflow_request_fhir_provider_id.py +5 -0
- phenoml/workflows/workflows/types/update_workflow_request_fhir_provider_id.py +5 -0
- phenoml/workflows/workflows/types/workflows_delete_response.py +20 -0
- phenoml/workflows/workflows/types/workflows_get_response.py +26 -0
- phenoml/workflows/workflows/types/workflows_update_response.py +31 -0
- phenoml/wrapper_client.py +123 -0
- phenoml-0.0.6.dist-info/LICENSE +21 -0
- phenoml-0.0.6.dist-info/METADATA +192 -0
- phenoml-0.0.6.dist-info/RECORD +244 -0
- phenoml-0.0.6.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
# isort: skip_file
|
|
4
|
+
|
|
5
|
+
from .cohort_response import CohortResponse
|
|
6
|
+
from .lang2fhir_and_create_request_resource import Lang2FhirAndCreateRequestResource
|
|
7
|
+
from .lang2fhir_and_create_response import Lang2FhirAndCreateResponse
|
|
8
|
+
from .lang2fhir_and_search_response import Lang2FhirAndSearchResponse
|
|
9
|
+
from .mcp_server_response import McpServerResponse
|
|
10
|
+
from .mcp_server_response_data import McpServerResponseData
|
|
11
|
+
from .mcp_server_tool_call_response import McpServerToolCallResponse
|
|
12
|
+
from .mcp_server_tool_response import McpServerToolResponse
|
|
13
|
+
from .mcp_server_tool_response_data import McpServerToolResponseData
|
|
14
|
+
from .search_concept import SearchConcept
|
|
15
|
+
|
|
16
|
+
__all__ = [
|
|
17
|
+
"CohortResponse",
|
|
18
|
+
"Lang2FhirAndCreateRequestResource",
|
|
19
|
+
"Lang2FhirAndCreateResponse",
|
|
20
|
+
"Lang2FhirAndSearchResponse",
|
|
21
|
+
"McpServerResponse",
|
|
22
|
+
"McpServerResponseData",
|
|
23
|
+
"McpServerToolCallResponse",
|
|
24
|
+
"McpServerToolResponse",
|
|
25
|
+
"McpServerToolResponseData",
|
|
26
|
+
"SearchConcept",
|
|
27
|
+
]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
from .search_concept import SearchConcept
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CohortResponse(UniversalBaseModel):
|
|
13
|
+
success: typing.Optional[bool] = pydantic.Field(default=None)
|
|
14
|
+
"""
|
|
15
|
+
Whether the cohort analysis was successful
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
19
|
+
"""
|
|
20
|
+
Status message with details about the analysis
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
patient_ids: typing_extensions.Annotated[typing.Optional[typing.List[str]], FieldMetadata(alias="patientIds")] = (
|
|
24
|
+
pydantic.Field(default=None)
|
|
25
|
+
)
|
|
26
|
+
"""
|
|
27
|
+
Array of patient IDs that match the cohort criteria
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
patient_count: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="patientCount")] = (
|
|
31
|
+
pydantic.Field(default=None)
|
|
32
|
+
)
|
|
33
|
+
"""
|
|
34
|
+
Total number of patients in the cohort
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
queries: typing.Optional[typing.List[SearchConcept]] = pydantic.Field(default=None)
|
|
38
|
+
"""
|
|
39
|
+
Individual search concepts that were identified and executed
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
if IS_PYDANTIC_V2:
|
|
43
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
44
|
+
else:
|
|
45
|
+
|
|
46
|
+
class Config:
|
|
47
|
+
frozen = True
|
|
48
|
+
smart_union = True
|
|
49
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
Lang2FhirAndCreateRequestResource = typing.Union[
|
|
6
|
+
typing.Literal[
|
|
7
|
+
"auto",
|
|
8
|
+
"appointment",
|
|
9
|
+
"condition-encounter-diagnosis",
|
|
10
|
+
"medicationrequest",
|
|
11
|
+
"careplan",
|
|
12
|
+
"condition-problems-health-concerns",
|
|
13
|
+
"coverage",
|
|
14
|
+
"encounter",
|
|
15
|
+
"observation-clinical-result",
|
|
16
|
+
"observation-lab",
|
|
17
|
+
"patient",
|
|
18
|
+
"procedure",
|
|
19
|
+
"questionnaire",
|
|
20
|
+
"questionnaireresponse",
|
|
21
|
+
"simple-observation",
|
|
22
|
+
"vital-signs",
|
|
23
|
+
],
|
|
24
|
+
typing.Any,
|
|
25
|
+
]
|
|
@@ -0,0 +1,33 @@
|
|
|
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 Lang2FhirAndCreateResponse(UniversalBaseModel):
|
|
10
|
+
fhir_resource: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
11
|
+
"""
|
|
12
|
+
The created FHIR resource
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
fhir_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
ID of the resource in the FHIR server (if successfully stored)
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
success: typing.Optional[bool] = None
|
|
21
|
+
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
Status message
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
if IS_PYDANTIC_V2:
|
|
27
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,40 @@
|
|
|
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 Lang2FhirAndSearchResponse(UniversalBaseModel):
|
|
10
|
+
resource_type: typing.Optional[str] = pydantic.Field(default=None)
|
|
11
|
+
"""
|
|
12
|
+
The FHIR resource type identified for the search
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
search_params: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
FHIR search parameters in standard format
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
fhir_results: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(
|
|
21
|
+
default=None
|
|
22
|
+
)
|
|
23
|
+
"""
|
|
24
|
+
Array of FHIR resources returned from the search
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
success: typing.Optional[bool] = None
|
|
28
|
+
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
29
|
+
"""
|
|
30
|
+
Status message
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
if IS_PYDANTIC_V2:
|
|
34
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
35
|
+
else:
|
|
36
|
+
|
|
37
|
+
class Config:
|
|
38
|
+
frozen = True
|
|
39
|
+
smart_union = True
|
|
40
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
from .mcp_server_response_data import McpServerResponseData
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class McpServerResponse(UniversalBaseModel):
|
|
11
|
+
success: typing.Optional[bool] = pydantic.Field(default=None)
|
|
12
|
+
"""
|
|
13
|
+
Whether the MCP server was created successfully
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
Status message
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
data: typing.Optional[McpServerResponseData] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
MCP server data
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
if IS_PYDANTIC_V2:
|
|
27
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,51 @@
|
|
|
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 McpServerResponseData(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
MCP server data
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
id: typing.Optional[str] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
ID of the MCP server
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
user_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
20
|
+
"""
|
|
21
|
+
ID of the user who created the MCP server
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
25
|
+
"""
|
|
26
|
+
Name of the MCP server
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
30
|
+
"""
|
|
31
|
+
Description of the MCP server
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
mcp_server_url: typing.Optional[str] = pydantic.Field(default=None)
|
|
35
|
+
"""
|
|
36
|
+
URL of the MCP server
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
is_active: typing.Optional[bool] = pydantic.Field(default=None)
|
|
40
|
+
"""
|
|
41
|
+
Whether the MCP server is active
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
if IS_PYDANTIC_V2:
|
|
45
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
46
|
+
else:
|
|
47
|
+
|
|
48
|
+
class Config:
|
|
49
|
+
frozen = True
|
|
50
|
+
smart_union = True
|
|
51
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,37 @@
|
|
|
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 McpServerToolCallResponse(UniversalBaseModel):
|
|
10
|
+
success: typing.Optional[bool] = pydantic.Field(default=None)
|
|
11
|
+
"""
|
|
12
|
+
Whether the MCP server tool was called successfully
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Status message
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
result: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Result of the MCP server tool call
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
error: typing.Optional[str] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Error message if the call failed
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
if IS_PYDANTIC_V2:
|
|
31
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
32
|
+
else:
|
|
33
|
+
|
|
34
|
+
class Config:
|
|
35
|
+
frozen = True
|
|
36
|
+
smart_union = True
|
|
37
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
from .mcp_server_tool_response_data import McpServerToolResponseData
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class McpServerToolResponse(UniversalBaseModel):
|
|
11
|
+
success: typing.Optional[bool] = pydantic.Field(default=None)
|
|
12
|
+
"""
|
|
13
|
+
Whether the MCP server tool was created successfully
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
Status message
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
data: typing.Optional[McpServerToolResponseData] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
MCP server tool data
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
if IS_PYDANTIC_V2:
|
|
27
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,61 @@
|
|
|
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 McpServerToolResponseData(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
MCP server tool data
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
id: typing.Optional[str] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
ID of the MCP server tool
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
user_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
20
|
+
"""
|
|
21
|
+
ID of the user who created the MCP server tool
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
25
|
+
"""
|
|
26
|
+
Name of the MCP server tool
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
30
|
+
"""
|
|
31
|
+
Description of the MCP server tool
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
input_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
35
|
+
"""
|
|
36
|
+
Input schema of the MCP server tool
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
mcp_server_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
40
|
+
"""
|
|
41
|
+
ID of the MCP server that the tool belongs to
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
mcp_server_url: typing.Optional[str] = pydantic.Field(default=None)
|
|
45
|
+
"""
|
|
46
|
+
URL of the MCP server
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
is_active: typing.Optional[bool] = pydantic.Field(default=None)
|
|
50
|
+
"""
|
|
51
|
+
Whether the MCP server tool is active
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
if IS_PYDANTIC_V2:
|
|
55
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
56
|
+
else:
|
|
57
|
+
|
|
58
|
+
class Config:
|
|
59
|
+
frozen = True
|
|
60
|
+
smart_union = True
|
|
61
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,41 @@
|
|
|
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 SearchConcept(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
A single search concept detected in cohort mode
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
resource_type: typing.Optional[str] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
The FHIR resource type identified for this concept
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
search_params: typing.Optional[str] = pydantic.Field(default=None)
|
|
20
|
+
"""
|
|
21
|
+
FHIR search parameters for this concept
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
concept: typing.Optional[str] = pydantic.Field(default=None)
|
|
25
|
+
"""
|
|
26
|
+
Description of what this search represents
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
exclude: typing.Optional[bool] = pydantic.Field(default=None)
|
|
30
|
+
"""
|
|
31
|
+
Whether this is an exclusion criteria
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
if IS_PYDANTIC_V2:
|
|
35
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
36
|
+
else:
|
|
37
|
+
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
# isort: skip_file
|
|
4
|
+
|
|
5
|
+
from .cohort_response import CohortResponse
|
|
6
|
+
from .lang2fhir_and_create_response import Lang2FhirAndCreateResponse
|
|
7
|
+
from .lang2fhir_and_search_response import Lang2FhirAndSearchResponse
|
|
8
|
+
from .mcp_server_response import McpServerResponse
|
|
9
|
+
from .mcp_server_tool_call_response import McpServerToolCallResponse
|
|
10
|
+
from .mcp_server_tool_response import McpServerToolResponse
|
|
11
|
+
from .search_concept import SearchConcept
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
"CohortResponse",
|
|
15
|
+
"Lang2FhirAndCreateResponse",
|
|
16
|
+
"Lang2FhirAndSearchResponse",
|
|
17
|
+
"McpServerResponse",
|
|
18
|
+
"McpServerToolCallResponse",
|
|
19
|
+
"McpServerToolResponse",
|
|
20
|
+
"SearchConcept",
|
|
21
|
+
]
|
phenoml/version.py
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
# isort: skip_file
|
|
4
|
+
|
|
5
|
+
from .types import (
|
|
6
|
+
CreateWorkflowResponse,
|
|
7
|
+
DecisionNodeDefinition,
|
|
8
|
+
ExecuteWorkflowResponse,
|
|
9
|
+
ExecuteWorkflowResponseResults,
|
|
10
|
+
Lang2FhirCreateDefinition,
|
|
11
|
+
Lang2FhirSearchDefinition,
|
|
12
|
+
ListWorkflowsResponse,
|
|
13
|
+
StepOperation,
|
|
14
|
+
SubWorkflowDefinition,
|
|
15
|
+
WorkflowConfig,
|
|
16
|
+
WorkflowDefinition,
|
|
17
|
+
WorkflowGraph,
|
|
18
|
+
WorkflowResponse,
|
|
19
|
+
WorkflowResponseGraph,
|
|
20
|
+
WorkflowStep,
|
|
21
|
+
WorkflowStepSummary,
|
|
22
|
+
WorkflowStepSummaryType,
|
|
23
|
+
WorkflowStepType,
|
|
24
|
+
)
|
|
25
|
+
from .errors import BadRequestError, ForbiddenError, InternalServerError, NotFoundError, UnauthorizedError
|
|
26
|
+
from . import mcp_server, workflows
|
|
27
|
+
from .workflows import (
|
|
28
|
+
CreateWorkflowRequestFhirProviderId,
|
|
29
|
+
UpdateWorkflowRequestFhirProviderId,
|
|
30
|
+
WorkflowsDeleteResponse,
|
|
31
|
+
WorkflowsGetResponse,
|
|
32
|
+
WorkflowsUpdateResponse,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
__all__ = [
|
|
36
|
+
"BadRequestError",
|
|
37
|
+
"CreateWorkflowRequestFhirProviderId",
|
|
38
|
+
"CreateWorkflowResponse",
|
|
39
|
+
"DecisionNodeDefinition",
|
|
40
|
+
"ExecuteWorkflowResponse",
|
|
41
|
+
"ExecuteWorkflowResponseResults",
|
|
42
|
+
"ForbiddenError",
|
|
43
|
+
"InternalServerError",
|
|
44
|
+
"Lang2FhirCreateDefinition",
|
|
45
|
+
"Lang2FhirSearchDefinition",
|
|
46
|
+
"ListWorkflowsResponse",
|
|
47
|
+
"NotFoundError",
|
|
48
|
+
"StepOperation",
|
|
49
|
+
"SubWorkflowDefinition",
|
|
50
|
+
"UnauthorizedError",
|
|
51
|
+
"UpdateWorkflowRequestFhirProviderId",
|
|
52
|
+
"WorkflowConfig",
|
|
53
|
+
"WorkflowDefinition",
|
|
54
|
+
"WorkflowGraph",
|
|
55
|
+
"WorkflowResponse",
|
|
56
|
+
"WorkflowResponseGraph",
|
|
57
|
+
"WorkflowStep",
|
|
58
|
+
"WorkflowStepSummary",
|
|
59
|
+
"WorkflowStepSummaryType",
|
|
60
|
+
"WorkflowStepType",
|
|
61
|
+
"WorkflowsDeleteResponse",
|
|
62
|
+
"WorkflowsGetResponse",
|
|
63
|
+
"WorkflowsUpdateResponse",
|
|
64
|
+
"mcp_server",
|
|
65
|
+
"workflows",
|
|
66
|
+
]
|