Challenge Overview
Challenge Objectives
-
Design API specification (Swagger)
-
Create api implementation notes (connect api endpoints to the provided stored procedures)
Project Background
-
Our Client is in their early application development in the Health Insurance Industry. They are creating a Patient Concierge Chatbot web application that will have features to answer patient inquiries regarding - Account Balance, Payments, Payment Arrangements, Recurring Payments, Insurance, Financial Assistance, Patient Requests, etc.
-
We’re designing the application backend in this challenge
-
In the follow-up challenges we will develop the backend API, integrate with the frontend and third party APIs and build a test suite.
Technology Stack
-
Swagger Open API Specification
-
ERD
-
MSSql
Resources
Application designs are available at https://marvelapp.com/4d4jiea . See the below description for individual screen features.
Application UI prototype is available at https://chatbot-app-web.herokuapp.com but should only be used as reference - designs have precedence over the current UI prototype.
Database design and stored procedures are provided in the forums.
Individual requirements
We’re aiming to create three things in this challenge:
-
REST API specification document (swagger)
-
API implementation notes - all API endpoints will query the database using the provided stored procedures so we need to document exactly which procedures should be called by each endpoint and how to map the API parameters to the stored procedure parameters and responses
-
Screen API calls mapping - a document detailing which API endpoints should be called on each screen
Additionally, if you find any mismatch between the stored procedures and the frontend requirements, these should be documented with details for required changes (based on the database structure) so we can fix them in a future challenge. This includes missing procedures or parameters/attributes, data type mismatch, unused procedures/attributes.
The central feature of the app is the ChatBot and the actual conversation will be handled by DialogFlow so it is out of scope of this challenge - we only need to create the APIs for actual actions that are available to the user.
All payments will be done through Paypal integration (both credit card and Paypal account payments) and the payment workflow with Paypal integration should be explained in the api implementation notes.
You can assume all file uploads will store the file in a local directory and save only the file path to the database.
All api calls will require a JWT token that is issued during login / registration. Only Express pay actions will not require an authenticated user token.
Here is a list of major application features
-
Login/create account
-
Express pay - allows the user to make a payment without logging in
-
Balance inquiry
-
Payment by card/ACH/Paypal
-
Update information - profile/insurance
-
Financial assistance
-
Other - payment history, office location, request submission, card upload
General for all requirements
Use camelCase for all JSON data attribute names, TitleCase for entity names.
What To Submit
Submit a Swagger API specification
Submit the API notes implementation document
Submit api calls to screen mapping diagram