Krátká odpověď: terminologický server je FHIR server specializovaný na kódy. Ukládá CodeSystems (SNOMED CT, LOINC, ICD-10, UCUM, vlastní tabulky HL7), ValueSets (pojmenované podmnožiny pro daný účel: kódy vitálních funkcí, alergenní látky) a ConceptMaps (překlady mezi systémy) a odpovídá prostřednictvím standardních operací: $lookup (co tento kód znamená?), $validate-code (je tento kód povolen zde?), $expand (seznam kódů v tomto hodnotovém souboru, volitelně filtrovaný podle textu), $translate (co je tento kód v jiném systému?) a $subsumes (je A druhem B?). Aplikace jej volají místo toho, aby si samy posílaly kopie terminologií, které jsou rozsáhlé, licencované a aktualizované několikrát ročně.
Zdroje
Server terminologie FHIR pracuje se třemi zdroji. CodeSystem deklaruje kódový systém pomocí kanonické URL a verze, s jeho koncepty nebo poznámkou, že obsah je držen jinde; ValueSet definuje účelový podskup kódů pomocí pravidel skládání a volitelného rozšíření; ConceptMap zaznamenává vztahy ze zdroje do cíle mezi systémy s ekvivalencí pro každé mapování.
- CodeSystem deklaruje systém svým kanonickým URL (
http://snomed.info/sct,http://loinc.org,http://hl7.org/fhir/sid/icd-10), jeho verzi a buď jeho koncepty, nebo prohlášení, že obsah je uložen jinde (content: not-presentpro licencované systémy). - ValueSet má
compose(pravidla: zahrnout všechny kódy ze systému, specifické kódy nebo filtr jako potomci 404684003 Klinické zjištění) a po výpočtuexpansion(aktuální seznam). Vazby v profilech odkazují na hodnotové sady; viz FHIR profily a rozšíření. - ConceptMap obsahuje vztahy zdroj → cíl s ekvivalencí (
equivalent,wider,narrower,inexact,unmatched) a volitelnými závislostmi pro mapování, jako je SNOMED CT na ICD-10 nebo lokální kódy laboratoře na LOINC.
Operace s požadavky
Server terminologie FHIR odpovídá na pět standardních operací: $lookup vrací význam jednoho kódu, $validate-code kontroluje, zda kód patří do systému nebo hodnotové sady, $expand vypisuje kódy v hodnotové sadě, volitelně filtrované podle textu, $translate převádí kód do jiného systému prostřednictvím ConceptMap a $subsumes testuje, zda je jeden koncept druhem jiného.
$lookup: podrobnosti o jednom kódu.
GET /CodeSystem/$lookup?system=http://loinc.org&code=4548-4
Vrací zdroj Parameters s display ("Hemoglobin A1c/Hemoglobin.total v krvi"), označením v jiných jazycích a vlastnostmi (pro LOINC šest os; pro SNOMED CT rodiče a definující vztahy).
$validate-code: je kód v systému, nebo v hodnotové sadě?
GET /ValueSet/$validate-code?url=http://hl7.org/fhir/ValueSet/observation-vitalsignresult&system=http://loinc.org&code=8480-6
Vrací result: true s popisem, nebo false se zprávou. Servery, které ověřují zdroje, toto volají pro každý vázaný prvek.
$expand: kódy v hodnotové sadě s filtrováním textu pro vyhledávací pole.
GET /ValueSet/$expand?url=http://hl7.org/fhir/ValueSet/condition-code&filter=diabetes&count=20
Vrací ValueSet se seznamem expansion.contains: kód, systém, popis. Takto funguje vyhledávání diagnóz v EHR proti SNOMED CT bez lokálního uložení 360 000 konceptů.
$translate: překročení 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
Vrací shody s jejich ekvivalencí. Stejná operace slouží pro mapování SNOMED CT → ICD-10, kde je server hostuje.
$subsumes: dotazy na hierarchii.
GET /CodeSystem/$subsumes?system=http://snomed.info/sct&codeA=73211009&codeB=44054006
Odpovídá subsumes (diabetes mellitus je předkem diabetu 2. typu), subsumed-by, equivalent nebo not-subsumed. Podpora rozhodování ji používá k dotazu je toto onemocnění nějaký druh diabetu? bez výčtu každého podtypu.
Odpovědi jsou zdroje Parameters: seznam pojmenovaných částí, nikoli prostý objekt, což překvapí první volající.
Servery, se kterými se setkáte
Servery terminologie, se kterými se v praxi setkáte nejčastěji, jsou tx.fhir.org, veřejný referenční server HL7 používaný jeho validátorem; Ontoserver od CSIRO, komerční server stojící za několika národními programy; Snowstorm od SNOMED International, open source a nativní pro SNOMED CT; obecné FHIR servery jako HAPI FHIR a Firely Server s operacemi terminologie; a národní servery spravované zdravotnickými agenturami.
| Server | Kdo | Poznámky |
|---|---|---|
| tx.fhir.org | HL7 (referenční) | Veřejný, používán validátorem HL7 a IG Publisher; LOINC, SNOMED CT (kde je licencováno), tabulky HL7, UCUM. Není určen pro produkční provoz |
| Ontoserver | CSIRO (Austrálie) | Komerční; používán národními programy (Austrálie, UK NHS Ontology Server, Nizozemsko, Belgie); plný SNOMED CT s dotazy ECL |
| Snowstorm | SNOMED International | Open source; nativní pro SNOMED CT s FHIR API; pohání oficiální prohlížeč |
| HAPI FHIR, Firely Server, Microsoft/Google/AWS FHIR služby | Dodavatelé | Obecné FHIR servery s terminologickými operacemi; načtěte si kódové systémy sami |
| Národní servery | Ministerstva zdravotnictví a agentury | Často Ontoserver nebo Snowstorm s národním vydáním a lokálními hodnotovými sadami |
Obsah je složitá část: SNOMED CT vyžaduje licenci mimo členské země, LOINC vyžaduje přijetí jeho podmínek, národní varianty ICD-10 mají vlastní distribuci. Server vám poskytne operace; obsah si stále musíte legálně pořídit a načíst.
Jak je aplikace používají
Aplikace používají server terminologie k validaci kódů a jednotek při zápisu, k napájení vyhledávacích polí prostřednictvím $expand s textovým filtrem a hodnotovou sadou, k zobrazení oficiálních názvů prostřednictvím $lookup, k mapování lokálních kódů na LOINC nebo SNOMED CT na ICD-10 prostřednictvím $translate a k uvažování o hierarchiích prostřednictvím $subsumes a jazyka Expression Constraint Language SNOMED CT.
- Ověření při zápisu: odmítnout Observation, jejíž LOINC kód neexistuje nebo jejíž jednotka není UCUM, se zprávou, která pojmenuje problém.
- Vyhledávací pole:
$expandsfilterpro výběr diagnóz, procedur a léků, omezený hodnotovou sadou, takže lékaři vidí pouze relevantní koncepty. - Zobrazení:
$lookuppro zobrazení oficiálního názvu a překladů místo ukládání textových řetězců, které zastarávají. - Mapování:
$translatepro převod lokálních laboratorních kódů na LOINC při importu (jak mapovat lokální laboratorní kódy na LOINC) nebo SNOMED CT na ICD-10 pro účely reportování (SNOMED CT vs ICD-10). - Odůvodnění:
$subsumesa Expression Constraint Language (ECL) SNOMED, podporovaný Ontoserverem a Snowstormem prostřednictvím filtrů$expand, pro definování kohort a pravidel podle hierarchie.
Agresivně cachujte (terminologie se mění dvakrát ročně, ne dvakrát denně), v produkci připínejte verze a výpadek serveru považujte za zhoršené ověřování, nikoli za důvod k odmítnutí každého zápisu.
V Anpheros
Anpheros Platform ověřuje LOINC kódy a UCUM jednotky, které přijímá pro pozorování, a ATC kódy pro léky proti terminologii, kterou dodává (podmnožina LOINC a WHO ATC index), a dokumentuje své terminologické API na vývojářském webu. Pro prohlížení plného SNOMED CT nebo ICD-10 odkazuje na oficiální prohlížeče namísto přerozdělování licencovaného obsahu.
Související stránky
- Vysvětlení FHIR profilů a rozšíření
- Jak mapovat lokální laboratorní kódy na LOINC
- SNOMED CT vs ICD-10
- CodeableConcept a Coding ve FHIR
- Jednotky UCUM v laboratorních výsledcích
- API pro lékařskou terminologii (vývojářský web)
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
Potřebuji terminologický server k použití FHIR?
Ne pro malý systém s pevným seznamem kódů. Jakmile začnete ověřovat kódy z velkých systémů, nabízet klinické vyhledávání nebo překládat mezi systémy, terminologický server vám ušetří nutnost posílat a aktualizovat terminologie sami.
Mohu použít tx.fhir.org v produkci?
Ne. Je to referenční server HL7 pro validační nástroje a testování, bez záruk služby a s licenčními omezeními na některý obsah. Provozujte svůj vlastní nebo použijte národní či komerční.
Co je ECL?
Expression Constraint Language SNOMED CT, dotazovací syntaxe pro sady konceptů (například << 73211009 pro diabetes a všechny jeho podtypy). Servery, které ji podporují, přijímají ECL ve filtrech ValueSet a $expand.
Jak poznám, kterou verzi SNOMED CT server má?
Zeptejte se CodeSystem (GET /CodeSystem?url=http://snomed.info/sct) a přečtěte si jeho verzi, která kóduje edici a datum vydání (například http://snomed.info/sct/900000000000207008/version/20260301). V požadavcích ji připněte, pokud musí být výsledky reprodukovatelné.
Vyzkoušejte zdarma v sandboxu
První volání FHIR za 5 minut. API standardu HL7 FHIR R4 s integrovaným souhlasem pacienta: vyzkoušejte si ho v sandboxu a poté propojte svou vlastní aplikaci nebo klinický systém.
Zdarma · 30 syntetických pacientů · bez karty

