#Медицинские величины
В бланке врача много полей с измерениями: температура, давление, пульс, рост, вес, результаты анализов. Чтобы МИС получила такое значение числом и записала его без разбора, полю нужны тип, единица измерения, число знаков после запятой и допустимые границы. Подбирать их для каждого поля самому долго, и легко ошибиться. Если, например, не задать границы, оговорка «триста семьдесят пять градусов» попадёт в карту как температура 375.
Пресет — это готовое описание такой величины. В нём уже заданы тип, единица и границы, которые подходят большинству бланков. Если в вашей МИС что-то устроено иначе, своё значение можно указать прямо у поля, см. Свои значения поверх пресета.
Укажите preset, и поле готово. type, unit, precision, min и max smartica.ai подставит сама.
{"id": "temp", "label": "Температура", "preset": "body_temperature"}
В протоколе такое поле приходит числом, как обычный decimal.
{"id": "temp", "value": 37.8}
#Все величины
preset |
Величина | Значение | Границы |
|---|---|---|---|
body_temperature |
Температура тела | decimal, °C, 1 знак |
30–45 |
bp_systolic |
АД систолическое | integer, мм рт. ст. |
40–300 |
bp_diastolic |
АД диастолическое | integer, мм рт. ст. |
20–200 |
blood_pressure |
АД одной строкой | string, «120/80» |
как у двух выше |
heart_rate |
ЧСС | integer, уд/мин |
20–300 |
pulse_rate |
Пульс | integer, уд/мин |
20–300 |
respiratory_rate |
ЧДД | integer, в мин |
4–80 |
oxygen_saturation |
Сатурация | integer, % |
50–100 |
body_height |
Рост | integer, см |
20–260 |
body_weight |
Вес | decimal, кг, 1 знак |
0,3–400 |
bmi |
ИМТ | decimal, кг/м², 1 знак |
8–100 |
head_circumference |
Окружность головы | decimal, см, 1 знак |
20–70 |
waist_circumference |
Окружность талии | integer, см |
30–250 |
hip_circumference |
Окружность бёдер | integer, см |
40–250 |
chest_circumference |
Окружность груди | decimal, см, 1 знак |
20–200 |
abdominal_circumference |
Окружность живота | integer, см |
30–250 |
fundal_height |
Высота дна матки | integer, см |
5–50 |
intraocular_pressure |
Внутриглазное давление | integer, мм рт. ст. |
1–80 |
glucose |
Глюкоза | decimal, ммоль/л, 1 знак |
0,5–50 |
hemoglobin |
Гемоглобин | integer, г/л |
20–250 |
leukocytes |
Лейкоциты | decimal, ×10⁹/л, 1 знак |
0,1–500 |
platelets |
Тромбоциты | integer, ×10⁹/л |
1–3000 |
esr |
СОЭ | integer, мм/ч |
1–150 |
cholesterol_total |
Общий холестерин | decimal, ммоль/л, 2 знака |
1–20 |
cholesterol_ldl |
ЛПНП | decimal, ммоль/л, 2 знака |
0,1–25 |
cholesterol_hdl |
ЛПВП | decimal, ммоль/л, 2 знака |
0,1–5 |
triglycerides |
Триглицериды | decimal, ммоль/л, 2 знака |
0,1–100 |
hba1c |
HbA1c | decimal, %, 1 знак |
3–20 |
creatinine |
Креатинин | integer, мкмоль/л |
10–2000 |
egfr |
СКФ | integer, мл/мин/1,73 м² |
1–200 |
alt |
АЛТ | decimal, Ед/л, 1 знак |
1–10000 |
ast |
АСТ | decimal, Ед/л, 1 знак |
1–10000 |
potassium |
Калий | decimal, ммоль/л, 1 знак |
1–12 |
tsh |
ТТГ | decimal, мМЕ/л, 3 знака |
0–500 |
crp |
СРБ | decimal, мг/л, 1 знак |
0–600 |
inr |
МНО | decimal, 2 знака |
0,5–10 |
Границы — физиологически возможные значения, а не нормы. 39,5 °C или 70 % сатурации попадут в протокол. 375 °C — это оговорка или ошибка распознавания, и поле придёт в skipped с причиной out_of_range.
ЧСС и пульс — разные величины. При аритмии они расходятся, поэтому heart_rate и pulse_rate заполняются каждый своим числом.
Внутриглазное давление меряют на каждом глазу. Сделайте два поля с intraocular_pressure, а глаз укажите в label: «ВГД OD» и «ВГД OS».
У анализа одна единица. Если врач назвал другую, например глюкозу в мг/дл, smartica.ai её не пересчитывает. Такое число обычно выходит за границы и приходит в skipped с текстом врача.
#Свои значения поверх пресета
Что вы указали у поля сами, остаётся вашим:
min,max,precisionиunitзаменяют значения пресета."max": 60у ЧДД заменит границу 80.typeуказывать не нужно. Если укажете, у показателя он может бытьintegerилиdecimal, уblood_pressure— толькоstring. Например, рост с десятыми —"type": "decimal", "precision": 1.- Если
typeне подходит пресету, ответ422, например «preset body_temperature несовместим с type text.». - Если
unitтой же природы, что у пресета, границы пересчитываются в неё. Вес с"unit": "г"получитmin300 иmax400000. Если единица smartica.ai незнакома, границ у поля не будет.
Проверка бланка возвращает поле уже с подставленными значениями.
{
"id": "temp",
"label": "Температура",
"type": "decimal",
"preset": "body_temperature",
"min": 30,
"max": 45,
"precision": 1,
"unit": "°C"
}
preset можно указать и у столбца таблицы.
#Давление
В бланках давление записывают по-разному. Подходит любой из трёх вариантов.
Два поля, bp_systolic и bp_diastolic. Из «сто двадцать на восемьдесят» в первое придёт 120, во второе 80.
Одно поле строкой, blood_pressure. value всегда вида 120/80, как бы врач ни произнёс давление. Если верхнее число не больше нижнего или выходит за границы, поле придёт в skipped с причиной out_of_range. Если чисел не два, например в ответе два замера, причина not_a_number, а в text будет то, что сказал врач.
Несколько мест измерения — по отдельному полю на каждое место, место пишется в label.
[
{"id": "bp_right", "label": "АД на правой руке", "preset": "blood_pressure"},
{"id": "bp_left", "label": "АД на левой руке", "preset": "blood_pressure"}
]
[
{"id": "bp_right", "value": "130/85"},
{"id": "bp_left", "value": "125/80"}
]
Если врач назвал давление на двух руках, а в бланке одна пара полей без указания руки, поля могут остаться пустыми. smartica.ai не выбирает руку за врача.
#Коды справочников
Коды помогают сопоставить пресет с полем вашей МИС. В протокол они не передаются. ФНСИ — справочник Минздрава «Витальные параметры» (OID 1.2.643.5.1.13.13.99.2.262).
preset |
ФНСИ | LOINC |
|---|---|---|
body_temperature |
1 | 8310-5 |
bp_systolic |
3 | 8480-6 |
bp_diastolic |
2 | 8462-4 |
blood_pressure |
2 и 3 | 85354-9 |
heart_rate |
4 | 8867-4 |
pulse_rate |
5 | |
respiratory_rate |
7 | 9279-1 |
oxygen_saturation |
6 | 2708-6 |
body_height |
57; длина тела — 51 | 8302-2 |
body_weight |
50 | 29463-7 |
bmi |
10 | 39156-5 |
head_circumference |
52 | 9843-4 |
waist_circumference |
54 | |
hip_circumference |
55 | |
chest_circumference |
226 | 8279-2 |
abdominal_circumference |
74 | |
fundal_height |
75 | 11881-0 |
intraocular_pressure |
60 | 56844-4 |
У анализов есть ещё код ФСЛИ — Федерального справочника лабораторных исследований (OID 1.2.643.5.1.13.13.11.1080). В ФСЛИ тесты различаются по материалу, а врач на приёме его обычно не называет. Поэтому в таблице — самый частый тест: кровь, сыворотка или плазма. Если в вашей МИС анализ привязан к другому тесту того же показателя, берите его.
preset |
ФНСИ | ФСЛИ | LOINC |
|---|---|---|---|
glucose |
768; натощак — 58 | 1003870 | 14749-6 |
hemoglobin |
1017128 | 718-7 | |
leukocytes |
1017979 | 6690-2 | |
platelets |
1017862 | 777-3 | |
esr |
1017847 | 30341-2 | |
cholesterol_total |
59 | 1009463 | 14647-2 |
cholesterol_ldl |
1785 | 1009497 | 22748-8 |
cholesterol_hdl |
1784 | 1009471 | 14646-4 |
triglycerides |
1787 | 1008465 | 14927-8 |
hba1c |
1003847 | 4548-4 | |
creatinine |
1006477 | 14682-9 | |
egfr |
366 | 1016195 | 62238-1 |
alt |
1003599 | 1742-6 | |
ast |
1003623 | 1920-8 | |
potassium |
1005495 | 2823-3 | |
tsh |
1013838 | 3016-3 | |
crp |
1008184 | 1988-5 | |
inr |
1000074 | 6301-6 |