BCDA r216 release notes

80 views
Skip to first unread message

Beneficiary Claims Data API (BCDA) Community

unread,
Mar 13, 2024, 3:37:39 PM3/13/24
to Beneficiary Claims Data API (BCDA) Community

Hi BCDA Community,

 

Thank you again for providing feedback. While investigating your questions, we identified and implemented the following fixes for bugs impacting the _since parameter and error messages for in-progress jobs:

 

_since parameter:

 

  • The issue:
    • If the _since parameter was used with a date occurring after a CCLF file was generated, but before the file was processed by BCDA, the _since parameter would not function as intended, potentially returning data from outside the desired date range, omitting historical data for enrollees newly aligned within the desired date range, or resulting in other errors.
  • What's new:
    • The parameter's behavior conforms to the Bulk FHIR IG by comparing the date an attribution file was ingested by BCDA rather than when it was created.
  • Recommendation:
    • If you believe you may be missing data / beneficiaries, run a job including data for all enrollees, and use _since going forward.

 

Errors on in-progress jobs:

 

  • 404 errors:
    • The issue:
      • An unintended consequence of our recent fix regarding -error.ndjson files resulted in some jobs prematurely marked as completed. These partially completed jobs were made available to download prematurely and contained 404 files for the work that was still in-progress.
    • What's new:
      • BCDA now only counts successful job components as part of determining if a job is complete, preventing issues related to files being copied over for downloading.
    • Recommendations:
      • If you received a 404 error for a file that did not end in -error.ndjson and should not have been expired, we recommend that you run a new job.
      • If you only received 404 errors for files ending in -error.ndjson, it is not necessary to re-run the job (although you are welcome to do so).

 

  • 429 errors:
    • The issue:
      • BCDA is refining the recent updates to our rate limiting made to ensure continuity of service, especially with respect to organizations serving multiple ACOs.
    • What's new: 
      • Attempting to duplicate an in-progress job will result in a 429.
      • Querying the /jobs endpoint while the ACO has an in-progress job will no longer return a 429.
    • Recommendations:
      • To avoid implementing rate limiting on your BCDA client, please ensure that your client respects any Retry-After headers received from responses with a 429 status code.
      • You may also follow an exponential backoff approach in automated requests to BCDA.

 

More detail for the release, r216, can be found on BCDA's GitHub.

 

 

The BCDA Team

Andy McLaughlin

unread,
Mar 13, 2024, 3:50:28 PM3/13/24
to Beneficiary Claims Data API (BCDA) Community
Thanks for the comprehensive fixes and detailed explanation.

I have one possibly outstanding issue, which is that jobs for a single client ACO seem to be running indefinitely. I tried cancelling the job and restarting it, but the behavior persists. The currently running job has been in progress for over 48 hours. When I query the /jobs endpoint, the relevant portion of the response looks like the following:
{
      "resource": {
        "executionPeriod": {
          "end": "2024-03-11T02:00:37+00:00",
          "start": "2024-03-11T01:00:24+00:00"
        },
        "identifier": [
          {
            "system": "https://api.bcda.cms.gov/api/v2/jobs",
            "use": "official",
            "value": "63094"
          }
        ],
        "input": [
          {
            "type": {
              "text": "BULK FHIR Export"
            },
            "valueString": "GET https://api.bcda.cms.gov/api/v1/Group/all/$export?_since=2024-03-08T13%3A57%3A28-05%3A00"
          }
        ],
        "intent": "order",
        "resourceType": "Task",
        "status": "in-progress"
      }
    },

It seems like this could be related to the 404 issue or the _since parameter issue, or possibly an intersection of both issues. It seems odd that the /jobs response has both a status of "in-progress" and an executionPeriod.end datetime that is in the past.

If it's helpful, I can refrain from cancelling this job so that the BCDA team can investigate. Please let me know, otherwise I'll plan on cancelling and retrying the job tomorrow.

--
You received this message because you are subscribed to the Google Groups "Beneficiary Claims Data API (BCDA) Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bc-api+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bc-api/6426fd8f-ee75-4988-8a63-3f60f8a6496an%40googlegroups.com.

Andy McLaughlin

unread,
Mar 13, 2024, 3:55:37 PM3/13/24
to Beneficiary Claims Data API (BCDA) Community
Sorry, forgot to add that when querying the job's individual status URL (https://api.bcda.cms.gov/api/v2/jobs/63094) I get a 202 response with an "X-Progress" header value of "In Progress, 100%".

Beneficiary Claims Data API (BCDA) Community

unread,
Mar 13, 2024, 4:23:36 PM3/13/24
to Beneficiary Claims Data API (BCDA) Community
Hi Andy,

Thanks for reaching out about this stalled job. Our team recommends cancelling jobs which show a status of "In Progress, 100%" and retrying the request. Your next jobs should not run into this same issue now that r216 has been deployed.

Please let us know if you hit a similar issue with your next job request.

Thanks,
The BCDA Team
Reply all
Reply to author
Forward
0 new messages