phenoml 0.0.16__tar.gz → 0.0.17__tar.gz

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 (251) hide show
  1. {phenoml-0.0.16 → phenoml-0.0.17}/PKG-INFO +1 -1
  2. {phenoml-0.0.16 → phenoml-0.0.17}/pyproject.toml +1 -1
  3. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/client_wrapper.py +2 -2
  4. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/__init__.py +10 -0
  5. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/client.py +105 -0
  6. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/raw_client.py +189 -0
  7. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/types/__init__.py +10 -0
  8. phenoml-0.0.17/src/phenoml/lang2fhir/types/create_multi_response.py +39 -0
  9. phenoml-0.0.17/src/phenoml/lang2fhir/types/create_multi_response_bundle.py +28 -0
  10. phenoml-0.0.17/src/phenoml/lang2fhir/types/create_multi_response_bundle_entry_item.py +24 -0
  11. phenoml-0.0.17/src/phenoml/lang2fhir/types/create_multi_response_bundle_entry_item_request.py +20 -0
  12. phenoml-0.0.17/src/phenoml/lang2fhir/types/create_multi_response_resources_item.py +38 -0
  13. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/__init__.py +6 -0
  14. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/client.py +145 -0
  15. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/raw_client.py +261 -0
  16. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/__init__.py +6 -0
  17. phenoml-0.0.17/src/phenoml/tools/types/lang2fhir_and_create_multi_response.py +41 -0
  18. phenoml-0.0.17/src/phenoml/tools/types/lang2fhir_and_create_multi_response_resource_info_item.py +38 -0
  19. phenoml-0.0.17/src/phenoml/tools/types/lang2fhir_and_create_multi_response_response_bundle.py +27 -0
  20. {phenoml-0.0.16 → phenoml-0.0.17}/LICENSE +0 -0
  21. {phenoml-0.0.16 → phenoml-0.0.17}/README.md +0 -0
  22. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/__init__.py +0 -0
  23. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/__init__.py +0 -0
  24. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/client.py +0 -0
  25. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/errors/__init__.py +0 -0
  26. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/errors/bad_request_error.py +0 -0
  27. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/errors/forbidden_error.py +0 -0
  28. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/errors/internal_server_error.py +0 -0
  29. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/errors/not_found_error.py +0 -0
  30. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/errors/unauthorized_error.py +0 -0
  31. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/prompts/__init__.py +0 -0
  32. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/prompts/client.py +0 -0
  33. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/prompts/raw_client.py +0 -0
  34. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/prompts/types/__init__.py +0 -0
  35. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/prompts/types/prompts_delete_response.py +0 -0
  36. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/prompts/types/prompts_list_response.py +0 -0
  37. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/raw_client.py +0 -0
  38. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/__init__.py +0 -0
  39. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_chat_response.py +0 -0
  40. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_create_request.py +0 -0
  41. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_create_request_provider.py +0 -0
  42. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_delete_response.py +0 -0
  43. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_get_chat_messages_request_order.py +0 -0
  44. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_get_chat_messages_response.py +0 -0
  45. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_list_response.py +0 -0
  46. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_prompts_response.py +0 -0
  47. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_response.py +0 -0
  48. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_template.py +0 -0
  49. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/agent_template_provider.py +0 -0
  50. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/chat_message_template.py +0 -0
  51. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/chat_session_template.py +0 -0
  52. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/json_patch.py +0 -0
  53. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/json_patch_operation.py +0 -0
  54. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/json_patch_operation_op.py +0 -0
  55. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/prompt_template.py +0 -0
  56. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/agent/types/success_response.py +0 -0
  57. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/__init__.py +0 -0
  58. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/auth/__init__.py +0 -0
  59. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/auth/client.py +0 -0
  60. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/auth/raw_client.py +0 -0
  61. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/auth/types/__init__.py +0 -0
  62. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/auth/types/auth_generate_token_response.py +0 -0
  63. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/client.py +0 -0
  64. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/errors/__init__.py +0 -0
  65. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/errors/bad_request_error.py +0 -0
  66. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/errors/unauthorized_error.py +0 -0
  67. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/raw_client.py +0 -0
  68. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/types/__init__.py +0 -0
  69. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/types/bad_request_error_body.py +0 -0
  70. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/authtoken/types/unauthorized_error_body.py +0 -0
  71. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/client.py +0 -0
  72. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/__init__.py +0 -0
  73. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/client.py +0 -0
  74. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/errors/__init__.py +0 -0
  75. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/errors/bad_request_error.py +0 -0
  76. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/errors/internal_server_error.py +0 -0
  77. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/errors/unauthorized_error.py +0 -0
  78. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/raw_client.py +0 -0
  79. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/types/__init__.py +0 -0
  80. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/types/cohort_response.py +0 -0
  81. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/cohort/types/search_concept.py +0 -0
  82. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/__init__.py +0 -0
  83. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/client.py +0 -0
  84. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/errors/__init__.py +0 -0
  85. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/errors/bad_request_error.py +0 -0
  86. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/errors/conflict_error.py +0 -0
  87. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/errors/failed_dependency_error.py +0 -0
  88. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/errors/internal_server_error.py +0 -0
  89. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/errors/unauthorized_error.py +0 -0
  90. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/raw_client.py +0 -0
  91. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/__init__.py +0 -0
  92. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/construe_upload_code_system_response.py +0 -0
  93. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/extract_codes_result.py +0 -0
  94. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/extract_request_config.py +0 -0
  95. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/extract_request_config_chunking_method.py +0 -0
  96. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/extract_request_config_validation_method.py +0 -0
  97. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/extract_request_system.py +0 -0
  98. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/extracted_code_result.py +0 -0
  99. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/construe/types/upload_request_format.py +0 -0
  100. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/__init__.py +0 -0
  101. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/api_error.py +0 -0
  102. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/datetime_utils.py +0 -0
  103. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/file.py +0 -0
  104. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/force_multipart.py +0 -0
  105. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/http_client.py +0 -0
  106. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/http_response.py +0 -0
  107. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/jsonable_encoder.py +0 -0
  108. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/pydantic_utilities.py +0 -0
  109. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/query_encoder.py +0 -0
  110. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/remove_none_from_dict.py +0 -0
  111. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/request_options.py +0 -0
  112. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/core/serialization.py +0 -0
  113. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/environment.py +0 -0
  114. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/__init__.py +0 -0
  115. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/client.py +0 -0
  116. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/errors/__init__.py +0 -0
  117. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/errors/bad_request_error.py +0 -0
  118. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/errors/internal_server_error.py +0 -0
  119. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/errors/not_found_error.py +0 -0
  120. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/errors/unauthorized_error.py +0 -0
  121. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/raw_client.py +0 -0
  122. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/__init__.py +0 -0
  123. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/error_response.py +0 -0
  124. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_bundle.py +0 -0
  125. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_bundle_entry_item.py +0 -0
  126. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_bundle_entry_item_request.py +0 -0
  127. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_bundle_entry_item_request_method.py +0 -0
  128. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_bundle_entry_item_response.py +0 -0
  129. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_patch_request_body_item.py +0 -0
  130. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_patch_request_body_item_op.py +0 -0
  131. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_resource.py +0 -0
  132. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_resource_meta.py +0 -0
  133. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir/types/fhir_search_response.py +0 -0
  134. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/__init__.py +0 -0
  135. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/client.py +0 -0
  136. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/errors/__init__.py +0 -0
  137. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/errors/bad_request_error.py +0 -0
  138. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/errors/forbidden_error.py +0 -0
  139. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/errors/internal_server_error.py +0 -0
  140. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/errors/not_found_error.py +0 -0
  141. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/errors/unauthorized_error.py +0 -0
  142. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/raw_client.py +0 -0
  143. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/__init__.py +0 -0
  144. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/auth_method.py +0 -0
  145. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_provider_auth_config.py +0 -0
  146. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_provider_delete_response.py +0 -0
  147. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_provider_list_response.py +0 -0
  148. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_provider_remove_auth_config_response.py +0 -0
  149. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_provider_response.py +0 -0
  150. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_provider_set_active_auth_config_response.py +0 -0
  151. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_provider_template.py +0 -0
  152. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_query_response.py +0 -0
  153. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/fhir_query_response_data.py +0 -0
  154. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/json_web_key.py +0 -0
  155. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/provider.py +0 -0
  156. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/role.py +0 -0
  157. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/service_account_key.py +0 -0
  158. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/fhir_provider/types/smart_configuration.py +0 -0
  159. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/errors/__init__.py +0 -0
  160. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/errors/bad_request_error.py +0 -0
  161. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/errors/failed_dependency_error.py +0 -0
  162. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/errors/forbidden_error.py +0 -0
  163. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/errors/internal_server_error.py +0 -0
  164. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/errors/unauthorized_error.py +0 -0
  165. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/types/create_request_resource.py +0 -0
  166. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/types/document_request_file_type.py +0 -0
  167. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/types/document_request_resource.py +0 -0
  168. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/types/fhir_resource.py +0 -0
  169. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/types/lang2fhir_upload_profile_response.py +0 -0
  170. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/lang2fhir/types/search_response.py +0 -0
  171. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/py.typed +0 -0
  172. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/__init__.py +0 -0
  173. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/client.py +0 -0
  174. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/errors/__init__.py +0 -0
  175. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/errors/bad_request_error.py +0 -0
  176. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/errors/forbidden_error.py +0 -0
  177. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/errors/internal_server_error.py +0 -0
  178. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/errors/not_found_error.py +0 -0
  179. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/errors/unauthorized_error.py +0 -0
  180. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/raw_client.py +0 -0
  181. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/__init__.py +0 -0
  182. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/create_summary_request_fhir_resources.py +0 -0
  183. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/create_summary_request_mode.py +0 -0
  184. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/create_summary_response.py +0 -0
  185. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/create_summary_template_response.py +0 -0
  186. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/error_response.py +0 -0
  187. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/fhir_bundle.py +0 -0
  188. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/fhir_bundle_entry_item.py +0 -0
  189. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/fhir_resource.py +0 -0
  190. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/summary_delete_template_response.py +0 -0
  191. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/summary_get_template_response.py +0 -0
  192. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/summary_list_templates_response.py +0 -0
  193. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/summary_template.py +0 -0
  194. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/summary/types/summary_update_template_response.py +0 -0
  195. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/errors/__init__.py +0 -0
  196. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/errors/bad_request_error.py +0 -0
  197. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/errors/failed_dependency_error.py +0 -0
  198. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/errors/forbidden_error.py +0 -0
  199. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/errors/internal_server_error.py +0 -0
  200. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/errors/unauthorized_error.py +0 -0
  201. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/mcp_server/__init__.py +0 -0
  202. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/mcp_server/client.py +0 -0
  203. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/mcp_server/raw_client.py +0 -0
  204. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/mcp_server/tools/__init__.py +0 -0
  205. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/mcp_server/tools/client.py +0 -0
  206. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/mcp_server/tools/raw_client.py +0 -0
  207. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/cohort_response.py +0 -0
  208. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/lang2fhir_and_create_request_resource.py +0 -0
  209. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/lang2fhir_and_create_response.py +0 -0
  210. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/lang2fhir_and_search_response.py +0 -0
  211. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/mcp_server_response.py +0 -0
  212. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/mcp_server_response_data.py +0 -0
  213. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/mcp_server_tool_call_response.py +0 -0
  214. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/mcp_server_tool_response.py +0 -0
  215. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/mcp_server_tool_response_data.py +0 -0
  216. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/tools/types/search_concept.py +0 -0
  217. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/version.py +0 -0
  218. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/__init__.py +0 -0
  219. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/client.py +0 -0
  220. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/errors/__init__.py +0 -0
  221. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/errors/bad_request_error.py +0 -0
  222. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/errors/forbidden_error.py +0 -0
  223. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/errors/internal_server_error.py +0 -0
  224. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/errors/not_found_error.py +0 -0
  225. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/errors/unauthorized_error.py +0 -0
  226. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/raw_client.py +0 -0
  227. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/__init__.py +0 -0
  228. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/create_workflow_request_fhir_provider_id.py +0 -0
  229. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/create_workflow_response.py +0 -0
  230. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/decision_node_definition.py +0 -0
  231. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/execute_workflow_response.py +0 -0
  232. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/execute_workflow_response_results.py +0 -0
  233. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/lang2fhir_create_definition.py +0 -0
  234. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/lang2fhir_search_definition.py +0 -0
  235. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/list_workflows_response.py +0 -0
  236. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/step_operation.py +0 -0
  237. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/sub_workflow_definition.py +0 -0
  238. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/update_workflow_request_fhir_provider_id.py +0 -0
  239. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_config.py +0 -0
  240. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_definition.py +0 -0
  241. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_graph.py +0 -0
  242. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_response.py +0 -0
  243. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_response_graph.py +0 -0
  244. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_step.py +0 -0
  245. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_step_summary.py +0 -0
  246. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_step_summary_type.py +0 -0
  247. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflow_step_type.py +0 -0
  248. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflows_delete_response.py +0 -0
  249. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflows_get_response.py +0 -0
  250. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/workflows/types/workflows_update_response.py +0 -0
  251. {phenoml-0.0.16 → phenoml-0.0.17}/src/phenoml/wrapper_client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: phenoml
3
- Version: 0.0.16
3
+ Version: 0.0.17
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -3,7 +3,7 @@ name = "phenoml"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "phenoml"
6
- version = "v0.0.16"
6
+ version = "v0.0.17"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -22,10 +22,10 @@ class BaseClientWrapper:
22
22
 
23
23
  def get_headers(self) -> typing.Dict[str, str]:
24
24
  headers: typing.Dict[str, str] = {
25
- "User-Agent": "phenoml/v0.0.16",
25
+ "User-Agent": "phenoml/v0.0.17",
26
26
  "X-Fern-Language": "Python",
27
27
  "X-Fern-SDK-Name": "phenoml",
28
- "X-Fern-SDK-Version": "v0.0.16",
28
+ "X-Fern-SDK-Version": "v0.0.17",
29
29
  **(self.get_custom_headers() or {}),
30
30
  }
31
31
  headers["Authorization"] = f"Bearer {self._get_token()}"
@@ -3,6 +3,11 @@
3
3
  # isort: skip_file
4
4
 
5
5
  from .types import (
6
+ CreateMultiResponse,
7
+ CreateMultiResponseBundle,
8
+ CreateMultiResponseBundleEntryItem,
9
+ CreateMultiResponseBundleEntryItemRequest,
10
+ CreateMultiResponseResourcesItem,
6
11
  CreateRequestResource,
7
12
  DocumentRequestFileType,
8
13
  DocumentRequestResource,
@@ -14,6 +19,11 @@ from .errors import BadRequestError, FailedDependencyError, ForbiddenError, Inte
14
19
 
15
20
  __all__ = [
16
21
  "BadRequestError",
22
+ "CreateMultiResponse",
23
+ "CreateMultiResponseBundle",
24
+ "CreateMultiResponseBundleEntryItem",
25
+ "CreateMultiResponseBundleEntryItemRequest",
26
+ "CreateMultiResponseResourcesItem",
17
27
  "CreateRequestResource",
18
28
  "DocumentRequestFileType",
19
29
  "DocumentRequestResource",
@@ -5,6 +5,7 @@ import typing
5
5
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ..core.request_options import RequestOptions
7
7
  from .raw_client import AsyncRawLang2FhirClient, RawLang2FhirClient
8
+ from .types.create_multi_response import CreateMultiResponse
8
9
  from .types.create_request_resource import CreateRequestResource
9
10
  from .types.document_request_file_type import DocumentRequestFileType
10
11
  from .types.document_request_resource import DocumentRequestResource
@@ -79,6 +80,54 @@ class Lang2FhirClient:
79
80
  )
80
81
  return _response.data
81
82
 
83
+ def create_multi(
84
+ self,
85
+ *,
86
+ text: str,
87
+ version: typing.Optional[str] = OMIT,
88
+ provider: typing.Optional[str] = OMIT,
89
+ request_options: typing.Optional[RequestOptions] = None,
90
+ ) -> CreateMultiResponse:
91
+ """
92
+ Analyzes natural language text and extracts multiple FHIR resources, returning them as a transaction Bundle.
93
+ Automatically detects Patient, Condition, MedicationRequest, Observation, and other resource types from the text.
94
+ Resources are linked with proper references (e.g., Conditions reference the Patient).
95
+
96
+ Parameters
97
+ ----------
98
+ text : str
99
+ Natural language text containing multiple clinical concepts to extract
100
+
101
+ version : typing.Optional[str]
102
+ FHIR version to use
103
+
104
+ provider : typing.Optional[str]
105
+ Optional FHIR provider name for provider-specific profiles
106
+
107
+ request_options : typing.Optional[RequestOptions]
108
+ Request-specific configuration.
109
+
110
+ Returns
111
+ -------
112
+ CreateMultiResponse
113
+ Successfully extracted FHIR resources
114
+
115
+ Examples
116
+ --------
117
+ from phenoml import phenoml
118
+
119
+ client = phenoml(
120
+ token="YOUR_TOKEN",
121
+ )
122
+ client.lang2fhir.create_multi(
123
+ text="John Smith, 45-year-old male, diagnosed with Type 2 Diabetes. Prescribed Metformin 500mg twice daily.",
124
+ )
125
+ """
126
+ _response = self._raw_client.create_multi(
127
+ text=text, version=version, provider=provider, request_options=request_options
128
+ )
129
+ return _response.data
130
+
82
131
  def search(self, *, text: str, request_options: typing.Optional[RequestOptions] = None) -> SearchResponse:
83
132
  """
84
133
  Converts natural language text into FHIR search parameters
@@ -278,6 +327,62 @@ class AsyncLang2FhirClient:
278
327
  )
279
328
  return _response.data
280
329
 
330
+ async def create_multi(
331
+ self,
332
+ *,
333
+ text: str,
334
+ version: typing.Optional[str] = OMIT,
335
+ provider: typing.Optional[str] = OMIT,
336
+ request_options: typing.Optional[RequestOptions] = None,
337
+ ) -> CreateMultiResponse:
338
+ """
339
+ Analyzes natural language text and extracts multiple FHIR resources, returning them as a transaction Bundle.
340
+ Automatically detects Patient, Condition, MedicationRequest, Observation, and other resource types from the text.
341
+ Resources are linked with proper references (e.g., Conditions reference the Patient).
342
+
343
+ Parameters
344
+ ----------
345
+ text : str
346
+ Natural language text containing multiple clinical concepts to extract
347
+
348
+ version : typing.Optional[str]
349
+ FHIR version to use
350
+
351
+ provider : typing.Optional[str]
352
+ Optional FHIR provider name for provider-specific profiles
353
+
354
+ request_options : typing.Optional[RequestOptions]
355
+ Request-specific configuration.
356
+
357
+ Returns
358
+ -------
359
+ CreateMultiResponse
360
+ Successfully extracted FHIR resources
361
+
362
+ Examples
363
+ --------
364
+ import asyncio
365
+
366
+ from phenoml import Asyncphenoml
367
+
368
+ client = Asyncphenoml(
369
+ token="YOUR_TOKEN",
370
+ )
371
+
372
+
373
+ async def main() -> None:
374
+ await client.lang2fhir.create_multi(
375
+ text="John Smith, 45-year-old male, diagnosed with Type 2 Diabetes. Prescribed Metformin 500mg twice daily.",
376
+ )
377
+
378
+
379
+ asyncio.run(main())
380
+ """
381
+ _response = await self._raw_client.create_multi(
382
+ text=text, version=version, provider=provider, request_options=request_options
383
+ )
384
+ return _response.data
385
+
281
386
  async def search(self, *, text: str, request_options: typing.Optional[RequestOptions] = None) -> SearchResponse:
282
387
  """
283
388
  Converts natural language text into FHIR search parameters
@@ -13,6 +13,7 @@ from .errors.failed_dependency_error import FailedDependencyError
13
13
  from .errors.forbidden_error import ForbiddenError
14
14
  from .errors.internal_server_error import InternalServerError
15
15
  from .errors.unauthorized_error import UnauthorizedError
16
+ from .types.create_multi_response import CreateMultiResponse
16
17
  from .types.create_request_resource import CreateRequestResource
17
18
  from .types.document_request_file_type import DocumentRequestFileType
18
19
  from .types.document_request_resource import DocumentRequestResource
@@ -120,6 +121,100 @@ class RawLang2FhirClient:
120
121
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
121
122
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
122
123
 
124
+ def create_multi(
125
+ self,
126
+ *,
127
+ text: str,
128
+ version: typing.Optional[str] = OMIT,
129
+ provider: typing.Optional[str] = OMIT,
130
+ request_options: typing.Optional[RequestOptions] = None,
131
+ ) -> HttpResponse[CreateMultiResponse]:
132
+ """
133
+ Analyzes natural language text and extracts multiple FHIR resources, returning them as a transaction Bundle.
134
+ Automatically detects Patient, Condition, MedicationRequest, Observation, and other resource types from the text.
135
+ Resources are linked with proper references (e.g., Conditions reference the Patient).
136
+
137
+ Parameters
138
+ ----------
139
+ text : str
140
+ Natural language text containing multiple clinical concepts to extract
141
+
142
+ version : typing.Optional[str]
143
+ FHIR version to use
144
+
145
+ provider : typing.Optional[str]
146
+ Optional FHIR provider name for provider-specific profiles
147
+
148
+ request_options : typing.Optional[RequestOptions]
149
+ Request-specific configuration.
150
+
151
+ Returns
152
+ -------
153
+ HttpResponse[CreateMultiResponse]
154
+ Successfully extracted FHIR resources
155
+ """
156
+ _response = self._client_wrapper.httpx_client.request(
157
+ "lang2fhir/create/multi",
158
+ method="POST",
159
+ json={
160
+ "text": text,
161
+ "version": version,
162
+ "provider": provider,
163
+ },
164
+ headers={
165
+ "content-type": "application/json",
166
+ },
167
+ request_options=request_options,
168
+ omit=OMIT,
169
+ )
170
+ try:
171
+ if 200 <= _response.status_code < 300:
172
+ _data = typing.cast(
173
+ CreateMultiResponse,
174
+ parse_obj_as(
175
+ type_=CreateMultiResponse, # type: ignore
176
+ object_=_response.json(),
177
+ ),
178
+ )
179
+ return HttpResponse(response=_response, data=_data)
180
+ if _response.status_code == 400:
181
+ raise BadRequestError(
182
+ headers=dict(_response.headers),
183
+ body=typing.cast(
184
+ typing.Optional[typing.Any],
185
+ parse_obj_as(
186
+ type_=typing.Optional[typing.Any], # type: ignore
187
+ object_=_response.json(),
188
+ ),
189
+ ),
190
+ )
191
+ if _response.status_code == 401:
192
+ raise UnauthorizedError(
193
+ headers=dict(_response.headers),
194
+ body=typing.cast(
195
+ typing.Optional[typing.Any],
196
+ parse_obj_as(
197
+ type_=typing.Optional[typing.Any], # type: ignore
198
+ object_=_response.json(),
199
+ ),
200
+ ),
201
+ )
202
+ if _response.status_code == 500:
203
+ raise InternalServerError(
204
+ headers=dict(_response.headers),
205
+ body=typing.cast(
206
+ typing.Optional[typing.Any],
207
+ parse_obj_as(
208
+ type_=typing.Optional[typing.Any], # type: ignore
209
+ object_=_response.json(),
210
+ ),
211
+ ),
212
+ )
213
+ _response_json = _response.json()
214
+ except JSONDecodeError:
215
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
216
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
217
+
123
218
  def search(
124
219
  self, *, text: str, request_options: typing.Optional[RequestOptions] = None
125
220
  ) -> HttpResponse[SearchResponse]:
@@ -502,6 +597,100 @@ class AsyncRawLang2FhirClient:
502
597
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
503
598
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
504
599
 
600
+ async def create_multi(
601
+ self,
602
+ *,
603
+ text: str,
604
+ version: typing.Optional[str] = OMIT,
605
+ provider: typing.Optional[str] = OMIT,
606
+ request_options: typing.Optional[RequestOptions] = None,
607
+ ) -> AsyncHttpResponse[CreateMultiResponse]:
608
+ """
609
+ Analyzes natural language text and extracts multiple FHIR resources, returning them as a transaction Bundle.
610
+ Automatically detects Patient, Condition, MedicationRequest, Observation, and other resource types from the text.
611
+ Resources are linked with proper references (e.g., Conditions reference the Patient).
612
+
613
+ Parameters
614
+ ----------
615
+ text : str
616
+ Natural language text containing multiple clinical concepts to extract
617
+
618
+ version : typing.Optional[str]
619
+ FHIR version to use
620
+
621
+ provider : typing.Optional[str]
622
+ Optional FHIR provider name for provider-specific profiles
623
+
624
+ request_options : typing.Optional[RequestOptions]
625
+ Request-specific configuration.
626
+
627
+ Returns
628
+ -------
629
+ AsyncHttpResponse[CreateMultiResponse]
630
+ Successfully extracted FHIR resources
631
+ """
632
+ _response = await self._client_wrapper.httpx_client.request(
633
+ "lang2fhir/create/multi",
634
+ method="POST",
635
+ json={
636
+ "text": text,
637
+ "version": version,
638
+ "provider": provider,
639
+ },
640
+ headers={
641
+ "content-type": "application/json",
642
+ },
643
+ request_options=request_options,
644
+ omit=OMIT,
645
+ )
646
+ try:
647
+ if 200 <= _response.status_code < 300:
648
+ _data = typing.cast(
649
+ CreateMultiResponse,
650
+ parse_obj_as(
651
+ type_=CreateMultiResponse, # type: ignore
652
+ object_=_response.json(),
653
+ ),
654
+ )
655
+ return AsyncHttpResponse(response=_response, data=_data)
656
+ if _response.status_code == 400:
657
+ raise BadRequestError(
658
+ headers=dict(_response.headers),
659
+ body=typing.cast(
660
+ typing.Optional[typing.Any],
661
+ parse_obj_as(
662
+ type_=typing.Optional[typing.Any], # type: ignore
663
+ object_=_response.json(),
664
+ ),
665
+ ),
666
+ )
667
+ if _response.status_code == 401:
668
+ raise UnauthorizedError(
669
+ headers=dict(_response.headers),
670
+ body=typing.cast(
671
+ typing.Optional[typing.Any],
672
+ parse_obj_as(
673
+ type_=typing.Optional[typing.Any], # type: ignore
674
+ object_=_response.json(),
675
+ ),
676
+ ),
677
+ )
678
+ if _response.status_code == 500:
679
+ raise InternalServerError(
680
+ headers=dict(_response.headers),
681
+ body=typing.cast(
682
+ typing.Optional[typing.Any],
683
+ parse_obj_as(
684
+ type_=typing.Optional[typing.Any], # type: ignore
685
+ object_=_response.json(),
686
+ ),
687
+ ),
688
+ )
689
+ _response_json = _response.json()
690
+ except JSONDecodeError:
691
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
692
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
693
+
505
694
  async def search(
506
695
  self, *, text: str, request_options: typing.Optional[RequestOptions] = None
507
696
  ) -> AsyncHttpResponse[SearchResponse]:
@@ -2,6 +2,11 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
+ from .create_multi_response import CreateMultiResponse
6
+ from .create_multi_response_bundle import CreateMultiResponseBundle
7
+ from .create_multi_response_bundle_entry_item import CreateMultiResponseBundleEntryItem
8
+ from .create_multi_response_bundle_entry_item_request import CreateMultiResponseBundleEntryItemRequest
9
+ from .create_multi_response_resources_item import CreateMultiResponseResourcesItem
5
10
  from .create_request_resource import CreateRequestResource
6
11
  from .document_request_file_type import DocumentRequestFileType
7
12
  from .document_request_resource import DocumentRequestResource
@@ -10,6 +15,11 @@ from .lang2fhir_upload_profile_response import Lang2FhirUploadProfileResponse
10
15
  from .search_response import SearchResponse
11
16
 
12
17
  __all__ = [
18
+ "CreateMultiResponse",
19
+ "CreateMultiResponseBundle",
20
+ "CreateMultiResponseBundleEntryItem",
21
+ "CreateMultiResponseBundleEntryItemRequest",
22
+ "CreateMultiResponseResourcesItem",
13
23
  "CreateRequestResource",
14
24
  "DocumentRequestFileType",
15
25
  "DocumentRequestResource",
@@ -0,0 +1,39 @@
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 .create_multi_response_bundle import CreateMultiResponseBundle
8
+ from .create_multi_response_resources_item import CreateMultiResponseResourcesItem
9
+
10
+
11
+ class CreateMultiResponse(UniversalBaseModel):
12
+ success: typing.Optional[bool] = pydantic.Field(default=None)
13
+ """
14
+ Whether extraction was successful
15
+ """
16
+
17
+ message: typing.Optional[str] = pydantic.Field(default=None)
18
+ """
19
+ Status message
20
+ """
21
+
22
+ bundle: typing.Optional[CreateMultiResponseBundle] = pydantic.Field(default=None)
23
+ """
24
+ FHIR transaction Bundle containing all extracted resources
25
+ """
26
+
27
+ resources: typing.Optional[typing.List[CreateMultiResponseResourcesItem]] = pydantic.Field(default=None)
28
+ """
29
+ Summary of extracted resources
30
+ """
31
+
32
+ if IS_PYDANTIC_V2:
33
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
34
+ else:
35
+
36
+ class Config:
37
+ frozen = True
38
+ smart_union = True
39
+ extra = pydantic.Extra.allow
@@ -0,0 +1,28 @@
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 .create_multi_response_bundle_entry_item import CreateMultiResponseBundleEntryItem
10
+
11
+
12
+ class CreateMultiResponseBundle(UniversalBaseModel):
13
+ """
14
+ FHIR transaction Bundle containing all extracted resources
15
+ """
16
+
17
+ resource_type: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="resourceType")] = None
18
+ type: typing.Optional[str] = None
19
+ entry: typing.Optional[typing.List[CreateMultiResponseBundleEntryItem]] = None
20
+
21
+ if IS_PYDANTIC_V2:
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
+ else:
24
+
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ extra = pydantic.Extra.allow
@@ -0,0 +1,24 @@
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 .create_multi_response_bundle_entry_item_request import CreateMultiResponseBundleEntryItemRequest
10
+
11
+
12
+ class CreateMultiResponseBundleEntryItem(UniversalBaseModel):
13
+ full_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="fullUrl")] = None
14
+ resource: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
15
+ request: typing.Optional[CreateMultiResponseBundleEntryItemRequest] = None
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
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 CreateMultiResponseBundleEntryItemRequest(UniversalBaseModel):
10
+ method: typing.Optional[str] = None
11
+ url: typing.Optional[str] = None
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -0,0 +1,38 @@
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
+
10
+
11
+ class CreateMultiResponseResourcesItem(UniversalBaseModel):
12
+ temp_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="tempId")] = pydantic.Field(
13
+ default=None
14
+ )
15
+ """
16
+ Temporary UUID for the resource
17
+ """
18
+
19
+ resource_type: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="resourceType")] = (
20
+ pydantic.Field(default=None)
21
+ )
22
+ """
23
+ FHIR resource type
24
+ """
25
+
26
+ description: typing.Optional[str] = pydantic.Field(default=None)
27
+ """
28
+ Text excerpt this resource was extracted from
29
+ """
30
+
31
+ if IS_PYDANTIC_V2:
32
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
33
+ else:
34
+
35
+ class Config:
36
+ frozen = True
37
+ smart_union = True
38
+ extra = pydantic.Extra.allow
@@ -4,6 +4,9 @@
4
4
 
5
5
  from .types import (
6
6
  CohortResponse,
7
+ Lang2FhirAndCreateMultiResponse,
8
+ Lang2FhirAndCreateMultiResponseResourceInfoItem,
9
+ Lang2FhirAndCreateMultiResponseResponseBundle,
7
10
  Lang2FhirAndCreateRequestResource,
8
11
  Lang2FhirAndCreateResponse,
9
12
  Lang2FhirAndSearchResponse,
@@ -23,6 +26,9 @@ __all__ = [
23
26
  "FailedDependencyError",
24
27
  "ForbiddenError",
25
28
  "InternalServerError",
29
+ "Lang2FhirAndCreateMultiResponse",
30
+ "Lang2FhirAndCreateMultiResponseResourceInfoItem",
31
+ "Lang2FhirAndCreateMultiResponseResponseBundle",
26
32
  "Lang2FhirAndCreateRequestResource",
27
33
  "Lang2FhirAndCreateResponse",
28
34
  "Lang2FhirAndSearchResponse",