Proposed Integrations with Kaizen (8-2-2024)
Untied Way of SouthEastern Michigan would like to expand and have improved integration between their internal systems, the emerging Community Information Exchange and Kaizen’s transportation software platform.
The following lists the proposed changes for Kaizen to review and provide feedback on the feasibility of implementation.
Requirement 1 - Provide Endpoint to retrieve Ride information by Ride ID
Endpoint will provide a JSON payload with ride information including all of the information that is currently being exported on the nightly feeds to UWSEM. This endpoint will be able get the ride information by kaizen ride id.
Here is a proposal of what the request url of that endpoint would be
GET {kaizen-baseurl}\rides\{rideId}
Requirement 2 - Provide Endpoint to retrieve all new rides that where created during a time period.
Endpoint will provide a list of ride id’s that where created in the timeframe that was supplied. This will allow the CIE Hub to retrieve any new rides and set up a record in the FHIR repository.
Here is a proposal of what the request url of that endpoint would be
GET {kaizen-baseurl}\rides?status=new&startDate=2020-01-01&endDate=2020-01-02
The response can just be a list of id's or could be the id with the entire payload
Requirement 3 - Provide the ability for the UWSEM to archive and unarchive riders and notify Kaizen electronically
United Way would like the ability for their Social Navigators to turn off access to the ride service and also reinstate the service.
An endpoint to facilitate this has already been provided by Kaizen including:
Search riders by First Name, Last Name or Phone Number.
Archive a rider
Unarchive (reinstate) a rider
Here is the example code that was provided by Kaizen
import requests
# Required headers
headers = {
'AUTHORIZATION': 'Token <token from users/login response goes here>',
'X-CLIENT-ID': 'unitedwaysem'
}
# Base URL for API
base_url = 'https://white-label-api.kaizenhealth.org/api/v1'
# Riders list
r = requests.get(f'{base_url}/riders/', headers=headers)
# Riders search (first name, last name or phone). Here's a phone search...
r = requests.get(f'{base_url}/riders/?search=3334445555', headers=headers)
# Archive rider (invoke DELETE request)
r = requests.delete(f'{base_url}/riders/<rider_id>/', headers=headers)
# Un-archive rider (send archived_at=None)
r = requests.patch(f'{base_url}/riders/<rider_id>/', headers=headers, json={'archived_at': None})
Â
Requirement 4 - Ability to update rider demographic information
Allow for the ability to have a Social Navigator update the following demographic information in the Kaizen repository.
Name
Address
Phone Number
Language preference
Requirement 5 - Ability to add and remove riders from a program (Benefit Plan)
United Way would continue to use the current functionality that Kaizen offers to limit rides based on program ride limits including total cost and geographic limits.
United Way plans to have a limited set of programs that have different ride limit amounts to which riders can be assigned. Social Navigators would be able to put a rider in a specific pre-defined program that would change the ride limit. For this to work the a message to Kaizen would be generated by a UWSEM internal system to remove the rider from the current program and add to new program to change (typically increase) their ride limit. If the Social Navigator chooses they can archive the rider if they want to remove the ability for Kaizen to schedule rides.
Â
Â
Â