dock_health_api 0.3.6
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.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +59 -0
- data/LICENSE +201 -0
- data/README.md +701 -0
- data/Rakefile +10 -0
- data/bin/console +22 -0
- data/bin/setup +6 -0
- data/dock_health_api.gemspec +39 -0
- data/lib/dock_health_api/client.rb +27 -0
- data/lib/dock_health_api/config.rb +9 -0
- data/lib/dock_health_api/crud/create.rb +14 -0
- data/lib/dock_health_api/crud/delete.rb +12 -0
- data/lib/dock_health_api/crud/get.rb +11 -0
- data/lib/dock_health_api/crud/list.rb +19 -0
- data/lib/dock_health_api/crud/put.rb +15 -0
- data/lib/dock_health_api/crud/update.rb +21 -0
- data/lib/dock_health_api/object.rb +19 -0
- data/lib/dock_health_api/resource.rb +33 -0
- data/lib/dock_health_api/resources/customfield.rb +20 -0
- data/lib/dock_health_api/resources/developer.rb +5 -0
- data/lib/dock_health_api/resources/organization.rb +15 -0
- data/lib/dock_health_api/resources/patient.rb +9 -0
- data/lib/dock_health_api/resources/task.rb +22 -0
- data/lib/dock_health_api/resources/tasklist.rb +21 -0
- data/lib/dock_health_api/resources/user.rb +9 -0
- data/lib/dock_health_api/resources/webhook.rb +14 -0
- data/lib/dock_health_api/version.rb +3 -0
- data/lib/dock_health_api.rb +47 -0
- data/spec/client_spec.rb +35 -0
- data/spec/customfield_spec.rb +53 -0
- data/spec/developer_spec.rb +13 -0
- data/spec/dock_health_api_spec.rb +5 -0
- data/spec/organization.rb +58 -0
- data/spec/patient_spec.rb +59 -0
- data/spec/spec_helper.rb +26 -0
- data/spec/task_group_spec.rb +70 -0
- data/spec/task_spec.rb +65 -0
- data/spec/tasklist_spec.rb +80 -0
- data/spec/tasklist_user_spec.rb +62 -0
- data/spec/user_spec.rb +60 -0
- data/spec/webhook_spec.rb +117 -0
- metadata +156 -0
data/README.md
ADDED
@@ -0,0 +1,701 @@
|
|
1
|
+
# Dock Health API
|
2
|
+
|
3
|
+
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/dock_health_api`. To experiment with that code, run `bin/console` for an interactive prompt.
|
4
|
+
|
5
|
+
# Documentation
|
6
|
+
https://partner-api-dev.dockhealth.app/api-docs/redoc
|
7
|
+
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem 'dock_health_api'
|
15
|
+
```
|
16
|
+
|
17
|
+
And then execute:
|
18
|
+
|
19
|
+
$ bundle install
|
20
|
+
|
21
|
+
Or install it yourself as:
|
22
|
+
|
23
|
+
$ gem install dock_health_api
|
24
|
+
|
25
|
+
## Usage
|
26
|
+
|
27
|
+
The library needs to be configured with your account's key and secret. Set `DockHealthApi.api_key` , ` DockHealthApi.api_secret` to their values, ideally using hidden `ENV` variables:
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
require 'dock_health_api'
|
31
|
+
DockHealthApi.api_key = ENV["DOCK_HEALTH_KEY"]
|
32
|
+
DockHealthApi.api_secret = ENV["DOCK_HEALTH_SECRET"]
|
33
|
+
DockHealthApi.resource_url = ENV["DOCK_HEALTH_URL"]
|
34
|
+
# Needs to be configurably set in hidden ENV variables to interact with below resources
|
35
|
+
DOCK_USER="x-user-id"
|
36
|
+
DOCK_ORG="x-organization-id"
|
37
|
+
|
38
|
+
# Acquire x-user-id and x-organization-id
|
39
|
+
DockHealthApi::Developer.list
|
40
|
+
DockHealthApi::Organization.list
|
41
|
+
|
42
|
+
|
43
|
+
# List All Patients
|
44
|
+
DockHealthApi::Patient.list
|
45
|
+
# Get Specific Patient
|
46
|
+
DockHealthApi::Patient.get('id of patient')
|
47
|
+
# Create Patient
|
48
|
+
DockHealthApi::Patient.create(patient_data)
|
49
|
+
# Update Specific Patient
|
50
|
+
DockHealthApi::Patient.update(updated_patient_data)
|
51
|
+
# Delete Specific Patient
|
52
|
+
DockHealthApi::Patient.delete({id: "12345"})
|
53
|
+
|
54
|
+
|
55
|
+
# List All Users
|
56
|
+
DockHealthApi::User.list
|
57
|
+
# Get Specific User
|
58
|
+
DockHealthApi::User.get('id of user')
|
59
|
+
# Create User
|
60
|
+
DockHealthApi::User.create(user_data)
|
61
|
+
# Update Specific User
|
62
|
+
DockHealthApi::User.update(updated_user_data)
|
63
|
+
# Delete Specific User (can't be an active user)
|
64
|
+
DockHealthApi::User.delete({id: "id of user"})
|
65
|
+
|
66
|
+
# Create task with task description, tasklist type and tasklist id
|
67
|
+
params = { description: "description", taskList: { type: "taskList type", id: "<taskList ID>" } }
|
68
|
+
DockHealthApi::Task.create(params)
|
69
|
+
# Show all tasks (Must supply at least 1 of 'taskListIdentifier', 'patientIdentifier', 'assignedToUserIdentifier', or 'criteria'.)
|
70
|
+
DockHealthApi::Task.list(taskListIdentifier: "<taskList ID>")
|
71
|
+
# Retrieve task
|
72
|
+
DockHealthApi::Task.get("<task ID>")
|
73
|
+
# Update task
|
74
|
+
params = { description: "task description", id: "<task ID>" }
|
75
|
+
DockHealthApi::Task.update(params)
|
76
|
+
# Delete task
|
77
|
+
DockHealthApi::Task.delete(id: "<task ID>")
|
78
|
+
# List All Organizations
|
79
|
+
DockHealthApi::Organization.list
|
80
|
+
|
81
|
+
# Create tasklist with tasklist name
|
82
|
+
DockHealthApi::TaskList.create(listName: "tasklist name")
|
83
|
+
# Show all tasklists
|
84
|
+
DockHealthApi::TaskList.list
|
85
|
+
# Retrive tasklist
|
86
|
+
DockHealthApi::TaskList.get("<tasklist ID>")
|
87
|
+
# Update taskList
|
88
|
+
params = { listName: "tasklist name", id: "<tasklist ID>"}
|
89
|
+
DockHealthApi::TaskList.update(params)
|
90
|
+
# Delete tasklist
|
91
|
+
DockHealthApi::TaskList.delete(id: "<tasklist ID>")
|
92
|
+
|
93
|
+
# Add existing user to tasklist
|
94
|
+
params = { taskList: { type: "tasklist type", id: "<tasklist id>" }, user: { type: "user type", id: "<user id>" } }
|
95
|
+
DockHealthApi::TaskList::User.put(params)
|
96
|
+
# Update role for existing user in tasklist
|
97
|
+
params = { taskList: { type: "tasklist type", id: "<tasklist id>" }, user: { type: "user type", id: "<user id>", userRole: "user role"} }
|
98
|
+
DockHealthApi::TaskList::User.update(params)
|
99
|
+
# Delete existing user from tasklist
|
100
|
+
params = { taskList: { type: "tasklist type", id: "<tasklist id>" }, user: { type: "user type", id: "<user id>" } }
|
101
|
+
DockHealthApi::TaskList::User.delete(params)
|
102
|
+
|
103
|
+
# Create webhook with url, secret and events
|
104
|
+
params = { "url": "url *must start with https://*", "secret": "secret", "events": ["array of event(s)"] }
|
105
|
+
DockHealthApi::Webhook.create(params)
|
106
|
+
# Show all webhooks
|
107
|
+
DockHealthApi::Webhook.list
|
108
|
+
# Retrive webhooks
|
109
|
+
DockHealthApi::Webhook.get("<webhook ID>")
|
110
|
+
# Update webhook
|
111
|
+
params = { "url": "url *must start with https://*", "secret": "secret", "events": ["array of event(s)"], id: "<webhook ID>" }
|
112
|
+
DockHealthApi::Webhook.put(params)
|
113
|
+
# Delete webhook
|
114
|
+
DockHealthApi::Webhook.delete(id: "<webhook id>")
|
115
|
+
|
116
|
+
# Get Specific Organization
|
117
|
+
DockHealthApi::Organization.get('id of user')
|
118
|
+
# Create Organization
|
119
|
+
DockHealthApi::Organization.create(organization_data)
|
120
|
+
# Update Specific Organization
|
121
|
+
DockHealthApi::Organization.update(updated_organization_data)
|
122
|
+
# Delete Specific Organization (can't be an active Organization)
|
123
|
+
DockHealthApi::Organization.delete({id: "id of organization"})
|
124
|
+
|
125
|
+
|
126
|
+
```
|
127
|
+
|
128
|
+
# Patient Data Format
|
129
|
+
```
|
130
|
+
{
|
131
|
+
"mrn": "string",
|
132
|
+
"firstName": "string",
|
133
|
+
"middleName": "string",
|
134
|
+
"lastName": "string",
|
135
|
+
"dob": "2019-08-24T14:15:22Z",
|
136
|
+
"gender": "string",
|
137
|
+
"email": "string",
|
138
|
+
"phoneHome": "string",
|
139
|
+
"phoneMobile": "string",
|
140
|
+
"patientMetaData": [
|
141
|
+
{
|
142
|
+
"customFieldIdentifier": "string",
|
143
|
+
"customFieldName": "string",
|
144
|
+
"value": "string"
|
145
|
+
}
|
146
|
+
],
|
147
|
+
"identifier": "string"
|
148
|
+
}
|
149
|
+
|
150
|
+
required field
|
151
|
+
firstName, lastName, mrn
|
152
|
+
|
153
|
+
Updated Patient Data
|
154
|
+
{
|
155
|
+
"email: "string,
|
156
|
+
...
|
157
|
+
"id: "id of patient"
|
158
|
+
}
|
159
|
+
```
|
160
|
+
# User Data Format
|
161
|
+
```
|
162
|
+
{
|
163
|
+
"email": "string",
|
164
|
+
"firstName": "string",
|
165
|
+
"lastName": "string",
|
166
|
+
"credentials": "string",
|
167
|
+
"accountPhoneNumber": "string",
|
168
|
+
"workPhoneNumber": "string",
|
169
|
+
"homePhoneNumber": "string",
|
170
|
+
"faxNumber": "string",
|
171
|
+
"department": "string",
|
172
|
+
"notes": "string",
|
173
|
+
"identifier": "string"
|
174
|
+
}
|
175
|
+
|
176
|
+
required field
|
177
|
+
email
|
178
|
+
|
179
|
+
Update User Format
|
180
|
+
|
181
|
+
{
|
182
|
+
"email: "string,
|
183
|
+
...
|
184
|
+
"id: "id of user"
|
185
|
+
}
|
186
|
+
|
187
|
+
|
188
|
+
```
|
189
|
+
# Task Data Format
|
190
|
+
```
|
191
|
+
{
|
192
|
+
"description": "string",
|
193
|
+
"tokenizedDescription": "string",
|
194
|
+
"details": "string",
|
195
|
+
"tokenizedDetails": "string",
|
196
|
+
"priority": "HIGH",
|
197
|
+
"status": "COMPLETE",
|
198
|
+
"workflowStatus": {
|
199
|
+
"type": "DEVELOPER",
|
200
|
+
"id": "string"
|
201
|
+
},
|
202
|
+
"dueDate": "2019-08-24T14:15:22Z",
|
203
|
+
"reminderType": "NONE",
|
204
|
+
"reminderTime": "string",
|
205
|
+
"reminderDt": "2019-08-24T14:15:22Z",
|
206
|
+
"creator": {
|
207
|
+
"type": "DEVELOPER",
|
208
|
+
"id": "string"
|
209
|
+
},
|
210
|
+
"assignedTo": {
|
211
|
+
"type": "DEVELOPER",
|
212
|
+
"id": "string"
|
213
|
+
},
|
214
|
+
"assignedBy": {
|
215
|
+
"type": "DEVELOPER",
|
216
|
+
"id": "string"
|
217
|
+
},
|
218
|
+
"completedBy": {
|
219
|
+
"type": "DEVELOPER",
|
220
|
+
"id": "string"
|
221
|
+
},
|
222
|
+
"subTasksCount": 0,
|
223
|
+
"subTasksCompletedCount": 0,
|
224
|
+
"subtasks": [
|
225
|
+
{
|
226
|
+
"itemType": "TASK",
|
227
|
+
"identifier": "string",
|
228
|
+
"taskId": 0,
|
229
|
+
"taskIdentifier": "string",
|
230
|
+
"externalIdentifier": "string",
|
231
|
+
"description": "string",
|
232
|
+
"tokenizedDescription": "string",
|
233
|
+
"details": "string",
|
234
|
+
"tokenizedDetails": "string",
|
235
|
+
"priority": "HIGH",
|
236
|
+
"status": "COMPLETE",
|
237
|
+
"workflowStatus": {
|
238
|
+
"identifier": "string",
|
239
|
+
"name": "string",
|
240
|
+
"color": "string"
|
241
|
+
},
|
242
|
+
"dueDate": "2019-08-24T14:15:22Z",
|
243
|
+
"reminderType": "NONE",
|
244
|
+
"reminderTime": "string",
|
245
|
+
"reminderDt": "2019-08-24T14:15:22Z",
|
246
|
+
"creator": {
|
247
|
+
"itemType": "USER",
|
248
|
+
"id": 0,
|
249
|
+
"identifier": "string",
|
250
|
+
"userId": 0,
|
251
|
+
"userIdentifier": "string",
|
252
|
+
"firstName": "string",
|
253
|
+
"lastName": "string",
|
254
|
+
"userName": "string",
|
255
|
+
"profileThumbnailPictureHash": "string",
|
256
|
+
"userStatus": "ACTIVE",
|
257
|
+
"initials": "string",
|
258
|
+
"bubbleColor": "string",
|
259
|
+
"status": "ACTIVE",
|
260
|
+
"orgUserRole": "OWNER",
|
261
|
+
"taskListUserRole": "OWNER",
|
262
|
+
"name": "string"
|
263
|
+
},
|
264
|
+
"assignedToUsers": [
|
265
|
+
{
|
266
|
+
"itemType": "USER",
|
267
|
+
"id": 0,
|
268
|
+
"identifier": "string",
|
269
|
+
"userStatus": "ACTIVE",
|
270
|
+
"bubbleColor": "string",
|
271
|
+
"initials": "string",
|
272
|
+
"profileThumbnailPictureHash": "string",
|
273
|
+
"name": "string"
|
274
|
+
}
|
275
|
+
],
|
276
|
+
"addedToListByUser": {
|
277
|
+
"itemType": "USER",
|
278
|
+
"id": 0,
|
279
|
+
"identifier": "string",
|
280
|
+
"userId": 0,
|
281
|
+
"userIdentifier": "string",
|
282
|
+
"firstName": "string",
|
283
|
+
"lastName": "string",
|
284
|
+
"userName": "string",
|
285
|
+
"profileThumbnailPictureHash": "string",
|
286
|
+
"userStatus": "ACTIVE",
|
287
|
+
"initials": "string",
|
288
|
+
"bubbleColor": "string",
|
289
|
+
"status": "ACTIVE",
|
290
|
+
"orgUserRole": "OWNER",
|
291
|
+
"taskListUserRole": "OWNER",
|
292
|
+
"name": "string"
|
293
|
+
},
|
294
|
+
"completedBy": {
|
295
|
+
"itemType": "USER",
|
296
|
+
"id": 0,
|
297
|
+
"identifier": "string",
|
298
|
+
"userId": 0,
|
299
|
+
"userIdentifier": "string",
|
300
|
+
"firstName": "string",
|
301
|
+
"lastName": "string",
|
302
|
+
"userName": "string",
|
303
|
+
"profileThumbnailPictureHash": "string",
|
304
|
+
"userStatus": "ACTIVE",
|
305
|
+
"initials": "string",
|
306
|
+
"bubbleColor": "string",
|
307
|
+
"status": "ACTIVE",
|
308
|
+
"orgUserRole": "OWNER",
|
309
|
+
"taskListUserRole": "OWNER",
|
310
|
+
"name": "string"
|
311
|
+
},
|
312
|
+
"comments": [
|
313
|
+
{
|
314
|
+
"commentId": 0,
|
315
|
+
"commentIdentifier": "string",
|
316
|
+
"comment": "string",
|
317
|
+
"tokenizedComment": "string",
|
318
|
+
"taskIdentifier": "string",
|
319
|
+
"creator": {
|
320
|
+
"itemType": "USER",
|
321
|
+
"id": 0,
|
322
|
+
"identifier": "string",
|
323
|
+
"userId": 0,
|
324
|
+
"userIdentifier": "string",
|
325
|
+
"firstName": "string",
|
326
|
+
"lastName": "string",
|
327
|
+
"userName": "string",
|
328
|
+
"profileThumbnailPictureHash": "string",
|
329
|
+
"userStatus": "ACTIVE",
|
330
|
+
"initials": "string",
|
331
|
+
"bubbleColor": "string",
|
332
|
+
"status": "ACTIVE",
|
333
|
+
"orgUserRole": "OWNER",
|
334
|
+
"taskListUserRole": "OWNER",
|
335
|
+
"name": "string"
|
336
|
+
},
|
337
|
+
"dateCreated": "2019-08-24T14:15:22Z",
|
338
|
+
"dateUpdated": "2019-08-24T14:15:22Z",
|
339
|
+
"sortIndex": 0,
|
340
|
+
"commentMentions": [
|
341
|
+
{
|
342
|
+
"identifier": "string",
|
343
|
+
"name": "string"
|
344
|
+
}
|
345
|
+
],
|
346
|
+
"hasMentions": true
|
347
|
+
}
|
348
|
+
],
|
349
|
+
"attachments": [
|
350
|
+
{
|
351
|
+
"attachmentId": 0,
|
352
|
+
"attachmentIdentifier": "string",
|
353
|
+
"taskIdentifier": "string",
|
354
|
+
"fileName": "string",
|
355
|
+
"fileIdentifier": "string",
|
356
|
+
"fileSize": 0,
|
357
|
+
"contentType": "string",
|
358
|
+
"creator": {
|
359
|
+
"itemType": "USER",
|
360
|
+
"id": 0,
|
361
|
+
"identifier": "string",
|
362
|
+
"userId": 0,
|
363
|
+
"userIdentifier": "string",
|
364
|
+
"firstName": "string",
|
365
|
+
"lastName": "string",
|
366
|
+
"userName": "string",
|
367
|
+
"profileThumbnailPictureHash": "string",
|
368
|
+
"userStatus": "ACTIVE",
|
369
|
+
"initials": "string",
|
370
|
+
"bubbleColor": "string",
|
371
|
+
"status": "ACTIVE",
|
372
|
+
"orgUserRole": "OWNER",
|
373
|
+
"taskListUserRole": "OWNER",
|
374
|
+
"name": "string"
|
375
|
+
},
|
376
|
+
"dateCreated": "2019-08-24T14:15:22Z",
|
377
|
+
"dateUpdated": "2019-08-24T14:15:22Z"
|
378
|
+
}
|
379
|
+
],
|
380
|
+
"labels": [
|
381
|
+
{
|
382
|
+
"labelIdentifier": "string",
|
383
|
+
"labelName": "string",
|
384
|
+
"taskIdentifier": "string"
|
385
|
+
}
|
386
|
+
],
|
387
|
+
"subTasksCount": 0,
|
388
|
+
"subTasksCompletedCount": 0,
|
389
|
+
"completedDt": "2019-08-24T14:15:22Z",
|
390
|
+
"createdDateTime": "2019-08-24T14:15:22Z",
|
391
|
+
"updatedDateTime": "2019-08-24T14:15:22Z",
|
392
|
+
"assignmentUpdatedDateTime": "2019-08-24T14:15:22Z",
|
393
|
+
"read": true,
|
394
|
+
"updated": true,
|
395
|
+
"updatedComment": true,
|
396
|
+
"updatedLabel": true,
|
397
|
+
"updatedAttachment": true,
|
398
|
+
"updatedDueDate": true,
|
399
|
+
"patient": {
|
400
|
+
"patientId": 0,
|
401
|
+
"patientIdentifier": "string",
|
402
|
+
"mrn": "string",
|
403
|
+
"firstName": "string",
|
404
|
+
"middleName": "string",
|
405
|
+
"lastName": "string",
|
406
|
+
"dob": "2019-08-24T14:15:22Z",
|
407
|
+
"age": "string",
|
408
|
+
"gender": "string",
|
409
|
+
"fromEMR": true,
|
410
|
+
"patientName": "string"
|
411
|
+
},
|
412
|
+
"type": "IN_APP",
|
413
|
+
"taskList": {
|
414
|
+
"taskListId": 0,
|
415
|
+
"taskListIdentifier": "string",
|
416
|
+
"listName": "string",
|
417
|
+
"listDescription": "string",
|
418
|
+
"listType": "PUBLIC"
|
419
|
+
},
|
420
|
+
"parentTaskId": 0,
|
421
|
+
"parentTaskIdentifier": "string",
|
422
|
+
"parentTask": {},
|
423
|
+
"active": true,
|
424
|
+
"sourceMessage": "string",
|
425
|
+
"subTaskSortIndex": 0,
|
426
|
+
"archivedByUser": true,
|
427
|
+
"edited": true,
|
428
|
+
"duplicated": true,
|
429
|
+
"taskGroups": [
|
430
|
+
{
|
431
|
+
"taskGroupIdentifier": "string",
|
432
|
+
"groupName": "string",
|
433
|
+
"groupDescription": "string",
|
434
|
+
"groupType": "TASKLIST",
|
435
|
+
"taskListIdentifier": "string",
|
436
|
+
"sortIndexOfTaskInGroup": 0
|
437
|
+
}
|
438
|
+
],
|
439
|
+
"taskMentions": [
|
440
|
+
{
|
441
|
+
"identifier": "string",
|
442
|
+
"name": "string"
|
443
|
+
}
|
444
|
+
],
|
445
|
+
"hasMentions": true,
|
446
|
+
"hasRecurringSchedule": true,
|
447
|
+
"intentType": "STANDARD",
|
448
|
+
"taskLinks": [
|
449
|
+
{
|
450
|
+
"sourceTaskIdentifier": "string",
|
451
|
+
"targetTaskIdentifier": "string",
|
452
|
+
"isDependent": true,
|
453
|
+
"delayPeriod": 0,
|
454
|
+
"delayPeriodUnit": "HOUR",
|
455
|
+
"delayIsBusinessDays": true,
|
456
|
+
"decisionOutcome": "string"
|
457
|
+
}
|
458
|
+
],
|
459
|
+
"dependencyTasksCount": 0,
|
460
|
+
"dependencyTasksCompletedCount": 0,
|
461
|
+
"taskOutcomes": [
|
462
|
+
{
|
463
|
+
"taskOutcomeIdentifier": "string",
|
464
|
+
"name": "string",
|
465
|
+
"isSelected": true,
|
466
|
+
"selectedDateTime": "2019-08-24T14:15:22Z",
|
467
|
+
"selectedBy": {
|
468
|
+
"itemType": "USER",
|
469
|
+
"id": 0,
|
470
|
+
"identifier": "string",
|
471
|
+
"userId": 0,
|
472
|
+
"userIdentifier": "string",
|
473
|
+
"firstName": "string",
|
474
|
+
"lastName": "string",
|
475
|
+
"userName": "string",
|
476
|
+
"profileThumbnailPictureHash": "string",
|
477
|
+
"userStatus": "ACTIVE",
|
478
|
+
"initials": "string",
|
479
|
+
"bubbleColor": "string",
|
480
|
+
"status": "ACTIVE",
|
481
|
+
"orgUserRole": "OWNER",
|
482
|
+
"taskListUserRole": "OWNER",
|
483
|
+
"name": "string"
|
484
|
+
}
|
485
|
+
}
|
486
|
+
],
|
487
|
+
"taskTemplateIdentifier": "string",
|
488
|
+
"taskMetaData": [
|
489
|
+
{
|
490
|
+
"customFieldIdentifier": "string",
|
491
|
+
"customFieldName": "string",
|
492
|
+
"value": "string"
|
493
|
+
}
|
494
|
+
],
|
495
|
+
"taskBundleGroup": {
|
496
|
+
"taskGroupIdentifier": "string",
|
497
|
+
"groupName": "string",
|
498
|
+
"groupDescription": "string",
|
499
|
+
"groupType": "TASKLIST",
|
500
|
+
"taskListIdentifier": "string",
|
501
|
+
"sortIndexOfTaskInGroup": 0
|
502
|
+
}
|
503
|
+
}
|
504
|
+
],
|
505
|
+
"completedDt": "2019-08-24T14:15:22Z",
|
506
|
+
"createdDateTime": "2019-08-24T14:15:22Z",
|
507
|
+
"updatedDateTime": "2019-08-24T14:15:22Z",
|
508
|
+
"read": true,
|
509
|
+
"updated": true,
|
510
|
+
"patient": {
|
511
|
+
"type": "DEVELOPER",
|
512
|
+
"id": "string"
|
513
|
+
},
|
514
|
+
"taskList": {
|
515
|
+
"type": "DEVELOPER",
|
516
|
+
"id": "string"
|
517
|
+
},
|
518
|
+
"type": "IN_APP",
|
519
|
+
"parentTask": {
|
520
|
+
"type": "DEVELOPER",
|
521
|
+
"id": "string"
|
522
|
+
},
|
523
|
+
"sourceMessage": "string",
|
524
|
+
"subTaskSortIndex": 0,
|
525
|
+
"edited": true,
|
526
|
+
"duplicated": true,
|
527
|
+
"hasMentions": true,
|
528
|
+
"taskMetaData": [
|
529
|
+
{
|
530
|
+
"customFieldIdentifier": "string",
|
531
|
+
"customFieldName": "string",
|
532
|
+
"value": "string"
|
533
|
+
}
|
534
|
+
],
|
535
|
+
"id": "string",
|
536
|
+
"identifier": "string"
|
537
|
+
}
|
538
|
+
|
539
|
+
require field
|
540
|
+
{ "description": "string",
|
541
|
+
"taskList": { type: "string", id: "<tasklist ID>" }
|
542
|
+
}
|
543
|
+
|
544
|
+
Update Task Format
|
545
|
+
{ "description": "string"}
|
546
|
+
...
|
547
|
+
"id": "<tasklist ID"
|
548
|
+
}
|
549
|
+
|
550
|
+
List Tasks require field
|
551
|
+
"taskListIdentifier", "patientIdentifier", "assignedToUserIdentifier", or "criteria"
|
552
|
+
```
|
553
|
+
# TaskList Data Format
|
554
|
+
```
|
555
|
+
{
|
556
|
+
"listName": "string",
|
557
|
+
"listDescription": "string",
|
558
|
+
"creator": {
|
559
|
+
"type": "DEVELOPER",
|
560
|
+
"id": "string"
|
561
|
+
},
|
562
|
+
"listUsers": [
|
563
|
+
{
|
564
|
+
"user": {
|
565
|
+
"type": "DEVELOPER",
|
566
|
+
"id": "string"
|
567
|
+
},
|
568
|
+
"userRole": "OWNER"
|
569
|
+
}
|
570
|
+
],
|
571
|
+
"listType": "PUBLIC",
|
572
|
+
"id": "string"
|
573
|
+
}
|
574
|
+
|
575
|
+
require field
|
576
|
+
listName
|
577
|
+
|
578
|
+
Update TaskList Format
|
579
|
+
{
|
580
|
+
"listName": "string"
|
581
|
+
...
|
582
|
+
"id": "<TaskList ID>"
|
583
|
+
}
|
584
|
+
```
|
585
|
+
|
586
|
+
# TaskList User Format
|
587
|
+
```
|
588
|
+
{
|
589
|
+
"taskList": {
|
590
|
+
"type": "DEVELOPER",
|
591
|
+
"id": "string"
|
592
|
+
},
|
593
|
+
"user": {
|
594
|
+
"type": "DEVELOPER",
|
595
|
+
"id": "string"
|
596
|
+
},
|
597
|
+
"userRole": "OWNER"
|
598
|
+
}
|
599
|
+
|
600
|
+
require field
|
601
|
+
{
|
602
|
+
"taskList": {
|
603
|
+
"type": "DEVELOPER",
|
604
|
+
"id": "string"
|
605
|
+
},
|
606
|
+
"user": {
|
607
|
+
"type": "DEVELOPER",
|
608
|
+
"id": "string"
|
609
|
+
}
|
610
|
+
}
|
611
|
+
|
612
|
+
Update TaskList User Format
|
613
|
+
{
|
614
|
+
"taskList": {
|
615
|
+
"type": "DEVELOPER",
|
616
|
+
"id": "string"
|
617
|
+
},
|
618
|
+
"user": {
|
619
|
+
"type": "DEVELOPER",
|
620
|
+
"id": "string"
|
621
|
+
},
|
622
|
+
"userRole": "OWNER"
|
623
|
+
}
|
624
|
+
|
625
|
+
Delete TaskList User Format
|
626
|
+
{
|
627
|
+
"taskList": {
|
628
|
+
"type": "DEVELOPER",
|
629
|
+
"id": "string"
|
630
|
+
},
|
631
|
+
"user": {
|
632
|
+
"type": "DEVELOPER",
|
633
|
+
"id": "string"
|
634
|
+
}
|
635
|
+
}
|
636
|
+
```
|
637
|
+
|
638
|
+
# Webhook Data Format
|
639
|
+
```
|
640
|
+
{
|
641
|
+
"url": "string",
|
642
|
+
"secret": "string",
|
643
|
+
"verified": true,
|
644
|
+
"enabled": true,
|
645
|
+
"events": [
|
646
|
+
{
|
647
|
+
"description": "string",
|
648
|
+
"type": "CREATE_TASK"
|
649
|
+
}
|
650
|
+
],
|
651
|
+
"id": "string"
|
652
|
+
}
|
653
|
+
|
654
|
+
require field
|
655
|
+
url, secret, events
|
656
|
+
|
657
|
+
Update Webhook Format
|
658
|
+
{
|
659
|
+
"url": "string",
|
660
|
+
"secret": "stringstringstringstringstringstring",
|
661
|
+
|
662
|
+
"events": [
|
663
|
+
"CREATE_TASK"
|
664
|
+
]
|
665
|
+
}
|
666
|
+
```
|
667
|
+
|
668
|
+
# Organization Data Format
|
669
|
+
```
|
670
|
+
{
|
671
|
+
"domain": "string",
|
672
|
+
"name": "string",
|
673
|
+
"identifier": "string"
|
674
|
+
}
|
675
|
+
|
676
|
+
required field
|
677
|
+
domain, name
|
678
|
+
|
679
|
+
Update Organization Format
|
680
|
+
|
681
|
+
{
|
682
|
+
"domain: "string,
|
683
|
+
...
|
684
|
+
"id: "id of organization"
|
685
|
+
}
|
686
|
+
|
687
|
+
```
|
688
|
+
|
689
|
+
## Development
|
690
|
+
|
691
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
692
|
+
|
693
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
694
|
+
|
695
|
+
## Contributing
|
696
|
+
|
697
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/BreakthroughBehavioralInc/dock_health_api. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/BreakthroughBehavioralInc/dock_health_api/blob/master/CODE_OF_CONDUCT.md).
|
698
|
+
|
699
|
+
## License
|
700
|
+
|
701
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|