What broke in the last 3 days
50 open production errors in mind-api. Open any card for the full briefing.
Medplum::Labs::UpstreamError
Health Gorilla practitioner sync failed: Medplum Practitioner Practitioner/<secret> missing NPI
A single lab launch failed because the acting practitioner's Medplum profile has no NPI, which the Health Gorilla sync bot needs.
User-facing request · 1 person hit it · New this week (6 d old) · Quiet for 15 h
Medplum::Eprescribe::UpstreamError
ScriptSure patient sync failed: Multiple ScriptSure practices are available for this prescriber; specify an organizationId to choose one. Candidates: Organization/<secret>, Organization/<secret>, Organization/<secret>
The patient sync bot ran without an organizationId, so ScriptSure refused to pick between the prescriber's 3 practices; the service handled it as designed and sent a warning to Bugsnag.
User-facing request · 1 person hit it · New this week (5 d old) · Quiet for 23 h
StandardError
[Medplum::CareExtender] Practitioner update for CareExtender/714 refused by Medplum (HTTP 410)
Medplum answered HTTP 410 (Gone) when we updated the Practitioner linked to CareExtender 1250 on staging. The stored medplum_practitioner_id most likely points to a Practitioner that no longer exists, probably after a staging Medplum reset or cleanup.
New this week (6 d old) · Happening now
OAuth2::Error
{"detailedmessage":"You do not have access to this context.","name":"ContextAccessError"}
Athena rejects one or more enabled AthenaContexts with "You do not have access to this context". The job catches the error, logs it and reports it to Bugsnag on purpose, so nothing is crashing.
Happening now · SC-149433 filed
Candid::Errors::ClientError
{"errorName":"HttpRequestValidationError","errorInstanceId":"<secret>","content":{"fieldName":"organization_name","humanReadableMessage":"Either organization_name or first + last name must be set"}}
Candid rejected a claim because a provider on it has neither an organization name nor first and last name, and this comes from provider data in Candid.
RuntimeError
Request error (HTTP 422): organization_name: Either organization_name or first + last name must be set [requestId: <secret>]
Candid rejects the claim with a 422 because the billing provider it receives has no organization_name and no first/last name, and our code reports each rejection to Bugsnag as a warning.
ActiveRecord::RecordInvalid
Validation failed: Mime type is not a valid reference data value of type mime_type, value provided:image/svg+xml
A user sent an SVG file in chat, and the app only accepts the mime types it has seeded, so ChatMessage creation was rejected.
Quiet for 12 h
StandardError
{ "error": { "code": 403, "message": "SenderId mismatch", "status": "PERMISSION_DENIED", "details": [ { "@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError", "errorCode": "SENDER_ID_MISMATCH" } ] } }
FCM rejected an Android push with SENDER_ID_MISMATCH, which usually means a device token was issued for a different Firebase project than the one used to send it. The code only reports this to Bugsnag as a warning.
Quiet for 12 h
Twilio::REST::RestError
[HTTP 400] 21211 : Unable to create record Invalid 'To' Phone Number: +1000000XXXX https://www.twilio.com/docs/errors/21211
Twilio rejects the welcome text because the member's phone number (shown as +1000000XXXX) is not a valid number, and nothing checks the number before sending.
Quiet for 13 h