medical-unit-converter

Convert medical laboratory values between units (mg/dL to mmol/L, etc.) with formula transparency and clinical reference ranges. Supports glucose, cholesterol, creatinine, and hemoglobin conversions.

53 stars

Best use case

medical-unit-converter is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Convert medical laboratory values between units (mg/dL to mmol/L, etc.) with formula transparency and clinical reference ranges. Supports glucose, cholesterol, creatinine, and hemoglobin conversions.

Teams using medical-unit-converter should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/medical-unit-converter/SKILL.md --create-dirs "https://raw.githubusercontent.com/aipoch/medical-research-skills/main/scientific-skills/Other/medical-unit-converter/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/medical-unit-converter/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How medical-unit-converter Compares

Feature / Agentmedical-unit-converterStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Convert medical laboratory values between units (mg/dL to mmol/L, etc.) with formula transparency and clinical reference ranges. Supports glucose, cholesterol, creatinine, and hemoglobin conversions.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
# Medical Unit Converter

Convert laboratory values between clinical units with formula transparency and reference range context. Supports glucose, cholesterol, creatinine, and hemoglobin.

## When to Use

- Converting glucose, cholesterol, creatinine, or hemoglobin lab values between unit systems
- Verifying unit conversions for clinical documentation or research
- Batch-converting lab result tables between mg/dL and mmol/L conventions
- Providing reference ranges alongside converted values

## Workflow

1. Confirm the user objective, required inputs, and non-negotiable constraints before doing detailed work.
2. Validate that the request matches the documented scope and stop early if the task would require unsupported assumptions.
3. Use the packaged script path or the documented reasoning path with only the inputs that are actually available.
4. Return a structured result that separates assumptions, deliverables, risks, and unresolved items.
5. If execution fails or inputs are incomplete, switch to the fallback path and state exactly what blocked full completion.

## Supported Conversions

| Analyte | From | To | Factor | Reference Range (target unit) |
|---------|------|----|--------|-------------------------------|
| Glucose | mg/dL | mmol/L | 0.0555 | 3.9–5.6 mmol/L (fasting) |
| Glucose | mmol/L | mg/dL | 18.018 | 70–100 mg/dL (fasting) |
| Cholesterol | mg/dL | mmol/L | 0.02586 | < 5.2 mmol/L (desirable) |
| Cholesterol | mmol/L | mg/dL | 38.67 | < 200 mg/dL (desirable) |
| Creatinine | mg/dL | μmol/L | 88.4 | 62–115 μmol/L (male) |
| Creatinine | μmol/L | mg/dL | 0.01131 | 0.7–1.3 mg/dL (male) |
| Hemoglobin | g/dL | g/L | 10 | 130–175 g/L (male) |
| Hemoglobin | g/L | g/dL | 0.1 | 13–17.5 g/dL (male) |

## Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `--value`, `-v` | float | Yes | Numeric value to convert |
| `--from-unit` | str | Yes | Source unit (e.g., `mg_dl`, `mmol_l`, `umol_l`, `g_dl`, `g_l`) |
| `--to-unit` | str | Yes | Target unit |
| `--analyte`, `-a` | str | No | Analyte name for reference range lookup (e.g., `glucose`, `cholesterol`, `creatinine`, `hemoglobin`) |

## Output Format

```json
{
  "converted_value": 5.55,
  "formula": "100 × 0.0555",
  "from_unit": "mg_dl",
  "to_unit": "mmol_l",
  "analyte": "glucose",
  "reference_range": "3.9–5.6 mmol/L (fasting glucose)"
}
```

## Quick Check

```bash
python -m py_compile scripts/main.py
python scripts/main.py --value 100 --from-unit mg_dl --to-unit mmol_l --analyte glucose
```

## Implementation Notes (for script developer)

The script must:

1. **Parse CLI args** — use argparse with `--value`, `--from-unit`, `--to-unit`, `--analyte`. Pass parsed args to `conv.convert()`. Do not hardcode demo values in `main()`.
2. **CONVERSIONS dict** — include all 8 conversion pairs above, each with `factor` and `reference_range` fields. Keys must be `(analyte, from_unit, to_unit)` tuples or equivalent nested structure.
3. **convert() method** — return a dict with `converted_value`, `formula`, `from_unit`, `to_unit`, `analyte`, `reference_range`.
4. **Unsupported pair** — if the unit pair is not in CONVERSIONS, print the supported conversions list and exit with code 1.
5. **Fallback Partial result** — when an unsupported unit pair is requested, always populate the `Partial result` field in the Fallback Template with: `"Manual formula not available for this unit pair"`.

## Input Validation

This skill accepts: numeric laboratory values with a source unit and target unit for conversion between recognized clinical measurement systems.

If the request does not involve converting a specific numeric lab value between units — for example, asking to interpret clinical results, diagnose conditions, or convert non-laboratory quantities — do not proceed. Instead respond:

> "medical-unit-converter is designed to convert medical laboratory values between unit systems. Your request appears to be outside this scope. Please provide a numeric value with source and target units, or use a more appropriate tool for your task."

## Error Handling

- If `--value`, `--from-unit`, or `--to-unit` is missing, state exactly which fields are missing and request only those.
- If the unit pair is not supported, list the supported conversions and stop.
- If `--value` is not a valid number, reject with: `Error: --value must be a numeric value.`
- If the task goes outside the documented scope, stop instead of guessing or silently widening the assignment.
- If `scripts/main.py` fails, report the failure point and provide the manual conversion formula as fallback.
- Do not fabricate conversion factors or reference ranges.

## Fallback Template

When execution fails or inputs are incomplete, respond with this structure:

```
FALLBACK REPORT
───────────────────────────────────────
Objective      : [restate the conversion goal]
Blocked by     : [exact missing input or error]
Partial result : [manual formula if conversion factor is known; "Manual formula not available for this unit pair" if unsupported]
Next step      : [minimum action needed to unblock]
───────────────────────────────────────
```

## Response Template

1. Objective
2. Inputs Received
3. Assumptions
4. Workflow
5. Deliverable
6. Risks and Limits
7. Next Checks

## Prerequisites

No additional Python packages required beyond the standard library.

Related Skills

medical-case-report-generator

53
from aipoch/medical-research-skills

Generates a patient-friendly medical case report tweet from case images and disease name. Use when the user provides a medical case image and wants a structured report or tweet.

medical-case-interpreter

53
from aipoch/medical-research-skills

Generates compliant medical case report articles for WeChat.

chemical-structure-converter

53
from aipoch/medical-research-skills

Convert between IUPAC names, SMILES strings, molecular formulas, and common names for chemical compounds. Supports SMILES validation, batch processing, structure standardization, and cheminformatics database preparation for drug discovery workflows.

unstructured-medical-text-miner

53
from aipoch/medical-research-skills

Mine unstructured clinical text from MIMIC-IV to extract diagnostic logic.

upset-plot-converter

53
from aipoch/medical-research-skills

Convert complex Venn diagrams with more than 4 sets to clearer Upset.

medical-translation

53
from aipoch/medical-research-skills

Use medical translation for academic writing workflows that need structured execution, explicit assumptions, and clear output boundaries.

medical-scribe-dictation

53
from aipoch/medical-research-skills

Convert physician verbal dictation into structured SOAP notes. Trigger.

medical-email-polisher

53
from aipoch/medical-research-skills

Transforms rough email drafts into polished, professional medical correspondence.

medical-device-mdr-auditor

53
from aipoch/medical-research-skills

Audit medical device technical files against EU MDR 2017/745 regulations.

medical-research-gap-to-study-planner

53
from aipoch/medical-research-skills

Converts an audited medical research gap into a complete, structured, gap-traceable study design. Always use this skill whenever a user already has one or more candidate research gaps and wants to transform them into an executable biomedical research plan rather than re-run broad topic ideation. Covers six gap-to-design patterns (evidence-completion, mechanism-resolution, cell-state/context-mapping, translation-bridge, causality-upgrade, population/stage-specific) and always outputs one recommended primary protocol, a gap-to-design dependency map, step-by-step workflow, figure plan, validation strategy, minimal executable version, publication upgrade path, and verified design-support literature rules. Never fabricate references. Preserve claim-evidence discipline and do not replace a topic-specific gap with a generic workflow.

medical-research-algorithm-matcher

53
from aipoch/medical-research-skills

Matches a user’s biomedical research direction, disease problem, study aim, data modality, and resource constraints to the most relevant recent algorithms and method papers. Always search real recent algorithm literature first, prioritize the last 12 months, expand to 1–3 years only when needed, and add canonical baselines only when necessary. Every formal algorithm recommendation must include the verified primary method paper, plus published downstream papers that actually cite/use the algorithm when such papers are found, with DOI when available. Never fabricate papers, algorithm names, authors, journals, years, DOI, PMID, links, or benchmark claims. If no directly verified algorithm paper is found, say so explicitly.

medical-topic-saturation-and-whitespace-checker

53
from aipoch/medical-research-skills

Maps whether a biomedical research topic, subtopic, or study angle is truly saturated, superficially crowded, strategically occupied, or still open for differentiated entry. Use this skill when a user wants to know whether a hot medical research direction is already overworked, whether meaningful whitespace remains, whether major groups have already occupied the obvious claims, and whether the timing window is still open. Always distinguish popularity from true saturation, and distinguish cosmetic novelty from meaningful differentiating entry.