Landingspagina Labcodeset: verschil tussen versies

Uit informatiestandaarden
Ga naar: navigatie, zoeken
(verwijzing naar codeerconventies van de labcodeset toegevoegd)
(Onderhoud)
 
(54 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 1: Regel 1:
 
== Handleiding Nederlandse Labcodeset ==
 
== Handleiding Nederlandse Labcodeset ==
 
===Labcodeset definities en regels===
 
===Labcodeset definities en regels===
De Nederlandse Labcodeset bevat LOINC concepten die in Nederland gebruikt worden bij berichten tussen laboratoria onderling. Informatie over de samenstelling van de Nederlandse set en de afspraken rondom coderingen (codeerconventies) van microbiologische testen zijn [hier,https://informatiestandaarden.nictiz.nl/wiki/Labcodes_microbiologie] te vinden.
+
De Nederlandse Labcodeset bevat LOINC concepten die in Nederland gebruikt worden bij berichten tussen laboratoria onderling. Informatie over de samenstelling van de Nederlandse set en de afspraken rondom coderingen (codeerconventies) van microbiologische testen zijn [[Labcodes_microbiologie|hier]] te vinden.
  
 
De Nederlandse Labcode bevat:
 
De Nederlandse Labcode bevat:
Regel 12: Regel 12:
 
* Eventueel een commentaar met nadere toelichting.
 
* Eventueel een commentaar met nadere toelichting.
 
====Materiaal====
 
====Materiaal====
Een Labcode met status 'active' en een LOINC concept met System='XXX' MOET een gekoppeld materiaal hebben.
+
Bij het toevoegen van een concept uit LOINC, wordt het LOINC System vertaald naar een Snomed CT materiaal met een vertaaltabel, waarbij het materiaal automatisch toegevoegd wordt. De vertaaltabel is te vinden op: https://labterminologie.nl/art-decor/loinc-snomed-mapping. Bij System='XXX' wordt géén materiaal toegevoegd, de gebruiker dient dit zelf te doen. Een Labcode met status 'active' en een LOINC concept met System='XXX' MOET een gekoppeld materiaal hebben.
  
Bij het toevoegen van een concept uit LOINC, wordt het LOINC System vertaald naar een Snomed CT materiaal met een vertaaltabel, wat automatisch toegevvoegd wordt.
+
In beginsel wordt er één materiaal gekoppeld, behoudens gevallen als 'Urine + Ser/Plas'. Daar worden meer Snomed materialen gekoppeld, behalve in gevallen waar Snomed een gecombineerd concept heeft (zoals "Acellular blood (serum or plasma) specimen (specimen)" voor Ser/Plas).
 +
 
 +
Bij materialen worden de volgende attributen opgeslagen, mits van toepassing op dat materiaal:
 +
* [https://terminologie.nictiz.nl/art-decor/snomed-ct?conceptId=370133003 Specimen substance (attribute)]
 +
* [https://terminologie.nictiz.nl/art-decor/snomed-ct?conceptId=118169006 Specimen source topography (attribute)]
 +
* [https://terminologie.nictiz.nl/art-decor/snomed-ct?conceptId=118168003 Specimen source morphology (attribute)]
 +
* [https://terminologie.nictiz.nl/art-decor/snomed-ct?conceptId=118170007 Specimen source identity (attribute)]
 +
* [https://terminologie.nictiz.nl/art-decor/snomed-ct?conceptId=118171006 Specimen procedure (attribute)]
  
In beginsel wordt er één materiaal gekoppeld, behoudens gevallen als 'Urine + Ser/Plas'. Nader bepaald wordt hoe hier precies mee wordt omgegaan.
 
 
====Methode====
 
====Methode====
 
Methodes dienen geselecteerd te worden uit de SNOMED-tak 272394005 | Technique (qualifier value)|. Als daar methodes ontbreken kunnen die worden aangevraagd in het BITS-project 'SNOMED CT - beheer'.
 
Methodes dienen geselecteerd te worden uit de SNOMED-tak 272394005 | Technique (qualifier value)|. Als daar methodes ontbreken kunnen die worden aangevraagd in het BITS-project 'SNOMED CT - beheer'.
Regel 28: Regel 34:
  
 
===Status van Labcode concepten===
 
===Status van Labcode concepten===
Labcode concepten ondergaan de volgende status-cyclus. 'Potential' is een status voor LOINC concepten die nog niet in de Labcodeset zitten, en dus potentieel lid gemaakt kunnen worden.
+
Labcode concepten ondergaan de volgende status-cyclus.  
 +
 
 
[[Bestand:Lab-state-diagram.png|none|960px|Statusovergangen|links]]
 
[[Bestand:Lab-state-diagram.png|none|960px|Statusovergangen|links]]
Daarnaast hebben alle concepten een LOINC status. Voor Labcodes die 'active' zijn, MOET de LOINC status ook 'ACTIVE' zijn.
+
* potential: voor LOINC concepten die nog niet in de Labcodeset zitten, en dus potentieel lid gemaakt kunnen worden
 +
* initial: initieel ingeladen concepten
 +
* draft: concepten die lid van de Labcodeset kunnen worden
 +
* active: concepten die lid van de Labcodeset kunnen worden
 +
* update: concepten die lid van de Labcodeset zijn, maar aangepast moeten worden
 +
* pending: bewerkte concepten klaar zijn om 'active' gemaakt te worden door een collega (4-ogen principe)
 +
* retired: concepten die ooit lid van de Labcodeset waren
 +
Users van de groep 'lab-admin' kunnen concepten die per abuis 'retired' zijn gemaakt, weer op 'draft' zetten. Daarnaast hebben alle concepten een LOINC status. Voor Labcodes die 'active' zijn, MOET de LOINC status ook 'ACTIVE' zijn.
 +
 
 +
Ingelogde gebruikers zien de concepten met de 'echte' status. Niet-ingelogde gebruikers zien de concepten die nu 'update' of 'pending' zijn maar ooit 'active' waren in de laatste versie die ooit 'active' was (voor 'update' is die er altijd, voor 'pending' niet altijd). Niet-ingelogde gebruikers zien ook gewone 'active' en 'retired' concepten.
 +
 
 +
Bij het 'retired' maken van concepten dient een reden opgegeven te worden in het veld 'Reden voor retired'. Indien van toepassing kunnen ook een of meer vervangende concepten aangegeven worden.
 +
 
 
===Controles===
 
===Controles===
 
Bij het 'active' maken van een concept worden de volgende controles uitgevoerd.
 
Bij het 'active' maken van een concept worden de volgende controles uitgevoerd.
 
* Is de status overgang toegestaan?
 
* Is de status overgang toegestaan?
* Heeft de ingelogde gebruiker een andere dan de laatste bewerker (4-ogen principe)?
+
* Heeft de ingelogde gebruiker een andere dan de laatste bewerker (4-ogen principe)? Deze controle geldt niet voor panels: wanneer de panel members active (en dus gecontroleerd) zijn, mag iedere user het panel active maken.
* Is de status in LOINC 'ACTIVE'?
+
* Is er een ERROR of WARNING (zie hieronder)?  
* Is er een Nederlandse longName?
+
Is het antwoord op een van deze vragen nee, dan is active maken niet toegestaan. De controles worden ook uitgevoerd bij andere wijzigingen in het concept.
* Als het een panel is, kan het panel gevonden worden?
+
 
* Zo ja, zijn alle leden van het panel zelf lid van de Labcodeset?
+
=== Errors ===
Is het antwoord op een van deze vragen nee, dan is active maken niet toegestaan. Dat wordt zichtbaar gemaakt met een 'error' vlag (uitroepteken op rood bordje). De error zelf is leesbaar onder Details. De controles worden ook uitgevoerd bij andere statuswijzigingen of het aanpassen van de Nederlandse longName. Als er geen fouten zijn, verdwijnt de error vlag weer.
+
De volgende fouten worden gesignaleerd. Een concept met een ERROR kan niet 'active' gemaakt worden. Een ERROR wordt zichtbaar gemaakt met een uitroepteken op rood bordje, een WARNING is een oranje uitroepteken zonder bordje. De error zelf is leesbaar onder Details. Als er geen fouten zijn, verdwijnt de error vlag weer.
 +
{| class="wikitable"
 +
|-
 +
! Status || Foutcode !! Toelichting
 +
|-
 +
| ERROR || MISSING || Labcodeset concept uit Labcodeset bestaat niet in LOINC
 +
|-
 +
| ERROR || STATUS || LOINC concept heeft niet status 'ACTIVE' (en Labcodeset concept heeft niet status 'retired')
 +
|-
 +
| ERROR || NOUNIT || Labcodeset concept met schaal 'kwantitatief' ('Qn') heeft geen eenheid
 +
|-
 +
| WARNING || NOCOMP || LOINC concept heeft geen component in Nederlands
 +
|-
 +
| WARNING || PRERELEASE || LOINC concept heeft status PRERELEASE
 +
|-
 +
| ERROR || AXISCHANGE|| Bij inlezen nieuwe LOINC release is een gewijzigde LOINC as gevonden: Deze fout wordt eenmalig gegenereerd en verdwijnt vanzelf bij een statuswijziging.
 +
|-
 +
| ERROR || NOMATERIAL || Aan System van LOINC concept is geen materiaal toegewezen in de LOINC-Snomed mapping tabel
 +
|-
 +
| ERROR || NOMAPPING || Er is geen LOINC System naar Snomed materiaal mapping voor dit Labcodeset concept
 +
|-
 +
| ERROR || NOPANEL || LOINC concept heeft type 'Panel', maar er wordt geen panel gevonden
 +
|-
 +
| ERROR || PANELMEMBER || LOINC concept is een panel maar sommige panel members zitten niet in de Labcodeset
 +
|-
 +
| ERROR || PANELSTATUS || LOINC concept is een 'active' panel maar sommige panel members zijn niet 'active'
 +
|-
 +
| ERROR || UNITREF|| Er is een referentie naar een unit die niet meer bestaat
 +
|-
 +
| ERROR || MATERIALREF|| Er is een referentie naar een materiaal dat niet meer bestaat
 +
|-
 +
| ERROR || METHODREF|| Er is een referentie naar een methode die niet meer bestaat
 +
|-
 +
| ERROR || VALUESETREF|| Er is een referentie naar een ordinale valueset die niet meer bestaat
 +
|}
  
 
=== LOINC Panels ===
 
=== LOINC Panels ===
Regel 61: Regel 114:
 
De Labcodeset kan geopend worden in normale weergave of Panel weergave. Bij normale weergave worden zoekresultaten getoond met het kopje 'Resultaten', in Panel weergave met de kop 'Panel'. In Panel weergave wordt een panel getoond, met alle onderdelen van dat Panel. Het Panel staat bovenaan, de Panel members zijn ingesprongen. De volgorde volgt de 'Sequence' zoals gedefinieerd in LOINC.
 
De Labcodeset kan geopend worden in normale weergave of Panel weergave. Bij normale weergave worden zoekresultaten getoond met het kopje 'Resultaten', in Panel weergave met de kop 'Panel'. In Panel weergave wordt een panel getoond, met alle onderdelen van dat Panel. Het Panel staat bovenaan, de Panel members zijn ingesprongen. De volgorde volgt de 'Sequence' zoals gedefinieerd in LOINC.
  
In normale weergave kan de status van een Panel niet gewijzigd worden. In plaats daarvan is de 'Volledige naam' een link naar een pagina in Panel weergave. Panel weergave kan ook geopend worden met een link van de vorm:
+
In normale weergave kan de status van een Panel niet gewijzigd worden. De Panel weergave kan geopend worden met de 'Verkenner' button naast de volledige name van een panel (button alleen zichtbaar bij panels). Panel weergave kan ook geopend worden met een link van de vorm:
 
     {hostname}/art-decor/labconcepts?search=43135-3&panel=true
 
     {hostname}/art-decor/labconcepts?search=43135-3&panel=true
 
[[Bestand:Lab-panel-mode.PNG||Panel weergave]]
 
[[Bestand:Lab-panel-mode.PNG||Panel weergave]]
  
 
In Panel weergave kan de status van een Panel wel gewijzigd worden. Als een Panel wordt toegevoegd (status 'potential' -> 'draft') worden alle elementen eronder ook op 'draft' gezet als ze nog geen onderdeel van de Labcodeset zijn. Zijn ze dat wel, dan behouden ze de bestaande status. Een Panel kan pas 'active' gemaakt worden als alle elementen eronder ook 'active' zijn. In Panel weergave wordt altijd ook gezocht in LOINC, omdat ook elementen die bij het Panel horen, maar (nog) geen onderdeel zijn van de Labcodeset getoond moeten worden. Daarom staan de status filters ook uit. In Panel weergave worden dus alle concepten getoond.
 
In Panel weergave kan de status van een Panel wel gewijzigd worden. Als een Panel wordt toegevoegd (status 'potential' -> 'draft') worden alle elementen eronder ook op 'draft' gezet als ze nog geen onderdeel van de Labcodeset zijn. Zijn ze dat wel, dan behouden ze de bestaande status. Een Panel kan pas 'active' gemaakt worden als alle elementen eronder ook 'active' zijn. In Panel weergave wordt altijd ook gezocht in LOINC, omdat ook elementen die bij het Panel horen, maar (nog) geen onderdeel zijn van de Labcodeset getoond moeten worden. Daarom staan de status filters ook uit. In Panel weergave worden dus alle concepten getoond.
 +
==== NL panels ====
 +
LOINC staat het aanpassen van panels onder bepaalde condities toe. Zie voor details de LOINC Users Guide: "Business rules for users mapping their local panels to LOINC panels"
 +
 +
Dit wordt ondersteund in de applicatie. In de Panel weergave is boven de lijst concepten een knop 'Maak NL panel' te zien (als panel draft of update is). Deze maakt een lokale (Nederlandse) kopie van het panel. Als er al een lokale kopie van het panel is, zie je een 'Verwijder NL panel' knop. Let op: verwijderen kan niet ongedaan gemaakt worden!
 +
 +
Bij een NL panel in Panel weergave zitten meer knoppen onder de lijst met concepten (direct onder het kopje 'Details'). Panel members die niet 'R' (required) zijn, kunnen verwijderd worden (of als ze al verwijderd zijn, weet toegevoegd). Er concept kan ook vervangen worden door een ander concept. Daartoe moet het nieuwe concept id eerst opgezocht worden. Daarna kan het ingevoerd worden na de 'Vervang' knop.
 +
 +
[[Bestand:Vervang-panelmember.png||Panel member vervangen]]
 +
 +
In dit voorbeeld is een NL panel te zien waar concept '51733-4' is verwijderd en 'Hemoglobine [massa/volume] in arterieel bloed' is vervangen door 'Hemoglobine [mol/volume] in arterieel bloed'.
 +
 +
[[Bestand:Lokaal-panel.png||Lokaal Panel]]
 +
==== NL panels stap voor stap ====
 +
# Je haalt een concept uit LOINC. Als dat een panel is, zet de applicatie alle leden op 'draft' (anders zou je met de hand alle leden van het panel zelf uit LOINC toe moeten voegen).
 +
# Je maakt er een NL panel van.
 +
# Concepten die je niet wilt (mol/volume etc.) zet je op 'rejected' (paarse bol). Dan verdwijnen ze uit de LCS (worden witte bol). (Uiteraard kun je ze ook in de LCS laten en alleen uit dit panel verwijderen, sla deze stap dan over.)
 +
# De verwijderde (witte bol) concepten verwijder je uit Panel met de "Verwijder concept X" of je vervangt ze met de "Vervang" knop.
 +
# Maak alles active (= laat collega dat doen, uiteraard).
 +
====Bestaande NL panels bewerken====
 +
Wanneer er concepten uit een al 'active' NL panel verwijderd of toegevoegd moeten worden:
 +
# Zet het hele panel op 'update'.
 +
# Verwijder of vervang concepten.
 +
# Maak het panel weer active (= laat collega dat doen, uiteraard).
 +
 
== Handleiding Applicatie ==
 
== Handleiding Applicatie ==
 
In de Nederlandse Labcodeset applicatie kan gezocht worden op concepten in de Labcodeset. Er zijn twee soorten gebruikers:
 
In de Nederlandse Labcodeset applicatie kan gezocht worden op concepten in de Labcodeset. Er zijn twee soorten gebruikers:
* guest, deze zijn niet ingelogd en kunnen alleen concepten met status 'active' zien
+
* guest, deze zijn niet ingelogd en kunnen alleen concepten met status 'active' en 'retired' zien (voor concepten die ooit 'active' waren zien ze de laatste 'active' versie.)
 
* beheerders, gebruikers die ingelogd zijn en lid van group 'lab', deze kunnen alle concepten zien en wijzigen.
 
* beheerders, gebruikers die ingelogd zijn en lid van group 'lab', deze kunnen alle concepten zien en wijzigen.
 
===Zoeken===
 
===Zoeken===
Regel 77: Regel 154:
 
* op LOINC class, b.v. 'PANEL.CHEM'
 
* op LOINC class, b.v. 'PANEL.CHEM'
 
* alles zoeken: '*' - dit is met name zinvol in combinatie met een status, b.v. alle 'draft' concepten zoeken
 
* alles zoeken: '*' - dit is met name zinvol in combinatie met een status, b.v. alle 'draft' concepten zoeken
 +
* zoeken op concepten met fouten (vinkje voor uitroepteken)
 +
* zoeken op concepten met comments (vinkje voor bubbel)
  
 
Wanneer er meer dan 100 zoekresultaten zijn, worden alleen de eerste 100 getoond. De gebruiker kan dan kiezen om de zoektermen te verfijnen voor minder resultaten, of alles te tonen.
 
Wanneer er meer dan 100 zoekresultaten zijn, worden alleen de eerste 100 getoond. De gebruiker kan dan kiezen om de zoektermen te verfijnen voor minder resultaten, of alles te tonen.
Regel 91: Regel 170:
 
* material
 
* material
 
* class
 
* class
Ingelogde gebruikers kunnen verder selecteren op status met de vinkjes voor status naast het zoekveld. Standaard wordt alleen gezocht in de Labcocdeset. Ook kan gezocht worden op concepten in LOINC door het aanvinken van 'zoeken LOINC'. In dat geval worden alle concepten uit LOINC getoond. Wanneer het concept alleen in LOINC bestaat, maar niet in de Labcodeset wordt een open bol (status 'potential') getoond. Wanneer het concept ook in de Labcodeset bestaat, wordt de status uit de Labcodeset getoond.
+
Ingelogde gebruikers kunnen verder selecteren op status met de vinkjes voor status naast het zoekveld. Standaard wordt alleen gezocht in de Labcodeset. Ook kan gezocht worden op concepten in LOINC door het aanvinken van 'zoeken LOINC'. In dat geval worden alle concepten uit LOINC getoond. Wanneer het concept alleen in LOINC bestaat, maar niet in de Labcodeset wordt een open bol (status 'potential') getoond. Wanneer het concept ook in de Labcodeset bestaat, wordt de status uit de Labcodeset getoond.
 +
 
 +
===Geavanceerd zoeken===
 +
Het is mogelijk te zoeken met een query syntax. Wanneer de vink 'Zoeken LOINC' aan staat, wordt de geavanceerde syntax genegeerd.
 +
 
 +
Voorbeelden:
 +
* Zoek naar 'hemo' maar niet in system 'urine' en alleen scale 'ordinaal':
 +
''' hemo -sys:urine sca:ordinaal
 +
* Zoek naar alles in system 'bloed' of 'arter' (van: 'arterieel bloed') met error 'nounit' (geen eenheid)
 +
''' * sys:bloed sys:arter err:nounit
 +
 
 +
Gezocht kan worden op:
 +
* pro[perty]
 +
* tim[ing]
 +
* sys[tem]
 +
* sca[le]
 +
* cla[ss]
 +
* err[or]
 +
Alleen de eerste drie karakters worden beoordeeld. Er worden resultaten weergegeven die beginnen met wat na de as komt, dus 'sys:art' geeft alles weer waarvan system met 'art' begint. Dit geldt niet voor errors, daar moet een [[#Errors|hele error code]] opgegeven worden b.v.: err:NOUNIT - ook bij warnings wordt zo gezocht, b.v. err:PRERELEASE). Alles wordt omgezet naar kleine letter, dus 'XXX' is hetzelfde als 'xxx'. Voor units moet de exacte UCUM notatie gegevens worden (b.v.: mmol/L).
 +
 
 +
* Negatieve zoektermen (die beginnen met '-') worden uitgesloten uit de zoekresultaten. Dus bij ''''-sys:bloed -sys:urine'''' worden noch urine, noch bloed getoond.
 +
* Positieve zoekterm worden ingesloten, dus ''''sys:bloed sys:urine'''' laat alles zien waarvan het system 'bloed' of 'urine' is.
 +
* '+sys:bloed +sys:urine' is equivalent aan 'sys:bloed sys:urine'.
 +
 
 +
Unit queries:
 +
Zoeken gebeurt met unit:{ucum}. Gebruik altijd 'unit' met 4 letters. Voor units moet de exacte UCUM notatie gegevens worden (b.v.: unit:mmol/L). Bij units worden geen negatieve zoektermen ondersteund.
  
 
===Bewerken door beheerders===
 
===Bewerken door beheerders===
Regel 99: Regel 203:
  
 
Een concept kan alleen 'active' gemaakt worden door een andere user dan degene die het 'draft' dan wel 'update' heeft gemaakt. Dit is het vier-ogen-principe: concepten in de Labcodeset moeten door twee personen zijn bekeken.
 
Een concept kan alleen 'active' gemaakt worden door een andere user dan degene die het 'draft' dan wel 'update' heeft gemaakt. Dit is het vier-ogen-principe: concepten in de Labcodeset moeten door twee personen zijn bekeken.
==Onderhoud==
 
===Nieuwe LOINC release===
 
Wanneer er een nieuwe release van LOINC geïnstalleerd is, moeten de concepten in de Labcodeset bijgewerkt worden.
 
Dat gebeurt door een eXist gebruiker met 'dba' rechten, door het draaien van de XQuery (in helpers) 'update-from-loinc.xquery'.
 
  
Deze zal:
+
==Ontwikkelaars==
* LOINC concepten vervangen door de nieuwere LOINC concepten
+
Een aantal aspecten van de Nederlandse Labcodeset is bereikbaar in een machine-leesbaar formaat.
* Controleren of de longName in LOINC afwijkt van die in de LCS
+
 
* Controleren of status LOINC <> ACTIVE is voor concepten die wel active zijn in LCS
+
Eenheden zijn te vinden op https://labterminologie.nl/lab-data/data/units.xml
* Foutmelding toevoegen voor beide bovenstaande issues.
+
 
 +
Ordinale lijsten zijn te vinden op https://labterminologie.nl/lab-data/data/ordinals.xml
 +
 
 +
Een eenvoudige REST API is bereikbaar op https://labterminologie.nl/lab/api/lcs/2019-8
 +
 
 +
Het format is [base]/[id]?[params]:
 +
* base: https://labterminologie.nl/lab/api/lcs
 +
* loinc-id. b.v.: 2019-8
 +
* optionele param: loinc=true
 +
 
 +
Zonder de parameter loinc=true worden alleen concepten uit de Nederlandse Labcodeset teruggegeven. Met de parameter worden ook concepten die niet in de LCS zitten, maar wel in LOINC, geretourneerd.
 +
 
 +
De Header Accept kan application/json of application/xml (default) meegeven.
  
LET OP!
+
<nowiki>
Na draaien: controleren en verwijderen van old-data als alles goed gegaan is.
+
</nowiki>
 +
==Onderhoud==
 +
Zie: [[Labcodeset_onderhoud]]

Huidige versie van 16 feb 2023 om 12:47

Handleiding Nederlandse Labcodeset

Labcodeset definities en regels

De Nederlandse Labcodeset bevat LOINC concepten die in Nederland gebruikt worden bij berichten tussen laboratoria onderling. Informatie over de samenstelling van de Nederlandse set en de afspraken rondom coderingen (codeerconventies) van microbiologische testen zijn hier te vinden.

De Nederlandse Labcode bevat:

  • Het betreffende LOINC concept (Engelse variant).
  • De vertaling naar Nederlands uit LOINC, mits daar aanwezig.
  • Een Nederlandse Long Common Name, als deze bestaat in LOINC of is toegevoegd in de applicatie.
  • Een koppeling aan een of meer materialen uit Snomed-CT.
  • Eventueel een koppeling aan een of meer methoden.
  • Eventueel een koppeling aan een uitkomst.
  • Eventueel een commentaar met nadere toelichting.

Materiaal

Bij het toevoegen van een concept uit LOINC, wordt het LOINC System vertaald naar een Snomed CT materiaal met een vertaaltabel, waarbij het materiaal automatisch toegevoegd wordt. De vertaaltabel is te vinden op: https://labterminologie.nl/art-decor/loinc-snomed-mapping. Bij System='XXX' wordt géén materiaal toegevoegd, de gebruiker dient dit zelf te doen. Een Labcode met status 'active' en een LOINC concept met System='XXX' MOET een gekoppeld materiaal hebben.

In beginsel wordt er één materiaal gekoppeld, behoudens gevallen als 'Urine + Ser/Plas'. Daar worden meer Snomed materialen gekoppeld, behalve in gevallen waar Snomed een gecombineerd concept heeft (zoals "Acellular blood (serum or plasma) specimen (specimen)" voor Ser/Plas).

Bij materialen worden de volgende attributen opgeslagen, mits van toepassing op dat materiaal:

Methode

Methodes dienen geselecteerd te worden uit de SNOMED-tak 272394005 | Technique (qualifier value)|. Als daar methodes ontbreken kunnen die worden aangevraagd in het BITS-project 'SNOMED CT - beheer'. Het zal enige tijd vergen om alle methodes die nu in de methode-tabel staan, te koppelen. Voorlopig dwingen we het bestaan van een koppeling daarom niet af; maar als er een koppeling is, dan moet die een afstammeling zijn van 272394005 | Technique (qualifier value)|.

Uitkomst

Uitkomsten zijn:

  • Eenheid: Alléén kwantitatieve bepalingen hebben een UCUM-eenheid; maar niet alle kwantitatieve bepalingen hebben een eenheid (bv. pH-waarde is een uitzondering). De tabel die nu in Labcodeset zit is volledig; UCUM-eenheid wordt gekozen uit die tabel.
  • Ordinaal: er is al een aantal ordinale lijsten gedefinieerd.
  • Nominaal: Er is één nominale lijst: die van micro-organismen. We gebruiken altijd de volledige lijst, niet een subset. Ook als LOINC een specifiek organisme noemt; want het kan best dat je bij het uitvoeren van die test toch een ander organisme ontdekt en dat wil je dan wel kunnen rapporteren.
  • Met andere mogelijkheden in LOINC zoals Narrative en Document wordt niets speciaals gedaan.

Status van Labcode concepten

Labcode concepten ondergaan de volgende status-cyclus.

Statusovergangen
  • potential: voor LOINC concepten die nog niet in de Labcodeset zitten, en dus potentieel lid gemaakt kunnen worden
  • initial: initieel ingeladen concepten
  • draft: concepten die lid van de Labcodeset kunnen worden
  • active: concepten die lid van de Labcodeset kunnen worden
  • update: concepten die lid van de Labcodeset zijn, maar aangepast moeten worden
  • pending: bewerkte concepten klaar zijn om 'active' gemaakt te worden door een collega (4-ogen principe)
  • retired: concepten die ooit lid van de Labcodeset waren

Users van de groep 'lab-admin' kunnen concepten die per abuis 'retired' zijn gemaakt, weer op 'draft' zetten. Daarnaast hebben alle concepten een LOINC status. Voor Labcodes die 'active' zijn, MOET de LOINC status ook 'ACTIVE' zijn.

Ingelogde gebruikers zien de concepten met de 'echte' status. Niet-ingelogde gebruikers zien de concepten die nu 'update' of 'pending' zijn maar ooit 'active' waren in de laatste versie die ooit 'active' was (voor 'update' is die er altijd, voor 'pending' niet altijd). Niet-ingelogde gebruikers zien ook gewone 'active' en 'retired' concepten.

Bij het 'retired' maken van concepten dient een reden opgegeven te worden in het veld 'Reden voor retired'. Indien van toepassing kunnen ook een of meer vervangende concepten aangegeven worden.

Controles

Bij het 'active' maken van een concept worden de volgende controles uitgevoerd.

  • Is de status overgang toegestaan?
  • Heeft de ingelogde gebruiker een andere dan de laatste bewerker (4-ogen principe)? Deze controle geldt niet voor panels: wanneer de panel members active (en dus gecontroleerd) zijn, mag iedere user het panel active maken.
  • Is er een ERROR of WARNING (zie hieronder)?

Is het antwoord op een van deze vragen nee, dan is active maken niet toegestaan. De controles worden ook uitgevoerd bij andere wijzigingen in het concept.

Errors

De volgende fouten worden gesignaleerd. Een concept met een ERROR kan niet 'active' gemaakt worden. Een ERROR wordt zichtbaar gemaakt met een uitroepteken op rood bordje, een WARNING is een oranje uitroepteken zonder bordje. De error zelf is leesbaar onder Details. Als er geen fouten zijn, verdwijnt de error vlag weer.

Status Foutcode Toelichting
ERROR MISSING Labcodeset concept uit Labcodeset bestaat niet in LOINC
ERROR STATUS LOINC concept heeft niet status 'ACTIVE' (en Labcodeset concept heeft niet status 'retired')
ERROR NOUNIT Labcodeset concept met schaal 'kwantitatief' ('Qn') heeft geen eenheid
WARNING NOCOMP LOINC concept heeft geen component in Nederlands
WARNING PRERELEASE LOINC concept heeft status PRERELEASE
ERROR AXISCHANGE Bij inlezen nieuwe LOINC release is een gewijzigde LOINC as gevonden: Deze fout wordt eenmalig gegenereerd en verdwijnt vanzelf bij een statuswijziging.
ERROR NOMATERIAL Aan System van LOINC concept is geen materiaal toegewezen in de LOINC-Snomed mapping tabel
ERROR NOMAPPING Er is geen LOINC System naar Snomed materiaal mapping voor dit Labcodeset concept
ERROR NOPANEL LOINC concept heeft type 'Panel', maar er wordt geen panel gevonden
ERROR PANELMEMBER LOINC concept is een panel maar sommige panel members zitten niet in de Labcodeset
ERROR PANELSTATUS LOINC concept is een 'active' panel maar sommige panel members zijn niet 'active'
ERROR UNITREF Er is een referentie naar een unit die niet meer bestaat
ERROR MATERIALREF Er is een referentie naar een materiaal dat niet meer bestaat
ERROR METHODREF Er is een referentie naar een methode die niet meer bestaat
ERROR VALUESETREF Er is een referentie naar een ordinale valueset die niet meer bestaat

LOINC Panels

LOINC Panels zijn sets van gerelateerde LOINC testen, die samen aangevraagd of uitgevoerd kunnen worden. Een voorbeeld is:

LOINC code Component Panel / lid
43135-3 17-Ketosteroiden & 17-Ketogen steroiden panel Panel
27866-3 17-Ketogen steroiden Lid
21038-5 17-Ketosteroiden Lid
13362-9 Verzamelduur Lid
3167-4 Monstervolume Lid

De LOINC code 43135-3 is een Panel, die samengesteld is uit 4 testen.

Panel weergave

De Labcodeset kan geopend worden in normale weergave of Panel weergave. Bij normale weergave worden zoekresultaten getoond met het kopje 'Resultaten', in Panel weergave met de kop 'Panel'. In Panel weergave wordt een panel getoond, met alle onderdelen van dat Panel. Het Panel staat bovenaan, de Panel members zijn ingesprongen. De volgorde volgt de 'Sequence' zoals gedefinieerd in LOINC.

In normale weergave kan de status van een Panel niet gewijzigd worden. De Panel weergave kan geopend worden met de 'Verkenner' button naast de volledige name van een panel (button alleen zichtbaar bij panels). Panel weergave kan ook geopend worden met een link van de vorm:

   {hostname}/art-decor/labconcepts?search=43135-3&panel=true

Panel weergave

In Panel weergave kan de status van een Panel wel gewijzigd worden. Als een Panel wordt toegevoegd (status 'potential' -> 'draft') worden alle elementen eronder ook op 'draft' gezet als ze nog geen onderdeel van de Labcodeset zijn. Zijn ze dat wel, dan behouden ze de bestaande status. Een Panel kan pas 'active' gemaakt worden als alle elementen eronder ook 'active' zijn. In Panel weergave wordt altijd ook gezocht in LOINC, omdat ook elementen die bij het Panel horen, maar (nog) geen onderdeel zijn van de Labcodeset getoond moeten worden. Daarom staan de status filters ook uit. In Panel weergave worden dus alle concepten getoond.

NL panels

LOINC staat het aanpassen van panels onder bepaalde condities toe. Zie voor details de LOINC Users Guide: "Business rules for users mapping their local panels to LOINC panels"

Dit wordt ondersteund in de applicatie. In de Panel weergave is boven de lijst concepten een knop 'Maak NL panel' te zien (als panel draft of update is). Deze maakt een lokale (Nederlandse) kopie van het panel. Als er al een lokale kopie van het panel is, zie je een 'Verwijder NL panel' knop. Let op: verwijderen kan niet ongedaan gemaakt worden!

Bij een NL panel in Panel weergave zitten meer knoppen onder de lijst met concepten (direct onder het kopje 'Details'). Panel members die niet 'R' (required) zijn, kunnen verwijderd worden (of als ze al verwijderd zijn, weet toegevoegd). Er concept kan ook vervangen worden door een ander concept. Daartoe moet het nieuwe concept id eerst opgezocht worden. Daarna kan het ingevoerd worden na de 'Vervang' knop.

Panel member vervangen

In dit voorbeeld is een NL panel te zien waar concept '51733-4' is verwijderd en 'Hemoglobine [massa/volume] in arterieel bloed' is vervangen door 'Hemoglobine [mol/volume] in arterieel bloed'.

Lokaal Panel

NL panels stap voor stap

  1. Je haalt een concept uit LOINC. Als dat een panel is, zet de applicatie alle leden op 'draft' (anders zou je met de hand alle leden van het panel zelf uit LOINC toe moeten voegen).
  2. Je maakt er een NL panel van.
  3. Concepten die je niet wilt (mol/volume etc.) zet je op 'rejected' (paarse bol). Dan verdwijnen ze uit de LCS (worden witte bol). (Uiteraard kun je ze ook in de LCS laten en alleen uit dit panel verwijderen, sla deze stap dan over.)
  4. De verwijderde (witte bol) concepten verwijder je uit Panel met de "Verwijder concept X" of je vervangt ze met de "Vervang" knop.
  5. Maak alles active (= laat collega dat doen, uiteraard).

Bestaande NL panels bewerken

Wanneer er concepten uit een al 'active' NL panel verwijderd of toegevoegd moeten worden:

  1. Zet het hele panel op 'update'.
  2. Verwijder of vervang concepten.
  3. Maak het panel weer active (= laat collega dat doen, uiteraard).

Handleiding Applicatie

In de Nederlandse Labcodeset applicatie kan gezocht worden op concepten in de Labcodeset. Er zijn twee soorten gebruikers:

  • guest, deze zijn niet ingelogd en kunnen alleen concepten met status 'active' en 'retired' zien (voor concepten die ooit 'active' waren zien ze de laatste 'active' versie.)
  • beheerders, gebruikers die ingelogd zijn en lid van group 'lab', deze kunnen alle concepten zien en wijzigen.

Zoeken

Zoeken op concepten gebeurt door het invoeren van een zoekstring en op Enter te drukken of op 'Zoeken' te klikken. Mogelijke zoekstrings zijn:

  • op naam, b.v. 'fungus' of 'schimmel'
  • op LOINC code, b.v. '21003-9'
  • op LOINC System, b.v. 'Saliva' of 'Speeksel'
  • op LOINC class, b.v. 'PANEL.CHEM'
  • alles zoeken: '*' - dit is met name zinvol in combinatie met een status, b.v. alle 'draft' concepten zoeken
  • zoeken op concepten met fouten (vinkje voor uitroepteken)
  • zoeken op concepten met comments (vinkje voor bubbel)

Wanneer er meer dan 100 zoekresultaten zijn, worden alleen de eerste 100 getoond. De gebruiker kan dan kiezen om de zoektermen te verfijnen voor minder resultaten, of alles te tonen.

Resultaten worden getoond als de zoekstring voorkomt in een van de volgende LOINC velden, of in een gekoppeld materiaal of methode:

  • longName
  • shortName
  • component
  • timing
  • scale
  • property
  • system
  • method
  • material
  • class

Ingelogde gebruikers kunnen verder selecteren op status met de vinkjes voor status naast het zoekveld. Standaard wordt alleen gezocht in de Labcodeset. Ook kan gezocht worden op concepten in LOINC door het aanvinken van 'zoeken LOINC'. In dat geval worden alle concepten uit LOINC getoond. Wanneer het concept alleen in LOINC bestaat, maar niet in de Labcodeset wordt een open bol (status 'potential') getoond. Wanneer het concept ook in de Labcodeset bestaat, wordt de status uit de Labcodeset getoond.

Geavanceerd zoeken

Het is mogelijk te zoeken met een query syntax. Wanneer de vink 'Zoeken LOINC' aan staat, wordt de geavanceerde syntax genegeerd.

Voorbeelden:

  • Zoek naar 'hemo' maar niet in system 'urine' en alleen scale 'ordinaal':

hemo -sys:urine sca:ordinaal

  • Zoek naar alles in system 'bloed' of 'arter' (van: 'arterieel bloed') met error 'nounit' (geen eenheid)

* sys:bloed sys:arter err:nounit

Gezocht kan worden op:

  • pro[perty]
  • tim[ing]
  • sys[tem]
  • sca[le]
  • cla[ss]
  • err[or]

Alleen de eerste drie karakters worden beoordeeld. Er worden resultaten weergegeven die beginnen met wat na de as komt, dus 'sys:art' geeft alles weer waarvan system met 'art' begint. Dit geldt niet voor errors, daar moet een hele error code opgegeven worden b.v.: err:NOUNIT - ook bij warnings wordt zo gezocht, b.v. err:PRERELEASE). Alles wordt omgezet naar kleine letter, dus 'XXX' is hetzelfde als 'xxx'. Voor units moet de exacte UCUM notatie gegevens worden (b.v.: mmol/L).

  • Negatieve zoektermen (die beginnen met '-') worden uitgesloten uit de zoekresultaten. Dus bij '-sys:bloed -sys:urine' worden noch urine, noch bloed getoond.
  • Positieve zoekterm worden ingesloten, dus 'sys:bloed sys:urine' laat alles zien waarvan het system 'bloed' of 'urine' is.
  • '+sys:bloed +sys:urine' is equivalent aan 'sys:bloed sys:urine'.

Unit queries: Zoeken gebeurt met unit:{ucum}. Gebruik altijd 'unit' met 4 letters. Voor units moet de exacte UCUM notatie gegevens worden (b.v.: unit:mmol/L). Bij units worden geen negatieve zoektermen ondersteund.

Bewerken door beheerders

Een gebruiker die lid is van groep 'lab' (dit wordt gedefinieerd in de database bij het aanmaken van de user) kan concepten toevoegen. Dit gebeurt door te zoeken in LOINC, en een concept met status 'potential' op 'draft' te zetten.

Concepten in de Labcodeset kunnen van status gewijzigd worden. Als een concept op 'draft' gewijzigd wordt naar 'rejected', wordt het verwijderd uit de Labcodeset.

Een concept kan alleen 'active' gemaakt worden door een andere user dan degene die het 'draft' dan wel 'update' heeft gemaakt. Dit is het vier-ogen-principe: concepten in de Labcodeset moeten door twee personen zijn bekeken.

Ontwikkelaars

Een aantal aspecten van de Nederlandse Labcodeset is bereikbaar in een machine-leesbaar formaat.

Eenheden zijn te vinden op https://labterminologie.nl/lab-data/data/units.xml

Ordinale lijsten zijn te vinden op https://labterminologie.nl/lab-data/data/ordinals.xml

Een eenvoudige REST API is bereikbaar op https://labterminologie.nl/lab/api/lcs/2019-8

Het format is [base]/[id]?[params]:

Zonder de parameter loinc=true worden alleen concepten uit de Nederlandse Labcodeset teruggegeven. Met de parameter worden ook concepten die niet in de LCS zitten, maar wel in LOINC, geretourneerd.

De Header Accept kan application/json of application/xml (default) meegeven.

Onderhoud

Zie: Labcodeset_onderhoud