1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! ClinVar variant information client.
//!
//! This module provides types and utilities for working with ClinVar data.
//! It includes data structures for ClinVar records, a mock client for testing,
//! and integration points for real API access.
//!
//! # Examples
//!
//! ## Using Mock Client for Testing
//!
//! ```
//! use ferro_hgvs::clinvar::{ClinVarClient, ClinVarRecord, ClinicalSignificance};
//!
//! let mut client = ClinVarClient::mock();
//!
//! // Add a test record
//! client.add_record(ClinVarRecord {
//! variation_id: "12345".to_string(),
//! hgvs: "NM_000088.3:c.10A>G".to_string(),
//! significance: ClinicalSignificance::Pathogenic,
//! review_status: "criteria_provided, single submitter".to_string(),
//! ..Default::default()
//! });
//!
//! // Query by HGVS
//! let record = client.get_by_hgvs("NM_000088.3:c.10A>G");
//! assert!(record.is_some());
//! ```
//!
//! # API Integration
//!
//! To use with the real ClinVar API (requires HTTP client):
//!
//! ```ignore
//! // Future implementation with reqwest
//! let client = ClinVarClient::new("https://api.ncbi.nlm.nih.gov/clinvar/");
//! let record = client.get_by_variation_id("12345").await?;
//! ```
//!
//! # References
//!
//! - [ClinVar API](https://www.ncbi.nlm.nih.gov/clinvar/docs/maintenance_use/)
//! - [ClinVar Data Dictionary](https://www.ncbi.nlm.nih.gov/clinvar/docs/help/)
pub use ClinVarClient;
pub use ;