[Android] Enter waiting room flow
To access a waiting room, individuals must first log into the Vsee system with their patient account, SSO token or guest.
1. Authentication
1.1. Patient authentication
val res = VseeApi.auth.loginAsPatient(username = username, password = password)
when (res) {
is Resource.Success -> {}
is Resource.Error -> {}
}
The sample app uses loginAsPatient
API to verify the patient’s authentication.
1.2. Guest authentication
fun loginAsGuest(firstName: String, lastName: String, dob: String) {
viewModelScope.launch {
val res = VseeApi.auth.loginAsGuest(firstName = firstName, lastName = lastName, dob = dob)
when (res) {
is Resource.Success -> {}
is Resource.Error -> Timber.e("Login SSO error: ${res.message}")
}
}
}
For the guets authentication, user needs to input their firstName
, lastName
and date of birth
.
1.3. SSO authentication
fun loginWithToken(token: String) {
viewModelScope.launch {
val res = VseeApi.userApi.getUser()
when (res) {
is Resource.Success -> {}
is Resource.Error -> {
Timber.e("Get user using SSO token error: ${res.message}")
_errorMessage.postValue(res.message ?: "Login using SSO token error")
}
}
}
}
The sample app uses VseeApi.userApi.getUser()
to verify the SSO token.
The authentication result can be Success
or Error
.
Success: The app starts doing vseeKit authentication
VseeKit is a library that allows developers to embed VSee multi-way video calling and chat functionality into their mobile apps.
EventBus
is used by the application to monitor VseeKit login results:
After login VseeKit is success, the user will be redirected to Dashboard screen:
Error: The app shows a Snackbar message with detailed information about the error.
2. Create intake
Patient clicks on the Enter waiting room now
button to open the Intake form screen. At this screen, patient can update medical information for the visit such as: reason, consultation…
Please refers to Visit and intake API for more detailed information.
3. Join video call
Patient has 2 options to join the video call:
Embedded Browser call: open video call by using Android WebView
Via VseeKit: open video call by using VseeKit native video view
The app only needs to pass a VisitResponse
data to startVideoCall
function
4. In video call
The patient waits for their provider to join the video call.