Skip to navigation

v0.0.79

The changes documented here consolidate the main changes made from v0.0.72 to v0.0.79.

Breaking Changes

  • Removed support for legacy static API keys (Authorization: ApiKey <token>). All requests must be authenticated with a JWT, as described on the Authentication page.
  • Removed the deprecated status field from referral responses in the API reference and SDK. It is still returned for backwards compatibility but may be removed in the future, so use coreStatus instead.
  • The following referral response fields are now optional, and are omitted rather than returned as an empty string when no value was provided:
    • patient.uin, patient.phoneNumber and patient.dob
    • referringDoctor.email and referringDoctor.contactNumber
  • POST /api/v1/referrals/:referralId/back-to-draft now only accepts referrals that are still pending email acknowledgement, so rejected referrals can no longer be sent back to draft.

Additions

  • Added new POST /api/v1/referrals/:referralId/action-links/:type endpoint, which returns a freshly issued referral link for a single action type (amend, select-timeslot, fill-singhealth-formsg, attachment or view). It requires requesterIdentifier, institutionIdType and institutionId in the request body, plus attachmentId when type is attachment.
  • Added new actions field to the GET /api/v1/referrals/:referralId response, listing the actions available on the referral. Each action has a type and label, and attachment actions also include attachment (id and uploadedAt).
  • Added new fields to referral responses (GET /api/v1/institutions/:institutionIdType/:institutionId/referrals, GET /api/v1/referrals/:referralId, DELETE /api/v1/referrals/:referralId, POST /api/v1/referrals/:referralId/cancel, POST /api/v1/referrals/:referralId/back-to-draft):
    • canBackToDraft — whether the referral can be sent back to draft to be amended and resubmitted.
    • offeringClinician — the clinician (name) at the receiving institution for the referral’s latest appointment, when available.
    • patient.race and patient.email.
  • Added new buildingName, city, geographicalArea and country fields to the patient address (address in the POST /api/v1/links/upsert request body, and patient.address in referral responses).
  • Added new values to the timeline event type field (timelineEvents[].type) returned by GET /api/v1/referrals/:referralId:
    • referral.sender-hci-changed — the referral’s sender HCI code was changed, e.g. when clinics merge under a new HCI code.
    • referral.offering-fallback — the referral was automatically rerouted to a fallback offering because its original offering was deactivated.
    • appt.booking-fallback — the selected appointment timeslot could not be confirmed with the receiving system, so the institution will schedule the appointment instead.
    • attachment.uploaded — the receiving system uploaded an attachment to the referral. The attachment is listed as an attachment action in the referral’s actions array.

Documentation Changes

  • Added a new Referral Link V2 page in the Concepts section, explaining how to list a referral’s available actions and fetch a fresh link only when the user acts.
  • Added Get action link by type to the API Overview page, and fixed its broken API reference links.
  • Updated the file upload limit on the Request and Response Limits page from 50 MB to 5 MB.
  • Documented 400, 403, 404 and 429 error responses in the API reference.
  • Clarified that clinicalInfo in the POST /api/v1/links/upsert request body is optional but strongly recommended, as it pre-fills the referral form.

Recommendations

  • Use the actions field with POST /api/v1/referrals/:referralId/action-links/:type instead of the url and links fields, so that every link you open is freshly issued. See the Referral Link V2 page for details.
  • Use the canBackToDraft field in referral responses to determine whether to show an amend option in the UI.
  • If you have any questions or need support with these changes, please reach out to the RefX team at refx-support@health.gov.sg.