dock_health_api 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +59 -0
  4. data/LICENSE +201 -0
  5. data/README.md +701 -0
  6. data/Rakefile +10 -0
  7. data/bin/console +22 -0
  8. data/bin/setup +6 -0
  9. data/dock_health_api.gemspec +39 -0
  10. data/lib/dock_health_api/client.rb +27 -0
  11. data/lib/dock_health_api/config.rb +9 -0
  12. data/lib/dock_health_api/crud/create.rb +14 -0
  13. data/lib/dock_health_api/crud/delete.rb +12 -0
  14. data/lib/dock_health_api/crud/get.rb +11 -0
  15. data/lib/dock_health_api/crud/list.rb +19 -0
  16. data/lib/dock_health_api/crud/put.rb +15 -0
  17. data/lib/dock_health_api/crud/update.rb +21 -0
  18. data/lib/dock_health_api/object.rb +19 -0
  19. data/lib/dock_health_api/resource.rb +33 -0
  20. data/lib/dock_health_api/resources/customfield.rb +20 -0
  21. data/lib/dock_health_api/resources/developer.rb +5 -0
  22. data/lib/dock_health_api/resources/organization.rb +15 -0
  23. data/lib/dock_health_api/resources/patient.rb +9 -0
  24. data/lib/dock_health_api/resources/task.rb +22 -0
  25. data/lib/dock_health_api/resources/tasklist.rb +21 -0
  26. data/lib/dock_health_api/resources/user.rb +9 -0
  27. data/lib/dock_health_api/resources/webhook.rb +14 -0
  28. data/lib/dock_health_api/version.rb +3 -0
  29. data/lib/dock_health_api.rb +47 -0
  30. data/spec/client_spec.rb +35 -0
  31. data/spec/customfield_spec.rb +53 -0
  32. data/spec/developer_spec.rb +13 -0
  33. data/spec/dock_health_api_spec.rb +5 -0
  34. data/spec/organization.rb +58 -0
  35. data/spec/patient_spec.rb +59 -0
  36. data/spec/spec_helper.rb +26 -0
  37. data/spec/task_group_spec.rb +70 -0
  38. data/spec/task_spec.rb +65 -0
  39. data/spec/tasklist_spec.rb +80 -0
  40. data/spec/tasklist_user_spec.rb +62 -0
  41. data/spec/user_spec.rb +60 -0
  42. data/spec/webhook_spec.rb +117 -0
  43. 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).
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
7
+
8
+ task :console do
9
+ exec "irb -I lib -r dock_health_api.rb"
10
+ end