-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Laian Braum's Solution #34
Open
lzizn
wants to merge
77
commits into
lumahealthhq:main
Choose a base branch
from
lzizn:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…een 0 to 1 - avoid division by 0 and return 0.5 in that case - ensure to return 1 when value is greater than max - ensure to return 0 when value is less than min
…een 0 to 1 - avoid division by 0 and return 0.5 in that case - ensure to return 1 when value is greater than max - ensure to return 0 when value is less than min
…urns min and max values for "age", "acceptedOffers", "cancelledOffers" and "averageReplyTime"
…urns min and max values for "age", "acceptedOffers", "cancelledOffers" and "averageReplyTime"
…meters between two coordinates
…meters between two coordinates
…e values must always be greater than min and less than max
…eful for scenarios "lowest is better"
…0 and 1, representing how likely the patient is to accept an appointment
…0 and 1, representing how likely the patient is to accept an appointment
…arate score and return it
…ty coords and returns patients with distance, score and littleBehaviorScore
…ty coords and returns patients with distance, score and littleBehaviorScore
… attend the appointment, including highest scores and random patients with little behavior score
… attend the appointment, including highest scores and random patients with little behavior score
…etPatientsTopList"
…s all dependencies and injects them on controller instance)
… it and adapts its response to express responses
… it and adapts its response to express responses
…PatientRecommendationListController
…entRecommendationListController
…oords from domain
…odels and domain/protocols
…e value is lower than min and greater than max
…er than 1, acting as a penalty for patients further away than 100 kilometers
…onse in order to cleanup, allowing flag debug that returns all data
…prioritizing patiens with lowest distance and highest behavior score
…racts 0.1 points for every 10km above max distance (100km)
…gic than just score now
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Goal: Increase the efficiency of the front desk staff by providing a prioritized list of patients who are most likely to respond positively, reducing the time spent contacting patients who may not be available.
This API leverages patient demographics and behavioral data to compute a score (higher is better) that represents how likely a patient is to accepting an appointment offer.
Checklist:
Implementation details
Data Normalization
Multi-Criteria Decision Analysis (MCDA):
Penalty Adjustment:
Randomization of patients with low behavior score:
Technologies & Concepts Used
API Endpoints
1.
GET /api/patients-recommended
latitude
(required): Latitude of the facility.longitude
(required): Longitude of the facility./api-docs
Installing and running
Running Tests
The project includes unit and integration tests written with Jest and supertest to ensure the reliability of core functions and avoid regression during development.
Swagger
Access the Swagger UI and see the full API documentation on GET
/api-docs
Test Coverage
This project has 100% of test coverage, including unit and integration tests.