From 7d339dce87fb10214392accfa04c85884ca87361 Mon Sep 17 00:00:00 2001 From: dmitriylaukhin Date: Sat, 27 Jun 2026 12:15:00 +0500 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BF=D1=80=D0=B5=D0=B7=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=B0=20=D0=B8=20=D0=BE=D1=82=D1=87=D1=91=D1=82=20=D0=BE?= =?UTF-8?q?=20=D0=BA=D0=B0=D1=87=D0=B5=D1=81=D1=82=D0=B2=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/quality_report.json | 15 +++ pitch/day1/index.html | 191 +++++++++++++++++++++++++++++++++++++ pitch/deck/fetch-reveal.sh | 11 +++ pitch/deck/index.html | 140 +++++++++++++++++++++++++++ 4 files changed, 357 insertions(+) create mode 100644 docs/quality_report.json create mode 100644 pitch/day1/index.html create mode 100644 pitch/deck/fetch-reveal.sh create mode 100644 pitch/deck/index.html diff --git a/docs/quality_report.json b/docs/quality_report.json new file mode 100644 index 0000000..1c07a49 --- /dev/null +++ b/docs/quality_report.json @@ -0,0 +1,15 @@ +{ + "documents": 10, + "partners": 8, + "items": 8871, + "auto_matched": 6555, + "auto_matched_pct": 73.9, + "unmatched": 2316, + "by_method": { + "code": 1414, + "exact": 167, + "embedding": 4903, + "fuzzy": 71, + "null": 2316 + } +} \ No newline at end of file diff --git a/pitch/day1/index.html b/pitch/day1/index.html new file mode 100644 index 0000000..9f7786e --- /dev/null +++ b/pitch/day1/index.html @@ -0,0 +1,191 @@ + + + + + + +MedArchive — итоги дня 1 + + + + + + + + +
+
+ + +
+ ● Medtech · Terricon Valley · день 1 +

MedArchive — итоги первого дня

+

Автоматическая обработка архива прайсов клиник-партнёров.
Отчёт перед трекером · 26.06.2026

+

● работает в проде: med.secondbrain.tools

+
+ + +
+

Что сделано за день

+

Собран и развёрнут сквозной конвейер — от сырого архива до живого интерфейса.

+
+ архив (PDF/скан/DOCX/XLSX) + извлечение + нормализация + валидация + БД + API + UI сравнения +
+
+
8 871позиций извлечено
+
73,9%нормализовано авто (цель ≥70%)
+
8 / 10клиник / файлов
+
liveразвёрнуто на домене
+
+
+ + +
+

Стек технологий

+ + + + + + + + + + +
СлойРешение
ИзвлечениеPython · pdfplumber, PyMuPDF, openpyxl/xlrd, python-docx
Vision-доборGemini gemini-2.5-flash (по API)
Нормализациякаскад + эмбеддинги Gemini gemini-embedding-001
Валидацияправила ТЗ §4.4 (цена, тарифы, аномалии, версии)
ХранилищеSQLite (MVP) · PostgreSQL + pgvector (боевая схема)
APIFastAPI · 7 эндпоинтов + /stats + Swagger
Фронтодностраничный (Tailwind) · поиск и сравнение цен
ДеплойDocker (контейнер API) за Caddy · Selectel KZ
+
+ + +
+

Ключевые инженерные решения

+
    +
  • PDF без линий таблиц → реконструкция по координатам слов (обычный парсер таблиц их не находит).
  • +
  • Эмбеддинги через Gemini API, не локальный torch → лёгкий контейнер, не упирается в RAM на VPS.
  • +
  • Битый слой / скан → Gemini Vision по картинке. Чистое берут парсеры, трудное добирает Vision.
  • +
  • Порог 0,70 + очередь unmatched: услуг нет в справочнике → на ручную разметку (ТЗ §4.3).
  • +
  • SQLite для MVP (без Docker), боевая схема Postgres + pgvector — наготове.
  • +
+
+ + +
+

Нормализация: каскад

+
+ код тарификатора + точное совпадение + эмбеддинги Gemini + нечёткое (fuzzy) + очередь unmatched +
+ + + + + + + + +
МетодПозицийКомментарий
код тарификатора1 414точное, бесплатно — где клиника указала код
точное имя167совпадение нормализованного названия
эмбеддинги4 903семантическая близость названий
fuzzy71запасной сигнал
→ авто всего6 555 (73,9%)цель ТЗ ≥70% взята
в очередь оператора2 316ручная разметка (ТЗ §4.3)
+
+ + +
+

Готовность по ТЗ

+ + + + + + + + + + + +
Раздел%Состояние
§2 Форматы на вход90PDF/скан/DOCX/XLSX/XLS + справочник
§3 Схема БД (4 сущности)80есть; БИН/город/контакты пока не извлекаются
§4.1 Загрузка архива55CLI-конвейер; загрузки ZIP в UI нет
§4.2 Извлечение по формату85работает; tracked-changes неявно
§4.3 Нормализация90каскад + порог + unmatched, 73,9%
§4.4 Валидация + верификация60валидация ✅; UI верификации неполный
§4.5 API907 эндпоинтов + /stats + Swagger
§4.6 Интерфейс70поиск+сравнение+дашборд; нет загрузки/разметки
§7 Что сдаём65БД/отчёт/OpenAPI/README ✅; слайды-каркас, видео нет
+
+ + +
+

Готовность по рубрике оценки

+ + + + + + + +
Критерий жюривессделано
Качество извлечения данных30%~85%
Нормализация и сопоставление25%~90%
Валидация и верификация20%~60%
API и поиск15%~90%
UX административного раздела10%~65%
+

≈ 80% по рубрике · общая готовность по ТЗ ≈ 75% · плюс бонус — живой деплой, которого ТЗ не требует.

+
+ + +
+

Что осталось (план дня 2)

+
    +
  • Экран верификации оператора — главный пробел (вес 20%): оригинал + извлечённое + подтвердить / исправить / сопоставить.
  • +
  • Загрузка ZIP-архива через интерфейс (§4.1) — сейчас CLI.
  • +
  • Полный прогон Vision по трудным клиникам (3, 5, 2-2025) — больше охват и качество.
  • +
  • Упаковка к защите: слайды с цифрами, демо-видео.
  • +
  • Мелочи: извлечение БИН/города, явная обработка tracked-changes.
  • +
+
+ + +
+

День 1: продукт работает целиком

+

Собран и развёрнут весь путь — от сырого архива до живого интерфейса.
+ Ядро (55% оценки: извлечение, нормализация, валидация) проверено на реальных данных.
+ Дальше — экран верификации, загрузка архива через интерфейс, упаковка к защите.

+

+ Демо — med.secondbrain.tools
+ документация API — med.secondbrain.tools/api/docs

+
+ +
+ + + + + diff --git a/pitch/deck/fetch-reveal.sh b/pitch/deck/fetch-reveal.sh new file mode 100644 index 0000000..f86b50c --- /dev/null +++ b/pitch/deck/fetch-reveal.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# Вендорит reveal.js локально (чтобы презентация не зависела от CDN на сцене). +set -euo pipefail +V=5.1.0 +B="https://cdn.jsdelivr.net/npm/reveal.js@${V}" +mkdir -p reveal/dist/theme reveal/plugin/notes reveal/plugin/highlight +curl -fsSL "$B/dist/reveal.css" -o reveal/dist/reveal.css +curl -fsSL "$B/dist/reveal.js" -o reveal/dist/reveal.js +curl -fsSL "$B/dist/theme/white.css" -o reveal/dist/theme/white.css +curl -fsSL "$B/plugin/notes/notes.js" -o reveal/plugin/notes/notes.js +echo "reveal.js ${V} vendored into ./reveal/" diff --git a/pitch/deck/index.html b/pitch/deck/index.html new file mode 100644 index 0000000..0aa3a22 --- /dev/null +++ b/pitch/deck/index.html @@ -0,0 +1,140 @@ + + + + + + +MedPrice — питч + + + + + + + +
+
+ + +
+ ● Medtech · Terricon Valley +

Прайсы клиник — хаос форматов

+

Десятки клиник-партнёров. Каждая шлёт прайс по-своему: Excel, скан, фото на телефон, на разных языках.

+

Свести это вручную в единый прайс для ДМС и сравнения — недели работы и ошибки в цене для пациента.

+ +
+ + +
+

Решение

+

Система, которая автоматически читает прайс в любом формате и превращает архив в единую актуальную базу цен — с поиском и сравнением между клиниками.

+ +
+ + +
+ 🔴 живое демо +

Хаос на входе → сравнимая таблица за минуту

+
▶︎ ПЕРЕКЛЮЧИТЬСЯ НА ПРИЛОЖЕНИЕ
(fallback: видео demo.mp4)
+

Сценарий по секундам — в pitch/demo-script.md. Перетащить пёструю пачку → одна кнопка → поиск сводит RU/KZ/EN → клик по low-confidence → экспорт.

+ +
+ + +
+

Как это работает

+
+ Excel · PDF · скан · фото · .doc + ИИ-извлечение + нормализация услуг + единый каталог + поиск · сравнение · экспорт +
+
    +
  • Один путь на любой формат, языки KAZ / RUS / ENG.
  • +
  • Confidence-score + флаги «проверить вручную» + ссылка на оригинал — доверие к медданным.
  • +
+ +
+ + +
+

Эффект

+
+
часы → минутыонбординг прайса клиники
+
N%строк распознано автоматически
+
<X%на ручную проверку
+
+

Административная автоматизация — самый окупаемый сегмент medtech AI. [вставить цифры после прогона на данных]

+ +
+ + +
+

Бизнес и масштаб

+
    +
  • Кому: страховщик с ДМС, сеть клиник, мед-маркетплейс.
  • +
  • Кейс 1 = data-движок Кейса 2 (агрегатор и сравнение цен) → монетизация.
  • +
  • Масштаб: десятки клиник → сотни по РК → СНГ.
  • +
+

Язык Terricon: экспорт, продажи, масштаб. Это не скрипт-парсер, а продукт.

+ +
+ + +
+

Из архива хаоса —
сравнительный прайс за минуту

+

Дальше за неделю: доменный справочник услуг РК · интеграция в CRM страховщика.

+

Регуляторно безопасно: публичные коммерческие прайсы, не данные пациентов. Собрано за 48 ч в связке с ИИ-агентами.

+ +
+ +
+ + + + + +