Run healthcare AI agents that analyze patient data and predict protein structures in an OpenShell sandbox on DGX Station
This playbook deploys a healthcare AI agent system on your DGX Station. Six agents (one coordinator and five specialists) query patient records, identify clinical care gaps, and predict 3D protein structures. LLM inference (Nemotron 3 Super) and protein-structure prediction (OpenFold3) run on the local GPU, and patient data never passes through a hosted LLM, OpenFold3, or PubChem. An OpenShell sandbox enforces implicit-deny networking, so only a small whitelist of external endpoints — the SMART Health IT FHIR test server, PubChem reference lookups, and viewer CDNs — is reachable for read-only metadata and front-end assets. See the Security table below for the full allowed-endpoint list.
Clinical knowledge lives in editable Markdown skill files. Change a lab threshold, add a drug to a classification list, or update a quality measure definition — it takes effect on the next query, no retraining required.
The system has four layers.
Inference — Nemotron 3 Super (120B MoE) runs locally via Ollama in a Docker container on the DGX Station GPU. No cloud APIs, no data transfer. Inside the sandbox, agents call inference.local, a virtual hostname that OpenShell routes to Ollama over the Docker bridge network.
Orchestration — OpenClaw coordinates five specialist agents. The coordinator receives the user's question, writes and executes Python scripts directly, and delegates to specialists when the query spans multiple domains.
| Agent | Role | Example |
|---|---|---|
| Coordinator | Receives questions, writes Python, executes analysis | "Find all diabetic patients and get their latest HbA1c" |
| patient-data | Finds patients, retrieves demographics and conditions | "Look up patient Aaron697" |
| labs-vitals | Lab results, vitals, blood pressure (component observations) | "Get their latest eGFR and potassium" |
| medications | Active prescriptions, drug class matching | "Which patients are on an ACE inhibitor?" |
| analyst | Python analysis, care gaps, CMS quality measures, charts | "Generate a histogram of A1c values" |
| molecular | 3D protein-ligand visualization via OpenFold3 + PubChem | "Show atorvastatin bound to its target" |
Knowledge — Editable Markdown skill files provide clinical context that agents read at query time. For example, from skills/clinical-knowledge/SKILL.md:
| Lab | Normal | Concerning | Notes |
|---|---|---|---|
| HbA1c | < 7.0% (diabetic target) | > 9.0% = poor control | ADA 2024 guidelines |
| eGFR | > 90 | < 60 = moderate CKD | CKD-EPI 2021 equation |
| BP | < 120/80 | ≥ 140/90 = uncontrolled HTN | ACC/AHA 2024 |
Change 9.0% to 8.5% and the next care gap query uses the stricter threshold. Other editable items include LOINC lab codes (fhir-basics), SNOMED condition codes, drug classification lists, and CMS quality measure definitions (clinical-knowledge).
Security — OpenShell enforces an implicit-deny sandbox. Only these endpoints are reachable:
| Rule | Target | Purpose |
|---|---|---|
| LLM inference | https://inference.local (port 443) | Routed to Ollama (never leaves the machine). HTTPS only — plain http://inference.local is denied. |
| FHIR data | r4.smarthealthit.org | Patient data queries (read-only) |
| PubChem | pubchem.ncbi.nlm.nih.gov | Drug SMILES lookup (read-only) |
| OpenFold3 | Docker bridge IP, port 8000 | Protein structure prediction |
| CDN | code.jquery.com, 3dmol.org, unpkg.com | JavaScript for 3D viewers (read-only) |
| Everything else | * | Denied |
NOTE
Additional rules for GitHub, npm, and PyPI are included for build dependencies during sandbox setup. These are setup-only and not used at runtime.
Patient data flows from FHIR → sandbox → Python execution. It never passes through the LLM, OpenFold3, or PubChem.
By the end of this playbook you will have six healthcare agents running inside a sandboxed environment on your DGX Station, with local inference, editable clinical knowledge, and verified network isolation.
docker run, docker compose)Hardware Requirements:
/ for model downloads and containers (86 GB Ollama model + ~10 GB Docker images + working space). Verify with df -h / before starting.Software Requirements:
docker info --format '{{.ServerVersion}}'node --version (DGX Station ships with v18 — see Step 1 of instructions.md for upgrade)openshell --version (binary installs to ~/.local/bin/openshell — add to PATH; see Step 1 of instructions.md)nvcr.io (docker login nvcr.io) so the OpenFold3 NIM image pull succeeds — see Step 2 of instructions.mdnvcr.io (NGC registry), ollama.com (model downloads), and r4.smarthealthit.org (FHIR data server)http://<STATION_IP>:18789NOTE
This playbook runs Ollama as a Docker container; you do not need to install Ollama on the host. If host Ollama is already running (e.g., from the NemoClaw playbook), stop it before Step 3 of instructions.md to free port 11434, or override OLLAMA_PORT in .env.
If Docker, the NVIDIA runtime, or OpenShell are not yet installed, complete the NemoClaw playbook (nvidia/station-nemoclaw/instructions.md) Steps 1–4 first (~30–45 minutes).
All assets are bundled in the assets/ directory of this playbook, copied to the DGX Station in Step 2.
Makefile — One-command operations: make up, make setup, make check, make testsandbox-policy.yaml — OpenShell network policy (L7 endpoint whitelist)skills/ — Editable Markdown skill files the agents read at query timeagents/ — Specialist agent definitions (one .md per agent)docker-compose.yml — Ollama and OpenFold3 NIM servicesSupporting scripts (setup_sandbox.sh, check_sandbox_config.sh, build_viewer.py) are called by the Makefile.
openshell sandbox delete clinical-sandbox, make down, make clean (see Cleanup in Instructions).Use only a clean environment. Run this demo on a fresh device or VM with no personal data, confidential information, or sensitive credentials. Keep it isolated like a sandbox.
By installing this demo, you accept responsibility for all third-party components, including reviewing their licenses, terms, and security posture. Read and accept before you install or use.
This experience is provided "AS IS" for demonstration purposes only — no warranties, no guarantees. This is a demo, not a production-ready solution. It is not a regulated medical device. Test data is synthetic (Synthea). All clinical decisions must be made by qualified clinicians.
By participating in this demo, you acknowledge that you are solely responsible for your configuration and for any data, accounts, and tools you connect. To the maximum extent permitted by law, NVIDIA is not responsible for any loss of data, device damage, security incidents, or other harm arising from your configuration or use of these demo materials, including OpenClaw or any connected tools or services.