# Sürüm Yönetimi ve Kullanımdan Kaldırma

> FHIR R4 ve REST v1 arayüzlerinin, webhook yüklerinin ve SDK'ların nasıl değiştiği ve geriye dönük uyumsuz değişikliklerin nasıl duyurulduğu.

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

- `/fhir/R4`'deki **FHIR R4** ve `/v1`'deki **REST v1** kararlı arayüzlerdir. Eklemeli değişiklikler (yeni alanlar, yeni kaynak türleri, yeni uç noktalar, yeni olay türleri) bildirilmeksizin yayınlanır; SDK'lar ve `docs/openapi.json` aynı commit'te yeniden oluşturulur ve aksi takdirde bir test başarısız olur.
- **Geriye dönük uyumsuz değişiklikler** yeni bir önek (`/v2`) alır ve en az **6 ay** boyunca paralel çalışma süresi olur; eski önek bu süre boyunca `Deprecation` ve `Sunset` başlığı ile yanıt verir.
- **Webhook yükleri** bir `type` taşır; yeni türler eklemelidir. `*`'e abone olan bir kullanıcı bilinmeyen türleri yok saymalıdır.
- **SDK'lar** semver'i takip eder; büyük bir SDK sürümü kullanımdan kaldırılmış bir API önekini düşürebilir.
- **Güvenlik düzeltmeleri**, sürüm yükseltmesi olmaksızın doğrulamayı sıkılaştırabilir (örneğin değer kümeleri); bu tür bir sıkılaştırma, aktif bir güvenlik açığını kapatmadığı sürece 30 günlük bildirimle değişiklik günlüğünde duyurulur.

## Değişiklik Günlüğü

### 14 Ekim 2026 (ek: onay sayfası markalaması, ekip tek oturum açma)

- Ekip tek oturum açma: bir kuruluş, SAML veya OIDC sağlayıcısı ve e-posta alanlarıyla
  bağlanabilir (`PUT /admin/organizations/{id}/sso`, platform yöneticileri) ve üyeler için tek oturum açma zorunlu
  tutulabilir. `GET /admin/sso/discover?email=` (auth yok) bir iş e-postası için sağlayıcıyı döndürür. `OrganizationOut`
  `sso_provider_id`, `sso_domains` ve `sso_required` kazanır. [Ekibiniz için tek oturum açma](https://developers.anpheros.com/tr/guides/team-sso) bölümüne bakın.

- `PUT /admin/applications/{id}/branding`, barındırılan onay sayfasında gösterilen bir uygulamanın logosunu (PNG/JPEG/WebP veri URI'si, 64 KB'a kadar) ve
  vurgu rengini (beyaz metinle en az 4,5:1 kontrast) ayarlar. `ApplicationOut`
  `logo` ve `brand_color` kazanır. [Kimlik Doğrulama ve OAuth](auth-and-oauth.md#your-brand-on-the-consent-page) bölümüne bakın.
- Fiyatlandırma sayfası ve [fiyatlandırma](https://developers.anpheros.com/tr/guides/pricing): özel beta notu. Doğrulama ve imzalanmış
  DPA'dan sonra üretim açılır, planlar e-posta ile faturalandırılır ve ödenekler henüz otomatik olarak zorlanmaz.

### 14 Ekim 2026 (hata şekli ve laboratuvar eşleme düzeltmeleri)
- Laboratuvar içe aktarma: *Uree* / *Urea*, üre nitrojenine (`3094-0`) yerine üreye (`3091-6`; mmol/L cinsinden `22664-7`) eşlenir,
  bu da *BUN* / *Urea nitrogen* (mmol/L cinsinden `14937-7`) için saklanır. Değerler dönüştürülmez. Eski eşleme hiçbir üretim verisi tarafından kullanılmadı.
- Laboratuvar içe aktarma: rapordaki bir yönteme sahip LDL, hesaplanmış LDL'ye (`13457-7`) veya doğrudan LDL'ye (`18262-6`) eşlenir;
  yöntem yoksa `2089-1` olarak kalır. *Direct* artık bir niteleyicidir, bu nedenle *Bilirubina directa* artık toplam bilirubine (`1975-2`) eşlenmez;
  laboratuvarın kodunu saklar. Eski eşleme hiçbir üretim verisi tarafından kullanılmadı.
- `/v1` altındaki bilinmeyen uç noktalar ve yöntemler, belgelenmiş hata şeklinde (`404 not-found`, `405 not-supported`)
  yerine `{"detail": "Not Found"}` yanıt verir; geçersiz sorgu parametreleri ve `/v1` altındaki IP başına hız sınırı
  `OperationOutcome` yerine `{"error": …}` kullanır (`/fhir/R4` altında değişmeden kaldı); `/v1` altındaki beklenmeyen bir `500`
  `error.type = "exception"` taşır (`error.code` taşıyordu).
- Laboratuvar içe aktarma: yerel veya LOINC olmayan bir kodlama sistemine sahip HL7 v2 sonuçları, laboratuvarın kodunu `urn:anpheros:lab-code`
  (önceki `urn:hl7:<system>`, örneğin `urn:hl7:l`) altında saklar. Zaten depolanan sonuçlar değiştirilmez.
- Laboratuvar içe aktarma: İngilizce LOINC adları ve takma adları tanınır (*Hemoglobin A1c*, *Glycated hemoglobin*, *HDL cholesterol*,
  *LDL cholesterol*, *Haemoglobin*); çıplak bir *Glucose*, *Glicemie* gibi serum veya plazmaya (2345-7) eşlenir. Niteleyicisi olmayan adlar (*urine*, *non-HDL*…) artık ilgili bir testle eşlenmez: bu değişiklikten önce
  LOINC kodu olmadan gönderilen *HDL cholesterol* ve *LDL cholesterol*, toplam kolesterol (2093-3) olarak saklanırdı.
- Laboratuvar içe aktarma: bir raporun yeniden gönderilmesi, LOINC eşlemesi değiştiğinde sonuçları artık çoğaltmaz. Yeni sonuçlar, rapordan (rapor kimliği, rapordaki ad ve kod, tarih, değer, birim) oluşturulan ikinci bir tanımlayıcı olan `urn:anpheros:lab-import:v2`'yi taşır; mevcut tanımlayıcılar değişmeden kalır ve önceki sonuçlar ad, tarih, değer, birim ve rapor kimliğiyle tanınır. Raporda farklı adları olan ancak aynı LOINC koduna, tarihe ve değere sahip iki sonuç (örneğin *Glucose* ve *Glicemie*) artık tek bir sonuca birleştirilmez.

### 13 Ekim 2026 (ek, sözleşme değişikliği yok)
- Tek paylaşılan kural ile her türetilmiş görünümde (`/v1/context`, `/v1/patients/{id}/timeline`, portal, `$everything`) onay zorlanır; istenen ancak kapsanmayan bir bölüm, bağlamın `omitted`'sinde görünür.
- OpenAPI artık `servers`, `securitySchemes` (`bearer`, `apiKey`, `oauth2`, `firebase`), işlem başına `security` ve her işlem için bir yanıt şeması beyan eder; oluşturulan istemciler yazılan yanıtlar alır.
- Her `401` `WWW-Authenticate: Bearer` taşır.
- CapabilityStatement, SMART'ı (`oauth-uris` uzantısı, `SMART-on-FHIR` hizmeti) ve IPS uygulama kılavuzunu duyurur.
- Proxy'nin arkasındaki yönlendirmeler `https://`'yi saklar.
- `python-multipart` 0.0.20 → 0.0.32; `pip-audit` bilinen güvenlik açıkları nedeniyle derlemeyi engeller.
- Webhook URL'leri genel HTTPS olmalıdır: localhost (daha önce sandbox'ta kabul edildi ancak asla teslim edilmedi), özel ve ayrılmış adresler ve bunlara çözümleyen adlar, `url`'de 400 ile kayıt sırasında reddedilir; teslimatlar yalnızca az önce kontrol ettikleri IP adreslerine bağlanır (DNS yeniden bağlama).

## Uyumluluk Zorlaması (23 Eylül 2026 tarihinde duyuruldu)

IPS / HL7 Europe laboratuvar gereksinimlerini karşılamayan yazmalar şu anda `201`/`200` ile bir
`Anpheros-Conformance` başlığı döndürmektedir. Bir gözlem süresinden sonra (planlanan: bu bildiriden itibaren 60-90 gün)
platform **engelleme** moduna geçecektir: bu tür yazmalar, her bir
eksikliği listeleyen bir `OperationOutcome` ile `422` yanıtı verecektir. Daha fazla zamana ihtiyaç duyan entegratörler, geçiş sırasında proje bazında muafiyet alabilirler. 23 Eylül 2026 tarihinde eklenen kaynak türleri: `Procedure`, `DiagnosticReport`, `CarePlan`, `FamilyMemberHistory`,
`ServiceRequest`, `Goal` (eklemeli).
