Skip to main content

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​

CodeDescription
INTERACTION_FOUNDDrug-drug interaction detected
CONTRAINDICATEDMedication contraindicated for patient
INELIGIBLEPatient ineligible for medication
PHARMACY_ERRORPharmacy verification failed
PROOF_FAILEDZK 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