Kısa cevap: CDS Hooks, bir EHR'nin (Elektronik Sağlık Kaydı) belirli anlarda (hook'lar) bir klinisyenin iş akışında harici bir klinik karar destek hizmetini çağırmasına olanak tanıyan bir HL7 standardıdır: hasta kaydını açma (patient-view), bir sipariş seçme (order-select), siparişleri imzalama (order-sign), bir karşılaşmayı başlatma veya sonlandırma. EHR, bağlamı ve isteğe bağlı olarak önceden alınmış FHIR verilerini gönderir; hizmet saniyeler içinde kartlar ile yanıt verir: kısa bilgiler, uyarılar veya öneriler ve bir SMART on FHIR uygulamasını başlatabilen bağlantılar. Klinisyen EHR'de kalır; zeka onun dışında yaşar.
Üç adım
CDS Hooks üç adımda çalışır. İlk adım keşif: EHR, GET /cds-services isteği göndererek hangi hizmetin hangi kancaya yanıt verdiğini ve hangi FHIR verilerini önceden getirmek istediğini öğrenir. İkinci adım kanca çağrısı: order-sign gibi bir iş akışı olayında, EHR bağlamı ve önceden getirilmiş kaynakları hizmete POST eder. Üçüncü adım yanıt: hizmet, EHR'nin gösterdiği kartları döndürür.
1. Keşif. EHR, GET https://cds.example.org/cds-services isteğini alır ve yanıt verdiği hook'u ve önceden alınmasını istediği FHIR sorgularını içeren hizmetlerin listesini alır:
{
"services": [{
"id": "renal-dosing",
"hook": "order-sign",
"title": "Renal dosing check",
"description": "Flags drug orders whose dose needs review against the latest eGFR.",
"prefetch": {
"patient": "Patient/{{context.patientId}}",
"egfr": "Observation?patient={{context.patientId}}&code=http://loinc.org|98979-8&_sort=-date&_count=1"
}
}]
}
2. Hook çağrısı. Klinisyen siparişleri imzaladığında, EHR /cds-services/renal-dosing adresine POST isteği gönderir:
{
"hookInstance": "d1577c69-dfbe-44ad-ba6d-3e05e953b2ea",
"hook": "order-sign",
"fhirServer": "https://ehr.example.org/fhir",
"fhirAuthorization": {"access_token": "…", "token_type": "Bearer", "expires_in": 300, "scope": "patient/*.read", "subject": "renal-dosing"},
"context": {
"userId": "Practitioner/42",
"patientId": "123",
"draftOrders": {"resourceType": "Bundle", "entry": [{"resource": {"resourceType": "MedicationRequest", "id": "draft-1", "status": "draft"}}]}
},
"prefetch": {
"patient": {"resourceType": "Patient", "id": "123"},
"egfr": {"resourceType": "Bundle", "type": "searchset", "entry": [{"resource": {"resourceType": "Observation", "id": "obs-9", "status": "final", "code": {"coding": [{"system": "http://loinc.org", "code": "98979-8"}]}, "valueQuantity": {"value": 38, "unit": "mL/min/1.73m2"}}}]}
}
}
Hizmetin ihtiyaç duyduğu bir şey önceden alınmamışsa, fhirAuthorization içindeki kısa süreli belirteci kullanarak EHR'nin FHIR sunucusunu kendisi sorgulayabilir.
3. Yanıt. Kartlar ve sürüm 2.0'da ayrıca sistem eylemleri:
{
"cards": [{
"uuid": "9a1d2f3e-…",
"summary": "eGFR 38: dose review suggested",
"indicator": "warning",
"detail": "The most recent eGFR (38 mL/min/1.73m², 2026-03-10) is below the threshold in the local renal dosing guidance for this drug.",
"source": {"label": "Hospital renal dosing guidance", "url": "https://intranet.example.org/renal"},
"suggestions": [{"label": "Open renal dosing table", "uuid": "…", "actions": []}],
"links": [{"label": "Dosing calculator", "url": "https://apps.example.org/renal/launch", "type": "smart"}]
}]
}
summary 140 karakter ile sınırlıdır; indicator info, warning veya critical olabilir; source klinisyenin kimin konuştuğunu bilmesi için zorunludur. suggestions klinisyenin tek tıklamayla kabul edebileceği somut değişiklikler (taslak kaynak oluşturma, güncelleme veya silme) önerebilir; smart türündeki links bir SMART uygulamasını bağlam içinde açar. EHR kartları kendi stilinde görüntüler; hizmet EHR içinde kendi kullanıcı arayüzünü asla çizmez.
Sürüm 2.0 eklemeleri
2022'de yayınlanan CDS Hooks sürüm 2.0, EHR'nin bir kartın kabul edilip edilmediğini, nedenleriyle geçersiz kılınıp geçersiz kılınmadığını veya göz ardı edilip edilmediğini bildirdiği bir geri bildirim uç noktası ekledi; sistemActions, düşük riskli bakım işlemleri için EHR'nin sormadan uyguladığı değişiklikler; fhirAuthorization.subject alanı; ve öneriler için daha net selectionBehavior kuralları (at-most-one veya any).
2022'de yayınlandı: EHR'nin bir kartın kabul edilip edilmediğini, geçersiz kılındığını (nedenleriyle birlikte) veya göz ardı edildiğini bildirdiği bir geri bildirim uç noktası (POST /cds-services/{id}/feedback); systemActions, düşük riskli rutin işler (kodlanmış bir neden eklemek gibi) için EHR'nin sormadan uyguladığı değişiklikler; fhirAuthorization.subject; ve öneriler için selectionBehavior (at-most-one veya any) üzerinde daha net kurallar.
Bir hizmet nedir ve ne değildir
Bir CDS Hooks hizmeti, iş akışı bağlamını okuyan ve kartlar olarak bilgi döndüren bir yazılımdır; otomatik olarak bir tıbbi cihaz değildir. Tıbbi cihaz kurallarının AB ve ABD'de geçerli olup olmadığı içeriğe bağlıdır: bir klinisyene bir laboratuvar değerinin var olduğunu hatırlatmak bilgi iken, hastaya özel doz önerisi düzenlenmiş karar destek sistemidir.
Bir CDS hizmeti, bağlamı okuyan ve bilgi döndüren bir yazılımdır. Tıbbi cihaz olup olmadığı, kartların ne söylediğine bağlıdır: bir laboratuvar değerinin varlığına dair bir hatırlatma bilgidir; belirli bir hasta için doz önerisi, AB ve ABD'de tıbbi cihaz kuralları kapsamına giren karar desteğidir. Bir sağlık uygulaması tıbbi cihaz mıdır? bölümüne bakın. Standart tarafsızdır; içerik taraflı değildir.
Bugün tanımlanan hook'lar: patient-view, order-select, order-sign, order-dispatch, encounter-start, encounter-discharge, appointment-book ve yeni hook'ların önerildiği halka açık bir katalog.
SMART on FHIR ile İlişkisi
CDS Hooks ve SMART on FHIR birbirini tamamlar. SMART on FHIR, ekranın bir bölümünü devralan ve kullanıcının yetkilendirmesiyle FHIR sunucusuna sorgu gönderen bir uygulamayı başlatır; CDS Hooks arka planda çalışır ve EHR'nin kendi arayüzüne kartlar döndürür. Bir kart, bir karttan fazlası gerektiğinde SMART başlatma bağlantısı taşıyabilir.
SMART on FHIR, ekranın bir bölümünü devralan ve kullanıcının izniyle FHIR sunucusuyla konuşan bir uygulama başlatır. CDS Hooks arka planda çalışır ve kartlar döndürür; bir kart, bir karttan fazlası gerektiğinde bir SMART başlatma bağlantısı taşıyabilir. Çoğu karar destek ürünü her ikisini de kullanır: dürtme için hook'lar, ayrıntı için bir SMART uygulaması.
Anpheros nerede devreye giriyor
Anpheros bir CDS Hooks hizmeti sunmaz ve klinik öneriler üretmez. FHIR kaydı, hastanın rızasıyla, bir hastanenin kendi karar destek hizmetinin okuyabileceği veriler olabilir (ilaçlar, alerjiler, son sonuçlar), hook hizmetinin kullanacağı aynı FHIR API aracılığıyla. Hasta rıza platformu bölümüne bakın.
İlgili sayfalar
- FHIR Abonelikleri açıklandı
- Bir sağlık uygulaması tıbbi cihaz mıdır? AB MDR Kural 11
- Hasta rıza platformu
- FHIR araması açıklandı
- SMART on FHIR arka ucu (geliştiriciler)
- Sağlık hizmetleri birlikte çalışabilirlik standartları: harita
- SMART Uygulama Başlatma açıklandı
Kaynaklar
- HL7 CDS Hooks spesifikasyonu 2.0
- CDS Hooks: hook kataloğu
- HL7 SMART Uygulama Başlatma
- HL7 FHIR R4: MedicationRequest
Sık sorulan sorular
CDS Hooks FHIR'ın bir parçası mı?
FHIR için verilerini kullanan ayrı bir HL7 spesifikasyonudur: önceden getirme ve bağlam FHIR kaynaklarını taşır ve yetkilendirme SMART on FHIR belirteçlerini yeniden kullanır. HL7 tarafından FHIR'ın yanında yayınlanır, FHIR spesifikasyonunun içinde değil.
Bir CDS hizmeti ne kadar hızlı yanıt vermeli?
Spesifikasyon bir sayı belirlemez, ancak EHR'ler birkaç saniyelik zaman aşımları uygular ve geç yanıtları reddeder, çünkü klinisyen beklemektedir. Önceden getirme tam olarak hizmetin bu zamanı sorgulayarak harcamaması için vardır.
Bir CDS hizmeti siparişi değiştirebilir mi?
Yalnızca klinisyenin kabul ettiği bir öneri sunarak veya 2.0'da, EHR'nin o hizmet için otomatik olarak uygulanmasını kabul ettiği systemActions aracılığıyla. Hizmet, bir hook sırasında kendi başına EHR'nin FHIR sunucusuna asla yazmaz.
Bir hasta uygulaması CDS Hooks kullanır mı?
Hayır. CDS Hooks, klinisyen odaklı EHR iş akışları için tasarlanmıştır. Hasta uygulamaları FHIR API'sini doğrudan ve oturum açma için SMART on FHIR'ı kullanır.
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

