Eclipse Open Integration Engine
Open Integration Engine (OIE) is a free, open source healthcare integration engine. Community-driven, vendor-independent, and fully compatible with Mirth Connect.
翻訳待ち
Self-hosted health data engine: lab reports, wearables and genetic files in one record, and an agent that cites its sources.
翻訳待ち
Loading the full README.
Read the full README ↗Mirror your body in data.
One standard, every source, one complete picture of you — building a lasting record to understand where your health is going. This open-source edition keeps that record on your own machine: lab reports, wearables and genetic files flow into it, and your AI agent can query it over MCP.
▶ Live demo · Try one command · Open in Codespaces · 100% local
| You want to | Start here | What you need |
|---|---|---|
| Standardize names and units, in a terminal or inside your AI agent | One command | uv; no model or API key |
| Try the full app in your browser | GitHub Codespaces | A GitHub account and your own model API key |
| Keep the app, models and records on your machine | 100% local with Docker | Docker with Compose; 16 GB memory; no API key |
| Keep the app and records on your machine, without Docker | No Docker | Debian or Ubuntu; PostgreSQL 16; Python 3.12; your own model API key |
| Use it on your own records with nothing to run | Try Mirobody in Theta Web, or in the Theta mobile app | An account |
With uv installed, paste this into your terminal:
uvx --python 3.12 mirobody resolve "LDL cholesterol" 血红蛋白 ヘモグロビン "Total Kolesterol" 血脂
No repository clone, Docker, model or API key. uv prepares Python and the package for you; the first run needs a network connection to download them. The resolver then works offline from the bundled vocabulary.
血红蛋白 and ヘモグロビン both resolve to 718-7. 血脂 stays unresolved: it names a category, not one test. The same engine standardizes names and units across the full app.
Give the same engine to your AI agent. In Claude Code:
claude mcp add mirobody -- uvx --python 3.12 mirobody mcp
Your agent can then standardize any name, reading, unit or complaint you paste, on your machine and without a key. Reading a whole report also needs mirobody[parse] and a model key. Other MCP clients take the same command.
→ Use the engine from Python or MCP
Run the web app in your browser with your own model API key. GitHub prepares the environment; you do not need to install Docker or Python on your computer.
[email protected], code 111111, on the Email code tab. Ask "How has my cholesterol changed?" The demo holds 2,019 readings across your record and [email protected]'s, shared with you view-only.demo/upload/ on the Data page to see a new report join the record, or switch to mom's record and ask again.The app and its records run in GitHub's cloud; the model service receives the documents and questions it processes. Use the included synthetic data to explore. Codespaces has usage limits and billing; model usage is billed by your model provider. Stop the codespace when you finish. For complete control on your own machine, use the local route below.
The app, records and models all run on your own machine. No model API key needed. Docker with Compose starts the stack and llama.cpp, with a small answering model and a document reader:
git clone --depth 1 https://github.com/thetahealth/mirobody.git && cd mirobody
COMPOSE_PROFILES=local-cpu ./deploy.sh
Allow 16 GB of memory, at least 8 GB of it for Docker. No GPU is required; on Windows, run the commands in a WSL 2 terminal. The first start needs a network connection to download container images and model weights. If the registry is not reachable from your network, deploy.sh says so and retries through a mirror; DOCKER_MIRROR in .env names your own. After those downloads, document reading, standardization and answers run locally. CPU answers can take minutes; Mac, NVIDIA and Windows options explain how to use your GPU.
Open the app link the script prints. The local models are already selected; sign in with the same demo account above, ask a question or upload a sample. Which model to choose compares the local options.
This is the beginning of the README. Read the rest at the original. Read the full README ↗