docaroo_rs/lib.rs
1//! # Docaroo Care Navigation Data API Client
2//!
3//! A Rust client library for the Docaroo Care Navigation Data API, providing
4//! healthcare provider pricing discovery and procedure likelihood analysis.
5//!
6//! This client was developed by Nikolas Yanek-Chrones (<https://github.com/nikothomas>).
7//!
8//! ## Features
9//!
10//! - In-network contracted rates lookup for healthcare providers (NPIs)
11//! - Procedure likelihood scoring for medical procedures
12//! - Support for multiple medical billing code types (CPT, NDC, HCPCS, etc.)
13//! - Bulk NPI lookups (up to 10 NPIs per request)
14//! - Built with async/await support using Tokio
15//!
16//! ## Usage
17//!
18//! ```no_run
19//! use docaroo_rs::{DocarooClient, models::PricingRequest};
20//!
21//! #[tokio::main]
22//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
23//! let client = DocarooClient::new("your-api-key");
24//!
25//! let request = PricingRequest::builder()
26//! .npis(vec!["1043566623".to_string(), "1972767655".to_string()])
27//! .condition_code("99214")
28//! .plan_id("942404110")
29//! .build();
30//!
31//! let response = client.pricing().get_in_network_rates(request).await?;
32//!
33//! for (npi, rates) in response.data {
34//! println!("NPI {}: {} rates found", npi, rates.len());
35//! }
36//!
37//! Ok(())
38//! }
39//! ```
40
41pub mod client;
42pub mod error;
43pub mod models;
44pub mod pricing;
45pub mod procedures;
46
47pub use client::DocarooClient;
48pub use error::{DocarooError, Result};
49
50/// The base URL for the Docaroo API
51pub const API_BASE_URL: &str = "https://care-navigation-gateway-ccg16t89.wl.gateway.dev";
52
53/// Re-export commonly used types
54pub mod prelude {
55 pub use crate::{
56 client::DocarooClient,
57 error::{DocarooError, Result},
58 models::{
59 CodeType, LikelihoodRequest, LikelihoodResponse, PricingRequest, PricingResponse,
60 },
61 };
62}