Table of Contents | ||||
---|---|---|---|---|
|
Intakes
POST /intakes
Create intake information.
...
Apart from the parameters below, any amount of custom JSON field-value pairs may be sent. They will all be saved into the Intake object. Later they may be displayed to the provider (please contact VSee to configure the rendering format).
Parameters
Parameter | Type | Description |
---|---|---|
|
| (optional) The ID of the provider who is being visited |
|
| (optional) Reason for visit |
|
| (optional) Visit type: 1 - walkin; 2 - schedule |
|
| (optional) Patient’s code ID on behalf of whom the intake will be created |
|
| Room’s code |
|
| (optional) Multiple formats supported: [{id:"577af3e6-9e48-4a51-9315-2ba8c0a8210a"}, ...] or ["577af3e6-9e48-4a51-9315-2ba8c0a8210a", ...] or 577af3e6-9e48-4a51-9315-2ba8c0a8210a,577af3e6-9e48-4a51-9315-2ba8c0a8210a,... |
|
| (optional) CA/AL/... |
|
| (optional) 7123465789 |
Sample Request
Code Block |
---|
curl -k -X POST -d "provider=541&reason_for_visit=Test&reset=true&type=1" https://api.vseepreview.com/vc/next/api_v3/intakes.json { "data": { "id": "56e8c536-566c-44b6-bbca-66f0ac1f0144" } } |
...
Update intake information
Parameters
Parameter | Type | Description |
---|---|---|
|
| (optional) The ID of the provider who is being visited |
|
| (optional) Reason for visit |
|
| (optional) Visit type: 1 - walkin; 2 - schedule |
|
| (optional) Patient’s code ID on behalf of whom the intake will be created |
|
| Room’s code |
|
| Multiple formats supported: |
|
|
|
|
|
|
|
| (optional) Required for payment related, the consultation objects can be found at |
Response
Code Block |
---|
curl -X POST -H "X-ApiToken: 5a2eb231d652b49f4d7fc0fbb78328fb" -H "X-AccountCode: vclinic" -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" -F "location=CA" -F "phone=7123456789" -F "reason_for_visit=Test intake functionalities 2" "https://api.vseepreview.com/vc/next/api_v3/intakes/57a0705e-1c4c-4f24-b51d-3c71ac1f0144" { "data": { "id": "56e8c536-566c-44b6-bbca-66f0ac1f0144" } } |
...
Code Block |
---|
curl -X GET \ -H "X-ApiToken: 5a2eb231d652b49f4d7fc0fbb78328fb" \ -H "X-AccountCode: vclinic" \ "https://api.vseepreview.com/vc/next/api_v3/intakes/57a0705e-1c4c-4f24-b51d-3c71ac1f0144" { "data": { "modified": 1471465080, "created": 1471465080, "type": "1", "reason_for_visit": "the reason", "attachments": [ { "_id": "57b4c65d-7ef8-461f-8951-43b1ac1f0144", "name": "575004c7-b350-421d-8542-4dcdac1f0144.png", "path": "files/2016/08/17/57b4c65d-7ef8-461f-8951-43b1ac1f0144.png", "size": 12859, "ext": "png", "type": 0, "creator_id": "575", "remark": null, "using": 1, "modified": { "sec": 1471465053, "usec": 966000 }, "created": { "sec": 1471465053, "usec": 967000 } } ], "id": "57b4c678-de20-4c1a-a52b-43e9ac1f0144" } } |
Walkin Visits
POST /visits/add_walkin
Create a walkin visit
Parameters
Parameter | Type | Description |
---|---|---|
|
| (optional) The ID of the provider who is being visited if patient is starting an appointment. Shouldn’t pass this for walkins. |
|
| The ID of the intake. |
|
| The ID of a scheduled appointment. This one is used in the case when the patient visits a scheduled appointment. |
|
| (optional) The ID of a scheduled appointment. This one is used in the case when the patient visits a scheduled appointment. |
|
| (optional) Patient’s code ID on behalf of whom the intake will be created |
|
| Current room’s code in which the visit will be created |
Response
Code Block |
---|
curl -k -X POST \ -H "X-ApiToken: 5a2eb231d652b49f4d7fc0fbb78328fb" \ -H "X-AccountCode: vclinic" \ -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" \ -F "provider_id=826" \ -F "intake_id=57a0705e-1c4c-4f24-b51d-3c71ac1f0144" \ -F "room_code=ceproom1" \ "https://api.vseepreview.com/vc/next/api_v3/visits/add_walkin" { "data": { "id": "1525", "member_id": "508", "provider_id": "509", "account_code": null, "code": "56e8c580f55c44a2868b66f0ac1f0144", "start": "1458095488", "end": "1458096388", "actual_start": null, "actual_end": null, "specialty_id": null, "state": null, "type": "1", "status": "10", "completed_by": null, "created": 1458095488, "modified": 1458095488, "room_id": null, "_id": "1525", "payment": { "duration": 15, "amount": "00.00", "description": "FruitStreet Config Level One-time charge" }, "intake": { "provider": "509", "reason_for_visit": "Test intake functionalities 1", "type": "1", "modified": 1458095488, "created": 1458095414, "visit_id": "1525", "id": "56e8c536-566c-44b6-bbca-66f0ac1f0144" }, "provider": { "id": "509", "first_name": "Ligeng", "last_name": "Doctor", "vseeid": "wellikodev+user509", "title": "" }, "member": { "id": "508", "first_name": "Ligeng", "last_name": "01", "vseeid": "wellikodev+user508", "dob": "2014-09-10", "gender": 1, "phone": "6506506500" }, } } |
...
Close/Cancel a visit or an appointment
Parameters
Parameter | Type | Description |
---|---|---|
|
| The ID of the visit/appointment |
|
|
"patient_end_call" - Patient click End Call button on VSee
"patient_exit_room" - Patient click Exit Waiting Room
"call_ended" - When call ended not by patient, could be due to network problem or provider ended the call
"patient_cancel_appointment" - Patient click cancel appointment button
"max_waiting_time_reached" - Patient side max waiting time reached
...
Code Block |
---|
curl -k -X POST -H "X-ApiToken: 5a2eb231d652b49f4d7fc0fbb78328fb" -H "X-AccountCode: vclinic" -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" -F "id=14" "https://api.vseepreview.com/vc/next/api_v3/visits/close" { "data": { "id": "1525" } } |
Asynchronous Visits
POST /visits/add_econsult
Create an asynchronous e-consult visit. The econsult will be created without scheduling, the providers will see it on their dashboards and will need to accept it.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The ID of the intake |
|
| Room code (required) |
Response
Code Block |
---|
curl --location --request POST 'https://api.vseepreview.com/vc/next/api_v3/visits/add_econsult' \ --header 'X-ApiToken: 5a2eb231d652b49f4d7fc0fbb78328fb' \ --header 'X-AccountCode: vclinic' \ --header 'X-ApiKey: 44c4d9bec884a8ca356177bebd59551d' \ --header 'Content-Type: application/json' \ --data-raw '{ "intake_id": "6050d1a8-b120-45b4-a568-61a664457b11", "room_code": "vclinic_room_code" }' { "data": { "incharge": false, "isEditExpired": false, "id": "14814100", "member_id": 14396847, "provider_id": 0, "account_code": "vclinic", "code": "6050d2e590d847429d312c8664457b11", "start": 1615909605, "end": 1615910505, "actual_start": null, "actual_end": null, "specialty_id": null, "state": "--", "type": 3, "status": 20, "completed_by": null, "room_id": 10019500, "room_code": "vclinic_room_code", "member": { "id": "14396847", "code": "member_01", "type": "200", "subtype": "", "first_name": "Ligeng", "last_name": "Member 01", "full_name": "Ligeng Member 01", "active": true, "vseeid": "cmo+604ef759ccd04d859847431864457b13" }, "pending_actions": [], "invoice": { "user_id": 14396847, "status": 10, "currency": "USD", "livemode": false, "amount_due": 0, "visit_id": "14814100", "modified": 1615909605, "created": 1615909605, "id": "6050d2e5-f680-4695-b284-2c8664457b11" }, "creator": { "id": "14396847", "code": "member_01", "vseeid": "cmo+604ef759ccd04d859847431864457b13", "type": 200, "subtype": "", "first_name": "Ligeng", "last_name": "Member 01", "account_code": "vclinic" }, "invoice_id": "6050d2e5-f680-4695-b284-2c8664457b11", "intake_id": "6050d1a8-b120-45b4-a568-61a664457b11", "postvisit": { "member_id": "14396847", "class_id": null, "visit_id": "14814100", "modified": 1615909605, "created": 1615909605 }, "account": { "domain": null, "code": "vclinic", "name": "VClinic" }, "room": { "id": "10019500", "code": "vclinic_room_code", "name": "VClinic UAT Room" }, "intake": { "reason_for_visit": "This is to test the API", "question_1": "Answer 1", "question_2": "Answer 2", "location": "--", "modified": 1615909288, "created": 1615909288, "visit_id": "14814100", "invoice_id": "6050d2e5-f680-4695-b284-2c8664457b11", "id": "6050d1a8-b120-45b4-a568-61a664457b11" }, "subtype": 4, "expiry": 1615924905 } } |
...
Get provider's available slots
Parameters
Parameter | Type | Location | Description |
---|---|---|---|
|
|
| (optional) Room code. If not given, will try to fall back to Intake.room |
|
|
| Search for available slots from this start time |
|
|
| Search for available slots up to this end time |
|
|
| Search for available slots during certain seconds |
|
|
| (optional) Pick only this provider’s slots |
|
|
| Intake ID. Should be passed when patient is choosing a slot for an appointment. It will use intake’s location, specialty, etc. |
|
|
| Consultation ID. This will help to determine slot duration |
|
|
| (beta) Header value is required if the application want to retrieve availablity without user token |
|
|
| (beta) Header value is required if the application want to retrieve availablity without user token |
Notes: If application want to retrieve providers availability slots for a room without user token, the following are required X-ApiKey
, X-ApiSecret
, room_code
, start
, end
, consultation_id
. location
will be required if you want to filter by state as well.
Notes: The time range parameters 'start', 'end' and 'duration' obey the following rules:
input | actual | |||||
---|---|---|---|---|---|---|
start | end | duration | start | end | duration | |
1 | not set | not set | not set | available | available+4d | 4d |
2 | set | not set | not set |
|
| 4d |
3 | set | set | not set | start | end | (ignored) |
4 | set | not set | set |
|
| duration |
5 | not set | set | not set | end-4d | end | 4d |
6 | not set | set | set | end-duration | end | duration |
7 | not set | not set | set | available | available+duration | duration |
8 | set | set | set | start | end | (ignored) |
(available: The start time of the 1st available slot)
...
Create an appointment
Parameters
Parameter | Type | Description |
---|---|---|
|
| The ID of the visiting patient (optional - only use in paramedic workflow) |
|
| The timestamp of the beginning of the appointment (in UNIX timestamp format) |
|
| The timestamp of the ending of the appointment (in UNIX timestamp format) |
|
| Room code (required) |
|
| 2 - scheduling |
|
| The ID of the intake |
|
| (optional) The ID of the provider who is being visited |
Response
Code Block |
---|
curl -X POST \ -H "X-ApiToken: 5a2eb231d652b49f4d7fc0fbb78328fb" \ -H "X-AccountCode: vclinic" \ -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" \ -F "member_id=575" \ -F "slot_start=1470669300" \ -F "slot_end=1470670200" \ -F "type=2" \ -F "intakeId=57a0705e-1c4c-4f24-b51d-3c71ac1f0144" \ "https://api.vseepreview.com/vc/next/api_v3/appointments" { "data": { "member_id": 17778181, "provider_id": 12456470, "account_code": "vclinic", "code": "615f2e2eabc46ad94e9b6457b11", "start": 1631628616, "end": 1631628916, "actual_start": 1631628211, "actual_end": null, "specialty_id": null, "state": null, "type": 2, "status": 30, "completed_by": null, "room_id": 1002387, "room_code": "vclinicroom", "modified": 1633630312, "created": 1633627694, "provider": { "id": "12456470", "email": "anton+providersa@vseelab.com", "subtype": "482", "vseeid": "anton+providersa@vseelab.com", "photo": null, "full_name": "Anton Provider", "title": "", "suffix": "" }, "member": { "id": "17778181", "code": "anton+vclinic2@vseelab.com", "email": "anton+vclinic2@vseelab.com", "vseeid": "cmo+615f28cd70804d8994d62bd564457b11", "photo": null, "full_name": "Anton Test", "phone": "5551231122" }, "subType": 3, "more_provider_ids": null, "guest_emails": null, "guest_mobiles": null, "reminder_type": null, "reminder_time": null, "host_ids": [ "12456470" ], "hosts": [ { "username": "anton+providersa@vseelab.com", "email": "anton+providersa@vseelab.com", "phone": "", "timezone": "America/Los_Angeles", "vseeid": "anton+providersa@vseelab.com", "full_name": "Anton Provider", "title": "", "suffix": "", "id": "12456470", "photo_attachment_id": "", "role": "owner" } ], "creator": { "id": "15729940", "code": "60aed4242c90409099385cef64457b11", "vseeid": "d55d2f77ff3653891a587fdfa83207b4@vsee.com", "type": 160, "subtype": "", "first_name": null, "last_name": null, "account_code": "vclinic" }, "pending_actions": [], "is_test": false, "meeting": { "recording_auto_start": false, "phone_numbers": { "US": [ "+1.650.758.0255" ] }, "hosts": [ "anton+providersa@vseelab.com", "chau+provider@vseelab.com" ], "expiry": 1633643316, "conference_pin": 838759, "meeting_id": "1633627695040_2cc263f4-3d07-49fa-97b1-b2955ff40dfa__jitsi" }, "one_time_link_token": "l0vht6wkxj", "notify_list": [], "payment": { "duration": null, "amount": "25.00", "description": "Cloud Clinic Default One-time Charge Message", "id": "615cec5b-14c8-4493-b9ce-365764457b11" }, "intake_id": "615f2de7-8ab8-48d3-80d8-53f564457b11", "related_walkin_id": "18407370", "call_logs": { "total_start": 1633628208, "total_end": 1633628268, "total_duration": 60, "waiting_time": 0, "provider_id_1": "anton+providersa@vseelab.com", "call_start_1": 1633628208, "call_duration_1": 60, "wait_time_1": 0, "patients": [ "cmo+615f28cd70804d8994d62bd564457b11" ], "source": "v2", "source_ids": [ "1633628104000_1633627695040_2cc263f4-3d07-49fa-97b1-b2955ff40dfa__jitsi", "1633628745000_1633627695040_2cc263f4-3d07-49fa-97b1-b2955ff40dfa__jitsi" ] }, "incharge": false, "intake": { "provider_id": "12456470", "member_id": "17778181", "room_code": "vclinicroom", "location": "MI", "phone": "5551234415", "type": "2", "room": "vclinicroom", "modified": 1633627623, "created": 1633627623, "visit_id": "18407167", "attachments": "", "reason_for_visit": "", "consent": "true", "consultation": { "description": "test", "duration": 60, "charge": false, "group": false, "slots": 1, "amount": 0, "visible_to_patient": true, "id": "615cec5b-14c8-4493-b9ce-365764457b11", "currency": "USD" }, "id": "615f2de7-8ab8-48d3-80d8-53f564457b11" }, "related_walkin": { "start": 1633628101, "end": 1633631701, "status": 30, "id": "18407370" }, "postvisit": { "member_id": "17778181", "class_id": null, "visit_id": "18407167", "modified": 1633627695, "created": 1633627695, "id": "615f2e2f-c240-4088-a28b-594b64457b11" }, "isEditExpired": false, "room": { "id": "10023087", "code": "vclinicroom", "name": "VClinic UAT", "domain": "vclinic.vseepreview.com", "account_code": "vclinic", "slug": "UAT" }, "account": { "code": "vclinic", "name": "VClinic", "domain": "vclinic.vseepreview.com", "vsee_api": { "meeting": { "enabled": true, "guest_invite_enabled": true, "adhoc_group_call": { "disabled": true } } } }, "root_visit": { "id": "18407167", "group_chat_id": null, "participants": null }, "id": "18407167", "subtype": 3 }, "s": "ms" } |
...
Code Block |
---|
curl -k -X GET \ -H "X-ApiToken: 5a2eb231d652b49f4d7fc0fbb78328fb" \ -H "X-AccountCode: vclinic" \ "https://api.vseepreview.com/vc/next/api_v3/visits.json" { "data": [ { "id": "7727", "member_id": "575", "provider_id": "1096", "account_code": "vclinic", "code": "57a07c26947c4544aeef4e5cac1f0144", "start": "1470669300", "end": "1470670200", "actual_start": null, "actual_end": null, "specialty_id": null, "state": null, "type": "2", "subtype": "3", "status": "20", "completed_by": null, "created": 1470135334, "modified": 1470135334, "room_id": null, "_id": "7727", "payment": { "duration": null, "amount": "0.00", "description": "CMO Config Level One-time charge" }, "invoice_id": "57a071d0-c0dc-45a6-9bc3-40fdac1f0144", "provider": { "id": "1096", "code": "563b40f082584368bee10335ac1f0144", "first_name": "Anton", "last_name": "Provider III", "username": "anton+provider3@vsee.com", "vseeid": "conciergedev+user1096", "email": "anton+provider3@vsee.com", "photo": "https://api.vseepreview.com/vc/next/api_v3/files/index/app_user/photo/1096/?auth_code=8350f279578774a6e31787fc5a5a05d2948770e0", "active": true, "title": "", "suffix": "", "tos": true, "phone": "(334) 229-4100", "subtype": "482" }, "member": { "id": "575", "code": "553ea41edfd041bd94475276ac1f0144", "first_name": "Keven2", "last_name": "Teodoro2", "username": "anton+1@vsee.com", "vseeid": "conciergedev+user575", "dob": "1983-02-02", "email": "anton+1@vsee.com", "gender": 2, "active": true, "tos": true, "phone": "7123456111", "subtype": "" } }, "postvisit": { "visit_id": "9709", "modified": 1473370072, "created": 1473368099, "member_id": "1290", "modifiedBy": "Alexey Provider 2", "draft": false, "attachments": [], "physical_exam": "<p>dfvevofivuoiwue<\/p><p>iou<\/p><p>oi<\/p>", "assessment_plan": "<p>oiuoiwfuweoifu<\/p><p>efweiofweiofuweoif<\/p><p><br><\/p>", "reason_for_visit": "Allergic reaction", "reason_for_visit_other": "", "schema": "", "diagnosis": "Allergic reaction,initial encounter (T78.40XA),Asthma (J45.909)", "patient_instructions": "<p>Plan \/ Discharge...<br><\/p>", "disposition": "Referred to ED", "dea": "", "npi": "" } } |
GET /visits/:id and Sample Visit Object
Get detailed information for a certain appointment.
...
Update an appointment
Parameters
Parameter | Type | Description |
---|---|---|
|
| (optional) The timestamp of the beginning of the appointment (in UNIX timestamp format) |
|
| (optional) The timestamp of the ending of the appointment (in UNIX timestamp format) |
|
| (optional) The ID of the provider who is being visited |
Add provider into a TDB visit
...
Code Block |
---|
curl -X GET \ -H "X-ApiToken: 6366a7018a39536a1ef4b63626f8e734" \ https://api.vseepreview.com/vc/next/api_v3/visits/current.json { "data": { "id": "1504", "member_id": "508", "provider_id": "509", "account_code": "fruitstreet", "code": "56e7b1d2b90c4d68953e3d02ac1f0144", "start": "1459973100", "end": "1459974000", "actual_start": null, "actual_end": "1458024955", "specialty_id": null, "state": null, "type": "2", "status": "40", "completed_by": "508", "created": 1458024914, "modified": 1458024914, "room_id": null, "_id": "1504", "payment": { "duration": 15, "amount": "00.00", "description": "FruitStreet Config Level One-time charge" }, "intake": { "provider": "509", "reason_for_visit": "Test intake functionalities", "reset": "true", "type": "1", "modified": 1458024914, "created": 1458024708, "visit_id": "1504", "id": "56e7b104-ded0-4096-979b-395bac1f0144" }, "provider": { "id": "509", "first_name": "Ligeng", "last_name": "Doctor", "username": "ligeng+provider1@vsee.com", "vseeid": "wellikodev+user509", "email": "ligeng+provider1@vsee.com", "active": true, "title": "", "tos": false, "phone": "6506506500" }, "member": { "id": "508", "first_name": "Ligeng", "last_name": "01", "username": "ligeng+1@vsee.com", "vseeid": "wellikodev+user508", "dob": "2014-09-10", "email": "ligeng+1@vsee.com", "gender": 1, "active": true, "tos": true, "phone": "6506506500" } } } |
Understanding Visit object ID
There is a unique Visit.id field for every Visit object.
However some visits may be related to each other, following these rules:
Field | Sample | Meaning |
---|---|---|
|
| Unique visit ID |
|
| When an appointment is started, a new visit object of type |
|
| When an appointment is started, a new visit object of type |
|
| |
|
| |
|
|