Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Лабораторный коннектор
Отправьте полный лабораторный отчет в формате CSV, HL7 v2 ORU^R01 или JSON и получите лабораторные Observations с кодами LOINC и референсными диапазонами.
Лаборатория (или любой, у кого есть лабораторный отчет) отправляет полный отчет в одном запросе, а платформа преобразует каждый результат в лабораторное Observation пациента:
POST /v1/patients/{patient_id}/labs/import
Authorization: Bearer <project key>
Content-Type: text/csv | x-application/hl7-v2+er7 | application/json
X-Anpheros-Source-System: labx (optional; recorded in Provenance)
Idempotency-Key: <report id> (optional; a retry returns the same answer)
Форматы
CSV с заголовком; разделители , ; или табуляция, десятичная запятая принимается, даты в формате ISO,
DD.MM.YYYY или DD/MM/YYYY. Распознаваемые столбцы (румынские или английские): маркер
(analiza, test, marker, name) — или только столбец LOINC code, в этом случае название LOINC становится маркером —
значение (rezultat, valoare, value, result), единица измерения (um, unitate, unit),
референсный диапазон (interval, referinta: 70-100, <5, >3.5) или ref_low/ref_high,
дата (data, recoltare), необязательный LOINC (loinc, code), примечание.
Analiza;Rezultat;UM;Interval de referinta;Data
Hemoglobina glicozilata (HbA1c);6,4;%;4,0-5,6;01.09.2026
TSH;2,1;mUI/L;0,4-4,0;01.09.2026
HL7 v2 ORU^R01 (текст ER7, сегменты разделены CR или LF): идентификатор OBX-3 (code^text^LN
— это LOINC; локальный код (^L, ^99zzz) или любая другая система кодирования сохраняется как собственный код лаборатории под
urn:anpheros:lab-code), OBX-5 значение (NM, SN или текст),
OBX-6 единица измерения, OBX-7 референсный диапазон, OBX-8 флаг аномальности → interpretation, OBX-11 статус,
OBX-14 или OBR-7 дата; OBR-3/MSH-10 становятся идентификатором отчета в Provenance.
Лаборатория. Каждый результат указывает, кто его произвел, в performer, как того требует HL7 Europe Laboratory Report 2.1.0:
организация, от имени которой вы действуете (X-Anpheros-Acting-As), в противном случае MSH-4 (отправляющее учреждение) для HL7, или
laboratory в JSON (верхний уровень или на элемент). CSV не содержит информации о лаборатории; такие результаты считаются действительными при отсутствии
исполнителя, что соответствует действительности.
Текстовые отчеты, документы и отсутствующие даты. Текстовый отчет, отправленный по одной строке на OBX (TX/FT, тот же OBX-3),
преобразуется в один результат с объединенными строками. Целый документ в OBX-5 (ED или любое закодированное значение Base64) не
сохраняется как результат; ответ содержит предупреждение, и документ относится к /documents. При отсутствии OBR-7 результаты датируются по
OBR-14 (получение образца), с предупреждением.
Время и часовые пояса. Время v2 без часового пояса является местным временем отправителя, а не UTC. Смещение, отправленное с
OBX-14/OBR-7 (20260901081000+0300), сохраняется (2026-09-01T08:10:00+03:00). При его отсутствии используется смещение MSH-7,
и об этом выдается предупреждение; при отсутствии смещения в любом месте результат сохраняет только свою дату, также с предупреждением. Время в CSV
(01.09.2026 08:10) не содержит часового пояса, поэтому оно сохраняется только как дата. До 17 октября 2026 года такое время было
обозначено как UTC; результаты, импортированные тогда, сохраняют свои идентификаторы и по-прежнему распознаются при повторной отправке отчета.
Результаты HL7, которые еще ожидаются (OBX-11 I), недоступны (X), удалены (D) или неверны (W), а также сегменты OBX
без значения, не становятся Observations; каждый из них указывается в warnings.
JSON: {"date": "2026-09-01", "origin": "report-77", "laboratory": "Synevo", "items": [{"marker": "TSH", "value": 2.1, "unit": "mUI/L", "ref_low": 0.4, "ref_high": 4.0, "date": "2026-09-01", "code": "3016-3"}]}.
Что вы получаете в ответ
{"created": 3, "skipped": 0, "unmapped": ["Marker foarte rar"], "warnings": [],
"observations": [{"id": "…", "marker": "TSH", "code": "3016-3", "system": "http://loinc.org", "value": 2.1, "unit": "mUI/L", "date": "2026-09-01"}]}
- Маркеры сопоставляются с LOINC, когда отчет предоставляет код LOINC или название совпадает с
терминологией платформы (румынские и английские названия и распространенные псевдонимы). Другие сохраняют код лаборатории под
urn:anpheros:lab-codeс точным текстом из отчета и перечислены вunmapped, чтобы вы могли улучшить сопоставление на своей стороне. Собственный код лаборатории уникален только вместе с ее лабораторией: исходная система записывается в Provenance каждого Observation (X-Anpheros-Source-System). - Названия сопоставляются с названиями и синонимами LOINC (например, Hemoglobin A1c, Glycated hemoglobin,
HDL cholesterol, LDL-C). Название, которое совпадает с несколькими концепциями или несет квалификатор, которого нет у концепции
(urine, non-HDL, free, ratio…), не угадывается: оно сохраняет код лаборатории и перечисляется в
unmapped. Отправляйте коды LOINC, когда ваша система их имеет. - Мочевина и азот мочевины (BUN) — это разные измерения: Uree / Urea сопоставляется с мочевиной (LOINC
3091-6или22664-7в ммоль/л), BUN / Urea nitrogen / Azot ureic — с азотом мочевины (3094-0или14937-7в ммоль/л). Значения никогда не преобразуются. - Холестерин ЛПНП: название без метода сопоставляется с
2089-1; calculated / calculat / Friedewald — с рассчитанным ЛПНП (13457-7); direct — с прямым анализом (18262-6). Метод является квалификатором, например direct в Bilirubina directa, который не является общим билирубином и сохраняет код лаборатории. - Глюкоза: простое "Glicemie" / "Glucose" в лабораторном отчете сопоставляется с сывороткой или плазмой (LOINC
2345-7); название, указывающее на капиллярную кровь, прокол пальца или цельную кровь ("capilar", "sânge integral"), — с цельной кровью (2339-0). Код LOINC в отчете всегда имеет приоритет. - Каждая строка получает стабильный идентификатор (
urn:anpheros:lab-import:v2), построенный на основе данных отчета — идентификатор отчета, название и код в отчете, дата, значение и единица измерения — никогда на основе кода LOINC, выбранного платформой, поэтому повторная отправка того же отчета пропускает уже импортированные строки (skipped), даже после улучшения сопоставления. Строки, отличающиеся по любому из этих параметров (другой отчет, другое время сбора, другое значение), хранятся отдельно. Результаты, импортированные до 14 октября 2026 года, сохраняют свой первоначальный идентификатор и распознаются по названию, дате, значению, единице измерения и идентификатору отчета. Без идентификатора отчета (CSV) такое совпадение сообщается вwarnings; отправьте идентификатор отчета (HL7OBR-3/MSH-10, JSONorigin), чтобы различать отдельные отчеты. - Каждый Observation содержит Provenance с
author_type = import, вашей исходной системой и идентификатором отчета; вебхуки срабатываютresource.createdна каждый Observation; пациент видит результаты в своем приложении, и любое приложение, на которое он дал согласие, может их прочитать. - До 500 строк за запрос.
Оба SDK: labs.importCsv, labs.importHl7, labs.importItems.
Практический пример преобразования данных из CSV и отчета HL7 v2 в FHIR Observations, с несовпавшими маркерами и повторно отправленными отчетами: Как импортировать лабораторные результаты в запись FHIR.
Как лабораторные данные перемещаются между лабораториями, клиниками, приложениями и ИИ, и на что обратить внимание в API лабораторных результатов: API лабораторных результатов.
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card