Kısa cevap: Bir terminoloji sunucusu, kodlar konusunda uzmanlaşmış bir FHIR sunucusudur. CodeSystem'ları (SNOMED CT, LOINC, ICD-10, UCUM, HL7'nin kendi tabloları), ValueSet'leri (belirli bir amaç için adlandırılmış alt kümeler: hayati bulgular kodları, alerji maddeleri) ve ConceptMap'leri (sistemler arasındaki çeviriler) depolar ve standart işlemler aracılığıyla yanıt verir: $lookup (bu kod ne anlama geliyor?), $validate-code (bu kod burada izin veriliyor mu?), $expand (bu değer kümesindeki kodları listele, isteğe bağlı olarak metne göre filtrelenmiş), $translate (bu kod diğer sistemde ne anlama geliyor?) ve $subsumes (A, B'nin bir türü mü?). Uygulamalar, büyük, lisanslı ve yılda birkaç kez güncellenen terminolojilerin kopyalarını göndermek yerine bu sunucuları kullanır.
Kaynaklar
Bir FHIR terminoloji sunucusu üç kaynakla çalışır. CodeSystem bir kod sistemini kanonik URL ve sürümüyle, kavramlarıyla veya içeriğin başka yerde tutulduğuna dair bir notla bildirir; ValueSet kompozisyon kuralları ve isteğe bağlı bir hesaplanmış genişletme aracılığıyla amaçlı bir kod alt kümesi tanımlar; ConceptMap eşleşme için bir denklik ile sistemler arasındaki kaynak-hedef ilişkilerini kaydeder.
- CodeSystem, bir sistemi kanonik URL'si (
http://snomed.info/sct,http://loinc.org,http://hl7.org/fhir/sid/icd-10), sürümü ve kavramları veya içeriğin başka bir yerde tutulduğuna dair bir beyan (content: not-presentlisanslı sistemler için) ile beyan eder. - ValueSet, bir
compose(kurallar: bir sistemden tüm kodları, belirli kodları veya 404684003 Klinik bulgu'nun torunları gibi bir filtreyi dahil et) ve hesaplandığında birexpansion(gerçek liste) içerir. Profillerdeki bağlamalar değer kümelerine işaret eder; bkz. FHIR profilleri ve uzantıları. - ConceptMap, SNOMED CT'den ICD-10'a veya bir laboratuvarın yerel kodlarından LOINC'e gibi eşlemeler için bir denklik (
equivalent,wider,narrower,inexact,unmatched) ve isteğe bağlı bağımlılıklarla kaynak → hedef ilişkilerini tutar.
İşlemler ve istekleri
Bir FHIR terminoloji sunucusu beş standart işleme yanıt verir: $lookup bir kodun anlamını döndürür, $validate-code bir kodun bir sisteme veya değer kümesine ait olup olmadığını kontrol eder, $expand bir değer kümesindeki kodları listeler (isteğe bağlı olarak metne göre filtrelenmiş), $translate bir ConceptMap aracılığıyla bir kodu başka bir sisteme dönüştürür ve $subsumes bir kavramın başka bir türü olup olmadığını test eder.
$lookup: tek bir kodun ayrıntıları.
GET /CodeSystem/$lookup?system=http://loinc.org&code=4548-4
display ("Kan'da Hemoglobin A1c/Hemoglobin.total"), diğer dillerdeki gösterimler ve özellikler (LOINC için altı eksen; SNOMED CT için üst öğeler ve tanımlayıcı ilişkiler) içeren bir Parameters kaynağı döndürür.
$validate-code: kod sistemde mi, yoksa değer kümesinde mi?
GET /ValueSet/$validate-code?url=http://hl7.org/fhir/ValueSet/observation-vitalsignresult&system=http://loinc.org&code=8480-6
Gösterimle birlikte result: true veya bir mesajla birlikte false döndürür. Kaynakları doğrulayan sunucular, bağlı her öğe için bunu çağırır.
$expand: metin filtrelemeli değer kümesindeki kodlar, arama kutuları için.
GET /ValueSet/$expand?url=http://hl7.org/fhir/ValueSet/condition-code&filter=diabetes&count=20
expansion.contains listesiyle ValueSet'i döndürür: kod, sistem, gösterim. Bir EHR'nin teşhis araması, 360.000 kavramı yerel olarak tutmadan SNOMED CT'ye karşı bu şekilde çalışır.
$translate: bir sistem sınırını geçme.
GET /ConceptMap/$translate?url=https://lab.example.org/ConceptMap/local-to-loinc&system=https://lab.example.org/codes&code=GLU&targetsystem=http://loinc.org
Denklikleriyle birlikte eşleşmeleri döndürür. Aynı işlem, sunucunun bunları barındırdığı SNOMED CT → ICD-10 eşlemelerine hizmet eder.
$subsumes: hiyerarşi soruları.
GET /CodeSystem/$subsumes?system=http://snomed.info/sct&codeA=73211009&codeB=44054006
subsumes (diyabet, tip 2 diyabetin bir atasıdır), subsumed-by, equivalent veya not-subsumed yanıtlarını verir. Karar destek, her alt türü listelemek zorunda kalmadan bu durum herhangi bir diyabet türü mü? diye sormak için bunu kullanır.
Yanıtlar Parameters kaynaklarıdır: düz bir nesne değil, adlandırılmış parçalardan oluşan bir liste, bu da ilk kez arayanları şaşırtır.
Karşılaşacağınız Sunucular
Uygulamada en sık karşılaşılan terminoloji sunucuları şunlardır: tx.fhir.org, HL7'nin doğrulayıcısı tarafından kullanılan genel başvuru sunucusu; CSIRO'dan Ontoserver, birkaç ulusal programın arkasındaki ticari bir sunucu; SNOMED International'dan Snowstorm, açık kaynaklı ve SNOMED CT'ye özgü; terminoloji işlemleri olan HAPI FHIR ve Firely Server gibi genel FHIR sunucuları; ve sağlık kuruluşları tarafından işletilen ulusal sunucular.
| Sunucu | Kim | Notlar |
|---|---|---|
| tx.fhir.org | HL7 (referans) | Genel, HL7 doğrulayıcısı ve IG Yayıncısı tarafından kullanılır; LOINC, SNOMED CT (lisanslı olduğu yerlerde), HL7 tabloları, UCUM. Üretim trafiği için değil |
| Ontoserver | CSIRO (Avustralya) | Ticari; ulusal programlar (Avustralya, Birleşik Krallık NHS Ontology Server, Hollanda, Belçika) tarafından kullanılır; ECL sorgularıyla tam SNOMED CT |
| Snowstorm | SNOMED International | Açık kaynak; FHIR API'li SNOMED CT yerlisi; resmi tarayıcıyı destekler |
| HAPI FHIR, Firely Server, Microsoft/Google/AWS FHIR hizmetleri | Satıcılar | Terminoloji işlemleri olan genel FHIR sunucuları; kod sistemlerini kendiniz yükleyin |
| Ulusal sunucular | Sağlık bakanlıkları ve ajansları | Genellikle ulusal sürüm ve yerel değer kümeleriyle Ontoserver veya Snowstorm |
İçerik zordur: SNOMED CT üye ülkeler dışında lisans gerektirir, LOINC kullanım şartlarını kabul etmeyi gerektirir, ICD-10 ulusal varyantlarının kendi dağıtımları vardır. Bir sunucu size işlemleri sunar; içeriği yasal olarak hala kendiniz edinip yüklemeniz gerekir.
Birini Uygulamalar Nasıl Kullanır?
Uygulamalar, kodları ve birimleri yazma zamanında doğrulamak, metin filtresi ve değer kümesi ile $expand aracılığıyla arama kutularını güçlendirmek, $lookup aracılığıyla resmi adları görüntülemek, yerel kodları $translate aracılığıyla LOINC veya SNOMED CT'den ICD-10'a eşlemek ve $subsumes ve SNOMED CT'nin İfade Kısıtlama Dili aracılığıyla hiyerarşiler üzerinde akıl yürütmek için bir terminoloji sunucusu kullanır.
- Yazma zamanında doğrulama: Gözlemin LOINC kodu mevcut değilse veya birimi UCUM değilse, sorunu adlandıran bir mesajla reddedin.
- Arama kutuları: Teşhis, prosedür ve ilaç seçicileri için
filterile$expand, bir değer kümesiyle kapsamlanmış, böylece klinisyenler yalnızca ilgili kavramları görür. - Görüntüleme: Resmi adı ve çevirileri göstermek için
$lookup, bayatlayan görüntü dizelerini depolamak yerine. - Eşleme: Yerel laboratuvar kodlarını içe aktarma sırasında LOINC'e dönüştürmek için
$translate(yerel laboratuvar kodlarını LOINC'e eşleme) veya raporlama için SNOMED CT'yi ICD-10'a dönüştürmek için ([SNOMED CT vs ICD-10](/tr/rehber/snomed-ct-vs-icd-10)). - Akıl yürütme:
$subsumesve SNOMED'in Expression Constraint Language (ECL, Ontoserver ve Snowstorm tarafından$expandfiltreleri aracılığıyla desteklenir) ile hiyerarşi yoluyla kohortları ve kuralları tanımlamak.
Önbelleği agresif bir şekilde kullanın (terminoloji yılda iki kez değil, iki kez değişir), üretimde sürümleri sabitleyin ve bir sunucu kesintisini, her yazmayı reddetmek için bir neden olarak değil, bozulmuş doğrulama olarak ele alın.
Anpheros'ta
Anpheros Platform, gözlemler için kabul ettiği LOINC kodlarını ve UCUM birimlerini ve ilaçlar için ATC kodlarını, sunduğu terminolojiye (bir LOINC alt kümesi ve WHO ATC indeksi) karşı doğrular ve terminoloji API'sini geliştirici sitesinde belgeler. Tam SNOMED CT veya ICD-10 taraması için, lisanslı içeriği yeniden dağıtmak yerine resmi tarayıcılara yönlendirir.
İlgili Sayfalar
- FHIR profilleri ve uzantıları açıklandı
- Yerel laboratuvar kodlarını LOINC'e eşleme
- SNOMED CT vs ICD-10
- FHIR'de CodeableConcept ve Kodlama
- Laboratuvar sonuçlarında UCUM birimleri
- Tıbbi terminoloji API'si (geliştirici sitesi)
Kaynaklar
- HL7 FHIR R4: Terminoloji Hizmeti
- HL7 FHIR R4: ValueSet $expand
- HL7 FHIR R4: ConceptMap $translate
- HL7 FHIR R4: CodeSystem $lookup
- HL7 terminoloji sunucusu tx.fhir.org
- Snowstorm (SNOMED International, GitHub)
- Ontoserver (CSIRO)
Sık sorulan sorular
FHIR kullanmak için bir terminoloji sunucusuna ihtiyacım var mı?
Sabit bir kod listesine sahip küçük bir sistem için değil. Büyük sistemlerden kodları doğrulamaya, klinik arama sunmaya veya sistemler arasında çeviri yapmaya başladığınızda, bir terminoloji sunucusu terminolojileri kendiniz gönderme ve güncelleme zahmetinden sizi kurtarır.
tx.fhir.org'u üretimde kullanabilir miyim?
Hayır. Doğrulama araçları ve testler için HL7'nin referans sunucusudur, hizmet garantisi yoktur ve bazı içerikler üzerinde lisans kısıtlamaları vardır. Kendi sunucunuzu çalıştırın veya ulusal veya ticari bir sunucu kullanın.
ECL nedir?
SNOMED CT'nin Expression Constraint Language'ı, kavram kümeleri için bir sorgu sözdizimidir (örneğin, diyabet ve tüm alt türleri için << 73211009). Bunu destekleyen sunucular, ECL'yi ValueSet filtrelerinde ve $expand'da kabul eder.
Bir sunucunun hangi SNOMED CT sürümüne sahip olduğunu nasıl anlarım?
CodeSystem'ı (GET /CodeSystem?url=http://snomed.info/sct) sorgulayın ve sürümünü okuyun, bu sürüm sürümü ve sürüm tarihini kodlar (örneğin http://snomed.info/sct/900000000000207008/version/20260301). Sonuçların tekrarlanabilir olması gerektiğinde isteklerinizde bunu sabitleyin.
Sandbox'ta ücretsiz deneyin
İlk FHIR çağrınız 5 dakikada. Hasta izniyle yerleşik HL7 FHIR R4 API: sandbox'ta deneyin, ardından kendi uygulamanızı veya klinik sisteminizi bağlayın.
Ücretsiz · 30 sentetik hasta · kart gerekmez

