Skip to main content
MOISSCode

The distance between what a scientist knows and what they can build should be zero.

MOISSCode bridges biomedical expertise and production-grade software. 20 modules for clinical decision support, pharmacokinetics, lab interpretation, and research publishing. One language.

ℹ️ PROFESSIONAL USE | Outputs are intended for qualified professionals and should be validated before clinical application.
WBC18.5 K/uLLactate3.2 mmol/LGFR45 mL/minHgb8.2 g/dLPlt150 K/uLSpO294 %Troponin0.8 ng/mLK+5.2 mEq/LNa+138 mEq/LCreatinine2.1 mg/dLBNP450 pg/mLINR1.1Glucose210 mg/dLCRP48 mg/LpH7.32pCO248 mmHgWBC18.5 K/uLLactate3.2 mmol/LGFR45 mL/minHgb8.2 g/dLPlt150 K/uLSpO294 %Troponin0.8 ng/mLK+5.2 mEq/LNa+138 mEq/LCreatinine2.1 mg/dLBNP450 pg/mLINR1.1Glucose210 mg/dLCRP48 mg/LpH7.32pCO248 mmHg
20
Modules
100+
PK Drugs
80+
Lab Tests
8
Journal Formats
R4
FHIR
Extensible
For Everyone

Built for Scientists. Engineered for Impact.

MOISSCode lets biomedical researchers, clinicians, and biotech engineers build production-grade tools using clinical language they already know. No programming background required.

🧬
Researchers
Run pharmacokinetic simulations, genomic analyses, and statistical models. Publish results directly to journal-ready papers.
let gfr = med.lab.gfr(1.4, 55, "M");
🩺
Clinicians
Write clinical protocols that validate drug doses, interpret labs, and generate billing codes. All in plain English syntax.
administer Vancomycin dose: 1.0 g;
🔬
Biotech Engineers
Automate lab workflows, connect FHIR systems, and track patient data with built-in privacy compliance.
let bundle = med.fhir.bundle(p);

Write what you mean. The engine handles the rest.

The Problem

Why MOISSCode?

General-purpose languages were never designed for clinical workflows. See the difference.

sepsis_protocol.pyPython
import numpy as np
from scipy import integrate

# Manual SOFA calculation
def calc_sofa(bp, platelets, bili,
              gcs, creat, fio2):
    score = 0
    if bp < 70: score += 4
    elif bp < 100: score += 1
    if platelets < 20: score += 4
    elif platelets < 50: score += 3
    # ... 30+ more lines ...
    return score

# Manual drug lookup
DRUGS = {"Norepinephrine": {
    "max": 0.5, "unit": "mcg/kg/min"
}}

# No built-in safety check
# No interaction validation
# No audit trail
# No billing integration
# No FHIR export
# No lab interpretation
# Manual everything...
~35 lines for basic scoring alone
sepsis_screen.moissMOISSCode
protocol SepsisScreen {
    input: Patient p;

    let score = med.scores.sofa(p);
    track p.lactate using KAE;

    if score >= 2 {
        administer Norepinephrine
            dose: 0.1 mcg/kg/min;
        alert "Sepsis detected!"
            severity: critical;
    }

    med.finance.bill("99291");
    assess p for sepsis;
}
8 lines with safety, billing, and tracking built in
🚫
No Drug Safety
General-purpose languages have zero dose validation. MOISSCode blocks toxic doses across 100+ drugs automatically.
🔧
Fragmented Tooling
Researchers duct-tape 15 libraries together. MOISSCode ships 20 validated modules as one cohesive system.
🧩
No Clinical Types
Python has no concept of a Patient, a dose, or a lab result. MOISSCode has all of these natively.
🔄
Reproducibility
Ad-hoc research code breaks between labs. MOISSCode protocols are declarative, auditable, and FHIR-compatible.
Capabilities

20 Modules. One System.

Everything a clinician or biotech engineer needs, out of the box

💊
100+ Drug PK Engine
Full ADME profiles with weight-based dosing, interaction checking, plasma curves, TDM, and a custom drug registry.
🧪
80+ Lab Tests
CBC, BMP, CMP, lipid, iron, tumor markers, and more. Auto-flagging with age/sex-adjusted reference ranges across 15 panels.
🧬
20 Medical Modules
Scores, PK, labs, micro, genomics, biochem, epi, nutrition, FHIR, I/O, billing, research, chemistry, signals, ICD, and papers.
📝
English-Like Syntax
Clinical protocols that read like plain English. Zero boilerplate, zero framework overhead, pure clinical intent.
🐍
Extensible by Design
Add custom drugs, lab tests, organisms, patient fields. Every module has a registry API for your own data.
🤖
AI-Ready Documentation
Dedicated LLM integration guide. ChatGPT, Claude, and Copilot can generate correct MOISSCode protocols directly.
Examples

Write Protocols, Not Boilerplate

MOISSCode reads like clinical intent. The engine handles everything else.

sepsis_screen.moiss
protocol SepsisScreen {
    input: Patient p;
    let score = med.scores.qsofa(p);
    track p.lactate using KAE;

    if score >= 2 {
        administer Norepinephrine
            dose: 0.1 mcg/kg/min;
        alert "Sepsis detected!"
            severity: critical;
    }

    assess p for sepsis;
}
Sepsis screening with qSOFA scoring
lab_workup.moiss
protocol LabWorkup {
    input: Patient p;

    let wbc = med.lab.interpret(
        "WBC", 18.5
    );
    let hgb = med.lab.interpret(
        "Hgb", 8.2
    );
    let gfr = med.lab.gfr(2.1, 68, "M");

    if gfr < 30 {
        alert "Severe renal impairment"
            severity: critical;
    }
}
Lab interpretation with GFR assessment
drug_screen.moiss
import med.chem;

protocol DrugScreen {
    input: Patient p;

    let result = med.chem.screen(
        "Aspirin"
    );
    let lipinski = med.chem.lipinski(
        180.16, 1.19, 1, 4
    );

    if lipinski.drug_like {
        alert "Compound passes"
            severity: info;
    }
}
Drug-likeness screening with Lipinski
micro_workup.moiss
import med.micro;

protocol InfectionWorkup {
    input: Patient p;

    type Isolate {
        organism: str;
        mic: float;
        antibiotic: str;
    }

    med.micro.susceptibility(
        "e_coli", "Cipro", 0.25
    );
}
Microbiology with custom types
Get Started

Zero to Production

New to coding? No problem. Two paths to building with MOISSCode.

1
Copy our AI docs
Our For-AI documentation teaches any LLM to write correct MOISSCode protocols.
// Feed this to ChatGPT, Claude, or Copilot
2
Ask your AI
Describe what you need in plain English. The AI generates valid MOISSCode using our documentation as context.
"Write a protocol to screen for sepsis"
3
Run your protocol
Execute directly with the MOISSCode CLI. Built-in validation catches errors before runtime.
$ moiss run my_protocol.moiss -v
Publishing

Research to Publication

Generate journal-ready papers from your MOISSCode analysis. No LaTeX knowledge required.

📊
Run Analysis
protocol DrugTrial {
  input: Patient p;
  let pk = med.pk.validate_dose(
      "Vancomycin", 1.0, "g");
  let gfr = med.lab.gfr(
      1.4, 55, "M");
  med.research.randomize(
      100, 2);
}
📄
Generate Paper
med.papers.generate(
  title: "Vancomycin Dosing
    in Renal Impairment",
  format: "ieee",
  sections: [
    abstract, methods,
    results, discussion
  ]
);
📰
Journal-Ready
IEEE
Vancomycin Dosing Optimization in Renal Impairment: A Pharmacokinetic Analysis
Generated by MOISSCode v3.0.0
Abstract

From data to publication in one pipeline. Citations, figures, and formatting handled automatically.

Ready to build?

Free for research. Pro for production.

$ pip install -e .


🔓 Open Source📄 BSL 1.1 Licensed📚 Research-Grade
Aethryva Deeptech