Για προγραμματιστές

Σύνδεση εργαστηρίου: πώς μια εργαστηριακή αναφορά σε HL7 v2, CSV ή JSON μετατρέπεται σε FHIR Observations με ένα αίτημα

Πώς να συνδέσετε ένα εργαστήριο με το αρχείο ενός ασθενούς: ένα POST με ολόκληρη την αναφορά (HL7 v2 ORU^R01, CSV ή JSON), αποτελέσματα αντιστοιχισμένα με LOINC με μονάδες, εύρη αναφοράς και το εργαστήριο ως πάροχο, μη αντιστοιχισμένοι δείκτες αναφέρονται πίσω. Ο σύνδεσμος εργαστηρίου Anpheros, με τους κανόνες που εφαρμόζει.

από Δημοσιεύτηκε 4 λεπτά ανάγνωσης

Ένα εργαστήριο έχει μία δουλειά στην ενσωμάτωση: να εισάγει την αναφορά στο αρχείο του ασθενούς χωρίς επανεισαγωγή, χωρίς απώλεια του εύρους αναφοράς και χωρίς επινόηση μιας μορφής που κανείς άλλος δεν διαβάζει. Ο σύνδεσμος εργαστηρίου Anpheros λαμβάνει την αναφορά όπως την παράγει ήδη το εργαστήριο, σε μορφή HL7 v2, CSV ή JSON, και μετατρέπει κάθε αποτέλεσμα σε Observation FHIR με κωδικό LOINC, μονάδα μέτρησης, εύρος αναφοράς, ημερομηνία και το εργαστήριο ονομασμένο ως εκτελεστή. Αυτός ο οδηγός είναι η σύμβαση.

Τεχνική έκδοση για προγραμματιστές: Σύνδεσμος εργαστηρίου · API αποτελεσμάτων εργαστηρίου στο developers.anpheros.com, με αιτήματα, απαντήσεις και όρια. Αυτή η σελίδα είναι η έκδοση σε απλή γλώσσα.

Ένα αίτημα

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        (προαιρετικό; καταγράφεται στο Provenance)
Idempotency-Key: <report id>          (προαιρετικό; μια επανάληψη δίνει την ίδια απάντηση)

Η απάντηση λέει τι συνέβη:

{"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"}]}

Μορφές

HL7 v2 ORU^R01, ως κείμενο ER7. Το OBX-3 είναι ο αναγνωριστικός κωδικός (code^text^LN είναι LOINC; ένας τοπικός κωδικός διατηρείται ως ο δικός του κωδικός του εργαστηρίου), το OBX-5 η τιμή, το OBX-6 η μονάδα, το OBX-7 το εύρος αναφοράς, το OBX-8 η σημαία ανωμαλίας (γίνεται interpretation), το OBX-11 η κατάσταση, το OBX-14 ή OBR-7 η ημερομηνία. Το MSH-4 ονομάζει την αποστέλλουσα εγκατάσταση, η οποία γίνεται ο εκτελεστής. Τα OBR-3 και MSH-10 γίνονται το αναγνωριστικό της αναφοράς στο Provenance. Τα αποτελέσματα που είναι σε αναμονή, διαγραμμένα ή λανθασμένα (I, X, D, W) και τα τμήματα OBX χωρίς τιμή δεν γίνονται Observations και αναφέρονται στα warnings.

CSV με γραμμή κεφαλίδας. Διαχωριστές , ; ή tab, δεκαδικό κόμμα αποδεκτό, ημερομηνίες ISO, DD.MM.YYYY ή DD/MM/YYYY. Αναγνωριζόμενες στήλες στα Ρουμανικά ή στα Αγγλικά: marker, value, unit, reference range (70-100, <5, >3.5) ή ref_low/ref_high, date, προαιρετικός κωδικός LOINC, note. Ένα CSV δεν μεταφέρει εργαστήριο, οπότε ο εκτελεστής λείπει, εκτός αν στείλετε 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 όταν έχετε ήδη δομημένα δεδομένα: {"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"}]}.

Κανόνες αντιστοίχισης που έχουν σημασία

  • LOINC όταν δίνεται, αλλιώς κατά όνομα. Τα ονόματα αντιστοιχίζονται με ονόματα και συνώνυμα LOINC στα Ρουμανικά και στα Αγγλικά. Ένα όνομα που αντιστοιχεί σε πολλές έννοιες, ή φέρει έναν προσδιοριστή που δεν έχει η έννοια (ούρα, μη-HDL, ελεύθερο, λόγος), δεν μαντεύεται: διατηρεί τον κωδικό του εργαστηρίου κάτω από το urn:anpheros:lab-code και εμφανίζεται στο unmapped, ώστε να μπορείτε να βελτιώσετε την αντιστοίχιση από την πλευρά σας. Στείλτε κωδικούς LOINC όποτε τους έχετε.
  • Οι τιμές δεν μετατρέπονται ποτέ. Η ουρία και το άζωτο ουρίας είναι διαφορετικοί κωδικοί. Η LDL απευθείας και η LDL υπολογισμένη είναι διαφορετικοί κωδικοί. Η γλυκόζη από ορό και από τριχοειδές αίμα είναι διαφορετικοί κωδικοί. Ο σύνδεσμος επιλέγει τον σωστό από το όνομα και τη μέθοδο, και αφήνει τον αριθμό ως έχει.
  • Οι ώρες διατηρούν τη ζώνη τους. Μια ώρα v2 με μετατόπιση διατηρείται. Χωρίς μετατόπιση, χρησιμοποιείται η μετατόπιση του MSH-7 με προειδοποίηση. Χωρίς μετατόπιση πουθενά, αποθηκεύεται μόνο η ημερομηνία. Οι ώρες CSV δεν φέρουν ζώνη και αποθηκεύονται ως ημερομηνίες.
  • Αντιμετώπιση ατέρμονων επαναλήψεων (Idempotent). Στείλτε την ίδια αναφορά δύο φορές με το ίδιο Idempotency-Key και θα λάβετε την ίδια απάντηση και όχι διπλότυπα.
  • Provenance σε κάθε αποτέλεσμα: το σύστημα πηγής, το αναγνωριστικό της αναφοράς και ο εκτελεστής, όπως απαιτείται από το HL7 Europe Laboratory Report.

Τι βλέπει ο ασθενής

Τα αποτελέσματα εμφανίζονται στο αρχείο του ατόμου και, αν χρησιμοποιούν το Anpheros Daily, στο τηλέφωνό τους μόλις φτάσουν, με το εύρος αναφοράς και την τάση σε σχέση με προηγούμενες αναφορές. Τίποτα για σάρωση, τίποτα για επανεισαγωγή. Εάν ένα αποτέλεσμα είναι ανώμαλο, το άτομο βλέπει τη σημαία. η εφαρμογή δεν το ερμηνεύει.

Δοκιμές

Το sandbox είναι δωρεάν και οι συνθετικοί ασθενείς έχουν ήδη ιστορικό εργαστηριακών εξετάσεων. Στείλτε μια αναφορά σε έναν από αυτούς και διαβάστε την ξανά:

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"

Η πλήρης προδιαγραφή, συμπεριλαμβανομένων των σημειώσεων συμμόρφωσης HL7 Europe, βρίσκεται στο developers.anpheros.com/guides/lab-connector.

Συχνές ερωτήσεις

Πρέπει να αλλάξουμε αυτό που παράγει το LIS μας;

Όχι. Στείλτε το μήνυμα ORU^R01 ή την εξαγωγή CSV όπως είναι. Αν μπορείτε να προσθέσετε κωδικούς LOINC, κάντε το. Διαφορετικά, ο σύνδεσμος αντιστοιχίζει κατά όνομα και σας ενημερώνει για ό,τι δεν μπόρεσε να αντιστοιχίσει.

Τι γίνεται με τα αποτελέσματα που δεν μπορείτε να αντιστοιχίσετε;

Αποθηκεύονται με τον δικό τους κωδικό του εργαστηρίου και το ακριβές κείμενο από την αναφορά, οπότε τίποτα δεν χάνεται, και αναφέρονται στο unmapped ώστε να μπορείτε να προσθέσετε έναν κωδικό LOINC την επόμενη φορά.

Διατηρούνται τα εύρη αναφοράς και οι σημαίες ανωμαλίας;

Ναι: το εύρος πηγαίνει στο referenceRange, η σημαία στο interpretation, η μονάδα αποθηκεύεται ως UCUM και η τιμή δεν μετατρέπεται ποτέ.

Μπορεί ένα εργαστήριο να στείλει αποτελέσματα για έναν ασθενή που δεν δημιούργησε;

Μόνο με τη συγκατάθεση του ατόμου, ή ως ο οργανισμός για τον οποίο ενεργεί το έργο με το X-Anpheros-Acting-As. Ένα έργο βλέπει τους ασθενείς που δημιούργησε. οτιδήποτε άλλο απαιτεί άδεια.

Υπάρχει κόστος για την ενσωμάτωση;

Το sandbox είναι δωρεάν. Η παραγωγή ξεκινά από 49 € το μήνα ανά οργανισμό, με τον πρώτο μήνα δωρεάν. δείτε τιμολόγηση.

Αυτός ο οδηγός παρέχεται για ενημερωτικούς σκοπούς και δεν αντικαθιστά την ιατρική συμβουλή. Για αποφάσεις σχετικά με την υγεία σας, μιλήστε με τον γιατρό σας. Σε περίπτωση έκτακτης ανάγκης, καλέστε το 112.
Σχετικά με τον συγγραφέα
Adrian Kereky

Founder of Anpheros. An electronics engineer, he spent six years in autonomous driving, on automotive projects run in partnership with Samsung and NVIDIA, designing the architecture of driver-assistance and AI systems that run on NVIDIA chips with CUDA. He then built Anpheros: the patient-controlled medical record and the HL7 FHIR R4 platform it runs on.

Περισσότερα για το Anpheros και τον συγγραφέα →

Κρατήστε τον ιατρικό σας φάκελο μαζί σας

Το Anpheros Daily κρατά συμπτώματα, εργαστηριακές εξετάσεις, φάρμακα και έγγραφα σε ένα μέρος, σε τυποποιημένη μορφή, υπό τον έλεγχό σας. Το Basic πλάνο είναι δωρεάν.

Αποκτήστε το Anpheros Daily