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.2.0.tar.gz (17.4 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.2.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bcda_client_datant-0.2.0.tar.gz
  • Upload date:
  • Size: 17.4 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.2.0.tar.gz
Algorithm Hash digest
SHA256 983b161a0f2c0568f8dc8f6ae421241855277e94bc6a04b1950af1211393b9c0
MD5 9432590d591ae17bca1160721b3cb715
BLAKE2b-256 e1942a836e3775f8c078457a4bb19b387ba45e5e50445c6ce48f7251ebecc4a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bcda_client_datant-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d490eec9e4449ff3676bea0e65fc4ba1758f4a2e4677d2ae8f7cfdee19d78ffd
MD5 4150a9c247564780f252f40c2b162af0
BLAKE2b-256 d8e57a2801f62a7f965eb0d3f30343d296ef516212d8714c1ca3c6122e1b178f

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