Prescription Validation Integration
Integrate Oneliac's prescription validation service to securely validate prescriptions with drug interaction checking, eligibility verification, and pharmacy confirmation.
Overview
The prescription validator performs comprehensive validation:
- Drug interaction analysis
- Patient eligibility verification
- Cross-chain pharmacy confirmation via LayerZero
- Zero-knowledge proof generation
API Endpoint
POST /api/v1/prescriptions/validate
Request
{
"patient_id": "patient_hash_abc123",
"provider_npi": "1234567890",
"medications": [
{
"ndc_code": "0093-7651-56",
"name": "Metformin",
"strength": "500mg",
"quantity": 90,
"days_supply": 30,
"refills": 11
}
],
"indication": "Type 2 Diabetes",
"pharmacy_npi": "1111111111"
}
Response
{
"validation_status": "approved",
"prescription_id": "rx_abc123",
"checks": {
"drug_interactions": {
"status": "safe",
"interactions_found": 0,
"warnings": []
},
"eligibility": {
"status": "eligible",
"coverage": 90,
"requires_prior_auth": false
},
"pharmacy_confirmation": {
"status": "confirmed",
"estimated_availability": "2025-01-02",
"cross_chain_verified": true
}
},
"zk_proof": {
"proof_data": "0x...",
"public_inputs": ["0x...", "0x..."],
"blockchain_tx": "5dXf..."
}
}
Drug Interaction Database
Oneliac includes an extensive drug interaction database:
from oneliac.prescriptions import DrugInteractionChecker
checker = DrugInteractionChecker()
interactions = checker.check_patient_interactions(
patient_id="patient_abc123",
new_medication="metformin_500mg",
severity_filter="moderate" # minor, moderate, severe
)
for interaction in interactions:
print(f"{interaction.drug1} + {interaction.drug2}: {interaction.severity}")
Implementation Example
from oneliac.prescriptions import PrescriptionValidator
validator = PrescriptionValidator(
api_key="sk_live_...",
network="mainnet"
)
prescription = {
"patient_id": "patient_abc123",
"medications": [
{
"ndc_code": "0093-7651-56",
"name": "Metformin",
"strength": "500mg"
}
],
"provider_npi": "1234567890",
"pharmacy_npi": "1111111111"
}
result = validator.validate(prescription)
if result.validation_status == "approved":
print(f"Prescription approved: {result.prescription_id}")
print(f"Pharmacy can fill on: {result.checks['pharmacy_confirmation']['estimated_availability']}")
elif result.validation_status == "requires_review":
print("Manual review required")
else:
print(f"Validation failed: {result.validation_status}")
LayerZero Cross-Chain Verification
Pharmacy confirmation across multiple blockchains:
from oneliac.prescriptions import CrossChainPharmacyVerifier
verifier = CrossChainPharmacyVerifier()
verification = verifier.verify_pharmacy(
pharmacy_npi="1111111111",
pharmacy_address="0x...",
source_chain="solana",
dest_chains=["ethereum", "polygon"]
)
if verification.confirmed_on_all_chains:
print("Pharmacy verified across all chains")
Error Codes
| Code | Description |
|---|---|
INTERACTION_FOUND | Drug-drug interaction detected |
CONTRAINDICATED | Medication contraindicated for patient |
INELIGIBLE | Patient ineligible for medication |
PHARMACY_ERROR | Pharmacy verification failed |
PROOF_FAILED | ZK proof generation failed |
Callbacks and Webhooks
Set up webhooks for prescription events:
validator.register_webhook(
event="prescription.approved",
url="https://your-system.com/webhooks/prescription"
)
Batch Validation
Validate multiple prescriptions efficiently:
prescriptions = [
{"patient_id": "...", "medications": [...]},
{"patient_id": "...", "medications": [...]},
]
results = validator.validate_batch(prescriptions)
Caching and Performance
Enable caching for faster validation:
result = validator.validate(
prescription,
cache=True,
cache_ttl=3600 # 1 hour
)
Compliance
- NCPDP compliant
- HIPAA secure
- DEA controlled substance verification
- State pharmacy board regulations