Repository navigation
feat(appointments): tokenised ICS calendar feed for doctors' schedules - #191
Philcsweb3 wants to merge 1 commit into
Conversation
|
@Philcsweb3 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
🚨 Malware scan: needs security review@Philcsweb3 The automated scan of
If this is a false positive, reply here explaining why and a maintainer will clear it. If it isn't intentional, remove it and push again: the scan re-runs on every push and updates this comment. |
|
@Philcsweb3 The malware scan flagged |
|
@Philcsweb3 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared files like Automated message. It won't repeat unless the PR conflicts again after your next push. |
Overview
This PR adds a per-doctor, tokenised ICS calendar feed so doctors can subscribe to their DocForum schedule from Google Calendar, Outlook, or any phone calendar. The feed is deliberately PHI-free: events contain only the time, the label
DocForum appointment, and a deep link — no patient name, intake, or reason. Tokens are rotatable and revocable, and the endpoint supportsETag/Last-Modifiedso calendar clients can poll cheaply.Related Issue
Closes #
Changes
🔑 Doctor feed tokens
[MODIFY]
backend/src/modules/doctors/repositories/index.ts[MODIFY]
backend/src/modules/doctors/services/index.ts📅 ICS feed
backend/src/modules/appointments/services/index.tsTZIDhandling,DocForum appointmentsummary, deep link, andSTATUS:CANCELLEDfor cancellations so subscribed calendars update.ETag/Last-Modifiedvalidators for conditional requests.📚 Docs
docs/api/README.mdGET /calendar/:token.ics, token rotation/revocation, and how doctors subscribe from common calendar clients.Verification Results
GET /calendar/:token.icsdocs/api/README.mdupdated with subscription stepsTZIDhandlingSTATUS:CANCELLEDSTATUS:CANCELLEDETag/Last-ModifiedsupportROADMAP.md/ARCHITECTURE.md§4 updated if models/endpoints changeddocs/api/README.mdCloses #130