Terminologie

FHIR-Terminologieserver erklärt: $lookup, $validate-code, $expand, $translate und $subsumes mit Anfragen

Ein Terminologieserver speichert Codesysteme (SNOMED CT, LOINC, ICD-10), Wertebereiche und Konzeptkarten und beantwortet Fragen zu Codes über FHIR-Operationen. Was jede Operation tut, Beispielanfragen, welche Server es gibt (tx.fhir.org, Ontoserver, Snowstorm, HAPI) und wie Apps sie nutzen.

von Veröffentlicht 6 Min. Lesezeit

Kurze Antwort: Ein Terminologie-Server ist ein FHIR-Server, der auf Codes spezialisiert ist. Er speichert CodeSystems (SNOMED CT, LOINC, ICD-10, UCUM, HL7-eigene Tabellen), ValueSets (benannte Teilmengen für einen Zweck: Vitalzeichen-Codes, Allergen-Substanzen) und ConceptMaps (Übersetzungen zwischen Systemen) und antwortet über Standardoperationen: $lookup (was bedeutet dieser Code?), $validate-code (ist dieser Code hier erlaubt?), $expand (Liste die Codes in diesem ValueSet, optional gefiltert nach Text), $translate (was ist dieser Code in einem anderen System?) und $subsumes (ist A eine Art von B?). Anwendungen rufen ihn auf, anstatt Kopien von Terminologien zu versenden, die groß, lizenziert und mehrmals im Jahr aktualisiert werden.

Die Ressourcen

Ein FHIR-Terminologieserver arbeitet mit drei Ressourcen. CodeSystem deklariert ein Codesystem anhand einer kanonischen URL und Version, mit seinen Konzepten oder einem Hinweis, dass der Inhalt woanders gespeichert ist; ValueSet definiert eine zweckmäßige Teilmenge von Codes durch Kompositionsregeln und eine optionale berechnete Erweiterung; ConceptMap erfasst Quell-Ziel-Beziehungen zwischen Systemen mit einer Gleichwertigkeit für jede Zuordnung.

  • CodeSystem deklariert ein System anhand seiner kanonischen URL (http://snomed.info/sct, http://loinc.org, http://hl7.org/fhir/sid/icd-10), seiner Version und entweder seiner Konzepte oder einer Aussage, dass der Inhalt woanders gehalten wird (content: not-present für lizenzierte Systeme).
  • ValueSet hat eine compose (Regeln: alle Codes aus einem System einschließen, spezifische Codes oder einen Filter wie Nachfahren von 404684003 Clinical finding) und, wenn berechnet, eine expansion (die tatsächliche Liste). Bindings in Profilen verweisen auf ValueSets; siehe FHIR-Profile und Erweiterungen.
  • ConceptMap enthält Quell- → Ziel-Beziehungen mit einer Äquivalenz (equivalent, wider, narrower, inexact, unmatched) und optionalen Abhängigkeiten für Maps wie SNOMED CT zu ICD-10 oder lokale Codes eines Labors zu LOINC.

Die Operationen, mit Anfragen

Ein FHIR-Terminologieserver beantwortet fünf Standardoperationen: $lookup gibt die Bedeutung eines Codes zurück, $validate-code prüft, ob ein Code zu einem System oder einer Werte Menge gehört, $expand listet die Codes in einer Werte Menge auf, optional gefiltert nach Text, $translate konvertiert einen Code über eine ConceptMap in ein anderes System und $subsumes testet, ob ein Konzept eine Art eines anderen ist.

$lookup: Details zu einem Code.

GET /CodeSystem/$lookup?system=http://loinc.org&code=4548-4

Gibt eine Parameters-Ressource mit display ("Hämoglobin A1c/Hämoglobin.total im Blut"), Bezeichnungen in anderen Sprachen und Eigenschaften zurück (für LOINC die sechs Achsen; für SNOMED CT die Eltern und definierenden Beziehungen).

$validate-code: Ist der Code im System oder im ValueSet?

GET /ValueSet/$validate-code?url=http://hl7.org/fhir/ValueSet/observation-vitalsignresult&system=http://loinc.org&code=8480-6

Gibt result: true mit der Anzeige oder false mit einer Nachricht zurück. Server, die Ressourcen validieren, rufen dies für jedes gebundene Element auf.

$expand: Die Codes in einem ValueSet, mit Textfilterung für Suchfelder.

GET /ValueSet/$expand?url=http://hl7.org/fhir/ValueSet/condition-code&filter=diabetes&count=20

Gibt das ValueSet mit einer expansion.contains-Liste zurück: Code, System, Anzeige. So funktioniert die Diagnose-Suche eines EHR gegen SNOMED CT, ohne 360.000 Konzepte lokal zu speichern.

$translate: Systemgrenzen überschreiten.

GET /ConceptMap/$translate?url=https://lab.example.org/ConceptMap/local-to-loinc&system=https://lab.example.org/codes&code=GLU&targetsystem=http://loinc.org

Gibt die Treffer mit ihrer Äquivalenz zurück. Dieselbe Operation dient SNOMED CT → ICD-10-Maps, wo der Server sie hostet.

$subsumes: Hierarchie-Fragen.

GET /CodeSystem/$subsumes?system=http://snomed.info/sct&codeA=73211009&codeB=44054006

Beantwortet subsumes (Diabetes mellitus ist ein Vorfahre von Typ-2-Diabetes), subsumed-by, equivalent oder not-subsumed. Entscheidungsunterstützung nutzt es, um zu fragen: Ist diese Erkrankung irgendeine Art von Diabetes?, ohne jeden Untertyp aufzulisten.

Antworten sind Parameters-Ressourcen: eine Liste benannter Teile, kein einfaches Objekt, was Erstnutzer überrascht.

Server, denen Sie begegnen werden

Die in der Praxis am häufigsten anzutreffenden Terminologieserver sind tx.fhir.org, der öffentliche Referenzserver von HL7, der von seinem Validator verwendet wird; Ontoserver von CSIRO, ein kommerzieller Server, der mehreren nationalen Programmen zugrunde liegt; Snowstorm von SNOMED International, Open Source und SNOMED CT-nativ; allgemeine FHIR-Server wie HAPI FHIR und Firely Server mit Terminologieoperationen; und nationale Server, die von Gesundheitsbehörden betrieben werden.

Server Wer Anmerkungen
tx.fhir.org HL7 (Referenz) Öffentlich, genutzt vom HL7-Validator und IG Publisher; LOINC, SNOMED CT (wo lizenziert), HL7-Tabellen, UCUM. Nicht für Produktionsverkehr
Ontoserver CSIRO (Australien) Kommerziell; genutzt von nationalen Programmen (Australien, UK NHS Ontology Server, Niederlande, Belgien); vollständiges SNOMED CT mit ECL-Abfragen
Snowstorm SNOMED International Open Source; SNOMED CT nativ mit FHIR-API; treibt den offiziellen Browser an
HAPI FHIR, Firely Server, Microsoft/Google/AWS FHIR-Dienste Anbieter Allgemeine FHIR-Server mit Terminologie-Operationen; laden Sie Code-Systeme selbst
Nationale Server Gesundheitsministerien und Behörden Oft Ontoserver oder Snowstorm mit der nationalen Edition und lokalen ValueSets

Inhalt ist der schwierige Teil: SNOMED CT benötigt eine Lizenz außerhalb der Mitgliedsländer, LOINC erfordert die Annahme seiner Bedingungen, ICD-10-Landesvarianten haben ihre eigene Verteilung. Ein Server bietet Ihnen die Operationen; Sie müssen den Inhalt weiterhin legal beschaffen und laden.

Wie Anwendungen einen nutzen

Anwendungen nutzen einen Terminologieserver, um Codes und Einheiten beim Schreiben zu validieren, um Suchfelder über $expand mit einem Textfilter und einer Werte Menge zu betreiben, um offizielle Namen über $lookup anzuzeigen, um lokale Codes über $translate nach LOINC oder SNOMED CT zu ICD-10 zu übersetzen und um Hierarchien über $subsumes und die Expression Constraint Language von SNOMED CT zu analysieren.

  • Validierung beim Schreiben: Ablehnen einer Observation, deren LOINC-Code nicht existiert oder deren Einheit nicht UCUM ist, mit einer Nachricht, die das Problem benennt.
  • Suchfelder: $expand mit filter für Auswahlfelder für Diagnosen, Prozeduren und Medikamente, begrenzt durch ein ValueSet, damit Ärzte nur relevante Konzepte sehen.
  • Anzeige: $lookup, um den offiziellen Namen und Übersetzungen anzuzeigen, anstatt Anzeigestrings zu speichern, die veralten.
  • Mapping: $translate, um lokale Laborcodes beim Import in LOINC zu verwandeln (wie lokale Laborcodes in LOINC gemappt werden) oder SNOMED CT in ICD-10 für die Berichterstattung (SNOMED CT vs. ICD-10).
  • Schlussfolgerung: $subsumes und SNOMED's Expression Constraint Language (ECL, unterstützt von Ontoserver und Snowstorm durch $expand-Filter), um Kohorten und Regeln nach Hierarchie zu definieren.

Cache aggressiv (Terminologie ändert sich zweimal im Jahr, nicht zweimal am Tag), Versionen in der Produktion fixieren und einen Serverausfall als eingeschränkte Validierung behandeln, anstatt als Grund, jeden Schreibvorgang abzulehnen.

In Anpheros

Die Anpheros Platform validiert die LOINC-Codes und UCUM-Einheiten, die sie für Beobachtungen akzeptiert, und die ATC-Codes für Medikamente gegen die von ihr ausgelieferte Terminologie (eine LOINC-Teilmenge und der WHO ATC-Index) und dokumentiert ihre Terminologie-API auf der Entwicklerseite. Für die vollständige SNOMED CT- oder ICD-10-Suche verweist sie auf die offiziellen Browser, anstatt lizenzierte Inhalte weiterzuverbreiten.

Verwandte Seiten

Quellen

Häufige Fragen

Benötige ich einen Terminologie-Server, um FHIR zu verwenden?

Nicht für ein kleines System mit einer festen Code-Liste. Sobald Sie Codes aus großen Systemen validieren, klinische Suchen anbieten oder zwischen Systemen übersetzen, erspart Ihnen ein Terminologie-Server das Versenden und Aktualisieren der Terminologien selbst.

Kann ich tx.fhir.org in der Produktion verwenden?

Nein. Es ist der Referenzserver von HL7 für Validierungswerkzeuge und Tests, ohne Servicegarantien und mit Lizenzbeschränkungen für einige Inhalte. Betreiben Sie Ihren eigenen oder nutzen Sie einen nationalen oder kommerziellen.

Was ist ECL?

SNOMED CT's Expression Constraint Language, eine Abfragesyntax für Konzeptmengen (z. B. << 73211009 für Diabetes und alle seine Unterarten). Server, die es unterstützen, akzeptieren ECL in ValueSet-Filtern und $expand.

Woher weiß ich, welche Version von SNOMED CT ein Server hat?

Fragen Sie das CodeSystem (GET /CodeSystem?url=http://snomed.info/sct) und lesen Sie seine Version, die die Edition und das Veröffentlichungsdatum kodiert (z. B. http://snomed.info/sct/900000000000207008/version/20260301). Fixieren Sie sie in Ihren Anfragen, wenn die Ergebnisse reproduzierbar sein müssen.

Anpheros Platform

Kostenlos in der Sandbox testen

Ihr erster FHIR-Aufruf in 5 Minuten. Eine HL7 FHIR R4 API mit der Zustimmung des Patienten: probieren Sie sie in der Sandbox aus und verbinden Sie dann Ihre eigene App oder Ihr Kliniksystem.

Kostenlos · 30 synthetische Patienten · keine Karte

Dieser Ratgeber dient der Information und ersetzt keine ärztliche Beratung. Sprechen Sie bei Entscheidungen über Ihre Gesundheit mit Ihrem Arzt oder Ihrer Ärztin. Im Notfall rufen Sie die örtliche Notrufnummer an (112 in Europa).
Erstellt von
Das Anpheros-Team

Anpheros entwickelt eine Patientenakte, die der Patient kontrolliert und mit jeder Klinik teilen kann, auf einer HL7 FHIR R4-Plattform mit Sitz in der EU. Diese Anleitungen helfen Ihnen, Ihre Gesundheit zu verstehen und zu organisieren; sie ersetzen nicht Ihren Arzt.

Über Anpheros →