fountain-life-service-clients 3.28.2__py3-none-any.whl → 3.29.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. fountain_life_service_clients/account_service.py +0 -2
  2. fountain_life_service_clients/account_service_policy_attributes.py +0 -2
  3. fountain_life_service_clients/agents_api_service.py +0 -2
  4. fountain_life_service_clients/ai_template_service.py +267 -0
  5. fountain_life_service_clients/claimed_domains_service.py +0 -2
  6. fountain_life_service_clients/cohorts_service.py +0 -2
  7. fountain_life_service_clients/ehr_ingestion_wearables_api.py +0 -2
  8. fountain_life_service_clients/ehr_service.py +0 -2
  9. fountain_life_service_clients/email_service_email.py +0 -2
  10. fountain_life_service_clients/email_service_sms.py +0 -2
  11. fountain_life_service_clients/fhir_post_processor_service.py +3 -5
  12. fountain_life_service_clients/fhir_search_service.py +18 -20
  13. fountain_life_service_clients/file_service.py +0 -2
  14. fountain_life_service_clients/invitation_service.py +0 -2
  15. fountain_life_service_clients/medical_results_service_results.py +14 -16
  16. fountain_life_service_clients/member_notification_service.py +5 -7
  17. fountain_life_service_clients/member_operations_service_members.py +0 -2
  18. fountain_life_service_clients/member_scheduling_service_scheduling_prompts.py +0 -2
  19. fountain_life_service_clients/oauth_apps_service.py +0 -2
  20. fountain_life_service_clients/patient_service.py +2 -4
  21. fountain_life_service_clients/rules_service.py +4 -6
  22. fountain_life_service_clients/scheduler_service.py +0 -2
  23. fountain_life_service_clients/survey_service.py +0 -2
  24. fountain_life_service_clients/user_service.py +0 -2
  25. {fountain_life_service_clients-3.28.2.dist-info → fountain_life_service_clients-3.29.1.dist-info}/METADATA +1 -1
  26. fountain_life_service_clients-3.29.1.dist-info/RECORD +29 -0
  27. fountain_life_service_clients-3.28.2.dist-info/RECORD +0 -28
  28. {fountain_life_service_clients-3.28.2.dist-info → fountain_life_service_clients-3.29.1.dist-info}/WHEEL +0 -0
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: account-service.json
4
2
  from typing import List, Literal, NotRequired, Optional, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: account-service-policy-attributes.json
4
2
  from typing import Any, Dict, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: agents-api-service.json
4
2
  from typing import Any, Dict, List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -0,0 +1,267 @@
1
+ # This file was generated automatically. Do not edit it directly.
2
+ from typing import List, Literal, NotRequired, TypedDict, Union, Unpack, cast
3
+ from urllib.parse import quote
4
+
5
+ from fountain_life_service_clients._base_client import (
6
+ AlphaConfig,
7
+ AlphaResponse,
8
+ BaseClient,
9
+ )
10
+
11
+
12
+ class ListTemplatesParams(TypedDict):
13
+ prefix: NotRequired[str]
14
+ pageSize: NotRequired[float]
15
+ nextPageToken: NotRequired[str]
16
+
17
+
18
+ class Items(TypedDict):
19
+ type: Literal["folder"]
20
+ path: str
21
+
22
+
23
+ class items(TypedDict):
24
+ type: Literal["template"]
25
+ path: str
26
+ description: NotRequired[str]
27
+ id: str
28
+ accountId: str
29
+ createdAt: str
30
+ updatedAt: str
31
+ lastUpdatedBy: str
32
+
33
+
34
+ class Items2(TypedDict):
35
+ type: Literal["compositeReportDefinition"]
36
+ path: str
37
+ description: NotRequired[str]
38
+ id: str
39
+ accountId: str
40
+ createdAt: str
41
+ updatedAt: str
42
+ lastUpdatedBy: str
43
+
44
+
45
+ class Links(TypedDict):
46
+ next: NotRequired[str]
47
+
48
+
49
+ class ListTemplatesResponse(TypedDict):
50
+ items: List[Union[Items, items, Items2]]
51
+ links: Links
52
+
53
+
54
+ class CreateTemplateRequest1(TypedDict):
55
+ type: Literal["template"]
56
+ path: str
57
+ description: NotRequired[str]
58
+ content: str
59
+
60
+
61
+ class Section(TypedDict):
62
+ templateId: str
63
+
64
+
65
+ class CreateTemplateRequest2(TypedDict):
66
+ type: Literal["compositeReportDefinition"]
67
+ path: str
68
+ description: NotRequired[str]
69
+ sections: List[Section]
70
+
71
+
72
+ CreateTemplateRequest = Union[CreateTemplateRequest1, CreateTemplateRequest2]
73
+
74
+
75
+ class Template(TypedDict):
76
+ type: Literal["template"]
77
+ path: str
78
+ description: NotRequired[str]
79
+ content: str
80
+ id: str
81
+ accountId: str
82
+ createdAt: str
83
+ updatedAt: str
84
+ lastUpdatedBy: str
85
+
86
+
87
+ class template(TypedDict):
88
+ type: Literal["compositeReportDefinition"]
89
+ path: str
90
+ description: NotRequired[str]
91
+ sections: List[Section]
92
+ id: str
93
+ accountId: str
94
+ createdAt: str
95
+ updatedAt: str
96
+ lastUpdatedBy: str
97
+
98
+
99
+ class CreateTemplateResponse(TypedDict):
100
+ template: Union[Template, template]
101
+
102
+
103
+ class Template2(TypedDict):
104
+ """
105
+ The template or composite report definition
106
+ """
107
+
108
+ type: Literal["template"]
109
+ path: str
110
+ description: NotRequired[str]
111
+ content: str
112
+ id: str
113
+ accountId: str
114
+ createdAt: str
115
+ updatedAt: str
116
+ lastUpdatedBy: str
117
+
118
+
119
+ class Template3(TypedDict):
120
+ """
121
+ The template or composite report definition
122
+ """
123
+
124
+ type: Literal["compositeReportDefinition"]
125
+ path: str
126
+ description: NotRequired[str]
127
+ sections: List[Section]
128
+ id: str
129
+ accountId: str
130
+ createdAt: str
131
+ updatedAt: str
132
+ lastUpdatedBy: str
133
+
134
+
135
+ class GetTemplateResponse(TypedDict):
136
+ template: Union[Template2, Template3]
137
+
138
+
139
+ class PatchTemplateRequest1(TypedDict):
140
+ type: Literal["template"]
141
+ path: NotRequired[str]
142
+ description: NotRequired[str]
143
+ content: NotRequired[str]
144
+
145
+
146
+ class PatchTemplateRequest2(TypedDict):
147
+ type: Literal["compositeReportDefinition"]
148
+ path: NotRequired[str]
149
+ description: NotRequired[str]
150
+ sections: NotRequired[List[Section]]
151
+
152
+
153
+ PatchTemplateRequest = Union[PatchTemplateRequest1, PatchTemplateRequest2]
154
+
155
+
156
+ class Template4(TypedDict):
157
+ type: Literal["template"]
158
+ path: str
159
+ description: NotRequired[str]
160
+ content: str
161
+ id: str
162
+ accountId: str
163
+ createdAt: str
164
+ updatedAt: str
165
+ lastUpdatedBy: str
166
+
167
+
168
+ class Template5(TypedDict):
169
+ type: Literal["compositeReportDefinition"]
170
+ path: str
171
+ description: NotRequired[str]
172
+ sections: List[Section]
173
+ id: str
174
+ accountId: str
175
+ createdAt: str
176
+ updatedAt: str
177
+ lastUpdatedBy: str
178
+
179
+
180
+ class PatchTemplateResponse(TypedDict):
181
+ template: Union[Template4, Template5]
182
+
183
+
184
+ class DeleteTemplateResponse(TypedDict):
185
+ pass
186
+
187
+
188
+ class CopyTemplateRequest(TypedDict):
189
+ path: NotRequired[str]
190
+
191
+
192
+ class Template6(TypedDict):
193
+ type: Literal["template"]
194
+ path: str
195
+ description: NotRequired[str]
196
+ content: str
197
+ id: str
198
+ accountId: str
199
+ createdAt: str
200
+ updatedAt: str
201
+ lastUpdatedBy: str
202
+
203
+
204
+ class Template7(TypedDict):
205
+ type: Literal["compositeReportDefinition"]
206
+ path: str
207
+ description: NotRequired[str]
208
+ sections: List[Section]
209
+ id: str
210
+ accountId: str
211
+ createdAt: str
212
+ updatedAt: str
213
+ lastUpdatedBy: str
214
+
215
+
216
+ class CopyTemplateResponse(TypedDict):
217
+ template: Union[Template6, Template7]
218
+
219
+
220
+ class AiTemplateServiceClient(BaseClient):
221
+ def __init__(self, **cfg: Unpack[AlphaConfig]):
222
+ kwargs = {"target": "lambda://ai-template-service:deployed", **(cfg or {})}
223
+ super().__init__(**kwargs)
224
+
225
+ async def list_templates(self, params: ListTemplatesParams):
226
+ """Lists all templates and folders, matching against an optional prefix."""
227
+ res = await self.client.request(
228
+ path="/v1/ai-templates", method="GET", params=cast(dict, params)
229
+ )
230
+ return cast(AlphaResponse[ListTemplatesResponse], res)
231
+
232
+ async def create_template(self, body: CreateTemplateRequest):
233
+ """Creates a new template. Returns the created template, or 409 if a template already exists under the given path."""
234
+ res = await self.client.request(
235
+ path="/v1/ai-templates", method="POST", body=cast(dict, body)
236
+ )
237
+ return cast(AlphaResponse[CreateTemplateResponse], res)
238
+
239
+ async def get_template(self, id: str):
240
+ """Gets a template by ID. Returns 404 if the template does not exist."""
241
+ res = await self.client.request(
242
+ path=f"/v1/ai-templates/{quote(id)}", method="GET"
243
+ )
244
+ return cast(AlphaResponse[GetTemplateResponse], res)
245
+
246
+ async def patch_template(self, id: str, body: PatchTemplateRequest):
247
+ """Patches a template. Any keys present in the input will be updated. Returns the patched template."""
248
+ res = await self.client.request(
249
+ path=f"/v1/ai-templates/{quote(id)}", method="PATCH", body=cast(dict, body)
250
+ )
251
+ return cast(AlphaResponse[PatchTemplateResponse], res)
252
+
253
+ async def delete_template(self, id: str):
254
+ """Deletes a template, if it exists."""
255
+ res = await self.client.request(
256
+ path=f"/v1/ai-templates/{quote(id)}", method="DELETE"
257
+ )
258
+ return cast(AlphaResponse[DeleteTemplateResponse], res)
259
+
260
+ async def copy_template(self, id: str, body: CopyTemplateRequest):
261
+ """Copies a template."""
262
+ res = await self.client.request(
263
+ path=f"/v1/ai-templates/{quote(id)}/copy",
264
+ method="POST",
265
+ body=cast(dict, body),
266
+ )
267
+ return cast(AlphaResponse[CopyTemplateResponse], res)
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: claimed-domains-service.json
4
2
  from typing import List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
 
6
4
  from fountain_life_service_clients._base_client import (
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: cohorts-service.json
4
2
  from typing import Any, List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: ehr-ingestion-wearables-api.json
4
2
  from typing import List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
 
6
4
  from fountain_life_service_clients._base_client import (
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: ehr-service.json
4
2
  from typing import List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: email-service-email.json
4
2
  from typing import (
5
3
  Any,
6
4
  Dict,
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: email-service-sms.json
4
2
  from typing import TypedDict, Unpack, cast
5
3
 
6
4
  from fountain_life_service_clients._base_client import (
@@ -1,7 +1,5 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: fhir-post-processor-service.json
4
- from typing import Any, NotRequired, TypedDict, Union, Unpack, cast
2
+ from typing import Any, Literal, NotRequired, TypedDict, Union, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
7
5
  from fountain_life_service_clients._base_client import (
@@ -21,7 +19,7 @@ class Partial(TypedDict):
21
19
 
22
20
  class GetPartialFhirResourceResponse1(TypedDict):
23
21
  id: str
24
- resourceType: NotRequired[str]
22
+ resourceType: Literal["DocumentReference"]
25
23
  partial: Partial
26
24
 
27
25
 
@@ -31,7 +29,7 @@ class partial(TypedDict):
31
29
 
32
30
  class GetPartialFhirResourceResponse2(TypedDict):
33
31
  id: str
34
- resourceType: NotRequired[str]
32
+ resourceType: Literal["Patient"]
35
33
  partial: partial
36
34
 
37
35
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: fhir-search-service.json
4
2
  from typing import Any, Dict, List, Literal, NotRequired, TypedDict, Union, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -12,7 +10,7 @@ from fountain_life_service_clients._base_client import (
12
10
 
13
11
 
14
12
  class Expr(TypedDict):
15
- type: NotRequired[str]
13
+ type: Literal["column_ref"]
16
14
  column: str
17
15
  table: NotRequired[str]
18
16
 
@@ -22,7 +20,7 @@ class Columns(TypedDict):
22
20
 
23
21
 
24
22
  class columns(TypedDict):
25
- type: NotRequired[str]
23
+ type: Literal["elasticsearch"]
26
24
  aggregations: Dict[str, Any]
27
25
 
28
26
 
@@ -31,7 +29,7 @@ class FromItem(TypedDict):
31
29
 
32
30
 
33
31
  class Where(TypedDict):
34
- type: NotRequired[str]
32
+ type: Literal["elasticsearch"]
35
33
  query: Dict[str, Any]
36
34
  highlight: NotRequired[Dict[str, Any]]
37
35
 
@@ -41,7 +39,7 @@ class Limit(TypedDict):
41
39
  A Response Offset
42
40
  """
43
41
 
44
- type: NotRequired[str]
42
+ type: Literal["number"]
45
43
  value: float
46
44
 
47
45
 
@@ -50,7 +48,7 @@ class limit(TypedDict):
50
48
  An Elasticsearch Search-After Clause
51
49
  """
52
50
 
53
- type: NotRequired[str]
51
+ type: Literal["elasticsearch"]
54
52
  search_after: List
55
53
 
56
54
 
@@ -59,7 +57,7 @@ class LimitItem(TypedDict):
59
57
  A Response Limit
60
58
  """
61
59
 
62
- type: NotRequired[str]
60
+ type: Literal["number"]
63
61
  value: float
64
62
 
65
63
 
@@ -71,8 +69,8 @@ class OrderbyItem(TypedDict):
71
69
  SearchProjectRequest = TypedDict(
72
70
  "SearchProjectRequest",
73
71
  {
74
- "type": NotRequired[str],
75
- "columns": Union[str, List[Union[Columns, columns]]],
72
+ "type": Literal["select"],
73
+ "columns": Union[Literal["*"], List[Union[Columns, columns]]],
76
74
  "from": List[FromItem],
77
75
  "where": NotRequired[Where],
78
76
  "limit": NotRequired[List[Union[Union[Limit, limit], LimitItem]]],
@@ -103,7 +101,7 @@ class Columns2(TypedDict):
103
101
 
104
102
 
105
103
  class Columns3(TypedDict):
106
- type: NotRequired[str]
104
+ type: Literal["elasticsearch"]
107
105
  aggregations: Dict[str, Any]
108
106
 
109
107
 
@@ -112,7 +110,7 @@ class Limit2(TypedDict):
112
110
  A Response Offset
113
111
  """
114
112
 
115
- type: NotRequired[str]
113
+ type: Literal["number"]
116
114
  value: float
117
115
 
118
116
 
@@ -121,7 +119,7 @@ class Limit3(TypedDict):
121
119
  An Elasticsearch Search-After Clause
122
120
  """
123
121
 
124
- type: NotRequired[str]
122
+ type: Literal["elasticsearch"]
125
123
  search_after: List
126
124
 
127
125
 
@@ -133,8 +131,8 @@ class orderbyItem(TypedDict):
133
131
  SearchPatientRequest = TypedDict(
134
132
  "SearchPatientRequest",
135
133
  {
136
- "type": NotRequired[str],
137
- "columns": Union[str, List[Union[Columns2, Columns3]]],
134
+ "type": Literal["select"],
135
+ "columns": Union[Literal["*"], List[Union[Columns2, Columns3]]],
138
136
  "from": List[FromItem],
139
137
  "where": NotRequired[Where],
140
138
  "limit": NotRequired[List[Union[Union[Limit2, Limit3], LimitItem]]],
@@ -159,7 +157,7 @@ class Columns4(TypedDict):
159
157
 
160
158
 
161
159
  class Columns5(TypedDict):
162
- type: NotRequired[str]
160
+ type: Literal["elasticsearch"]
163
161
  aggregations: Dict[str, Any]
164
162
 
165
163
 
@@ -168,7 +166,7 @@ class Limit4(TypedDict):
168
166
  A Response Offset
169
167
  """
170
168
 
171
- type: NotRequired[str]
169
+ type: Literal["number"]
172
170
  value: float
173
171
 
174
172
 
@@ -177,7 +175,7 @@ class Limit5(TypedDict):
177
175
  An Elasticsearch Search-After Clause
178
176
  """
179
177
 
180
- type: NotRequired[str]
178
+ type: Literal["elasticsearch"]
181
179
  search_after: List
182
180
 
183
181
 
@@ -189,8 +187,8 @@ class OrderbyItem2(TypedDict):
189
187
  SearchCohortRequest = TypedDict(
190
188
  "SearchCohortRequest",
191
189
  {
192
- "type": NotRequired[str],
193
- "columns": Union[str, List[Union[Columns4, Columns5]]],
190
+ "type": Literal["select"],
191
+ "columns": Union[Literal["*"], List[Union[Columns4, Columns5]]],
194
192
  "from": List[FromItem],
195
193
  "where": NotRequired[Where],
196
194
  "limit": NotRequired[List[Union[Union[Limit4, Limit5], LimitItem]]],
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: file-service.json
4
2
  from typing import List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: invitation-service.json
4
2
  from typing import List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: medical-results-service-results.json
4
2
  from typing import (
5
3
  Any,
6
4
  List,
@@ -54,8 +52,8 @@ class SubSystem(TypedDict):
54
52
 
55
53
 
56
54
  class Results(TypedDict):
57
- type: NotRequired[str]
58
- status: NotRequired[str]
55
+ type: Literal["withoutRange"]
56
+ status: Literal["default"]
59
57
  resource: NotRequired[Any]
60
58
 
61
59
 
@@ -63,7 +61,7 @@ class InRange(TypedDict):
63
61
  lower: NotRequired[float]
64
62
  upper: NotRequired[float]
65
63
  label: str
66
- status: NotRequired[str]
64
+ status: Literal["in-range"]
67
65
 
68
66
 
69
67
  class Optimal(TypedDict):
@@ -74,7 +72,7 @@ class Optimal(TypedDict):
74
72
  lower: NotRequired[float]
75
73
  upper: NotRequired[float]
76
74
  label: str
77
- status: NotRequired[str]
75
+ status: Literal["optimal"]
78
76
 
79
77
 
80
78
  """
@@ -90,15 +88,15 @@ Ranges = TypedDict(
90
88
 
91
89
 
92
90
  class results(TypedDict):
93
- type: NotRequired[str]
91
+ type: Literal["withRange"]
94
92
  status: Literal["in-range", "attention", "optimal"]
95
93
  resource: NotRequired[Any]
96
94
  ranges: Ranges
97
95
 
98
96
 
99
97
  class Results2(TypedDict):
100
- type: NotRequired[str]
101
- status: NotRequired[str]
98
+ type: Literal["pending"]
99
+ status: Literal["pending"]
102
100
  resource: NotRequired[Any]
103
101
 
104
102
 
@@ -134,14 +132,14 @@ class Attention(TypedDict):
134
132
  lower: NotRequired[float]
135
133
  upper: NotRequired[float]
136
134
  label: str
137
- status: NotRequired[str]
135
+ status: Literal["attention"]
138
136
 
139
137
 
140
138
  class optimal(TypedDict):
141
139
  lower: NotRequired[float]
142
140
  upper: NotRequired[float]
143
141
  label: str
144
- status: NotRequired[str]
142
+ status: Literal["optimal"]
145
143
 
146
144
 
147
145
  ranges = TypedDict(
@@ -161,7 +159,7 @@ class Result(TypedDict):
161
159
 
162
160
 
163
161
  class Items(TypedDict):
164
- type: NotRequired[str]
162
+ type: Literal["withRange"]
165
163
  ranges: ranges
166
164
  result: Result
167
165
  coding: Coding
@@ -172,13 +170,13 @@ class Items(TypedDict):
172
170
 
173
171
 
174
172
  class result(TypedDict):
175
- status: NotRequired[str]
173
+ status: Literal["default"]
176
174
  text: str
177
175
  interpretationText: str
178
176
 
179
177
 
180
178
  class items(TypedDict):
181
- type: NotRequired[str]
179
+ type: Literal["withoutRange"]
182
180
  result: result
183
181
  coding: Coding
184
182
  resource: NotRequired[Any]
@@ -188,11 +186,11 @@ class items(TypedDict):
188
186
 
189
187
 
190
188
  class Result2(TypedDict):
191
- status: NotRequired[str]
189
+ status: Literal["pending"]
192
190
 
193
191
 
194
192
  class Items2(TypedDict):
195
- type: NotRequired[str]
193
+ type: Literal["pending"]
196
194
  result: Result2
197
195
  coding: Coding
198
196
  resource: NotRequired[Any]
@@ -1,7 +1,5 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: member-notification-service.json
4
- from typing import List, NotRequired, TypedDict, Union, Unpack, cast
2
+ from typing import List, Literal, NotRequired, TypedDict, Union, Unpack, cast
5
3
 
6
4
  from fountain_life_service_clients._base_client import (
7
5
  AlphaConfig,
@@ -11,28 +9,28 @@ from fountain_life_service_clients._base_client import (
11
9
 
12
10
 
13
11
  class SendTemplatedNotificationRequest1(TypedDict):
14
- name: NotRequired[str]
12
+ name: Literal["appointment-reminder"]
15
13
  appointmentId: str
16
14
  patientId: str
17
15
  messageId: str
18
16
 
19
17
 
20
18
  class SendTemplatedNotificationRequest2(TypedDict):
21
- name: NotRequired[str]
19
+ name: Literal["results-available"]
22
20
  type: str
23
21
  patientId: str
24
22
  messageId: str
25
23
 
26
24
 
27
25
  class SendTemplatedNotificationRequest3(TypedDict):
28
- name: NotRequired[str]
26
+ name: Literal["blood-work-scheduling-prompt"]
29
27
  procedureRequestId: str
30
28
  patientId: str
31
29
  messageId: str
32
30
 
33
31
 
34
32
  class SendTemplatedNotificationRequest4(TypedDict):
35
- name: NotRequired[str]
33
+ name: Literal["survey-reminder"]
36
34
  surveyNames: List[str]
37
35
  patientId: str
38
36
  messageId: str
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: member-operations-service-members.json
4
2
  from typing import Literal, NotRequired, TypedDict, Unpack, cast
5
3
 
6
4
  from fountain_life_service_clients._base_client import (
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: member-scheduling-service-scheduling-prompts.json
4
2
  from typing import List, NotRequired, TypedDict, Unpack, cast
5
3
 
6
4
  from fountain_life_service_clients._base_client import (
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: oauth-apps-service.json
4
2
  from typing import List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,7 +1,5 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: patient-service.json
4
- from typing import Any, Dict, List, NotRequired, TypedDict, Unpack, cast
2
+ from typing import Any, Dict, List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
7
5
  from fountain_life_service_clients._base_client import (
@@ -62,7 +60,7 @@ class UpdateFileResponse(TypedDict):
62
60
 
63
61
  class GetFileByIdParams(TypedDict):
64
62
  subject: NotRequired[str]
65
- include: NotRequired[str]
63
+ include: NotRequired[Literal["downloadUrl"]]
66
64
  includeContentDisposition: NotRequired[bool]
67
65
 
68
66
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: rules-service.json
4
2
  from typing import Any, Dict, List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -105,7 +103,7 @@ class GetRuleJobsResponseItem(TypedDict):
105
103
  datasetId: str
106
104
  state: Literal["RUNNING", "COMPLETE", "CANCELED"]
107
105
  steps: List
108
- resourceType: NotRequired[str]
106
+ resourceType: Literal["Patient"]
109
107
  execution: str
110
108
  successes: float
111
109
  failures: float
@@ -118,7 +116,7 @@ GetRuleJobsResponse = List[GetRuleJobsResponseItem]
118
116
  class CreateRuleJobRequest(TypedDict):
119
117
  datasetId: str
120
118
  steps: List
121
- resourceType: NotRequired[str]
119
+ resourceType: Literal["Patient"]
122
120
  resourceIds: List[str]
123
121
 
124
122
 
@@ -132,7 +130,7 @@ class CreateRuleJobResponse(TypedDict):
132
130
  datasetId: str
133
131
  state: Literal["RUNNING", "COMPLETE", "CANCELED"]
134
132
  steps: List
135
- resourceType: NotRequired[str]
133
+ resourceType: Literal["Patient"]
136
134
  execution: str
137
135
  successes: float
138
136
  failures: float
@@ -149,7 +147,7 @@ class GetRuleJobResponse(TypedDict):
149
147
  datasetId: str
150
148
  state: Literal["RUNNING", "COMPLETE", "CANCELED"]
151
149
  steps: List
152
- resourceType: NotRequired[str]
150
+ resourceType: Literal["Patient"]
153
151
  execution: str
154
152
  successes: float
155
153
  failures: float
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: scheduler-service.json
4
2
  from typing import Any, Dict, List, NotRequired, Optional, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: survey-service.json
4
2
  from typing import Any, List, Literal, NotRequired, TypedDict, Union, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,4 @@
1
1
  # This file was generated automatically. Do not edit it directly.
2
- # generated by datamodel-codegen:
3
- # filename: user-service.json
4
2
  from typing import List, Literal, NotRequired, TypedDict, Unpack, cast
5
3
  from urllib.parse import quote
6
4
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fountain-life-service-clients
3
- Version: 3.28.2
3
+ Version: 3.29.1
4
4
  Summary:
5
5
  License: UNLICENSED
6
6
  Author: Fountain Life
@@ -0,0 +1,29 @@
1
+ fountain_life_service_clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ fountain_life_service_clients/_base_client.py,sha256=19AeJmz3H0d4tRdJ-fBcIXhw78hPniyGDfclfr4LC9g,781
3
+ fountain_life_service_clients/account_service.py,sha256=LI1w20YRz19JpC-8CEdoCpix4zKWSVl6iJ15k0Xc5Vo,3665
4
+ fountain_life_service_clients/account_service_policy_attributes.py,sha256=yq8JyDtFVhP5QzYvnAyIZGBhRK9Ds8SrMcG6EazPjxs,1523
5
+ fountain_life_service_clients/agents_api_service.py,sha256=oHegCFfTXwsrXoRz7VIRXOhOzj6D27tDXPWFnUz95VU,5876
6
+ fountain_life_service_clients/ai_template_service.py,sha256=fyCVn4FX1EH0dHKPqZTLJ9DVTGouapLisOMkajIejug,6587
7
+ fountain_life_service_clients/claimed_domains_service.py,sha256=qW-7jCdDcB7qz6u5sv9_TESwYPbjWYwSGNnqfcrvyeM,1659
8
+ fountain_life_service_clients/cohorts_service.py,sha256=B0atrAnVGFG2TWMMORyNlJK0ffKUfI084mISFXZjAtI,4633
9
+ fountain_life_service_clients/ehr_ingestion_wearables_api.py,sha256=7X15qJr0m2ZXRb4inog3vUtVZJLxn10oVLBEU63iRt0,5591
10
+ fountain_life_service_clients/ehr_service.py,sha256=i4-JRdJXAtnB6Fsgv1qzaGJ55kpdbHh8X-gqlTgPvRc,9522
11
+ fountain_life_service_clients/email_service_email.py,sha256=dh1En-ChG5DVWQatikcjy9WR26kP4znab_TPnt96DlI,2013
12
+ fountain_life_service_clients/email_service_sms.py,sha256=6W9Ba0Qj8oRtPMOrMx2HPkjPps2bXQLCH7Sw3ZQrjUQ,875
13
+ fountain_life_service_clients/fhir_post_processor_service.py,sha256=4IsyyRoCIzSNIBMvJFi1QyFuekikmtoY7ahQCh8Oncw,1355
14
+ fountain_life_service_clients/fhir_search_service.py,sha256=O_y8YrOjvKj_Tfs5Pj4MM4X6RvV1E2s762lRH5U8ji8,6014
15
+ fountain_life_service_clients/file_service.py,sha256=CY36fpvCAi17npAKAWkFDDaNhwbvTC5hx-sGZmPfyBM,4046
16
+ fountain_life_service_clients/invitation_service.py,sha256=tKWgb-bGIwT4x3MWSLiVChQRaZURj43S6Uyrg3Lt7HA,2596
17
+ fountain_life_service_clients/medical_results_service_results.py,sha256=L0clTifU4LWWKgBsIzEfelmkaICxG1_q8sHyrdA5es4,4876
18
+ fountain_life_service_clients/member_notification_service.py,sha256=wRkgmUqAV59BV81c3Iwz7JxSTuOLagHrcJcXvMbdBco,1814
19
+ fountain_life_service_clients/member_operations_service_members.py,sha256=b7-e_ubZm-7EQ94nzH1VXZyy73kxidyMBS_ykYet_24,1200
20
+ fountain_life_service_clients/member_scheduling_service_scheduling_prompts.py,sha256=rhPvbj37kZm2KGl5JYtFHFaWNj7Sfcq7KOKotBK3xtg,1580
21
+ fountain_life_service_clients/oauth_apps_service.py,sha256=7TvU83CUFE9GTR9zVDRNwX6t1C0_uJXE6cO2ANUNqVE,7599
22
+ fountain_life_service_clients/patient_service.py,sha256=gApsPYlCzzklf2ha4TgNBRo2FffECL3-nc8_C7RppIs,4862
23
+ fountain_life_service_clients/rules_service.py,sha256=VxPYboYQmw--6Kn78RKu6_9as1KgpL_1rz9eyDXUWCo,6912
24
+ fountain_life_service_clients/scheduler_service.py,sha256=IkwRns_QHh6fx1IZWEXZ35DeRiW7OHaROM5wjWubZm4,4440
25
+ fountain_life_service_clients/survey_service.py,sha256=hxOl3gBDxEdjrsKcMCoPl9RxumQzRT-e4zTbEAA0Iq4,13343
26
+ fountain_life_service_clients/user_service.py,sha256=rM9xcF-VzdLp9aDOhg1UbecX2VPPMxH9PlgpNpGdC18,4253
27
+ fountain_life_service_clients-3.29.1.dist-info/METADATA,sha256=ikTBv8WDaXP66o5sT4GfWKZW0K46uHEmln5mqChHTbo,1405
28
+ fountain_life_service_clients-3.29.1.dist-info/WHEEL,sha256=M5asmiAlL6HEcOq52Yi5mmk9KmTVjY2RDPtO4p9DMrc,88
29
+ fountain_life_service_clients-3.29.1.dist-info/RECORD,,
@@ -1,28 +0,0 @@
1
- fountain_life_service_clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- fountain_life_service_clients/_base_client.py,sha256=19AeJmz3H0d4tRdJ-fBcIXhw78hPniyGDfclfr4LC9g,781
3
- fountain_life_service_clients/account_service.py,sha256=rqM_nuPmUuwMWudreF2kW42y57FL9u4YJ_T0sVEfNbY,3735
4
- fountain_life_service_clients/account_service_policy_attributes.py,sha256=fgwgqzWGwoekc0yCr55qoPiuI2B5fd778rpTvZhmrN0,1611
5
- fountain_life_service_clients/agents_api_service.py,sha256=wzZBzTpIrQafRjYL3gP5B9euHU0YS3NqgDhHV3QMoD8,5949
6
- fountain_life_service_clients/claimed_domains_service.py,sha256=FMTyXZO_dm23jqYBXx-wE3bo1dwnJ4OwvcmkMyHWBok,1737
7
- fountain_life_service_clients/cohorts_service.py,sha256=FPI_0Nn8BXhJfLwDJY2S3XIetSmGAYN0rjhESg4YYpI,4703
8
- fountain_life_service_clients/ehr_ingestion_wearables_api.py,sha256=VnFd22BFqNhDzeRaDvaJU98xHiptfy0r1sE9pBrwI74,5673
9
- fountain_life_service_clients/ehr_service.py,sha256=1lm8pKL_11aX11woGzlWyL_OJq-Hwj6ElD38O0Zxdgw,9588
10
- fountain_life_service_clients/email_service_email.py,sha256=jNaLCZFaoNOdVzFKVrbLBAyxssVY9eH87SeQLyySxJM,2087
11
- fountain_life_service_clients/email_service_sms.py,sha256=xJEGYCyXBSitvgQoQJBtMZAhimXbLl3HZSyq1ShSDH4,947
12
- fountain_life_service_clients/fhir_post_processor_service.py,sha256=vSwBLVW9I67u6-yR-qsSJxSPJySYIvEs8VNT_77MGEc,1414
13
- fountain_life_service_clients/fhir_search_service.py,sha256=vnrR2737U9PZPOPuqAYqXdpW9P0dw5vRkx5BXyBx-tw,5993
14
- fountain_life_service_clients/file_service.py,sha256=VsGELX7ANAqt2ps0UxEIThR1PkU3_YpCPYm1EKT6_eA,4113
15
- fountain_life_service_clients/invitation_service.py,sha256=ju1hTdfKJNH0oTljdSBTUd5hrs6PLyl-XnzG92i3onk,2669
16
- fountain_life_service_clients/medical_results_service_results.py,sha256=6i4nCs_L0GaAbzGbI3E4IWMDfCyYDE-cciuAie5Bn0A,4917
17
- fountain_life_service_clients/member_notification_service.py,sha256=-iuaWAFRLA4U1sSSm1vywO7fh4lmlfrFJXa2jdXioYw,1827
18
- fountain_life_service_clients/member_operations_service_members.py,sha256=pQ8lv0JAUYequqsaGP00uSsNvszQaZmIqexN_4Jd-n8,1288
19
- fountain_life_service_clients/member_scheduling_service_scheduling_prompts.py,sha256=3vQuqvUXpjaN5WhljamwyRwXdc4TS-rzzHY40ADYIW0,1679
20
- fountain_life_service_clients/oauth_apps_service.py,sha256=A-rIzQ5pKkaTX6OAId6X5ssd2EA4HlddD8WKIpguvXI,7672
21
- fountain_life_service_clients/patient_service.py,sha256=7oOI9v8JVOR1hzh2yA19X-qoAvCe27K0OiExb6tWWmo,4904
22
- fountain_life_service_clients/rules_service.py,sha256=ncZWRy_C9mt-nkIqJnbV0cGyyqU2qFCt0hKQxRUuW8o,6972
23
- fountain_life_service_clients/scheduler_service.py,sha256=iyDfesqgfLaRWUzESdIIp9-nlxdY4YWez57PqI3GVk4,4512
24
- fountain_life_service_clients/survey_service.py,sha256=mN4NX7y5RShuofN1-VH3tqr-9g8pcppIuEo8Mxf6p5g,13412
25
- fountain_life_service_clients/user_service.py,sha256=O8G80UyWGKEQEktwy4mBhO2Dh6MnMSewbSgcCHogQXw,4320
26
- fountain_life_service_clients-3.28.2.dist-info/METADATA,sha256=ONiTtZVf8f-cXffOsnLGGDXW6era1f_qWvAeEw17xn8,1405
27
- fountain_life_service_clients-3.28.2.dist-info/WHEEL,sha256=M5asmiAlL6HEcOq52Yi5mmk9KmTVjY2RDPtO4p9DMrc,88
28
- fountain_life_service_clients-3.28.2.dist-info/RECORD,,