Database and vector store persistence adapters for HACS
Project description
HACS Persistence
PostgreSQL + pgvector persistence for healthcare data storage
Database and vector storage adapters optimized for healthcare AI applications.
🗄️ Database Support
PostgreSQL with pgvector
Primary storage solution for healthcare data:
- Relational Data - Patient records, observations, clinical data
- Vector Storage - Clinical embeddings via pgvector extension
- Schema Management - Automated migrations and versioning
- Healthcare Compliance - HIPAA-aware design patterns
🏥 Healthcare Schema
Optimized database tables for clinical workflows:
-- Core healthcare tables
patients -- Patient demographics and clinical context
observations -- Clinical measurements and findings
actors -- Healthcare providers with role-based permissions
memory_blocks -- AI agent episodic/procedural memory
evidence_items -- Clinical guidelines and research
knowledge_base -- Structured clinical knowledge
-- Vector storage for AI operations
patient_vectors -- Patient data embeddings
clinical_vectors -- Clinical note embeddings
memory_vectors -- Memory content embeddings
📦 Installation
pip install hacs-persistence
🚀 Quick Start
Setup via HACS
# Automatic setup with migrations
python setup.py --mode local
# Database runs on localhost:5432
# Automatic pgvector extension installation
Direct Usage
from hacs_persistence import Adapter
from hacs_core import Patient
# Connect to healthcare database
adapter = Adapter(
database_url="postgresql://hacs:password@localhost:5432/hacs"
)
# Store patient record
patient = Patient(
full_name="Maria Rodriguez",
birth_date="1985-03-15",
gender="female"
)
# Save with automatic validation
saved_patient = adapter.save_resource(patient)
print(f"Saved patient: {saved_patient.id}")
🔧 Configuration
Environment Variables
# Primary database connection
DATABASE_URL=postgresql://hacs:password@localhost:5432/hacs
# Vector store configuration (uses pgvector by default)
VECTOR_STORE=pgvector
# Optional: External PostgreSQL for production
DATABASE_URL=postgresql://hacs:secure_password@prod-db:5432/hacs_production
Migration Management
# Run database migrations
python -m hacs_persistence.migrations $DATABASE_URL
# Check migration status
python -c "from hacs_persistence import get_migration_status; print(get_migration_status())"
📊 Performance
- Resource Operations: <50ms for standard CRUD
- Vector Queries: <100ms for similarity search
- Batch Operations: 1000+ records per second
- Memory Footprint: Minimal overhead
🔐 Security Features
- Connection Encryption - SSL/TLS support
- Role-based Access - Healthcare provider permissions
- Audit Trails - Complete operation logging
- Data Isolation - Organization-specific schemas
🛠️ Advanced Usage
Vector Operations
# Store clinical embedding
adapter.store_vector(
resource_id="patient_123",
embedding=[0.1, 0.2, ...], # Clinical text embedding
metadata={"type": "patient", "department": "cardiology"}
)
# Similarity search
similar_patients = adapter.vector_search(
query_embedding=[0.1, 0.2, ...],
resource_type="patient",
top_k=5
)
Batch Operations
# Bulk insert for large datasets
patients = [Patient(...) for _ in range(1000)]
results = adapter.bulk_save(patients)
📄 License
Apache-2.0 License - see LICENSE for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hacs_persistence-0.4.3.tar.gz.
File metadata
- Download URL: hacs_persistence-0.4.3.tar.gz
- Upload date:
- Size: 30.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff31cee332a1a85662728de73fbbcffd8967038fb58a1fa49f69b274e8b199f8
|
|
| MD5 |
7263eecb1e790b3af370f42aa1455ebb
|
|
| BLAKE2b-256 |
f60c68f4d0c37475b595253ebcf2fa72186ae19cfc682705f5ae9cfffd000c81
|
File details
Details for the file hacs_persistence-0.4.3-py3-none-any.whl.
File metadata
- Download URL: hacs_persistence-0.4.3-py3-none-any.whl
- Upload date:
- Size: 35.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
616f05db6c3fdf4c3c1d23f09a4835ce7fde4ec80fc2c2637af4bbc904fc4671
|
|
| MD5 |
8be961500151aa7f6a0577b0632833f0
|
|
| BLAKE2b-256 |
13f9f4e51a7c6c7b55da6a1c4fa9fee55eb096300a6448e13b97be0e475de6d7
|