terra-vantage

Order diagnostic tests and deliver FHIR results through the Terra Vantage API.

Updated Sep 2, 2026
One-click install
npx skills add https://github.com/tryterra/agent-skills --skill terra-vantage-tryterra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: terra-vantage
Source: https://github.com/tryterra/agent-skills/tree/main/skills/terra-vantage
Command: npx skills add https://github.com/tryterra/agent-skills --skill terra-vantage-tryterra

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Integrating at-home and lab-based diagnostic testing requires coordinating product catalogs, order placement, kit logistics, webhook-driven status tracking, and compliance-mandated result acknowledgment, all of which are easy to get wrong without authoritative guidance on the Terra Vantage API. ## Core Features & Use Cases - Order-to-Results Workflow: Walks the full lifecycle from browsing the three-level product catalog (types, products, variants) through placing orders with the correct AT_HOME or GO_TO_LAB collection method to fetching FHIR-format results via presigned URLs. - Webhooks and Sandbox Testing: Covers HMAC-SHA256 signature verification, at-least-once delivery with deduplication on event_id, and the simulate endpoint for driving any lifecycle event including failure paths in sandbox. - Compliance-Critical Acknowledgment: Explains the mandatory, user-triggered results acknowledgment step that gates patient access and transfers liability if skipped. - Use Case: A healthcare platform wants to let users order blood tests shipped to their homes, track fulfillment via webhooks, and display lab results in-app; this Skill guides the agent through each endpoint, gotcha, and compliance requirement. ## Quick Start Use the terra-vantage skill to place a sandbox order for a blood test variant and simulate its lifecycle through to results_ready.

Frequently Asked Questions about terra-vantage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I order an at-home blood test with the Terra Vantage API?

Browse the three-level catalog with GET /api/v1/products down to variants, then POST /api/v1/orders with a variant_id, quantity, recipient, and collection_type AT_HOME with a shipping_address. Send an Idempotency-Key header so retried creations do not double-order.

How do I verify Terra Vantage webhook signatures?

Webhooks carry an X-Terra-Signature header formatted t=<unix_seconds>,v1=<hex>. Compute HMAC-SHA256 over "{t}.{raw_body}" with your signing secret and compare in constant time; the timestamp is in seconds, not milliseconds, and you must use the raw request body.

What is the difference between AT_HOME and GO_TO_LAB collection types?

AT_HOME ships a self-collection kit to the recipient's shipping_address, while GO_TO_LAB routes the sample draw to a lab site near the requested_lab_address. Use GET /api/v1/labs?zip_code= to offer nearby draw sites and bind the choice via requested_lab on order creation.

Why are my Vantage order IDs corrupted in JavaScript?

Order, item, recipient, and test-taker IDs are 64-bit snowflakes serialized as JSON strings. Parsing them as numbers loses precision in JavaScript, so always keep them as strings; catalog reads still return numeric ids.

Is acknowledging Vantage test results mandatory?

Yes, acknowledgment is mandatory and must be triggered by an explicit end-user action after viewing results, never automatically by your backend. Skipping it blocks patient access, transfers liability to your organization, and lets suppliers contact patients directly after the acknowledgment_due_by deadline.

How do I test the Vantage order lifecycle in sandbox?

Use POST /api/v1/orders/{orderID}/simulate with an event name to apply any lifecycle transition, including failure paths like sample_rejected, with the signed webhook delivered. Alternatively the sandbox supplier auto-progresses orders on timers after browser-based kit activation.