Skip to content

Tender Healthcare

Permissions & Access Level Control

Nomenclature

  • Patient - user that has Patient profile
  • Provider - user that has Provider profile
  • Case - medical case that Patient can create in the platform, which Provider can offer services for
  • Tender - services proposal posted by Provider to fulfill given Case posted by Patient
  • matched case - Case that has been picked for Provider based on its and Provider details (matching specialization and category, appropriate location etc.)
  • use the platform - if Patient: search for Providers, view Provider Profile, add Cases, view my Cases, edit profile etc. If Provider: see Cases matched for me, post Tenders, receive matching notifications etc.

Use cases

Users

Consequence Done Covered by tests
Patient cannot log in until clicking activation link in the received email.
Provider cannot log in until clicking activation link in the received email.

Provider moderation

Consequence Done Covered by tests
New Provider profile, after signup, should be attached to Providers Pending Approval group by default
Provider in Approved Providers group can use the platform
Provider in Declined Providers group cannot use the platform
Provider in Providers Pending Approval group cannot use the platform, except modifying profile data
Provider that is not approved by admin (meaning he is not in Approved Providers group) can't use the platform
Detail pages of Providers not approved by admin, shouldn't be visible to any logged in user
Providers that haven't been approved by admin shouldn't show in search results for Patients
Providers that haven't been approved by admin shouldn't get any matching notifications

Profile editing

Consequence Done Covered by tests
If Provider changes his specializations, he should be moved back to Providers Pending Approval group so he can't use the platform until approved again by moderator.

Payments

Consequence Done Covered by tests
Provider that doesn't input billing details in his account can't use the platform
Provider that doesn't select subscription plan (meaning he has no active subscription), can't use the platform
Detail pages of Providers without active subscription shouldn't be visible to any one
Providers without active subscription shouldn't show in search results for Patients
Providers without active subscription shouldn't get any matching notifications

Profiles

Consequence Done Covered by tests
Anonymous users don't have access to any Provider profile page
Anonymous users don't have access to any Patient profile page
Patients can't view other Patients detail pages
Patient can view his own profile detail page
Patient can view all (approved and active) Providers' detail pages
Patient can't view (not approved or not active) Providers' detail pages
Providers can't view other Providers detail pages
Provider can view his own profile detail page
Providers can't view Patients' detail pages if Patients have no Case matched. Otherwise they can.

Case - flow diagram

(black - implemented; grey - not implemented)

Cases & Matching

Consequence Done Covered by tests
Anonymous users don't have access to any Case detail page
Patient can see their cases
Patient cannot view other Patients' Cases detail pages
Providers cannot view Cases detail pages that are not matched for them.
Providers can view Cases detail pages that are matched for them.
Providers shouldn't receive notification about Cases that are not matched for them
Providers should receive notifications about Cases matched for them
Matched Cases for Providers should be displayed in "Cases for me" tab
Not matched Cases are not displayed for Providers in "Cases for me" tab

Tendering

Consequence Done Covered by tests
Anonymous users don't have access to any Tender detail page
Tenders on Case detail page should be shown only for Patient owning the Case
Patient that is not the owner of a Case tendered, should not be allowed to view Tender detail page
Patient that is owner of a Case should be able to view Tenders detail pages for that Case
Providers cannot view Tender detail pages that they haven't posted
When a Patient accepts a Tender, it needs to be closed for Providers so they don't keep tendering

Case and Tender expiration

Patient, when adding a Case, selects a timeframe that describes when he wants the work to be done within. After that time, Case is considered expired. Similar expiration date is submitted when Provider posts a Tender.

Consequence Done Covered by tests
Case cannot be tendered after its expiration date
Tender can't be accepted or denied after its expiration date
When a tender is declined and Case has expired that Provider no longer has access to view case
Expired Cases shouldn't be shown for Providers' matched Cases
Expired Cases should be shown for Providers' matched Cases only if they tendered on them

Cases closing and deletion

Consequence Done Covered by tests
Closed Cases shouldn't be shown for Providers' matched Cases
Providers can't tender on closed Case
Provider can view closed Case only when he has accepted Tender for this Case
Deleted Cases shouldn't be shown for Patients' Cases
Deleted Cases shouldn't be shown for Providers' matched Cases
Deleted Cases detail pages shouldn't be shown to anyone

Patient deactivates account

Patient clicks "Deactivate account" in the account settings.

Consequence Done Covered by tests
Patient profile detail page is no longer visible to any user
User can't log in again
All Patient's cases are soft deleted
All Patient's cases are no longer visible to any Provider

Provider deactivates account

Provider clicks "Deactivate account" in the account settings.

Consequence Done Covered by tests
Provider profile detail page is no longer visible to any user
Provider profile is not visible in search for Patients
Provider shouldn't get any matching notifications
User can't log in again
Current subscription is stopped in Stripe