Skip to main content

Open JSON standard and Python SDK for deterministic lab report normalization

Project description

MedLabs Standard

MedLabs Standard объединяет:

  • standard/ — открытый JSON-стандарт лабораторных панелей
  • sdk/python/medlabs_sdk/ — Python SDK для детерминированного пайплайна

Пайплайн SDK: ingest -> extract -> normalize -> map -> validate.

Миссия

  • Стандарт: привести результаты лабораторных отчетов к единому, машинно-читабельному JSON-контракту.
  • Библиотека: дать простой и воспроизводимый способ получить этот контракт из текста/PDF, независимо от конкретного LLM-провайдера.

Quick Start

1) Установка

Для работы из репозитория:

uv sync --extra providers --extra dev

После публикации в PyPI:

pip install "medlabs-standard[providers]"

2) Настройка переменных окружения

cp .env.example .env

Минимально нужны:

  • OPENAI_API_KEY
  • OPENAI_MODEL (можно оставить дефолт)

Опционально:

  • MEDLABS_SAMPLE_PDF для examples/parse_pdf.py

MedLabsPipeline() автоматически читает переменные из окружения процесса и .env/.env.local по всей иерархии директорий (ближайший к текущей директории файл имеет приоритет).

3) Запуск examples

uv run --extra dev python examples/validate_standard_fixtures.py
uv run --extra dev python examples/pipeline_with_mock_llm.py
uv run --extra providers python examples/parse_text.py --panel CBC
uv run --extra providers python examples/parse_pdf.py --panel CBC

4) Минимальный код

from medlabs_sdk import MedLabsPipeline

pipeline = MedLabsPipeline()
result = pipeline.parse_text("WBC 5,4 x10^9/L (4.0-10.0)", panel="CBC")
print(result.validation.is_valid, len(result.validation.issues))

Детали примеров: examples/README.md. Flow пайплайна: docs/flow.md.

Проверка качества

uv run --extra dev ruff check .
uv run --extra dev pytest -q

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

medlabs_standard-0.1.1.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

medlabs_standard-0.1.1-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file medlabs_standard-0.1.1.tar.gz.

File metadata

  • Download URL: medlabs_standard-0.1.1.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for medlabs_standard-0.1.1.tar.gz
Algorithm Hash digest
SHA256 dd177ed57b96737f7cea464a582dc688848681220dff4a692a53fda5e99e0598
MD5 c8de02298200ac1b1d374084bf53d4dd
BLAKE2b-256 1c60c722f0ef46ba10463386c8f1ac7d926b71b17433820ddc933078a023d1d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for medlabs_standard-0.1.1.tar.gz:

Publisher: python-publish.yml on Devenir-Glorieux/medlabs-standard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medlabs_standard-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for medlabs_standard-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b9d6bd55ca0358c20983e951dc51110d29d33b738add001a0729777a6e4d23ed
MD5 cfc68abc1a5b384e79664020ad9e603f
BLAKE2b-256 12bb2b76bec04a6c433c0c386c90386351e38a26a8b8f4ea30283e41c63821c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for medlabs_standard-0.1.1-py3-none-any.whl:

Publisher: python-publish.yml on Devenir-Glorieux/medlabs-standard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page