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
50
51
52
53
54
55
56
57
58
59
60
61
//! Person Service (MPI)
//!
//! A healthcare person identification and matching system built with Rust.
//!
//! This library provides:
//! - Person matcher algorithms (probabilistic and deterministic)
//! - Full-text search capabilities via Tantivy
//! - RESTful API via Axum
//! - HL7 FHIR R5 support
//! - gRPC API via Tonic
//! - PostgreSQL persistence via SeaORM
//! - Event streaming via Fluvio
//! - Data quality validation
//! - Privacy and data masking
//! - Record merging and deduplication
//! - Distributed tracing and observability via OpenTelemetry
// Always start with high quality coding conventions.
// Module declarations
/// REST, FHIR R5, and gRPC API layers plus shared response envelopes.
/// Configuration structs and environment/`.env` loading.
/// PostgreSQL persistence: SeaORM entities, repositories, audit log.
/// Crate-wide [`Error`] enum and [`Result`] alias.
/// Probabilistic and deterministic person matching engines.
/// Prometheus metric definitions and the text-exposition surface.
/// Domain models (Person, Identifier, Organization, Consent, …).
/// OpenTelemetry/tracing initialization and custom metrics.
/// Data masking, GDPR export, and consent checking.
/// Tantivy full-text search engine and index.
/// Event streaming (PersonEvent, producers, consumers).
/// Data-quality validation, normalization, and standardization.
// Re-exports
pub use ;
/// Smoke tests for the crate's public surface.