Session JSON

Support Center > API Integration

Published 01/06/2015 at 7:28pm UTC

Page viewed 45028 times

Details

How do I interpret the JSON for a Session?

Answer

Here is an example of Session JSON returned by the Session APIs:

[
{
"SessionId": 9636,
"ScheduleTs": "2014-04-16T15:00:00",
"BillableTs": null,
"ConnectCode": 981342223,
"DurationMinutes": null,
"WaitTime" : 1,
"BillableStatusCd": null,
"ScheduleType": "Rescheduled",
"UserId": 2942,
"IsRecorded": false,
"ZoomMeetingId: 260326794,
"ExternalSessionId": "",
"Topic": "Some Session Topic",
"Participants": [
{
"ParticipationId": 18619,
"ParticipantFullName": "A. MacGuffin",
"SecureVideoUserId": 12,
"ParticipantEmailAddress": "[email protected]",
"ParticipantSmsNumber": "",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": "EMR123456",
"ConnectCode": 701678455,
"Passkey": "",
"ShouldAutoDeliverCode": "E",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Unknown",
"SvcId": null,
"DepositRequired": null
},
{
"ParticipationId": 18620,
"ParticipantFullName": "Trevor",
"SecureVideoUserId": null,
"ParticipantEmailAddress": "[email protected]",
"ParticipantSmsNumber": "4041113333",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": "EMR222222",
"ConnectCode": 378174671,
"Passkey": "9943b942-064d-4fcf-98b4-fbf3859ccc9c",
"ShouldAutoDeliverCode": "E",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Unknown",
"SvcId": null,
"DepositRequired": null
}
]
},
{
"SessionId": 9641,
"ScheduleTs": "2014-04-16T22:00:00",
"BillableTs": null,
"ConnectCode": 111222333,
"DurationMinutes": null,
"WaitTime": null,
"BillableStatusCd": null,
"ScheduleType": "Cancelled",
"UserId": 2942,
"IsRecorded": false,
"ZoomMeetingId: 260326794,
"ExternalSessionId": "EHR.12345",
"Topic": "",
"Participants": [
{
"ParticipationId": 18628,
"ParticipantFullName": "A. MacGuffin",
"SecureVideoUserId": 12,
"ParticipantEmailAddress": "[email protected]",
"ParticipantSmsNumber": "",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": "Provider_AMG",
"ConnectCode": 318789499,
"Passkey": "",
"ShouldAutoDeliverCode": "E",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Unknown",
"SvcId": null,
"DepositRequired": null
},
{
"ParticipationId": 18629,
"ParticipantFullName": "Ray Chalk",
"SecureVideoUserId": null,
"ParticipantEmailAddress": "[email protected]",
"ParticipantSmsNumber": "",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": null,
"ConnectCode": 317682700,
"Passkey": "",
"ShouldAutoDeliverCode": "E",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Unknown",
"SvcId": null,
"DepositRequired": null
},
{
"ParticipationId": 18630,
"ParticipantFullName": "Sidney Gondor",
"SecureVideoUserId": null,
"ParticipantEmailAddress": "",
"ParticipantSmsNumber": "",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": null,
"ConnectCode": 317951015,
"Passkey": "",
"ShouldAutoDeliverCode": "N",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Unknown",
"SvcId": null,
"DepositRequired": null
}
]
},
{
"SessionId": 9718,
"ScheduleTs": "2014-04-17T20:30:00",
"BillableTs": null,
"ConnectCode": 444333222,
"DurationMinutes": null,
"WaitTime": null,
"BillableStatusCd": null,
"ScheduleType": "Scheduled",
"UserId": 2942,
"IsRecorded": false,
"ZoomMeetingId: 260326794,
"ExternalSessionId": "EHR.12345",
"Topic": "",
"Participants": [
{
"ParticipationId": 18783,
"ParticipantFullName": "A. MacGuffin",
"SecureVideoUserId": 12,
"ParticipantEmailAddress": "[email protected]",
"ParticipantSmsNumber": "",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": "EMR444444",
"ConnectCode": 221284396,
"Passkey": "",
"ShouldAutoDeliverCode": "E",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Unknown",
"SvcId": null,
"DepositRequired": null
},
{
"ParticipationId": 18784,
"ParticipantFullName": "Ray Chalk",
"SecureVideoUserId": null,
"ParticipantEmailAddress": "[email protected]",
"ParticipantSmsNumber": "",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": null,
"ConnectCode": 347409115,
"Passkey": "",
"ShouldAutoDeliverCode": "E",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Unknown",
"SvcId": 1037,
"DepositRequired": 20.00
},
{
"ParticipationId": 18785,
"ParticipantFullName": "John Llama",
"SecureVideoUserId": null,
"ParticipantEmailAddress": "[email protected]",
"ParticipantSmsNumber": "",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": null,
"ConnectCode": 472712120,
"Passkey": "46268334-2724-4c16-b2d6-fa7781a02614",
"ShouldAutoDeliverCode": "E",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Unknown",
"SvcId": null,
"DepositRequired": null
},
{
"ParticipationId": 18786,
"ParticipantFullName": "Trevor",
"SecureVideoUserId": null,
"ParticipantEmailAddress": "[email protected]",
"ParticipantSmsNumber": "4041113333",
"ParticipantDefaultResolution": "high",
"ParticipantTimeZoneWindowsId": "Eastern Standard Time",
"ParticipantExternalId": "EMR455555",
"ConnectCode": 849481506,
"Passkey": "76594fed-b816-4258-82c7-2a8ca1dcb3d9",
"ShouldAutoDeliverCode": "S",
"ConnectionTs": null,
"ExpiresTs": null,
"RSVP": "Confirmed",
"SvcId": null,
"DepositRequired": null
}
]
} ]

In the Session JSON:

  • SessionId is the unique identifier for the Session
  • ScheduleTs is the date and time that the Session is scheduled for, in UTC.  For "Meet Now" Sessions, the ScheduleTs will be the time that the session was created, and will have a random minutes and seconds component, e.g., 2014-04-16T15:11:22.  For Scheduled Sessions, the ScheduleTs will have 0 seconds, and the minute will be 0, 15, 30, or 45, e.g. 2014-04-16T15:00:00.
  • BillableTs is the time at which the Session becomes a "real" session, in UTC.  While this is called "BillableTs", it does not mean the session will be charged to your company--the session may be later comped by us, or it may count in your included monthly sessions.  A non-null BillableTs means that the session was connected by two people, and is eligible for examination by our billing system to see whether it should be billed.  Once BillableTs is set, it is never changed.  If BillableTs is not set (for a future meeting, or a past one which was never connected to), then null is returned.
  • ConnectCode is the connect code internally used by the Host to connect to the session.
  • DurationMinutes
    • If the meeting platform is Zoom with "Join Before Host" turned on, or if the meeting platform is One-Click, this is the number of minutes the session is active. (This includes wait time if the participant or host arrives early before others arrive.)
    • If the meeting platform is Zoom with "Join Before Host" turned off, this is the number of minutes the host was connected to any participant in the session.
    • For sessions which have not yet been deactivated, this number may increase if the session is reconnected later. DurationMinutes will be null if the host is still connected to one or more session participants, or if session end time is unknown. If the end time is known for at least one participant-call, then DurationMinutes will be an integer, the number of minutes that the session host was connected to at least one participant-call whose end time is known. Note that one participant may have multiple participant-calls, for example if the participant left the session and then rejoined. DurationMinutes will be available for most sessions which first connected on or after May 28, 2015, however due to technical causes, we expect to be unable to capture the duration for a small percentage of sessions in a given month.
  • WaitTime
    • For Zoom and One-Click sessions, the subset of DurationMinutes that occurred prior to the BillableTs (which is the time of connection by the second participant). If BillableTs is null, then WaitTime will be equal to DurationMinutes (i.e., the second participant did not connect, so 100% of the DurationMinutes are WaitTime). If the first two participants connect within 1 minute of each other, then WaitTime will be 0.
    • The number of minutes of session after the second participant connects can be expressed as DurationMinutes - WaitTime.
    • If DurationMinutes is null, then WaitTime will be null.
    • WaitTime tracking began on November 25, 2020. For all sessions which are last modified prior to November 25, 2020, the WaitTime will be null.
  • BillableStatusCd is the current billing state of the session.  If BillableTs is null, then BillableStatusCd will be null also.  If BillableTs is not null, then BillableTs will be one of four possible values:
    • BILL - The session counts towards the number of free sessions in a month, and will be charged to your account if beyond that limit
    • SVCO - The session is with SecureVideo.com Support, and does not count towards your monthly session limit
    • DUPL - The session has been flagged by our system as a likely Duplicate, and does not count towards your monthly session limit.  It most likely represents a second attempt to conduct an online session between the same two parties at around the same time.
    • COMP - The session has been comped by our Support team, and does not count towards your monthly session limit
  • ScheduleType is the type of scheduling for the Session, taking one of four possible values (available for Sessions modified after 12/23/2020):
    • OnDemand - The session was scheduled On Demand, either using the "New Session Now" dashboard button, an On Demand Virtual Clinic, or an API call.
    • Cancelled - The session was scheduled and then cancelled prior to the Scheduled Time, and the BillableTs is null.
    • Rescheduled - The session was scheduled and then later rescheduled.
    • Scheduled - A standard scheduled session, where none of the three above Schedule Types are true.
  • UserId is the identifier of the user who hosted the Session.  This UserId can be looked up using the User API.
  • IsRecorded specifies whether the session will be automatically recorded to the SecureVideo cloud. Note that, if true, the session will be recorded when it initiates, however the session host can still stop, pause, and resume recording once the session is in progress.
  • ZoomMeetingId is the Zoom meeting ID if the video platform used is our Zoom engine. If the video platform is our One-Click engine, this property will be null.
  • ExternalSessionId is the ID, if any, of the Session in your EHR/PM system which you passed into SecureVideo when you created the session using the POST /session API method.
  • Topic can be used to describe your session. The Topic will appear on the dashboard of the session host and any schedulers viewing that host's dashboard, and will also be returned by GET Session API calls. Topic is an optional property that will return an empty string if not present.
  • The array of Participants will always have at least two Participants, the first of which will be the Session host, followed by one or more Session participants in an indeterminate order.  Within each Participant object exist the following properties:
    • ParticipationId - Uniquely identifies the participant's participation in the Session.  This ID is used if you want to remove a participant from a session via the API.
    • ParticipantFullName - The full name of the participant
    • SecureVideoUserId - If the participant is a SecureVideo user, the user ID of the user. If the participant is not a SecureVideo user, this will be null.
    • ParticipantEmailAddress - The e-mail address of the participant.  This can be an empty string when the session host chooses not to Auto-Deliver the connect code to the participant.
    • ParticipantSmsNumber - The mobile phone number of the participant, for sending an SMS message.  This will be an empty string when the session host chooses not to Auto-Deliver the connect code to the participant.
    • ParticipantDefaultResolution - The resolution the participant should start at. This is a legacy property included for backward compatibility where possible values are 'high', 'default', and 'low'. For new implementations this property has no effect and should always set this to 'high'.
    • ParticipantTimeZoneWindowsId is the Windows ID of the time zone, and must be a value from this list of valid time zones. Time Zone is required by our system's core scheduling functionality, to ensure an invitation shows the correct time for a given participant.
    • ParticipantExternalId is an identifier that you get and set in the API only; ParticipantExternalId is not currently exposed in the SecureVideo user interface. ParticipantExternalId should be used to maintain the unique provider and/or patient mappings between your EHR/EMR/PM system and SecureVideo.
    • ConnectCode - The 9 digit code generated by the SecureVideo API which is used by the participant to join or RSVP to the session.  This should only ever be shown to the participant.
    • Passkey - A 36 character RFC 4122 GUID, which is generated by SecureVideo for non-registered participants who are created via API calls and who are configured in your Account Options settings to be required to enter sessions using the URL format https://hub.securevideo.com/Pass/Join/9DigitPasscode?passkey=36CharacterPasskey. The Passkey property always returns null for customers not using this Option, all registered users (i.e., users having usernames and passwords), and all non-registered users not created via the SecureVideo API. When not required, Passkey is null and meetings can be joined using https://hub.securevideo.com/Pass/Join/9DigitPasscode. An example passkey would be "DD9811A3-1876-421D-9DA5-864CCA030CD6".
    • ShouldAutoDeliverCode - string, possible values are:
      • "E": If ParticipantEmailAddress exists, the SecureVideo system will send via e-mail a Session invite and Session reminders to this participant.
      • "S": If ParticipantSmsNumber exists, the SecureVideo system will send via text message a Session invite and Session reminders to this participant.
      • "N": No automatic delivery of the code will occur.  The Session host, or your system, will be responsible for providing invites and reminders to the Participant.
    • ConnectionTs - the time, in UTC, of the first connection attempt made by the participant.  For the host's participant object (the first object in the Participants array), this will be the time the host first attempted to connect to any other participant in the session.  For a non-host participant object (the second and subsequent objects in the Participants array), this will be the time the participant first attempted to enter the Waiting Room to wait for the Host to connect to them.  Please note, an attempt to connect will fill in this value, whether or not the connection attempt was successful.
    • ExpiresTs - If ExpiresTs is not null, the expiration date of the meeting pass.
    • RSVP - the RSVP status can be either Unknown, Confirmed, or Declined.  Because it is not possible for Session hosts to RSVP, the RSVP property for Session hosts will always be Unknown.
    • PacketId is the ID of the E-Document Packet that should be presented to the participant. This will include at least one E-document, and will specify the completion requirements of each E-document (Required Before, Required After, or Optional).
    • SvcId and DepositRequired - If you have set up Stripe payments in the UI (Features > Get Paid Online), you can specify a deposit that this participant must pay the DepositRequired amount (in US dollars) by credit card prior to entering the waiting room to receive a specified Service referenced by the SvcId that you would find as the Service ID on your "Account Services" screen. If you specify null for both SvcId and DepositRequired (the default), then the participant will be able to enter the waiting room without making a payment. SvcId and DepositRequired must both either be null, or both be not null.

 

 

This article was last reviewed by our Support team on August 31, 2023.