# FHIR vs HL7 v2: πρακτικές διαφορές

> Μηνύματα HL7 v2 και πόροι FHIR συγκρινόμενοι για προγραμματιστές: μορφή, μεταφορά, το ίδιο εργαστηριακό αποτέλεσμα και στα δύο, παγίδες μετάφρασης και πού η Anpheros δέχεται v2.

Source: https://developers.anpheros.com/el/guides/fhir-vs-hl7-v2

**Το HL7 v2 είναι η μορφή μηνυμάτων που ανταλλάσσουν τα νοσοκομειακά συστήματα από τα τέλη της δεκαετίας του 1980 — συμβάντα με διαχωριστικά κάθετης γραμμής (pipe-delimited) όπως "ο ασθενής εισήχθη" ή "το εργαστηριακό αποτέλεσμα είναι έτοιμο" που ωθούνται μεταξύ συστημάτων μέσω σύνδεσης δικτύου — ενώ το HL7 FHIR είναι ένα πρότυπο web API όπου οι εφαρμογές διαβάζουν και γράφουν πόρους όπως Patient και Observation μέσω HTTPS σε JSON.** Δεν είναι εναλλακτικές που επιλέγετε μία φορά: τα περισσότερα νοσοκομεία εξακολουθούν να λειτουργούν με v2 εσωτερικά, οι νέες εφαρμογές και τα APIs που απευθύνονται σε ασθενείς χρησιμοποιούν FHIR, και η εργασία ενσωμάτωσης συχνά μεταφράζει το ένα στο άλλο. Αυτή η σελίδα τα συγκρίνει στα σημεία που έχουν σημασία όταν γράφετε κώδικα, δείχνει τα ίδια δεδομένα και στα δύο, και εξηγεί πού η Anpheros δέχεται v2.

## Παράλληλη σύγκριση

| | HL7 v2 | HL7 FHIR R4 |
|---|---|---|
| Στυλ | Μηνύματα που ενεργοποιούνται από συμβάντα (εισαγωγή, παραγγελία, αποτέλεσμα) | Πόροι που δημιουργείτε, διαβάζετε, ενημερώνετε, αναζητάτε |
| Μορφή | Τμήματα κειμένου χωρισμένα με αλλαγές γραμμής, πεδία με `\|`, στοιχεία με `^` | JSON (ή XML) |
| Μεταφορά | Συνήθως MLLP μέσω TCP εντός του δικτύου του νοσοκομείου | HTTPS REST |
| Ερώτημα | Περιορισμένο· τα συστήματα κυρίως στέλνουν | Παράμετροι αναζήτησης, `_include`, ιστορικό |
| Ασφάλεια | Επίπεδο δικτύου (VPN, ιδιωτικές συνδέσεις) | OAuth 2.0 / SMART on FHIR, TLS, scopes |
| Ευελιξία | Πολλά προαιρετικά πεδία και τοπικά Z-segments· κάθε διεπαφή διαπραγματεύεται | Βασικοί πόροι συν προφίλ (US Core, IPS, European IGs) |
| Τυπικοί χρήστες | EHR, εργαστήρια, ακτινολογικά, συστήματα χρέωσης εντός ενός νοσοκομείου | Εφαρμογές, APIs πρόσβασης ασθενών, διασυνοργανωσιακή ανταλλαγή, AI |

Τα πιο συνηθισμένα μηνύματα v2:

| Μήνυμα | Σημασία | Πλησιέστεροι πόροι FHIR |
|---|---|---|
| ADT^A01, A03, A08 | Εισαγωγή, εξαγωγή, ενημέρωση ασθενούς | `Patient`, `Encounter` |
| ORM / OML | Παραγγελία εξέτασης | `ServiceRequest` |
| ORU^R01 | Αποτέλεσμα έτοιμο | `Observation`, `DiagnosticReport` |
| SIU | Προγραμματισμός | `Appointment` |
| MDM | Έγγραφο | `DocumentReference` |

## Το ίδιο εργαστηριακό αποτέλεσμα και στα δύο

Μια γραμμή αποτελέσματος ORU^R01 (τμήμα OBX):

```
OBX|1|NM|2093-3^Cholesterol^LN||212|mg/dL|<200|H|||F|||20261002074500
```

Το ίδιο αποτέλεσμα ως HL7 FHIR R4 Observation, όπως το αποθηκεύει το Anpheros μετά την εισαγωγή αυτού του μηνύματος:

```json
{
  "resourceType": "Observation",
  "status": "final",
  "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}]}],
  "code": {"coding": [{"system": "http://loinc.org", "code": "2093-3", "display": "Cholesterol [Mass/volume] in Serum or Plasma"}], "text": "Cholesterol"},
  "effectiveDateTime": "2026-10-02T07:45:00Z",
  "valueQuantity": {"value": 212.0, "unit": "mg/dL"},
  "interpretation": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", "code": "H"}]}],
  "referenceRange": [{"high": {"value": 200.0, "unit": "mg/dL"}}]
}
```

Πεδίο προς πεδίο: το OBX-3 γίνεται `code`, τα OBX-5 και OBX-6 γίνονται `valueQuantity`, το OBX-7 `referenceRange`, το OBX-8 `interpretation`, το OBX-11 `status`, το OBX-14 `effectiveDateTime`. Το HL7 δημοσιεύει έναν επίσημο οδηγό υλοποίησης [HL7 Version 2 to FHIR](https://build.fhir.org/ig/HL7/v2-to-fhir/) με αντιστοιχίσεις για τμήματα, τύπους δεδομένων και λεξιλόγια.

## Πού οι μεταφράσεις αποτυγχάνουν

- **Ζώνες ώρας.** Οι χρονοσημάνσεις v2 όπως η `20261002074500` συχνά δεν φέρουν μετατόπιση· πρέπει να γνωρίζετε τη ζώνη του αποστολέα. Το FHIR απαιτεί ζώνη όποτε υπάρχει ώρα. (Το Anpheros διαβάζει μια v2 ώρα χωρίς ζώνη ως UTC· στείλτε τη μετατόπιση αν την έχετε.)
- **Τοπικοί κωδικοί.** Πολλά εργαστήρια τοποθετούν τους δικούς τους κωδικούς στο OBX-3 αντί για LOINC. Μια καλή μετάφραση διατηρεί τον τοπικό κωδικό και τον αντιστοιχίζει σε LOINC όταν μπορεί, αντί να τον παραλείπει.
- **Επαναλαμβανόμενες αποστολές.** Οι αποστολείς v2 επαναμεταδίδουν σε περιπτώσεις χρονικού ορίου. Χωρίς ένα σταθερό αναγνωριστικό ανά αποτέλεσμα, ένα FHIR store γεμίζει με διπλότυπα.
- **Προαιρετικό τα πάντα.** Το ίδιο πεδίο μπορεί να είναι κενό, επαναλαμβανόμενο ή να χρησιμοποιείται διαφορετικά από δύο αποστολείς. Επικυρώστε την πλευρά FHIR· ο [FHIR R4 validator](https://developers.anpheros.com/tools/fhir-validator) δείχνει τι λείπει από έναν μεταφρασμένο πόρο.
- **Διορθώσεις.** Η κατάσταση αποτελέσματος v2 `C` (διορθωμένο) θα πρέπει να ενημερώνει την υπάρχουσα Παρατήρηση και να διατηρεί το ιστορικό της, όχι να δημιουργεί μια δεύτερη.

## Πότε να χρησιμοποιήσετε τι

- **Εντός νοσοκομείου, μεταξύ υπαρχόντων συστημάτων:** Το v2 είναι συνήθως αυτό που μιλούν τα συστήματα. Μια μηχανή ενοποίησης δρομολογεί και μετασχηματίζει μηνύματα.
- **Δημιουργία εφαρμογής, API πρόσβασης ασθενούς ή οτιδήποτε διασχίζει οργανισμούς:** FHIR, με OAuth και συναίνεση.
- **Τροφοδοσία AI ή αναλυτικών στοιχείων:** FHIR, επειδή είναι προσπελάσιμο μέσω ερωτημάτων, κωδικοποιημένο και εκδοτικό.
- **Και τα δύο:** Το κοινό μοτίβο στον πραγματικό κόσμο — λήψη v2 από το εργαστήριο ή το EHR, αποθήκευση FHIR, παροχή FHIR σε εφαρμογές.

## Πού εντάσσεται το Anpheros

Το Anpheros αποθηκεύει αρχεία ασθενών ως FHIR R4 και δέχεται έναν τύπο μηνύματος HL7 v2: **ORU^R01 αποτελέσματα εργαστηρίου**, που αποστέλλονται μέσω HTTPS στον [σύνδεσμο εργαστηρίου](https://developers.anpheros.com/el/guides/lab-connector) (`POST /v1/patients/{id}/labs/import` με `Content-Type: x-application/hl7-v2+er7`). Κάθε OBX γίνεται μια εργαστηριακή Παρατήρηση (Observation) με κωδικό LOINC, εύρος αναφοράς και ερμηνεία. Το αναγνωριστικό της αναφοράς διατηρείται στην προέλευση (provenance) και οι επανειλημμένες αναφορές παραλείπονται. Ένα διορθωμένο αποτέλεσμα (OBX-11 = `C`) με νέα τιμή αποθηκεύεται ως νέα Παρατήρηση με κατάσταση (status) `amended`. Η αρχική παραμένει ως είχε, οπότε αν η πηγή σας στέλνει διορθώσεις, επισημάνετε την προηγούμενη Παρατήρηση `entered-in-error` ή ενημερώστε την μέσω του FHIR API. Ένα λειτουργικό παράδειγμα είναι το [Lab results API](https://developers.anpheros.com/el/guides/lab-results-api).

Δεν δέχεται άλλα μηνύματα v2 (ADT, παραγγελίες, προγραμματισμός), δεν ακούει σε MLLP και δεν στέλνει v2. Για αυτά, μια μηχανή ενσωμάτωσης (integration engine) μπροστά από το Anpheros μεταφράζει σε FHIR και γράφει μέσω του API.

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

### Αντικαθιστά το FHIR το HL7 v2;
Όχι σύντομα. Το v2 παραμένει η ραχοκοκαλιά των περισσότερων νοσοκομείων επειδή λειτουργεί και είναι ενσωματωμένο στα υπάρχοντα συστήματα. Το FHIR αναπτύσσεται γύρω του — σε εφαρμογές, πρόσβαση ασθενών και ανταλλαγή μεταξύ οργανισμών — και τα δύο συνυπάρχουν, συχνά με μετάφραση μεταξύ τους.

### Τι είναι το MLLP;
Το Minimal Lower Layer Protocol: ένας απλός τρόπος πλαισίωσης μηνυμάτων v2 μέσω σύνδεσης TCP, με χαρακτήρες έναρξης και λήξης γύρω από κάθε μήνυμα και μια επιβεβαίωση (ACK) πίσω. Το FHIR χρησιμοποιεί HTTPS αντ' αυτού.

### Μπορώ να μετατρέψω μηνύματα HL7 v2 σε FHIR αυτόματα;
Στην πλειονότητά τους. Ο οδηγός υλοποίησης v2-to-FHIR του HL7 παρέχει τυπικούς αντιστοιχίσεις και οι μηχανές ενοποίησης τις υλοποιούν. Αναμένετε χειροκίνητη εργασία για τοπικούς κωδικούς, Z-segments, ζώνες ώρας και πώς κάθε αποστολέας χρησιμοποιεί προαιρετικά πεδία.

### Δέχεται το Anpheros HL7 v2;
Ναι, για αποτελέσματα εργαστηρίου: μηνύματα ORU^R01 που δημοσιεύονται μέσω HTTPS στον σύνδεσμο εργαστηρίου γίνονται FHIR Observations. Άλλοι τύποι μηνυμάτων v2 και συνδέσεις MLLP δεν υποστηρίζονται.

## Σχετικά

- [Αντιστοίχιση HL7 v2 σε FHIR](https://developers.anpheros.com/el/guides/hl7-v2-to-fhir-mapping): αντιστοίχιση τμήματος και πεδίου, και ένας μετατροπέας
- [API αποτελεσμάτων εργαστηρίου: HL7 v2, FHIR και LOINC](https://developers.anpheros.com/el/guides/lab-results-api)
- [Πώς να εισαγάγετε αποτελέσματα εργαστηρίου σε εγγραφή FHIR](https://developers.anpheros.com/el/guides/import-lab-results-fhir)
- [Διαλειτουργικότητα δεδομένων υγειονομικής περίθαλψης](https://developers.anpheros.com/el/guides/interoperability)
- [DICOM vs FHIR: δεδομένα απεικόνισης και κλινικά δεδομένα](https://developers.anpheros.com/el/guides/dicom-vs-fhir)
- [Πλατφόρμα FHIR](https://developers.anpheros.com/el/guides/fhir)
