type: subproject
parent: med-detective
name: Med Detective — Filtrum
slug: med-detective-filtrum
status: deployed-pending-review
readiness_pct: 80
brand: Filtrum (ентеросорбент, виробник AVVA-RUS / Schönen дистриб'ютор Deltamedical)
crm_target: Creatio (via proxy.medizine.ua)
url: https://medetective.deltamedicalservices.online/filtrum-14052026/
port: 8775
redis_db: 5
products: [filtrum-gastro, filtrum-lite]
created: 2026-04-25
last_updated: 2026-05-14
Med Detective — Filtrum variant
Окрема брендована форма Med Detective під SKU Filtrum (ентеросорбент). Ключова відмінність — лід-дані передаються напряму у CRM Creatio Deltamedical через webhook/API (а не у загальний lead-капчер).
Deployment log
2026-05-14 — URL-інстанція /filtrum-14052026/ розгорнута (pending coordinator review)
Розгорнуто кампанійну URL-інстанцію Med Detective для Filtrum з CRM-інтеграцією.
- URL:
https://medetective.deltamedicalservices.online/filtrum-14052026/
- MP-макрос:
?MP=380637141986 — телефон ліда передається в CRM
- Порт: 8775 (ТЗ вказувало 8770, але він зайнятий — узгоджене відхилення)
- Redis DB: 5
- systemd:
med-detective-filtrum.service — enabled + active, WorkingDirectory=/srv/projects/med-detective/ (спільний код з бойовою інстанцією)
- Caddy:
/etc/caddy/conf.d/med-detective-filtrum.caddy — handle /filtrum-14052026/* → reverse_proxy 127.0.0.1:8775, host Caddy перезавантажено (reload), конфіг провалідовано
- ALLOWED_CASES:
case_02_ibs — інстанція показує лише ШКТ-кейс
- CRM:
CRM_ENABLED=true, proxy https://proxy.medizine.ua/, WebFormId 1e8ad1e0-4f3b-46b9-85f0-947465fec559. Лід сабмітиться асинхронно через _executor у /api/diagnose (не блокує відповідь лікарю)
- Код:
backend/main.py отримав env-gated CRM-логіку (backward-compatible, дефолти вимкнені) + frontend/index.html читає MP з URL і передає mp_phone у /api/start. Бекапи: main.py.bak-pre-filtrum, index.html.bak-pre-filtrum
- Верифікація: local health 8775 ok; через host Caddy
:8190 — сторінка 200, redirect 301, /api/cases повертає лише case_02_ibs. Бойова med-detective (8765) та інші інстанції (8766/8768/8769) не зачеплені, відповідають 200
- Статус: очікує (1) фінального
systemctl restart med-detective координатором, щоб прод підхопив backward-compatible main.py; (2) налаштування public-caddy (Docker) для проксі path-route на host Caddy — це pre-existing infra-gap, що стосується всіх path-based med-detective інстанцій (menopace/fables так само 404 на публічному домені)
Meta
Why окрема форма:
- CRM Creatio — у Deltamedical є власна CRM (creatio.com), у яку треба передавати лідів-лікарів напряму через webhook/API. Це не universal capture — тільки для Filtrum-кампанії.
- Бренд-стиль Filtrum — якщо main має Schönen-стиль (синьо-білий), Filtrum-форма має брендуватись окремо (помаранч).
- Кейси під травлення — focus на ШКТ-кейси (atopic_child, ibs, food_poisoning), бо Filtrum = ентеросорбент.
Status (2026-05-05):
- 🔴 БЛОКОВАНО — чекає 2 умови:
- ⏳ Куплено домен (Сергій купив через Hostiq, чекає DNS-handoff на Cloudflare)
- ❌ Пройдено whitelist у CRM Creatio (без свого домена не вийде)
- 🟡 На диску форма НЕ існує ще (тільки кейс concepts)
- 🟢 Кейс-контент частково:
case_04 atopic_child — JSON є, prompt ще нема
Stakeholders:
- Owner: Сергій
- CRM-side: TBD (хтось у Deltamedical має доступ до Creatio admin для whitelist)
Архітектура (planned)
Lead capture flow (відрізняється від main)
[Лікар проходить кейс]
↓
[Введення email + спеціальність + ЛПР подія]
↓
[Webhook → CRM Creatio API]
↓
[Картка ліда у Creatio: email, спеціальність, кейс, час, score]
Замість leads.json чи Supabase — POST у Creatio Person/Lead endpoint з token.
Бренд-стиль
- Кольори: фірмовий Filtrum-помаранч (TBD з brand book)
- Логотип: Filtrum pack-shot замість Schönen-banner
- Тон копії: «розв'яжемо випадок з підозрою на отруєння» замість generic-Schönen
Кейси (focus травлення)
- case_04 atopic_child — алергія + ШКТ — JSON є, prompt TODO
- ibs (запальні розлади ШКТ) — concept
- food_poisoning_acute — concept
- medication_diarrhea — concept (антибіотик-асоційована)
- (опційно) bloating_chronic — для Filtrum-Lite SKU
Blockers (поточні)
🟡 1. Власний домен
- Чому потрібен: CRM Creatio whitelist приймає лише власні домени, не Caddy raw IP
- Домен:
deltamedicalservices.online ✅ куплено Сергієм 2026-05-05 на Hostiq. Subdomain для Filtrum: filtrum.deltamedicalservices.online (TBD).
- Сergій: додав на Cloudflare як site
- Стан DNS (2026-05-05 12:33 UTC): NS все ще
dns1.hostiq.ua / dns2.hostiq.ua, A-record паркінг 31.131.22.61 (не наш VPS)
- Action Сергія: на Hostiq-кабінеті змінити NS на Cloudflare-пару → чекати поширення
- Action VPS Claude (після поширення): налаштувати Caddy для filtrum subdomain → SSL via Let's Encrypt
🔴 2. Creatio whitelist
- Чому потрібен: API Creatio приймає запити лише з whitelisted IP/domain
- Що треба: ServiceUser у Creatio + API token + IP whitelisting на VPS (31.131.26.203)
- Хто може: TBD (Сергій уточнить хто має admin Creatio)
🟡 3. Кейс-контент
- 4-5 ШКТ-кейсів (зараз тільки case_04 атопічна дитина частково готовий)
- Делегувати Case Builder Crew (наш AI-команда) генерувати + Сергій review gate
Що готове / частково
- 🟢 Pack-shot Filtrum:
/srv/projects/med-detective*/frontend/static/products/filtrum-gastro.webp
- 🟢 Brand awareness: Filtrum продукт відомий, на medizine.ua
- 🟡 case_04 atopic_child: JSON config є, prompt не написаний
- 🔴 form-folder
/srv/projects/med-detective-filtrum/ — НЕ створено
- 🔴 Caddy config — TBD
- 🔴 systemd unit — TBD
- 🔴 Creatio webhook code — TBD
Open questions
- Хто у Deltamedical має Creatio admin для whitelist + API token?
- Бренд-book Filtrum: primary color (помаранч?), font, mood — від маркетингу
- Лід-form fields: окрім email + спеціальність — телефон, місто, ЛПЗ?
- CME-сертифікат: Filtrum-форма видає CME як main? Чи лише lead-capture?
- Кейси: Case Builder Crew генерує одразу 4 кейси чи по одному?
Roadmap
| Етап |
Що |
Хто |
Заблокований |
| 1 |
Купити домен deltamedicalservices.online |
Сергій |
✅ done 2026-05-05 |
| 2 |
Додати на Cloudflare |
Сергій |
✅ done 2026-05-05 |
| 3 |
DNS NS Hostiq → Cloudflare-пара |
Сергій |
в процесі (потрібна дія в Hostiq-кабінеті) |
| 4 |
A-records у Cloudflare (@/*/www → 31.131.26.203, Proxy OFF) |
Сергій або VPS Claude (якщо матиму API-токен) |
NS поширення |
| 5 |
Caddy для filtrum subdomain |
VPS Claude |
DNS |
| 4 |
Запросити Creatio whitelist + API token |
Сергій + Creatio admin |
домен |
| 5 |
Brand book Filtrum + UI mockup |
Сергій / маркетинг |
— |
| 6 |
Кейси (4-5) через Case Builder Crew + review gate |
VPS Claude + Сергій |
— |
| 7 |
Form code + Creatio webhook integration |
VPS Claude |
Creatio API token |
| 8 |
Smoke test + soft launch на 5-10 лікарях |
Сергій |
вся попередня ланка |
Cross-references