Krátka odpoveď: terminologický server je FHIR server špecializovaný na kódy. Ukladá CodeSystems (SNOMED CT, LOINC, ICD-10, UCUM, vlastné tabuľky HL7), ValueSets (pojmenované podmnožiny na určitý účel: kódy vitálnych funkcií, alergény) a ConceptMaps (preklady medzi systémami) a odpovedá prostredníctvom štandardných operácií: $lookup (čo znamená tento kód?), $validate-code (je tento kód povolený tu?), $expand (vypíš kódy v tomto value sete, voliteľne filtrované podľa textu), $translate (aký je tento kód v inom systéme?) a $subsumes (je A druhom B?). Aplikácie ho volajú namiesto toho, aby si sami posielali kópie terminológií, ktoré sú rozsiahle, licencované a aktualizované niekoľkokrát ročne.
Zdroje
FHIR server pre terminológiu pracuje s tromi zdrojmi. CodeSystem deklaruje kódový systém pomocou kanonickej URL a verzie, s jeho konceptmi alebo poznámkou, že obsah je uložený inde; ValueSet definuje účelový podtriedu kódov prostredníctvom pravidiel skladby a voliteľného vypočítaného rozšírenia; ConceptMap zaznamenáva vzťahy zo zdroja do cieľa medzi systémami s ekvivalenciou pre každé mapovanie.
- CodeSystem deklaruje systém pomocou kanonického URL (
http://snomed.info/sct,http://loinc.org,http://hl7.org/fhir/sid/icd-10), jeho verziu a buď jeho koncepty, alebo vyhlásenie, že obsah je uložený inde (content: not-presentpre licencované systémy). - ValueSet má
compose(pravidlá: zahrň všetky kódy zo systému, konkrétne kódy, alebo filter ako potomkovia 404684003 Klinické zistenie) a po výpočteexpansion(skutočný zoznam). Väzby v profiloch odkazujú na value sety; pozri FHIR profily a rozšírenia. - ConceptMap obsahuje vzťahy zdroj → cieľ s ekvivalenciou (
equivalent,wider,narrower,inexact,unmatched) a voliteľnými závislosťami, pre mapovania ako SNOMED CT na ICD-10 alebo lokálne kódy laboratória na LOINC.
Operácie s požiadavkami
FHIR server pre terminológiu odpovedá na päť štandardných operácií: $lookup vráti význam jedného kódu, $validate-code skontroluje, či kód patrí do systému alebo hodnotovej sady, $expand vypíše kódy v hodnotovej sade, voliteľne filtrované podľa textu, $translate prevedie kód do iného systému prostredníctvom ConceptMap a $subsumes testuje, či je jeden koncept druhom iného.
$lookup: podrobnosti o jednom kóde.
GET /CodeSystem/$lookup?system=http://loinc.org&code=4548-4
Vráti Parameters resource s display ("Hemoglobín A1c/Hemoglobín.celkový v krvi"), označeniami v iných jazykoch a vlastnosťami (pre LOINC šesť osí; pre SNOMED CT rodičov a definujúce vzťahy).
$validate-code: je kód v systéme, alebo vo value sete?
GET /ValueSet/$validate-code?url=http://hl7.org/fhir/ValueSet/observation-vitalsignresult&system=http://loinc.org&code=8480-6
Vráti result: true s označením, alebo false so správou. Servery, ktoré validujú zdroje, toto volajú pre každý viazaný prvok.
$expand: kódy vo value sete, s textovým filtrovaním pre vyhľadávacie polia.
GET /ValueSet/$expand?url=http://hl7.org/fhir/ValueSet/condition-code&filter=diabetes&count=20
Vráti ValueSet so zoznamom expansion.contains: kód, systém, označenie. Takto funguje vyhľadávanie diagnóz v EHR voči SNOMED CT bez lokálneho ukladania 360 000 konceptov.
$translate: prekročenie hranice systému.
GET /ConceptMap/$translate?url=https://lab.example.org/ConceptMap/local-to-loinc&system=https://lab.example.org/codes&code=GLU&targetsystem=http://loinc.org
Vráti zhody s ich ekvivalenciou. Rovnaká operácia slúži na mapovanie SNOMED CT → ICD-10, kde ich server hostuje.
$subsumes: otázky o hierarchii.
GET /CodeSystem/$subsumes?system=http://snomed.info/sct&codeA=73211009&codeB=44054006
Odpovedá subsumes (diabetes mellitus je predok cukrovky 2. typu), subsumed-by, equivalent alebo not-subsumed. Podpora rozhodovania ju používa na otázku je tento stav nejaký druh cukrovky? bez vymenovania každej podtypu.
Odpovede sú Parameters zdroje: zoznam pomenovaných častí, nie obyčajný objekt, čo prekvapí prvých volajúcich.
Servery, s ktorými sa stretnete
Servery pre terminológiu, s ktorými sa najčastejšie stretnete v praxi, sú tx.fhir.org, verejný referenčný server HL7 používaný jeho validátorom; Ontoserver od CSIRO, komerčný server za niekoľkými národnými programami; Snowstorm od SNOMED International, open source a natívny pre SNOMED CT; všeobecné FHIR servery ako HAPI FHIR a Firely Server s terminologickými operáciami; a národné servery prevádzkované zdravotníckymi agentúrami.
| Server | Kto | Poznámky |
|---|---|---|
| tx.fhir.org | HL7 (referenčný) | Verejný, používaný validátorom HL7 a IG Publisher; LOINC, SNOMED CT (kde je licencovaný), tabuľky HL7, UCUM. Nie pre produkčnú prevádzku |
| Ontoserver | CSIRO (Austrália) | Komerčný; používaný národnými programami (Austrália, UK NHS Ontology Server, Holandsko, Belgicko); plný SNOMED CT s ECL dotazmi |
| Snowstorm | SNOMED International | Open source; natívny pre SNOMED CT s FHIR API; poháňa oficiálny prehliadač |
| HAPI FHIR, Firely Server, Microsoft/Google/AWS FHIR služby | Predajcovia | Všeobecné FHIR servery s terminologickými operáciami; načítajte si kódové systémy sami |
| Národné servery | Ministerstvá zdravotníctva a agentúry | Často Ontoserver alebo Snowstorm s národnou edíciou a lokálnymi value setmi |
Obsah je ťažká časť: SNOMED CT vyžaduje licenciu mimo členských krajín, LOINC vyžaduje prijatie jeho podmienok, národné varianty ICD-10 majú vlastnú distribúciu. Server vám poskytne operácie; obsah si stále musíte legálne zaobstarať a načítať.
Ako ich aplikácie používajú
Aplikácie používajú server pre terminológiu na validáciu kódov a jednotiek pri zápise, na napájanie vyhľadávacích polí prostredníctvom $expand s textovým filtrom a hodnotovou sadou, na zobrazovanie oficiálnych názvov prostredníctvom $lookup, na mapovanie lokálnych kódov na LOINC alebo SNOMED CT na ICD-10 prostredníctvom $translate a na odvodzovanie hierarchií prostredníctvom $subsumes a Expression Constraint Language SNOMED CT.
- Validácia pri zápise: odmietnuť Observation, ktorej LOINC kód neexistuje, alebo ktorej jednotka nie je UCUM, so správou, ktorá pomenúva problém.
- Vyhľadávacie polia:
$expandsfilterpre výber diagnóz, procedúr a liekov, ohraničené value setom, takže lekári vidia iba relevantné koncepty. - Zobrazenie:
$lookupna zobrazenie oficiálneho názvu a prekladov namiesto ukladania zobrazovacích reťazcov, ktoré zastarávajú. - Mapovanie:
$translatena prevod lokálnych laboratórnych kódov na LOINC pri importe (ako mapovať lokálne laboratórne kódy na LOINC) alebo SNOMED CT na ICD-10 pre reporting (SNOMED CT vs ICD-10). - Odôvodnenie:
$subsumesa SNOMED's Expression Constraint Language (ECL, podporované Ontoserverom a Snowstormom cez filtre$expand) na definovanie kohort a pravidiel podľa hierarchie.
Agresívne cachujte (terminológia sa mení dvakrát ročne, nie dvakrát denne), pripínajte verzie v produkcii a považujte výpadok servera za zhoršenú validáciu, nie za dôvod na odmietnutie každého zápisu.
V Anpheros
Anpheros Platform validuje LOINC kódy a UCUM jednotky, ktoré prijíma pre pozorovania, a ATC kódy pre lieky voči terminológii, ktorú dodáva (podmnožina LOINC a WHO ATC index), a dokumentuje svoje terminologické API na vývojárskej stránke. Pre plné prehliadanie SNOMED CT alebo ICD-10 odkazuje na oficiálne prehliadače namiesto redistribúcie licencovaného obsahu.
Súvisiace stránky
- Vysvetlenie FHIR profilov a rozšírení
- Ako mapovať lokálne laboratórne kódy na LOINC
- SNOMED CT vs ICD-10
- CodeableConcept a Coding vo FHIR
- UCUM jednotky v laboratórnych výsledkoch
- API pre lekársku terminológiu (vývojárska stránka)
Zdroje
- HL7 FHIR R4: Terminology Service
- HL7 FHIR R4: ValueSet $expand
- HL7 FHIR R4: ConceptMap $translate
- HL7 FHIR R4: CodeSystem $lookup
- HL7 terminologický server tx.fhir.org
- Snowstorm (SNOMED International, GitHub)
- Ontoserver (CSIRO)
Časté otázky
Potrebujem terminologický server na používanie FHIR?
Nie pre malý systém s pevným zoznamom kódov. Akonáhle validujete kódy z veľkých systémov, ponúkate klinické vyhľadávanie alebo prekladáte medzi systémami, terminologický server vás ušetrí od posielania a aktualizácie terminológií sami.
Môžem použiť tx.fhir.org v produkcii?
Nie. Je to referenčný server HL7 pre validačné nástroje a testovanie, bez záruk služby a s licenčnými obmedzeniami na niektorý obsah. Prevádzkujte vlastný alebo použite národný alebo komerčný.
Čo je ECL?
SNOMED CT's Expression Constraint Language, dotazovací jazyk pre sady konceptov (napríklad << 73211009 pre diabetes a všetky jeho podtypy). Servery, ktoré ho podporujú, prijímajú ECL vo filtroch ValueSet a $expand.
Ako zistím, ktorú verziu SNOMED CT má server?
Opýtajte sa CodeSystem (GET /CodeSystem?url=http://snomed.info/sct) a prečítajte si jeho verziu, ktorá kóduje edíciu a dátum vydania (napríklad http://snomed.info/sct/900000000000207008/version/20260301). Pripojte ju vo svojich požiadavkách, keď musia byť výsledky reprodukovateľné.
Vyskúšajte zadarmo v sandboxe
Prvé volanie FHIR za 5 minút. API podľa štandardu HL7 FHIR R4 s integrovaným súhlasom pacienta: vyskúšajte si ho v sandboxe a potom pripojte svoju vlastnú aplikáciu alebo klinický systém.
Zadarmo · 30 syntetických pacientov · bez karty

