Skip to main content

A Python client for the BCDA (Beneficiary Claims Data API)

Project description

BCDA Client

A Python client for the CMS Beneficiary Claims Data API (BCDA).

Installation

bash pip install bcda-client

Quick Start

python from bcda_client import BCDAClient Initialize client (Sandbox) client = BCDAClient( client_id="your_client_id", client_secret="your_client_secret", is_sandbox=True ) Download data results = client.download_data( output_dir="my_data", include_csv=True, incremental=False )

Features

  • Support for both sandbox and production environments
  • Automatic authentication handling
  • Support for all BCDA endpoints:
    • Metadata
    • Patient
    • Group (all and runout)
    • Jobs
    • Attribution Status
  • Data export in both Parquet and CSV formats
  • Support for incremental and full extracts
  • Automatic flattening of nested FHIR structures

Configuration

Environment Options

Sandbox Environment client = BCDAClient( client_id="your_client_id", client_secret="your_client_secret", is_sandbox=True ) Production Environment client = BCDAClient( client_id="your_client_id", client_secret="your_client_secret", is_sandbox=False ) Custom Environment client = BCDAClient( client_id="your_client_id", client_secret="your_client_secret", base_url="https://custom.bcda.url" )

Download Options

Full extract with CSV client.download_data( output_dir="my_data", include_csv=True, incremental=False ) Incremental extract (last 30 days) client.download_data( output_dir="my_data", include_csv=True, incremental=True )

Output Structure

my_data/ ├── parquet/ │ ├── Patient_20240211_134435.parquet │ ├── Coverage_20240211_134435.parquet │ └── ExplanationOfBenefit_20240211_134435.parquet └── csv/ ├── Patient_20240211_134435.csv ├── Coverage_20240211_134435.csv └── ExplanationOfBenefit_20240211_134435.csv

Features

  • Easy authentication with the BCDA API
  • Simple methods to retrieve beneficiary data
  • Automatic handling of pagination
  • Error handling and retry mechanisms

Requirements

  • Python 3.6+
  • See requirements.txt for package dependencies

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bcda_client_datant-0.1.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bcda_client_datant-0.1.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file bcda_client_datant-0.1.1.tar.gz.

File metadata

  • Download URL: bcda_client_datant-0.1.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for bcda_client_datant-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a6e718428c97cd4c4deff13152ed65ea063fdd8791cf0698eb0e04257b0c59a5
MD5 97b6092c14a8aeebad2e141e8ed39ef0
BLAKE2b-256 3ac2152ff393010f9ab7d0b01cb5157b247fa681f955004c170bc4ce172dfda4

See more details on using hashes here.

File details

Details for the file bcda_client_datant-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bcda_client_datant-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fda11fd4d6d6288a199fe16187d809050e01f4715ca312773aeed1a12d4890d6
MD5 8a9017e63273a592cd793ed3b5e59ba5
BLAKE2b-256 daccc85e1ededd6272370a37ac7ce4c8ea257e871dc899e7a8c6f1278bba27bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page