GeographicMatchingService
Component Detail
Description
A backend service that computes proximity rankings between open assignment locations and available peer mentors by combining encrypted assignment dispatch data with peer mentor map positions. It enforces eligibility rules including certification validity, active status, and current capacity before returning a ranked candidate list. The service exposes query endpoints consumed by the map overlay widget during coordinator workflows.
geographic-matching-service
Sources & reasoning
The phrase "matching og oppdragstildeling" (matching and assignment dispatch) at line 99 directly motivates a dedicated assignment-matching capability layered on top of the base map. Fase 3 placement at line 359 maps to v1.1 by ordinal. Depends on peer-mentor-map and encrypted-assignment-dispatch both being enabled.
-
docs/source/likeperson.md · line 99Geografisk kartvisning av likepersoner for matching og oppdragstildeling (særlig store fylker).
-
docs/source/likeperson.md · line 359Geografisk kartvisning (Blindeforbundet)
Responsibilities
- Decrypt and resolve assignment locations from the encrypted assignment dispatch data source
- Query current peer mentor positions and statuses from the peer mentor status service
- Compute geodesic distances between each open assignment and all candidate mentors
- Filter candidates by eligibility criteria and rank them by proximity
- Return ranked, eligible mentor lists to the map overlay widget on demand
Interfaces
getRankedMentors(assignmentId: string, criteria: EligibilityCriteria): Promise<RankedMentor[]>
getOpenAssignmentLocations(): Promise<AssignmentLocation[]>
checkMentorEligibility(mentorId: string, assignmentId: string): Promise<EligibilityResult>
computeDistance(origin: GeoPoint, destination: GeoPoint): number
Related Data Entities (3)
Data entities managed by this component