# Verziókezelés és elavulás

> Hogyan változnak a FHIR R4 és REST v1 interfészek, a webhookok és az SDK-k, valamint hogyan jelentenek be a nem kompatibilis változásokat.

Source: https://developers.anpheros.com/hu/guides/versioning

- A **FHIR R4** a `/fhir/R4` címen és a **REST v1** a `/v1` címen stabil interfészek. Az additív változások (új mezők, új erőforrás-típusok, új végpontok, új eseménytípusok) értesítés nélkül jelennek meg; az SDK-k és a `docs/openapi.json` ugyanabban a commitban kerülnek újragenerálásra, ellenkező esetben egy teszt megbukik.
- A **nem kompatibilis változások** új előtagot (`/v2`) kapnak, és legalább **6 hónapig** párhuzamosan működnek; az öreg előtag ebben az időszakban `Deprecation` és `Sunset` fejlécet válaszol.
- A **webhookok** `type`-et tartalmaznak; az új típusok additívak. A `*` előfizetőnek figyelmen kívül kell hagynia az ismeretlen típusokat.
- Az **SDK-k** a semver-t követik; egy fő SDK verzió elavult API előtagot dobhat el.
- A **biztonsági javítások** szigoríthatják az érvényesítést (például értékhalmazok) verziószám emelése nélkül; az ilyen szigorításról a változásnaplóban 30 napos előzetes értesítést adunk, kivéve, ha aktív sebezhetőséget zár be.

## Változások naplója

### 2026. október 14. (hozzáadás: hozzájárulási oldal márkázása, csapat egyszeri bejelentkezés)

- Csapat egyszeri bejelentkezés: egy szervezet összekapcsolható a SAML vagy OIDC szolgáltatójával és annak e-mail tartományaival
  (`PUT /admin/organizations/{id}/sso`, platform adminisztrátorok), és az egyszeri bejelentkezés kötelezővé tehető a
  tagok számára. `GET /admin/sso/discover?email=` (nincs auth) visszaadja a szolgáltatót egy munkahelyi e-mail címhez. `OrganizationOut`
  elnyeri `sso_provider_id`, `sso_domains` és `sso_required`. Lásd: [Egyszeri bejelentkezés a csapatodnak](https://developers.anpheros.com/hu/guides/team-sso).

- `PUT /admin/applications/{id}/branding` beállítja egy alkalmazás logóját (PNG/JPEG/WebP adat URI, legfeljebb 64 KB) és
  kiemelő színét (kontraszt legalább 4,5:1 fehér szöveggel), amely a hosztolt hozzájárulási oldalon jelenik meg. `ApplicationOut`
  elnyeri `logo` és `brand_color`. Lásd: [Hitelesítés és OAuth](auth-and-oauth.md#your-brand-on-the-consent-page).
- Árazási oldal és [árazás](https://developers.anpheros.com/hu/guides/pricing): privát béta megjegyzés. A gyártás a verifikáció és egy aláírt
  DPA után nyílik meg, a csomagok e-mailben számlázódnak, és a keretek még nincsenek automatikusan érvényesítve.

### 2026. október 14. (hibamintázat és laboratóriumi leképezési javítások)
- Laboratóriumi import: az *Uree* / *Urea* a karbamidra (`3091-6`; `22664-7` mmol/L-ben) van leképezve a karbamid-nitrogén (`3094-0`) helyett, amely
  megmarad a *BUN* / *Urea nitrogen* (`14937-7` mmol/L-ben) számára. Az értékek nincsenek konvertálva. Nem használtak gyártási adatokat a régi leképezéshez.
- Laboratóriumi import: az LDL a jelentésen szereplő módszerrel a számított LDL-re (`13457-7`) vagy a közvetlen LDL-re (`18262-6`) van leképezve; módszer nélkül marad `2089-1`. A *Direct* mostantól minősítő, így a *Bilirubina directa* már nem a teljes bilirubinnak (`1975-2`) van leképezve; megőrzi a labor kódját. Nem használtak gyártási adatokat a régi leképezéshez.
- Ismeretlen végpontok és módszerek a `/v1` alatt a dokumentált hibamintázatban (`404 not-found`, `405 not-supported`) válaszolnak
  a `{"detail": "Not Found"}` helyett; az érvénytelen lekérdezési paraméterek és a `/v1` alatti IP-címenkénti sebességkorlát
  `{"error": …}` használ, nem pedig `OperationOutcome` (a `/fhir/R4` alatt változatlan); egy váratlan `500` a `/v1` alatt
  `error.type = "exception"` hordoz (korábban `error.code` hordozott).
- Laboratóriumi import: HL7 v2 eredmények helyi vagy nem-LOINC kódolási rendszerrel megőrzik a labor kódját a `urn:anpheros:lab-code` alatt
  (korábban `urn:hl7:<system>`, például `urn:hl7:l`). A már tárolt eredmények nem változnak.
- Laboratóriumi import: az angol LOINC nevek és szinonimák felismerésre kerülnek (*Hemoglobin A1c*, *Glycated hemoglobin*, *HDL cholesterol*,
  *LDL cholesterol*, *Haemoglobin*); egy csupasz *Glucose* a szérumra vagy plazmára (2345-7) van leképezve, mint a *Glicemie*. A minősítővel rendelkező nevek, amelyek hiányoznak a fogalomból (*urine*, *non-HDL*…), már nem kerülnek egyezésbe egy kapcsolódó teszttel: a változás előtt
  a *HDL cholesterol* és *LDL cholesterol* LOINC kód nélkül a teljes koleszterinre (2093-3) volt tárolva.
- Laboratóriumi import: egy jelentés újraküldése nem duplikálja az eredményeket, ha a LOINC leképezés megváltozik. Az új eredmények egy második azonosítót kapnak, `urn:anpheros:lab-import:v2`, amely a jelentésből épül fel (jelentés azonosítója, neve és kódja a jelentésen,
  dátum, érték, egység); a meglévő azonosítók változatlanok, és a korábbi eredmények név, dátum, érték, egység
  és jelentés azonosító alapján ismerhetők fel. Két különböző nevű, de azonos LOINC kóddal, dátummal és értékkel rendelkező eredmény a jelentésen (például
  *Glucose* és *Glicemie*) már nem kerül összevonásra.

### 2026. október 13. (hozzáadás, szerződésváltozás nélkül)
- A hozzájárulás érvényesítésre kerül minden származtatott nézeten (`/v1/context`, `/v1/patients/{id}/timeline`, portál, `$everything`) egy
  megosztott szabállyal; egy kért, de nem fedett szakasz a kontextus `omitted`-ban jelenik meg.
- Az OpenAPI mostantól deklarálja a `servers`, `securitySchemes` (`bearer`, `apiKey`, `oauth2`, `firebase`), műveletenkénti `security`
  és minden művelethez tartozó válaszsémát; a generált kliensek típusos válaszokat kapnak.
- Minden `401` hordoz `WWW-Authenticate: Bearer`.
- A CapabilityStatement hirdeti a SMART (`oauth-uris` kiterjesztés, `SMART-on-FHIR` szolgáltatás) és az IPS implementációs útmutatót.
- A proxy mögötti átirányítások megőrzik a `https://`-at.
- `python-multipart` 0.0.20 → 0.0.32; `pip-audit` blokkolja az építést ismert sebezhetőségek esetén.
- A webhook URL-eknek nyilvános HTTPS-nek kell lenniük: a localhost (korábban elfogadott a sandboxban, de soha nem kézbesített), a privát és foglalt címek, valamint az ezekre feloldódó nevek elutasításra kerülnek a regisztrációkor 400-as hibával a `url`-en; a kézbesítések csak az általuk éppen ellenőrzött IP-címekhez csatlakoznak (DNS-újraelemzés).

## Konformancia érvényesítése (bejelentve: 2026. szeptember 23.)

Azok a írások, amelyek elmulasztják az IPS / HL7 Europe laboratóriumi követelményeket, jelenleg `201`/`200`-mal válaszolnak egy `Anpheros-Conformance` fejléc kíséretében. Megfigyelési időszak után (tervezett: 60-90 nap ettől az értesítéstől) a platform **blokkoló** módba kapcsol: az ilyen írások `422`-tel válaszolnak egy `OperationOutcome`-tal, amely felsorolja az összes hiányosságot. Azok az integrátorok, akiknek több időre van szükségük, a transzláció során projektenként mentesülhetnek. 2026. szeptember 23-án hozzáadott erőforrás-típusok: `Procedure`, `DiagnosticReport`, `CarePlan`, `FamilyMemberHistory`, `ServiceRequest`, `Goal` (hozzáadott).
