Un laboratoire a une seule mission dans une intégration : intégrer le rapport dans le dossier du patient sans retaper, sans perdre la plage de référence et sans inventer un format que personne d'autre ne lit. Le connecteur de laboratoire Anpheros prend le rapport tel que le laboratoire le produit déjà, en HL7 v2, CSV ou JSON, et transforme chaque résultat en une Observation FHIR avec un code LOINC, une unité, une plage de référence, une date et le laboratoire nommé comme exécutant. Ce guide est le contrat.
Version technique pour les développeurs : Connecteur de laboratoire · API des résultats de laboratoire sur developers.anpheros.com, avec les requêtes, les réponses et les limites. Cette page est la version en langage clair.
Une requête
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 (optionnel ; enregistré dans Provenance)
Idempotency-Key: <report id> (optionnel ; une nouvelle tentative renvoie la même réponse)
La réponse indique ce qui s'est passé :
{"created": 3, "skipped": 0, "unmapped": ["Marker très rare"], "warnings": [],
"observations": [{"id": "…", "marker": "TSH", "code": "3016-3", "system": "http://loinc.org",
"value": 2.1, "unit": "mUI/L", "date": "2026-09-01"}]}
Formats
HL7 v2 ORU^R01, en texte ER7. OBX-3 est l'identifiant (code^texte^LN est LOINC ; un code local est conservé comme code propre au laboratoire), OBX-5 la valeur, OBX-6 l'unité, OBX-7 la plage de référence, OBX-8 le drapeau anormal (devient interpretation), OBX-11 le statut, OBX-14 ou OBR-7 la date. MSH-4 nomme l'établissement émetteur, qui devient l'exécutant ; OBR-3 et MSH-10 deviennent l'identifiant du rapport dans Provenance. Les résultats en attente, supprimés ou erronés (I, X, D, W) et les segments OBX sans valeur ne deviennent pas des Observations et sont nommés dans warnings.
CSV avec une ligne d'en-tête ; séparateurs , ; ou tabulation, virgule décimale acceptée, dates ISO, DD.MM.YYYY ou DD/MM/YYYY. Colonnes reconnues en roumain ou en anglais : marker, value, unit, reference range (70-100, <5, >3.5) ou ref_low/ref_high, date, code LOINC optionnel, note. Un CSV ne transporte pas de laboratoire, donc l'exécutant est manquant à moins que vous n'envoyiez X-Anpheros-Acting-As.
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
JSON lorsque vous avez déjà des données structurées : {"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, "code": "3016-3"}]}.
Règles de mappage importantes
- LOINC quand il est fourni, sinon par nom. Les noms sont comparés aux noms et synonymes LOINC en roumain et en anglais. Un nom qui correspond à plusieurs concepts, ou qui porte un qualificateur que le concept n'a pas (urine, non-HDL, libre, ratio), n'est pas deviné : il conserve le code du laboratoire sous
urn:anpheros:lab-codeet apparaît dansunmapped, afin que vous puissiez améliorer le mappage de votre côté. Envoyez des codes LOINC chaque fois que vous les avez. - Les valeurs ne sont jamais converties. L'urée et l'azote uréique sont des codes différents ; le LDL direct et le LDL calculé sont des codes différents ; le glucose du sérum et le glucose du sang capillaire sont des codes différents. Le connecteur choisit le bon à partir du nom et de la méthode, et laisse le nombre tel quel.
- Les heures conservent leur fuseau horaire. Une heure v2 avec un décalage est conservée ; sans décalage, le décalage de
MSH-7est utilisé avec un avertissement ; sans décalage nulle part, seule la date est stockée. Les heures CSV n'ont pas de fuseau horaire et sont stockées comme des dates. - Idempotent. Envoyez le même rapport deux fois avec la même
Idempotency-Keyet vous obtiendrez la même réponse et aucun doublon. - Provenance sur chaque résultat : le système source, l'identifiant du rapport et l'exécutant, comme l'exige la norme HL7 Europe Laboratory Report.
Ce que le patient voit
Les résultats apparaissent dans le dossier de la personne et, s'ils utilisent Anpheros Daily, sur leur téléphone dès leur arrivée, avec la plage de référence et la tendance par rapport aux rapports précédents. Rien à scanner, rien à retaper. Si un résultat est anormal, la personne voit le drapeau ; l'application ne l'interprète pas.
Tests
Le sandbox est gratuit et les patients synthétiques ont déjà un historique de laboratoire. Envoyez un rapport à l'un d'eux et relisez-le :
curl -X POST "$BASE/v1/patients/$PID/labs/import" -H "Authorization: Bearer $KEY" \
-H "Content-Type: text/csv" --data-binary @report.csv
curl "$BASE/fhir/R4/Observation?patient=$PID&category=laboratory&_sort=-date" -H "Authorization: Bearer $KEY"
La spécification complète, y compris les notes de conformité HL7 Europe, se trouve sur developers.anpheros.com/guides/lab-connector.
Questions fréquentes
Devons-nous modifier ce que notre LIS produit ?
Non. Envoyez le message ORU^R01 ou l'export CSV tel quel. Si vous pouvez ajouter des codes LOINC, faites-le ; sinon, le connecteur mappe par nom et vous indique ce qu'il n'a pas pu mapper.
Qu'en est-il des résultats que vous ne pouvez pas mapper ?
Ils sont stockés avec le code propre au laboratoire et le texte exact du rapport, donc rien n'est perdu, et ils sont listés dans unmapped afin que vous puissiez ajouter un code LOINC la prochaine fois.
Les plages de référence et les drapeaux anormaux sont-ils conservés ?
Oui : la plage va à referenceRange, le drapeau à interpretation, l'unité est stockée en UCUM, et la valeur n'est jamais convertie.
Un laboratoire peut-il envoyer des résultats pour un patient qu'il n'a pas créé ?
Uniquement avec le consentement de la personne, ou en tant qu'organisation pour laquelle le projet agit avec X-Anpheros-Acting-As. Un projet voit les patients qu'il a créés ; tout le reste nécessite une autorisation.
L'intégration a-t-elle un coût ?
Le sandbox est gratuit. La production commence à 49 € par mois par organisation, avec le premier mois gratuit ; voir tarifs.
Gardez votre dossier médical avec vous
Anpheros Daily conserve symptômes, analyses, médicaments et documents au même endroit, dans un format standard, sous votre contrôle. Le plan Basic est gratuit.