phenoml 0.0.17__tar.gz → 0.0.19__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 (260) hide show
  1. {phenoml-0.0.17 → phenoml-0.0.19}/PKG-INFO +1 -1
  2. {phenoml-0.0.17 → phenoml-0.0.19}/pyproject.toml +1 -1
  3. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/__init__.py +4 -0
  4. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/client.py +23 -8
  5. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/raw_client.py +21 -6
  6. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/__init__.py +4 -0
  7. phenoml-0.0.19/src/phenoml/agent/types/agent_get_chat_messages_request_role.py +5 -0
  8. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/chat_message_template.py +7 -2
  9. phenoml-0.0.19/src/phenoml/agent/types/chat_message_template_role.py +5 -0
  10. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/extract_request_config.py +9 -1
  11. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/extracted_code_result.py +5 -0
  12. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/client_wrapper.py +2 -2
  13. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/__init__.py +8 -2
  14. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/client.py +66 -21
  15. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/raw_client.py +70 -47
  16. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/__init__.py +8 -2
  17. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/fhir_provider_auth_config.py +12 -0
  18. phenoml-0.0.19/src/phenoml/fhir_provider/types/fhir_provider_list_response.py +34 -0
  19. phenoml-0.0.19/src/phenoml/fhir_provider/types/fhir_provider_list_response_fhir_providers_item.py +8 -0
  20. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/fhir_provider_response.py +9 -2
  21. phenoml-0.0.19/src/phenoml/fhir_provider/types/fhir_provider_response_data.py +8 -0
  22. phenoml-0.0.19/src/phenoml/fhir_provider/types/fhir_provider_sandbox_info.py +46 -0
  23. phenoml-0.0.19/src/phenoml/fhir_provider/types/provider.py +10 -0
  24. phenoml-0.0.19/src/phenoml/fhir_provider/types/service_account_metadata.py +41 -0
  25. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/__init__.py +2 -0
  26. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/client.py +34 -4
  27. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/raw_client.py +34 -4
  28. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/__init__.py +2 -0
  29. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/search_response.py +7 -4
  30. phenoml-0.0.19/src/phenoml/lang2fhir/types/search_response_resource_type.py +39 -0
  31. phenoml-0.0.17/src/phenoml/fhir_provider/types/fhir_provider_list_response.py +0 -22
  32. phenoml-0.0.17/src/phenoml/fhir_provider/types/fhir_provider_set_active_auth_config_response.py +0 -22
  33. phenoml-0.0.17/src/phenoml/fhir_provider/types/provider.py +0 -8
  34. {phenoml-0.0.17 → phenoml-0.0.19}/LICENSE +0 -0
  35. {phenoml-0.0.17 → phenoml-0.0.19}/README.md +0 -0
  36. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/__init__.py +0 -0
  37. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/errors/__init__.py +0 -0
  38. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/errors/bad_request_error.py +0 -0
  39. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/errors/forbidden_error.py +0 -0
  40. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/errors/internal_server_error.py +0 -0
  41. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/errors/not_found_error.py +0 -0
  42. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/errors/unauthorized_error.py +0 -0
  43. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/prompts/__init__.py +0 -0
  44. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/prompts/client.py +0 -0
  45. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/prompts/raw_client.py +0 -0
  46. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/prompts/types/__init__.py +0 -0
  47. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/prompts/types/prompts_delete_response.py +0 -0
  48. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/prompts/types/prompts_list_response.py +0 -0
  49. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_chat_response.py +0 -0
  50. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_create_request.py +0 -0
  51. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_create_request_provider.py +0 -0
  52. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_delete_response.py +0 -0
  53. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_get_chat_messages_request_order.py +0 -0
  54. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_get_chat_messages_response.py +0 -0
  55. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_list_response.py +0 -0
  56. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_prompts_response.py +0 -0
  57. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_response.py +0 -0
  58. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_template.py +0 -0
  59. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/agent_template_provider.py +0 -0
  60. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/chat_session_template.py +0 -0
  61. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/json_patch.py +0 -0
  62. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/json_patch_operation.py +0 -0
  63. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/json_patch_operation_op.py +0 -0
  64. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/prompt_template.py +0 -0
  65. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/agent/types/success_response.py +0 -0
  66. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/__init__.py +0 -0
  67. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/auth/__init__.py +0 -0
  68. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/auth/client.py +0 -0
  69. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/auth/raw_client.py +0 -0
  70. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/auth/types/__init__.py +0 -0
  71. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/auth/types/auth_generate_token_response.py +0 -0
  72. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/client.py +0 -0
  73. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/errors/__init__.py +0 -0
  74. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/errors/bad_request_error.py +0 -0
  75. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/errors/unauthorized_error.py +0 -0
  76. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/raw_client.py +0 -0
  77. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/types/__init__.py +0 -0
  78. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/types/bad_request_error_body.py +0 -0
  79. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/authtoken/types/unauthorized_error_body.py +0 -0
  80. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/client.py +0 -0
  81. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/__init__.py +0 -0
  82. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/client.py +0 -0
  83. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/errors/__init__.py +0 -0
  84. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/errors/bad_request_error.py +0 -0
  85. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/errors/internal_server_error.py +0 -0
  86. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/errors/unauthorized_error.py +0 -0
  87. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/raw_client.py +0 -0
  88. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/types/__init__.py +0 -0
  89. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/types/cohort_response.py +0 -0
  90. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/cohort/types/search_concept.py +0 -0
  91. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/__init__.py +0 -0
  92. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/client.py +0 -0
  93. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/errors/__init__.py +0 -0
  94. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/errors/bad_request_error.py +0 -0
  95. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/errors/conflict_error.py +0 -0
  96. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/errors/failed_dependency_error.py +0 -0
  97. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/errors/internal_server_error.py +0 -0
  98. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/errors/unauthorized_error.py +0 -0
  99. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/raw_client.py +0 -0
  100. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/__init__.py +0 -0
  101. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/construe_upload_code_system_response.py +0 -0
  102. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/extract_codes_result.py +0 -0
  103. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/extract_request_config_chunking_method.py +0 -0
  104. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/extract_request_config_validation_method.py +0 -0
  105. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/extract_request_system.py +0 -0
  106. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/construe/types/upload_request_format.py +0 -0
  107. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/__init__.py +0 -0
  108. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/api_error.py +0 -0
  109. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/datetime_utils.py +0 -0
  110. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/file.py +0 -0
  111. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/force_multipart.py +0 -0
  112. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/http_client.py +0 -0
  113. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/http_response.py +0 -0
  114. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/jsonable_encoder.py +0 -0
  115. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/pydantic_utilities.py +0 -0
  116. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/query_encoder.py +0 -0
  117. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/remove_none_from_dict.py +0 -0
  118. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/request_options.py +0 -0
  119. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/core/serialization.py +0 -0
  120. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/environment.py +0 -0
  121. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/__init__.py +0 -0
  122. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/client.py +0 -0
  123. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/errors/__init__.py +0 -0
  124. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/errors/bad_request_error.py +0 -0
  125. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/errors/internal_server_error.py +0 -0
  126. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/errors/not_found_error.py +0 -0
  127. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/errors/unauthorized_error.py +0 -0
  128. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/raw_client.py +0 -0
  129. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/__init__.py +0 -0
  130. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/error_response.py +0 -0
  131. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_bundle.py +0 -0
  132. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_bundle_entry_item.py +0 -0
  133. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_bundle_entry_item_request.py +0 -0
  134. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_bundle_entry_item_request_method.py +0 -0
  135. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_bundle_entry_item_response.py +0 -0
  136. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_patch_request_body_item.py +0 -0
  137. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_patch_request_body_item_op.py +0 -0
  138. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_resource.py +0 -0
  139. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_resource_meta.py +0 -0
  140. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir/types/fhir_search_response.py +0 -0
  141. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/errors/__init__.py +0 -0
  142. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/errors/bad_request_error.py +0 -0
  143. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/errors/forbidden_error.py +0 -0
  144. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/errors/internal_server_error.py +0 -0
  145. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/errors/not_found_error.py +0 -0
  146. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/errors/unauthorized_error.py +0 -0
  147. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/auth_method.py +0 -0
  148. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/fhir_provider_delete_response.py +0 -0
  149. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/fhir_provider_remove_auth_config_response.py +0 -0
  150. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/fhir_provider_template.py +0 -0
  151. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/fhir_query_response.py +0 -0
  152. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/fhir_query_response_data.py +0 -0
  153. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/json_web_key.py +0 -0
  154. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/role.py +0 -0
  155. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/service_account_key.py +0 -0
  156. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/fhir_provider/types/smart_configuration.py +0 -0
  157. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/errors/__init__.py +0 -0
  158. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/errors/bad_request_error.py +0 -0
  159. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/errors/failed_dependency_error.py +0 -0
  160. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/errors/forbidden_error.py +0 -0
  161. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/errors/internal_server_error.py +0 -0
  162. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/errors/unauthorized_error.py +0 -0
  163. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/create_multi_response.py +0 -0
  164. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/create_multi_response_bundle.py +0 -0
  165. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/create_multi_response_bundle_entry_item.py +0 -0
  166. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/create_multi_response_bundle_entry_item_request.py +0 -0
  167. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/create_multi_response_resources_item.py +0 -0
  168. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/create_request_resource.py +0 -0
  169. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/document_request_file_type.py +0 -0
  170. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/document_request_resource.py +0 -0
  171. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/fhir_resource.py +0 -0
  172. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/lang2fhir/types/lang2fhir_upload_profile_response.py +0 -0
  173. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/py.typed +0 -0
  174. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/__init__.py +0 -0
  175. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/client.py +0 -0
  176. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/errors/__init__.py +0 -0
  177. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/errors/bad_request_error.py +0 -0
  178. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/errors/forbidden_error.py +0 -0
  179. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/errors/internal_server_error.py +0 -0
  180. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/errors/not_found_error.py +0 -0
  181. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/errors/unauthorized_error.py +0 -0
  182. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/raw_client.py +0 -0
  183. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/__init__.py +0 -0
  184. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/create_summary_request_fhir_resources.py +0 -0
  185. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/create_summary_request_mode.py +0 -0
  186. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/create_summary_response.py +0 -0
  187. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/create_summary_template_response.py +0 -0
  188. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/error_response.py +0 -0
  189. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/fhir_bundle.py +0 -0
  190. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/fhir_bundle_entry_item.py +0 -0
  191. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/fhir_resource.py +0 -0
  192. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/summary_delete_template_response.py +0 -0
  193. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/summary_get_template_response.py +0 -0
  194. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/summary_list_templates_response.py +0 -0
  195. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/summary_template.py +0 -0
  196. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/summary/types/summary_update_template_response.py +0 -0
  197. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/__init__.py +0 -0
  198. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/client.py +0 -0
  199. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/errors/__init__.py +0 -0
  200. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/errors/bad_request_error.py +0 -0
  201. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/errors/failed_dependency_error.py +0 -0
  202. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/errors/forbidden_error.py +0 -0
  203. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/errors/internal_server_error.py +0 -0
  204. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/errors/unauthorized_error.py +0 -0
  205. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/mcp_server/__init__.py +0 -0
  206. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/mcp_server/client.py +0 -0
  207. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/mcp_server/raw_client.py +0 -0
  208. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/mcp_server/tools/__init__.py +0 -0
  209. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/mcp_server/tools/client.py +0 -0
  210. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/mcp_server/tools/raw_client.py +0 -0
  211. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/raw_client.py +0 -0
  212. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/__init__.py +0 -0
  213. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/cohort_response.py +0 -0
  214. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/lang2fhir_and_create_multi_response.py +0 -0
  215. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/lang2fhir_and_create_multi_response_resource_info_item.py +0 -0
  216. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/lang2fhir_and_create_multi_response_response_bundle.py +0 -0
  217. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/lang2fhir_and_create_request_resource.py +0 -0
  218. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/lang2fhir_and_create_response.py +0 -0
  219. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/lang2fhir_and_search_response.py +0 -0
  220. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/mcp_server_response.py +0 -0
  221. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/mcp_server_response_data.py +0 -0
  222. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/mcp_server_tool_call_response.py +0 -0
  223. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/mcp_server_tool_response.py +0 -0
  224. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/mcp_server_tool_response_data.py +0 -0
  225. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/tools/types/search_concept.py +0 -0
  226. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/version.py +0 -0
  227. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/__init__.py +0 -0
  228. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/client.py +0 -0
  229. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/errors/__init__.py +0 -0
  230. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/errors/bad_request_error.py +0 -0
  231. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/errors/forbidden_error.py +0 -0
  232. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/errors/internal_server_error.py +0 -0
  233. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/errors/not_found_error.py +0 -0
  234. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/errors/unauthorized_error.py +0 -0
  235. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/raw_client.py +0 -0
  236. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/__init__.py +0 -0
  237. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/create_workflow_request_fhir_provider_id.py +0 -0
  238. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/create_workflow_response.py +0 -0
  239. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/decision_node_definition.py +0 -0
  240. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/execute_workflow_response.py +0 -0
  241. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/execute_workflow_response_results.py +0 -0
  242. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/lang2fhir_create_definition.py +0 -0
  243. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/lang2fhir_search_definition.py +0 -0
  244. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/list_workflows_response.py +0 -0
  245. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/step_operation.py +0 -0
  246. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/sub_workflow_definition.py +0 -0
  247. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/update_workflow_request_fhir_provider_id.py +0 -0
  248. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_config.py +0 -0
  249. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_definition.py +0 -0
  250. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_graph.py +0 -0
  251. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_response.py +0 -0
  252. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_response_graph.py +0 -0
  253. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_step.py +0 -0
  254. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_step_summary.py +0 -0
  255. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_step_summary_type.py +0 -0
  256. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflow_step_type.py +0 -0
  257. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflows_delete_response.py +0 -0
  258. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflows_get_response.py +0 -0
  259. {phenoml-0.0.17 → phenoml-0.0.19}/src/phenoml/workflows/types/workflows_update_response.py +0 -0
  260. {phenoml-0.0.17 → phenoml-0.0.19}/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.17
3
+ Version: 0.0.19
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.17"
6
+ version = "0.0.19"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -8,6 +8,7 @@ from .types import (
8
8
  AgentCreateRequestProvider,
9
9
  AgentDeleteResponse,
10
10
  AgentGetChatMessagesRequestOrder,
11
+ AgentGetChatMessagesRequestRole,
11
12
  AgentGetChatMessagesResponse,
12
13
  AgentListResponse,
13
14
  AgentPromptsResponse,
@@ -15,6 +16,7 @@ from .types import (
15
16
  AgentTemplate,
16
17
  AgentTemplateProvider,
17
18
  ChatMessageTemplate,
19
+ ChatMessageTemplateRole,
18
20
  ChatSessionTemplate,
19
21
  JsonPatch,
20
22
  JsonPatchOperation,
@@ -32,6 +34,7 @@ __all__ = [
32
34
  "AgentCreateRequestProvider",
33
35
  "AgentDeleteResponse",
34
36
  "AgentGetChatMessagesRequestOrder",
37
+ "AgentGetChatMessagesRequestRole",
35
38
  "AgentGetChatMessagesResponse",
36
39
  "AgentListResponse",
37
40
  "AgentPromptsResponse",
@@ -40,6 +43,7 @@ __all__ = [
40
43
  "AgentTemplateProvider",
41
44
  "BadRequestError",
42
45
  "ChatMessageTemplate",
46
+ "ChatMessageTemplateRole",
43
47
  "ChatSessionTemplate",
44
48
  "ForbiddenError",
45
49
  "InternalServerError",
@@ -10,6 +10,7 @@ from .types.agent_chat_response import AgentChatResponse
10
10
  from .types.agent_create_request_provider import AgentCreateRequestProvider
11
11
  from .types.agent_delete_response import AgentDeleteResponse
12
12
  from .types.agent_get_chat_messages_request_order import AgentGetChatMessagesRequestOrder
13
+ from .types.agent_get_chat_messages_request_role import AgentGetChatMessagesRequestRole
13
14
  from .types.agent_get_chat_messages_response import AgentGetChatMessagesResponse
14
15
  from .types.agent_list_response import AgentListResponse
15
16
  from .types.agent_response import AgentResponse
@@ -412,7 +413,7 @@ class AgentClient:
412
413
  *,
413
414
  chat_session_id: str,
414
415
  num_messages: typing.Optional[int] = None,
415
- role: typing.Optional[str] = None,
416
+ role: typing.Optional[AgentGetChatMessagesRequestRole] = None,
416
417
  order: typing.Optional[AgentGetChatMessagesRequestOrder] = None,
417
418
  request_options: typing.Optional[RequestOptions] = None,
418
419
  ) -> AgentGetChatMessagesResponse:
@@ -427,8 +428,15 @@ class AgentClient:
427
428
  num_messages : typing.Optional[int]
428
429
  Number of messages to return
429
430
 
430
- role : typing.Optional[str]
431
- Filter by role
431
+ role : typing.Optional[AgentGetChatMessagesRequestRole]
432
+ Filter by one or more message roles. Multiple roles can be specified as a comma-separated string.
433
+ If not specified, messages with all roles are returned.
434
+
435
+ **Available roles:**
436
+ - `user` - Messages from the user
437
+ - `assistant` - Text responses from the AI assistant
438
+ - `model` - Function/tool call requests from the model
439
+ - `function` - Function/tool call results
432
440
 
433
441
  order : typing.Optional[AgentGetChatMessagesRequestOrder]
434
442
  Order of messages
@@ -451,7 +459,7 @@ class AgentClient:
451
459
  client.agent.get_chat_messages(
452
460
  chat_session_id="chat_session_id",
453
461
  num_messages=1,
454
- role="role",
462
+ role="user",
455
463
  order="asc",
456
464
  )
457
465
  """
@@ -914,7 +922,7 @@ class AsyncAgentClient:
914
922
  *,
915
923
  chat_session_id: str,
916
924
  num_messages: typing.Optional[int] = None,
917
- role: typing.Optional[str] = None,
925
+ role: typing.Optional[AgentGetChatMessagesRequestRole] = None,
918
926
  order: typing.Optional[AgentGetChatMessagesRequestOrder] = None,
919
927
  request_options: typing.Optional[RequestOptions] = None,
920
928
  ) -> AgentGetChatMessagesResponse:
@@ -929,8 +937,15 @@ class AsyncAgentClient:
929
937
  num_messages : typing.Optional[int]
930
938
  Number of messages to return
931
939
 
932
- role : typing.Optional[str]
933
- Filter by role
940
+ role : typing.Optional[AgentGetChatMessagesRequestRole]
941
+ Filter by one or more message roles. Multiple roles can be specified as a comma-separated string.
942
+ If not specified, messages with all roles are returned.
943
+
944
+ **Available roles:**
945
+ - `user` - Messages from the user
946
+ - `assistant` - Text responses from the AI assistant
947
+ - `model` - Function/tool call requests from the model
948
+ - `function` - Function/tool call results
934
949
 
935
950
  order : typing.Optional[AgentGetChatMessagesRequestOrder]
936
951
  Order of messages
@@ -958,7 +973,7 @@ class AsyncAgentClient:
958
973
  await client.agent.get_chat_messages(
959
974
  chat_session_id="chat_session_id",
960
975
  num_messages=1,
961
- role="role",
976
+ role="user",
962
977
  order="asc",
963
978
  )
964
979
 
@@ -19,6 +19,7 @@ from .types.agent_chat_response import AgentChatResponse
19
19
  from .types.agent_create_request_provider import AgentCreateRequestProvider
20
20
  from .types.agent_delete_response import AgentDeleteResponse
21
21
  from .types.agent_get_chat_messages_request_order import AgentGetChatMessagesRequestOrder
22
+ from .types.agent_get_chat_messages_request_role import AgentGetChatMessagesRequestRole
22
23
  from .types.agent_get_chat_messages_response import AgentGetChatMessagesResponse
23
24
  from .types.agent_list_response import AgentListResponse
24
25
  from .types.agent_response import AgentResponse
@@ -770,7 +771,7 @@ class RawAgentClient:
770
771
  *,
771
772
  chat_session_id: str,
772
773
  num_messages: typing.Optional[int] = None,
773
- role: typing.Optional[str] = None,
774
+ role: typing.Optional[AgentGetChatMessagesRequestRole] = None,
774
775
  order: typing.Optional[AgentGetChatMessagesRequestOrder] = None,
775
776
  request_options: typing.Optional[RequestOptions] = None,
776
777
  ) -> HttpResponse[AgentGetChatMessagesResponse]:
@@ -785,8 +786,15 @@ class RawAgentClient:
785
786
  num_messages : typing.Optional[int]
786
787
  Number of messages to return
787
788
 
788
- role : typing.Optional[str]
789
- Filter by role
789
+ role : typing.Optional[AgentGetChatMessagesRequestRole]
790
+ Filter by one or more message roles. Multiple roles can be specified as a comma-separated string.
791
+ If not specified, messages with all roles are returned.
792
+
793
+ **Available roles:**
794
+ - `user` - Messages from the user
795
+ - `assistant` - Text responses from the AI assistant
796
+ - `model` - Function/tool call requests from the model
797
+ - `function` - Function/tool call results
790
798
 
791
799
  order : typing.Optional[AgentGetChatMessagesRequestOrder]
792
800
  Order of messages
@@ -1603,7 +1611,7 @@ class AsyncRawAgentClient:
1603
1611
  *,
1604
1612
  chat_session_id: str,
1605
1613
  num_messages: typing.Optional[int] = None,
1606
- role: typing.Optional[str] = None,
1614
+ role: typing.Optional[AgentGetChatMessagesRequestRole] = None,
1607
1615
  order: typing.Optional[AgentGetChatMessagesRequestOrder] = None,
1608
1616
  request_options: typing.Optional[RequestOptions] = None,
1609
1617
  ) -> AsyncHttpResponse[AgentGetChatMessagesResponse]:
@@ -1618,8 +1626,15 @@ class AsyncRawAgentClient:
1618
1626
  num_messages : typing.Optional[int]
1619
1627
  Number of messages to return
1620
1628
 
1621
- role : typing.Optional[str]
1622
- Filter by role
1629
+ role : typing.Optional[AgentGetChatMessagesRequestRole]
1630
+ Filter by one or more message roles. Multiple roles can be specified as a comma-separated string.
1631
+ If not specified, messages with all roles are returned.
1632
+
1633
+ **Available roles:**
1634
+ - `user` - Messages from the user
1635
+ - `assistant` - Text responses from the AI assistant
1636
+ - `model` - Function/tool call requests from the model
1637
+ - `function` - Function/tool call results
1623
1638
 
1624
1639
  order : typing.Optional[AgentGetChatMessagesRequestOrder]
1625
1640
  Order of messages
@@ -7,6 +7,7 @@ from .agent_create_request import AgentCreateRequest
7
7
  from .agent_create_request_provider import AgentCreateRequestProvider
8
8
  from .agent_delete_response import AgentDeleteResponse
9
9
  from .agent_get_chat_messages_request_order import AgentGetChatMessagesRequestOrder
10
+ from .agent_get_chat_messages_request_role import AgentGetChatMessagesRequestRole
10
11
  from .agent_get_chat_messages_response import AgentGetChatMessagesResponse
11
12
  from .agent_list_response import AgentListResponse
12
13
  from .agent_prompts_response import AgentPromptsResponse
@@ -14,6 +15,7 @@ from .agent_response import AgentResponse
14
15
  from .agent_template import AgentTemplate
15
16
  from .agent_template_provider import AgentTemplateProvider
16
17
  from .chat_message_template import ChatMessageTemplate
18
+ from .chat_message_template_role import ChatMessageTemplateRole
17
19
  from .chat_session_template import ChatSessionTemplate
18
20
  from .json_patch import JsonPatch
19
21
  from .json_patch_operation import JsonPatchOperation
@@ -27,6 +29,7 @@ __all__ = [
27
29
  "AgentCreateRequestProvider",
28
30
  "AgentDeleteResponse",
29
31
  "AgentGetChatMessagesRequestOrder",
32
+ "AgentGetChatMessagesRequestRole",
30
33
  "AgentGetChatMessagesResponse",
31
34
  "AgentListResponse",
32
35
  "AgentPromptsResponse",
@@ -34,6 +37,7 @@ __all__ = [
34
37
  "AgentTemplate",
35
38
  "AgentTemplateProvider",
36
39
  "ChatMessageTemplate",
40
+ "ChatMessageTemplateRole",
37
41
  "ChatSessionTemplate",
38
42
  "JsonPatch",
39
43
  "JsonPatchOperation",
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AgentGetChatMessagesRequestRole = typing.Union[typing.Literal["user", "assistant", "model", "function"], typing.Any]
@@ -4,6 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .chat_message_template_role import ChatMessageTemplateRole
7
8
 
8
9
 
9
10
  class ChatMessageTemplate(UniversalBaseModel):
@@ -17,9 +18,13 @@ class ChatMessageTemplate(UniversalBaseModel):
17
18
  Chat session ID
18
19
  """
19
20
 
20
- role: typing.Optional[str] = pydantic.Field(default=None)
21
+ role: typing.Optional[ChatMessageTemplateRole] = pydantic.Field(default=None)
21
22
  """
22
- Message role
23
+ Message role indicating the source/type of the message:
24
+ - `user` - Messages from the user
25
+ - `assistant` - Text responses from the AI assistant
26
+ - `model` - Function/tool call requests to the model
27
+ - `function` - Function/tool call results
23
28
  """
24
29
 
25
30
  content: typing.Optional[str] = pydantic.Field(default=None)
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ChatMessageTemplateRole = typing.Union[typing.Literal["user", "assistant", "model", "function"], typing.Any]
@@ -16,7 +16,10 @@ class ExtractRequestConfig(UniversalBaseModel):
16
16
 
17
17
  max_codes_per_chunk: typing.Optional[int] = pydantic.Field(default=None)
18
18
  """
19
- Maximum number of codes to extract per chunk
19
+ Maximum number of codes to extract per chunk. If not specified, uses system-specific defaults:
20
+ * SNOMED: 10
21
+ * LOINC, HPO, RXNORM: 20
22
+ * All other systems: 5
20
23
  """
21
24
 
22
25
  code_similarity_filter: typing.Optional[float] = pydantic.Field(default=None)
@@ -42,6 +45,11 @@ class ExtractRequestConfig(UniversalBaseModel):
42
45
  Whether to include ancestor/parent codes in the results
43
46
  """
44
47
 
48
+ include_invalid: typing.Optional[bool] = pydantic.Field(default=None)
49
+ """
50
+ Whether to include codes that failed validation in the results
51
+ """
52
+
45
53
  if IS_PYDANTIC_V2:
46
54
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
47
55
  else:
@@ -19,6 +19,11 @@ class ExtractedCodeResult(UniversalBaseModel):
19
19
  Short description of the code
20
20
  """
21
21
 
22
+ valid: bool = pydantic.Field()
23
+ """
24
+ Whether the code passed validation. Always true unless include_invalid is set to true, in which case invalid codes will have this set to false.
25
+ """
26
+
22
27
  long_description: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="longDescription")] = (
23
28
  pydantic.Field(default=None)
24
29
  )
@@ -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.17",
25
+ "User-Agent": "phenoml/0.0.19",
26
26
  "X-Fern-Language": "Python",
27
27
  "X-Fern-SDK-Name": "phenoml",
28
- "X-Fern-SDK-Version": "v0.0.17",
28
+ "X-Fern-SDK-Version": "0.0.19",
29
29
  **(self.get_custom_headers() or {}),
30
30
  }
31
31
  headers["Authorization"] = f"Bearer {self._get_token()}"
@@ -7,9 +7,11 @@ from .types import (
7
7
  FhirProviderAuthConfig,
8
8
  FhirProviderDeleteResponse,
9
9
  FhirProviderListResponse,
10
+ FhirProviderListResponseFhirProvidersItem,
10
11
  FhirProviderRemoveAuthConfigResponse,
11
12
  FhirProviderResponse,
12
- FhirProviderSetActiveAuthConfigResponse,
13
+ FhirProviderResponseData,
14
+ FhirProviderSandboxInfo,
13
15
  FhirProviderTemplate,
14
16
  FhirQueryResponse,
15
17
  FhirQueryResponseData,
@@ -17,6 +19,7 @@ from .types import (
17
19
  Provider,
18
20
  Role,
19
21
  ServiceAccountKey,
22
+ ServiceAccountMetadata,
20
23
  SmartConfiguration,
21
24
  )
22
25
  from .errors import BadRequestError, ForbiddenError, InternalServerError, NotFoundError, UnauthorizedError
@@ -27,9 +30,11 @@ __all__ = [
27
30
  "FhirProviderAuthConfig",
28
31
  "FhirProviderDeleteResponse",
29
32
  "FhirProviderListResponse",
33
+ "FhirProviderListResponseFhirProvidersItem",
30
34
  "FhirProviderRemoveAuthConfigResponse",
31
35
  "FhirProviderResponse",
32
- "FhirProviderSetActiveAuthConfigResponse",
36
+ "FhirProviderResponseData",
37
+ "FhirProviderSandboxInfo",
33
38
  "FhirProviderTemplate",
34
39
  "FhirQueryResponse",
35
40
  "FhirQueryResponseData",
@@ -40,6 +45,7 @@ __all__ = [
40
45
  "Provider",
41
46
  "Role",
42
47
  "ServiceAccountKey",
48
+ "ServiceAccountMetadata",
43
49
  "SmartConfiguration",
44
50
  "UnauthorizedError",
45
51
  ]
@@ -11,7 +11,6 @@ from .types.fhir_provider_delete_response import FhirProviderDeleteResponse
11
11
  from .types.fhir_provider_list_response import FhirProviderListResponse
12
12
  from .types.fhir_provider_remove_auth_config_response import FhirProviderRemoveAuthConfigResponse
13
13
  from .types.fhir_provider_response import FhirProviderResponse
14
- from .types.fhir_provider_set_active_auth_config_response import FhirProviderSetActiveAuthConfigResponse
15
14
  from .types.provider import Provider
16
15
  from .types.role import Role
17
16
  from .types.service_account_key import ServiceAccountKey
@@ -51,7 +50,9 @@ class FhirProviderClient:
51
50
  request_options: typing.Optional[RequestOptions] = None,
52
51
  ) -> FhirProviderResponse:
53
52
  """
54
- Creates a new FHIR provider configuration with authentication credentials
53
+ Creates a new FHIR provider configuration with authentication credentials.
54
+
55
+ Note: The "sandbox" provider type cannot be created via this API - it is managed internally.
55
56
 
56
57
  Parameters
57
58
  ----------
@@ -120,7 +121,10 @@ class FhirProviderClient:
120
121
 
121
122
  def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> FhirProviderListResponse:
122
123
  """
123
- Retrieves a list of all active FHIR providers for the authenticated user
124
+ Retrieves a list of all active FHIR providers for the authenticated user.
125
+
126
+ On shared instances, only sandbox providers are returned.
127
+ Sandbox providers return FhirProviderSandboxInfo.
124
128
 
125
129
  Parameters
126
130
  ----------
@@ -148,7 +152,10 @@ class FhirProviderClient:
148
152
  self, fhir_provider_id: str, *, request_options: typing.Optional[RequestOptions] = None
149
153
  ) -> FhirProviderResponse:
150
154
  """
151
- Retrieves a specific FHIR provider configuration by its ID
155
+ Retrieves a specific FHIR provider configuration by its ID.
156
+
157
+ Sandbox providers return FhirProviderSandboxInfo.
158
+ On shared instances, only sandbox providers can be accessed.
152
159
 
153
160
  Parameters
154
161
  ----------
@@ -181,7 +188,9 @@ class FhirProviderClient:
181
188
  self, fhir_provider_id: str, *, request_options: typing.Optional[RequestOptions] = None
182
189
  ) -> FhirProviderDeleteResponse:
183
190
  """
184
- Soft deletes a FHIR provider by setting is_active to false
191
+ Soft deletes a FHIR provider by setting is_active to false.
192
+
193
+ Note: Sandbox providers cannot be deleted.
185
194
 
186
195
  Parameters
187
196
  ----------
@@ -223,7 +232,10 @@ class FhirProviderClient:
223
232
  request_options: typing.Optional[RequestOptions] = None,
224
233
  ) -> FhirProviderResponse:
225
234
  """
226
- Adds a new authentication configuration to an existing FHIR provider. This enables key rotation and multiple auth configurations per provider.
235
+ Adds a new authentication configuration to an existing FHIR provider.
236
+ This enables key rotation and multiple auth configurations per provider.
237
+
238
+ Note: Sandbox providers cannot be modified.
227
239
 
228
240
  Parameters
229
241
  ----------
@@ -279,9 +291,15 @@ class FhirProviderClient:
279
291
 
280
292
  def set_active_auth_config(
281
293
  self, fhir_provider_id: str, *, auth_config_id: str, request_options: typing.Optional[RequestOptions] = None
282
- ) -> FhirProviderSetActiveAuthConfigResponse:
294
+ ) -> FhirProviderResponse:
283
295
  """
284
- Sets which authentication configuration should be active for a FHIR provider. Only one auth config can be active at a time.
296
+ Sets which authentication configuration should be active for a FHIR provider.
297
+ Only one auth config can be active at a time.
298
+
299
+ If the specified auth config is already active, the request succeeds without
300
+ making any changes and returns a message indicating the config is already active.
301
+
302
+ Note: Sandbox providers cannot be modified.
285
303
 
286
304
  Parameters
287
305
  ----------
@@ -296,8 +314,9 @@ class FhirProviderClient:
296
314
 
297
315
  Returns
298
316
  -------
299
- FhirProviderSetActiveAuthConfigResponse
300
- Active auth configuration set successfully
317
+ FhirProviderResponse
318
+ Active auth configuration set successfully, or the config was already active.
319
+ Check the message field to determine which case occurred.
301
320
 
302
321
  Examples
303
322
  --------
@@ -320,7 +339,10 @@ class FhirProviderClient:
320
339
  self, fhir_provider_id: str, *, auth_config_id: str, request_options: typing.Optional[RequestOptions] = None
321
340
  ) -> FhirProviderRemoveAuthConfigResponse:
322
341
  """
323
- Removes an authentication configuration from a FHIR provider. Cannot remove the currently active auth configuration.
342
+ Removes an authentication configuration from a FHIR provider.
343
+ Cannot remove the currently active auth configuration.
344
+
345
+ Note: Sandbox providers cannot be modified.
324
346
 
325
347
  Parameters
326
348
  ----------
@@ -387,7 +409,9 @@ class AsyncFhirProviderClient:
387
409
  request_options: typing.Optional[RequestOptions] = None,
388
410
  ) -> FhirProviderResponse:
389
411
  """
390
- Creates a new FHIR provider configuration with authentication credentials
412
+ Creates a new FHIR provider configuration with authentication credentials.
413
+
414
+ Note: The "sandbox" provider type cannot be created via this API - it is managed internally.
391
415
 
392
416
  Parameters
393
417
  ----------
@@ -464,7 +488,10 @@ class AsyncFhirProviderClient:
464
488
 
465
489
  async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> FhirProviderListResponse:
466
490
  """
467
- Retrieves a list of all active FHIR providers for the authenticated user
491
+ Retrieves a list of all active FHIR providers for the authenticated user.
492
+
493
+ On shared instances, only sandbox providers are returned.
494
+ Sandbox providers return FhirProviderSandboxInfo.
468
495
 
469
496
  Parameters
470
497
  ----------
@@ -500,7 +527,10 @@ class AsyncFhirProviderClient:
500
527
  self, fhir_provider_id: str, *, request_options: typing.Optional[RequestOptions] = None
501
528
  ) -> FhirProviderResponse:
502
529
  """
503
- Retrieves a specific FHIR provider configuration by its ID
530
+ Retrieves a specific FHIR provider configuration by its ID.
531
+
532
+ Sandbox providers return FhirProviderSandboxInfo.
533
+ On shared instances, only sandbox providers can be accessed.
504
534
 
505
535
  Parameters
506
536
  ----------
@@ -541,7 +571,9 @@ class AsyncFhirProviderClient:
541
571
  self, fhir_provider_id: str, *, request_options: typing.Optional[RequestOptions] = None
542
572
  ) -> FhirProviderDeleteResponse:
543
573
  """
544
- Soft deletes a FHIR provider by setting is_active to false
574
+ Soft deletes a FHIR provider by setting is_active to false.
575
+
576
+ Note: Sandbox providers cannot be deleted.
545
577
 
546
578
  Parameters
547
579
  ----------
@@ -591,7 +623,10 @@ class AsyncFhirProviderClient:
591
623
  request_options: typing.Optional[RequestOptions] = None,
592
624
  ) -> FhirProviderResponse:
593
625
  """
594
- Adds a new authentication configuration to an existing FHIR provider. This enables key rotation and multiple auth configurations per provider.
626
+ Adds a new authentication configuration to an existing FHIR provider.
627
+ This enables key rotation and multiple auth configurations per provider.
628
+
629
+ Note: Sandbox providers cannot be modified.
595
630
 
596
631
  Parameters
597
632
  ----------
@@ -655,9 +690,15 @@ class AsyncFhirProviderClient:
655
690
 
656
691
  async def set_active_auth_config(
657
692
  self, fhir_provider_id: str, *, auth_config_id: str, request_options: typing.Optional[RequestOptions] = None
658
- ) -> FhirProviderSetActiveAuthConfigResponse:
693
+ ) -> FhirProviderResponse:
659
694
  """
660
- Sets which authentication configuration should be active for a FHIR provider. Only one auth config can be active at a time.
695
+ Sets which authentication configuration should be active for a FHIR provider.
696
+ Only one auth config can be active at a time.
697
+
698
+ If the specified auth config is already active, the request succeeds without
699
+ making any changes and returns a message indicating the config is already active.
700
+
701
+ Note: Sandbox providers cannot be modified.
661
702
 
662
703
  Parameters
663
704
  ----------
@@ -672,8 +713,9 @@ class AsyncFhirProviderClient:
672
713
 
673
714
  Returns
674
715
  -------
675
- FhirProviderSetActiveAuthConfigResponse
676
- Active auth configuration set successfully
716
+ FhirProviderResponse
717
+ Active auth configuration set successfully, or the config was already active.
718
+ Check the message field to determine which case occurred.
677
719
 
678
720
  Examples
679
721
  --------
@@ -704,7 +746,10 @@ class AsyncFhirProviderClient:
704
746
  self, fhir_provider_id: str, *, auth_config_id: str, request_options: typing.Optional[RequestOptions] = None
705
747
  ) -> FhirProviderRemoveAuthConfigResponse:
706
748
  """
707
- Removes an authentication configuration from a FHIR provider. Cannot remove the currently active auth configuration.
749
+ Removes an authentication configuration from a FHIR provider.
750
+ Cannot remove the currently active auth configuration.
751
+
752
+ Note: Sandbox providers cannot be modified.
708
753
 
709
754
  Parameters
710
755
  ----------