Σύντομη απάντηση: μια μηχανή διασύνδεσης (μηχανή ενοποίησης) είναι ένα ενδιάμεσο λογισμικό (middleware) κατασκευασμένο για την ανταλλαγή μηνυμάτων στον τομέα της υγείας. Ακούει σε πολλά πρωτόκολλα (MLLP για HL7 v2, HTTP για FHIR και SOAP, αρχεία, βάσεις δεδομένων, ουρές), μετασχηματίζει τα μηνύματα (αντιστοίχιση πεδίων, μετάφραση κωδικών, μετατροπή μορφής όπως HL7 v2 σε FHIR), τα κατευθύνει σε έναν ή περισσότερους προορισμούς με φίλτρα, και διατηρεί ουρές, επανεκκινήσεις, αρχεία καταγραφής (logs) και πίνακες ελέγχου (dashboards) ώστε ένα μήνυμα να μην χαθεί ποτέ και κάθε αποτυχία να είναι ορατή. Τα νοσοκομεία χρησιμοποιούν μία για να συνδέεται κάθε σύστημα με τη μηχανή μία φορά αντί για κάθε άλλο σύστημα. Τα γνωστά προϊόντα είναι τα Mirth Connect (NextGen Connect, ιστορικά ανοιχτού κώδικα), Rhapsody, InterSystems HealthShare / IRIS for Health, Infor Cloverleaf, Qvera QIE, Orion και μια μεγάλη ουρά· οι πάροχοι cloud προσφέρουν διαχειριζόμενες ισοδύναμες λύσεις.
Τα δομικά στοιχεία
Τα δομικά στοιχεία μιας μηχανής διασύνδεσης είναι τα κανάλια (μια ροή από μια πηγή προς τους προορισμούς της), οι σύνδεσμοι πηγής ή οι ακροατές όπως MLLP και HTTP, τα φίλτρα που αποφασίζουν αν ένα μήνυμα συνεχίζει, οι μετασχηματιστές που αντιστοιχίζουν πεδία και κωδικούς, οι σύνδεσμοι προορισμού, οι ουρές με επανεκκίνηση, η παρακολούθηση με ειδοποιήσεις και ένα αρχείο καταγραφής αλλαγών καναλιών και ιστορικού μηνυμάτων.
Κάθε μηχανή, ανεξαρτήτως ορολογίας, έχει τα ίδια μέρη:
- Κανάλι (διασύνδεση): μία ροή από μια πηγή σε έναν ή περισσότερους προορισμούς, με τις δικές της ρυθμίσεις και στατιστικά.
- Συνδετήρας πηγής / ακροατής: MLLP (TCP με πλαισίωση για HL7 v2), σημεία πρόσβασης HTTP(S), SFTP και σάρωση αρχείων, ερωτήματα βάσης δεδομένων, JMS ή άλλες ουρές, DICOM σε ορισμένα προϊόντα.
- Φίλτρο: ένας κανόνας που αποφασίζει αν ένα μήνυμα συνεχίζει (μόνο ADT^A01 για αυτήν την κατηγορία ασθενών).
- Μετασχηματιστής: σενάρια ή αντιστοιχίσεις που αλλάζουν το μήνυμα: μετονομασία πεδίων, αντιστοίχιση τοπικών κωδικών σε LOINC μέσω πίνακα αναζήτησης, δημιουργία ενός FHIR Observation από ένα τμήμα OBX, προσθήκη ενός τμήματος Z που αναμένει ένα παλαιότερο σύστημα.
- Συνδετήρας προορισμού: πού πηγαίνει το αποτέλεσμα, με το δικό του πρωτόκολλο και διαχείριση σφαλμάτων.
- Ουρά και επανεκκίνηση: τα μηνύματα παραμένουν μέχρι να επιβεβαιωθούν· οι αποτυχίες επανεκκινούνται με σταδιακή αύξηση του χρόνου αναμονής· τα "δηλητηριώδη" μηνύματα καταλήγουν σε μια ουρά σφαλμάτων για ανθρώπους.
- Παρακολούθηση και ειδοποιήσεις: μετρητές ανά κανάλι, καθυστέρηση, ποσοστά σφαλμάτων, ειδοποιήσεις όταν ένα κανάλι σιωπά (η πιο χρήσιμη ειδοποίηση στην ενοποίηση υγείας).
- Έλεγχος: ποιος άλλαξε ποιο κανάλι και το ιστορικό μηνυμάτων για την αντιμετώπιση προβλημάτων, με διατήρηση και ελέγχους πρόσβασης επειδή πρόκειται για δεδομένα ασθενών.
Τυπικές εργασίες
Οι τυπικές εργασίες μιας μηχανής διασύνδεσης υγειονομικής περίθαλψης είναι η διανομή ADT από το HIS στα τμήματα, η δρομολόγηση αποτελεσμάτων εργαστηρίου σε πολλούς δέκτες, η μετάφραση τοπικών κωδικών σε LOINC, ATC και UCUM, η γεφύρωση μορφών HL7 v2, FHIR, CDA και CSV, η έκθεση μιας όψης FHIR πάνω από μια παλιά βάση δεδομένων, η κανονικοποίηση ροών συσκευών και η προσαρμογή του MLLP εσωτερικά σε HTTPS εξωτερικά.
- Διανομή ADT: λήψη εισαγωγών από το HIS, φιλτράρισμα και μετάφραση ανά τμήμα, παράδοση στο εργαστήριο, ακτινολογία, φαρμακείο, διαχείριση κλινών και στην πύλη ασθενών.
- Δρομολόγηση αποτελεσμάτων: ORU από το LIS στο EHR, στο σύστημα του παραπέμποντος ιατρού, στην περιφερειακή καταγραφή, στην καταγραφή FHIR του ασθενούς, καθεμία με διαφορετικό υποσύνολο και μορφή.
- Μετάφραση κωδικών: τοπικοί κωδικοί εξετάσεων σε LOINC, τοπικοί κωδικοί φαρμάκων σε ATC, μονάδες ελεύθερου κειμένου σε UCUM, μέσω συντηρούμενων πινάκων αναζήτησης (αντιστοίχιση κωδικών εργαστηρίου σε LOINC).
- Γέφυρα μορφών: HL7 v2 σε FHIR και αντίστροφα, CDA σε FHIR, CSV από ένα παλιό σύστημα σε οτιδήποτε.
- Μια πρόσοψη FHIR: η μηχανή εκθέτει σημεία πρόσβασης FHIR και απαντά σε αυτά κάνοντας ερωτήματα στη βάση δεδομένων παλαιού συστήματος ή στέλνοντας ερωτήματα v2, έτσι ώστε οι εφαρμογές να βλέπουν έναν διακομιστή FHIR εκεί που δεν υπάρχει.
- Ενοποίηση συσκευών: ιδιόκτητες ροές παρακολούθησης κανονικοποιημένες σε παρατηρήσεις IHE PCD.
- Προσαρμογή πρωτοκόλλου: MLLP εντός του κτιρίου, HTTPS με OAuth προς τα έξω.
Επιλέγοντας μία
Η επιλογή μιας μηχανής διασύνδεσης βασίζεται σε έξι κριτήρια: ο όγκος των μηνυμάτων και πόσο κρίσιμη είναι η καθυστέρηση και οι διακοπές λειτουργίας, τα πρωτόκολλα και τα πρότυπα που υποστηρίζονται "out of the box" (HL7 v2, FHIR R4, DICOM, εθνικές μορφές), η εμπειρία των προγραμματιστών, οι λειτουργίες όπως η ομαδοποίηση και η εναλλαγή σε περίπτωση βλάβης, οι όροι αδειοδότησης, οι οποίοι άλλαξαν για ορισμένα προϊόντα το 2025, και οι διαθέσιμες δεξιότητες για τη συντήρηση των καναλιών.
- Όγκος και κρισιμότητα: μηνύματα ανά ημέρα, αποδεκτή καθυστέρηση και αν μια δίλεπτη διακοπή έχει σημασία (έχει για ADT και αποτελέσματα).
- Πρωτόκολλα και πρότυπα "out of the box": εκδόσεις και αναλυτές HL7 v2, υποστήριξη FHIR R4 με επικύρωση, DICOM, X12 στις ΗΠΑ, εθνικές μορφές.
- Εμπειρία προγραμματιστή: γλώσσα σεναρίων (JavaScript στο Mirth, ιδιόκτητη σε άλλες), έλεγχος εκδόσεων ορισμών καναλιών, εργαλεία δοκιμών, ανάπτυξη σε διάφορα περιβάλλοντα.
- Λειτουργίες: ομαδοποίηση (clustering), εφεδρεία (failover), ενοποιήσεις παρακολούθησης, διαδρομή αναβάθμισης, μοντέλο υποστήριξης.
- Αδειοδότηση: ανοιχτού κώδικα ή κοινοτικές εκδόσεις, συνδρομή ανά κανάλι ή ανά πυρήνα, διαχειριζόμενες προσφορές cloud· η αδειοδότηση ορισμένων ιστορικά ανοιχτών προϊόντων άλλαξε το 2025, οπότε ελέγξτε τους τρέχοντες όρους.
- Διαθέσιμες δεξιότητες: η μηχανή είναι τόσο καλή όσο οι άνθρωποι που συντηρούν τα κανάλια.
Λειτουργώντας μία με ασφάλεια
Η ασφαλής λειτουργία μιας μηχανής διασύνδεσης σημαίνει τη μεταχείριση των ορισμών καναλιών ως κώδικα υπό έλεγχο εκδόσεων, τη δοκιμή με συνθετικά μηνύματα πριν από την παραγωγή, τη διακυβέρνηση πινάκων αναζήτησης κωδικών με ονομαστικούς ιδιοκτήτες, την ειδοποίηση όταν ένα κανάλι σιωπά, τον περιορισμό και τη διαγραφή του ιστορικού μηνυμάτων επειδή πρόκειται για δεδομένα ασθενών, την τεκμηρίωση του σκοπού κάθε καναλιού και την αποφυγή να γίνει ποτέ η μηχανή το σύστημα καταγραφής.
Αντιμετωπίστε τους ορισμούς καναλιών ως κώδικα: σε έλεγχο εκδόσεων, ελεγμένοι, αναπτυγμένοι μέσω δοκιμών και ενδιάμεσων περιβαλλόντων με συνθετικά μηνύματα. Διατηρήστε τους πίνακες αναζήτησης (αντιστοιχίσεις κωδικών) υπό διακυβέρνηση με ιδιοκτήτες. Ορίστε ειδοποιήσεις για σιωπή, όχι μόνο για σφάλματα. Περιορίστε την πρόσβαση στο ιστορικό μηνυμάτων, που είναι δεδομένα ασθενών, και διαγράψτε τα σύμφωνα με ένα πρόγραμμα. Τεκμηριώστε τον σκοπό και τον ιδιοκτήτη κάθε καναλιού· το ατεκμηρίωτο κανάλι είναι αυτό που σταματά ένα τμήμα όταν φεύγει ο δημιουργός του. Και ποτέ μην αφήνετε τη μηχανή να γίνει το σύστημα καταγραφής: μετακινεί και μετασχηματίζει δεδομένα, δεν τα κατέχει.
Όταν δεν τη χρειάζεστε
Μια μηχανή διασύνδεσης δεν χρειάζεται όταν όλοι οι συνεργάτες ενός νέου συστήματος "greenfield" μιλούν FHIR, οπότε ένας διακομιστής FHIR με Subscriptions και μια πύλη API καλύπτουν τη δρομολόγηση και την πιστοποίηση, ή όταν μια απλή διασύνδεση HL7 v2 μπορεί να διαχειριστεί από μια βιβλιοθήκη όπως η HAPI HL7v2 ή η hl7apy. Η μηχανή δικαιολογεί τη θέση της με πολλά συστήματα και μορφές.
Ένα σύστημα "greenfield" του οποίου οι συνεργάτες μιλούν όλοι FHIR μπορεί να χρησιμοποιήσει έναν διακομιστή FHIR με Subscriptions και μια πύλη API για έλεγχο ταυτότητας, περιορισμό ρυθμού και δρομολόγηση, με μετασχηματισμούς σε συνηθισμένες υπηρεσίες. Μια μεμονωμένη διεπαφή HL7 v2 μπορεί να διαχειριστεί από μια μικρή βιβλιοθήκη (HAPI HL7v2 σε Java, hl7apy ή python-hl7 σε Python) εντός της εφαρμογής. Η μηχανή κερδίζει τη θέση της όταν υπάρχουν πολλά συστήματα, πολλές μορφές και η ανάγκη για μια κονσόλα λειτουργίας που μπορούν να παρακολουθούν μη-προγραμματιστές.
Στην Anpheros
Η πλατφόρμα Anpheros βρίσκεται στην πλευρά FHIR της μηχανής: τα νοσοκομεία δρομολογούν τις ροές που θέλουν να μοιραστούν (αποτελέσματα, έγγραφα, συναντήσεις) σε αυτήν μέσω της μηχανής τους ή μέσω του συνδετήρα εργαστηρίου, και διαβάζουν πίσω μέσω APIs FHIR και webhooks. Ο ιστότοπος προγραμματιστών δείχνει την αντιστοίχιση HL7 v2 σε FHIR που εφαρμόζει ο συνδετήρας.
Σχετικές σελίδες
- Ενοποίηση συστημάτων νοσοκομείων εξηγείται
- Πώς να ενοποιήσετε ένα σύστημα εργαστηρίου με ένα EHR
- Μηνύματα HL7 v2 εξηγούνται: ADT και ORU
- Πώς να αντιστοιχίσετε τοπικούς κωδικούς εργαστηρίου σε LOINC
- FHIR Subscriptions εξηγούνται
- Αντιστοίχιση HL7 v2 σε FHIR (ιστότοπος προγραμματιστών)
Πηγές
- NextGen Connect (Mirth Connect)
- Rhapsody Integration Engine
- InterSystems IRIS for Health
- Infor Cloverleaf
- Βιβλιοθήκη HAPI HL7v2
- Οδηγός υλοποίησης HL7 v2 σε FHIR
Συχνές ερωτήσεις
Είναι η μηχανή διασύνδεσης ίδια με ένα ESB ή ένα iPaaS;
Ίδια οικογένεια, εξειδικευμένη: μια μηχανή διασύνδεσης έρχεται με υποστήριξη HL7 v2, DICOM, CDA και FHIR, MLLP, παρακολούθηση ειδικά για την υγεία και την ενσωμάτωση λεξιλογίου που χρησιμοποιούν οι ομάδες. Τα γενικά ESB και iPaaS προϊόντα μπορούν να κάνουν τη δουλειά με περισσότερη προσπάθεια.
Μπορεί η μηχανή να μετατρέψει HL7 v2 σε FHIR αυτόματα;
Αρκετές μηχανές περιλαμβάνουν αντιστοιχίσεις βασισμένες στον οδηγό HL7 v2-to-FHIR και χειρίζονται τα κοινά τμήματα. Οι τοπικές συμβάσεις, τα τμήματα Z και η αντιστοίχιση κωδικών απαιτούν πάντα εργασία έργου.
Αποθηκεύει η μηχανή δεδομένα ασθενών;
Διατηρεί μηνύματα κατά τη μεταφορά και κρατά ιστορικό μηνυμάτων για την αντιμετώπιση προβλημάτων, τα οποία είναι δεδομένα ασθενών και πρέπει να προστατεύονται και να διαγράφονται. Δεν πρέπει να χρησιμοποιείται ως μακροπρόθεσμη αποθήκευση ή σύστημα καταγραφής.
Ανοιχτού κώδικα ή εμπορική;
Και οι δύο χρησιμοποιούνται σε μεγάλα νοσοκομεία. Η απόφαση συνήθως εξαρτάται από την υποστήριξη, τις δεξιότητες, τις ανάγκες ομαδοποίησης και τους τρέχοντες όρους αδειοδότησης, οι οποίοι έχουν αλλάξει για ορισμένα προϊόντα· ελέγξτε πριν δεσμευτείτε.
Δοκιμάστε δωρεάν στο sandbox
Η πρώτη σας κλήση FHIR σε 5 λεπτά. Ένα API HL7 FHIR R4 με τη συγκατάθεση του ασθενούς ενσωματωμένη: δοκιμάστε το στο sandbox, στη συνέχεια συνδέστε τη δική σας εφαρμογή ή σύστημα κλινικής.
Δωρεάν · 30 συνθετικοί ασθενείς · χωρίς κάρτα

