# Benodigdheden voor deelname Om deel te nemen aan het project, moet aan een aantal voorwaarden voldaan worden. Deze bevinden zich op drie vlakken: 1. Juridisch 1. Hard- en software 1. Data Deze punten worden hieronder nader toegelicht. (benodigde-afspraken-target)= ## Juridische zaken Er moeten afspraken gemaakt worden over ... * Verwerking van data door DHD/IKNL/EZA * Aan welke use-cases wel/niet wordt meegewerkt * Wat wel/niet mag op de infrastructuur Er moeten afspraken gemaakt worden tussen ... * DHD en het ziekenhuis * IKNL en het ziekenhuis * EZA en het ziekenhuis * In sommige use-cases: deelnemende ziekenhuizen onderling Een functionaris gegevensbescherming (FG), information security officer (ISO) of jurist zal de overeenkomsten moeten beoordelen. Nadat de FG, ISO of jurist van uw ziekenhuis zijn of haar goedkeuring heeft verleend zullen de dienstverlenings- en verwerkersovereenkomsten door de Raad van Bestuur moeten worden ondertekend. :::{note} In het kader van het project AI-ondersteund-coderen, heeft DHD met de meeste ziekenhuizen al afspraken gemaakt over het het gebruik van een federatieve infrastructuur voor het trainen van het model. IKNL beheert de Nederlandse Kankerregistratie (NKR). In dit kader hebben data managers van IKNL reeds toegang tot de EPDs in de (meeste) Nederlandse ziekenhuizen en zijn er (verwerkers)overeenkomsten afgesloten waarin is vastgelegd hoe/welke informatie geregistreerd kan worden in de NKR. Er zal onderzocht moeten worden in hoeverre aanvullende afspraken nodig zijn. ::: (benodigde-hard-software-target)= ## Installatie hard- en software Voor de vantage6 [node](#vantage6-node-target) software, is een server nodig die (bij voorkeur) continue aanstaat. Dit mag ook een virtual machine zijn. De belangrijkste voorwaarden zijn dat de machine ... * in staat is om [Docker](https://www.docker.com) te draaien. * toegang heeft tot de data (zie ook [hieronder](#technisch-vlak-target)) ### Server/virtual machine De specificaties voor de server (virtual machine) zijn (bij voorkeur) als volgt: * ≥ 16 cores, x86/x64 CPU * ≥ 56 GB CPU RAM * ≥ 360 GB SSD * virtualization enabled * GPU (optioneel, maar aanbevolen): - [CUDA compatible](https://developer.nvidia.com/cuda-gpus) NVIDIA kaart - 16 GB GPU RAM Indien voor (iets) lagere specificaties van CPU of RAM gekozen wordt, zal het systeem nog steeds werken, maar duren berekeningen mogelijk wat langer. Qua SSD-opslag wordt minder capaciteit afgeraden. Of een **GPU** nodig is, is afhankelijk de use cases waaraan deelgenomen wordt. Voor AI-ondersteund-coderen geldt dat **trainings**ziekenhuizen deze _wél_ nodig hebben, en ziekenhuizen die het model alleen gebruiken, niet. ### Network * ≥ 100Mbit ethernet * Port 443/TCP (https) open voor _uitgaand_ verkeer naar ... * DHD * vantage6 server: [https://plugin.dhd.nl](https://plugin.dhd.nl) * Docker registry: [https://plugindhd.blob.core.windows.net](https://plugindhd.blob.core.windows.net) * Docker registry (voor updates van vantage6): [https://harbor2.vantage6.ai](https://harbor2.vantage6.ai) * blob storage: [https://plugindhd.azurecr.io](https://plugindhd.azurecr.io) * IKNL * vantage6 server: [https://cotopaxi.vantage6.ai](https://cotopaxi.vantage6.ai) * Docker registry: [https://harbor2.vantage6.ai](https://harbor2.vantage6.ai) * NICTIZ * FHIR terminologieserver: [https://terminologieserver.nl/](https://terminologieserver.nl/) * [websites nodig voor installatie/upgrade Python3, Docker, etc.] ### Software * Operating system: linux of Windows * [Python](https://python.org) ≥ 3.10 * [Docker](https://www.docker.com) ```{warning} Voor het draaien van Docker is onder Windows [WSL2](https://learn.microsoft.com/en-us/windows/wsl/) en _dus_ nested virtualization nodig. Het is echter bekend dat (momenteel) de Azure VMs die nested virtualization géén GPU hebben. Dit betekent dat ziekenhuizen een VM mét GPU nodig hebben, het beste voor een Linux host OS kunnen kiezen. ``` Installatie van de vantage6 node software staat beschreven in de sectie [](installatie-vantage6). (benodigde-data-target)= ## Beschikbaar stellen van data Om federatieve toepassingen mogelijk te maken, is het belangrijk dat iedere deelnemer zijn/haar klinische data op dezelfde manier aan het platform aanbiedt. Hiervoor zijn op twee vlakken keuzes noodzakelijk: 1. Op **inhoudelijk vlak**: hoe medische gegevens gestructureerd, gecodeerd, en geïnterpreteerd dienen te worden. 2. Op **technisch vlak**: de wijze van aanlevering en/of het verschaffen van toegang. Bijvoorbeeld, of de data wordt ontsloten via een relationele database, FHIR-server, of via blob storage. ### Het inhoudelijk vlak Op inhoudelijk vlak is gekozen om gebruik te maken van HL7 [FHIR](https://hl7.org/fhir). FHIR beschrijft een datamodel dat is opgedeeld in modulaire componenten. Op basis van eerdere ervaringen, is de verwachting dat begonnen zal worden met de volgende resources: :::{list-table} Verwachting initieel benodigde FHIR Resources :header-rows: 1 :width: 100% * - Resource - Omschrijving * - [Patient](https://hl7.org/fhir/R4/Patient.html) - Patient * - [Encounter](https://hl7.org/fhir/R4/Encounter.html) - Bezoeken aan het ziekenhuis: (poli)klinish, dagopnames, etc. * - [Account](https://hl7.org/fhir/R4/Account.html) of [EpisodeOfCare](https://hl7.org/fhir/R4/EpisodeOfCare.html) - DBCs * - [Condition](https://hl7.org/fhir/R4/Condition.html) - Diagnoses (gecodeerd middels ICD-10) * - [Observation](https://hl7.org/fhir/R4/Observation.html) - Labuitslagen (gecodeerd middels LOINC?) * - [Questionnaire](https://hl7.org/fhir/R4/Questionnaire.html) - Vragenlijsten * - [QuestionnaireResponse](https://hl7.org/fhir/R4/QuestionnaireResponse.html) - Antwoorden op vragenlijsten. Bevatten mogelijk vrije tekst. * - [Bundle](https://hl7.org/fhir/R4/Bundle.html) - Klinische brieven (zie [FHIR Documents](http://hl7.org/fhir/R4/documents.html)) ::: Aangezien deze standaard relatief flexibel is opgezet, zullen op een aantal punten nog keuzes gemaakt moeten worden. Bijvoorbeeld welke attributen verplicht zijn, welke terminologiestelsels gebruikt zullen worden, of hoe omgegaan wordt met overplaatsingen (tussen (verpleeg)afdelingen binnen het ziekenhuis) tijdens een bezoek. Een eerste aanzet hiervoor staat beschreven in [](informatiestandaard). Hierbij wordt zoveel als mogelijk gebruik gemaakt van de [Nictiz FHIR-profiles](https://simplifier.net/Nictiz-R4-zib2020) :::{important} Tijdens het project zal de informatiestandaard, samen met de deelnemende ziekenhuizen, verder worden uitgewerkt. ::: (technisch-vlak-target)= ### Het technisch vlak Op technisch vlak zijn er verschillende manieren om de data te ontsluiten in beeld. Dit zijn: 1. Via een FHIR-server of EPD met FHIR [REST API](https://hl7.org/fhir/R4/http.html), zoals [HAPI](https://hapifhir.io/hapi-fhir/), [Firely](https://fire.ly/products/firely-server/) of [EPIC](https://fhir.epic.com/). Waar mogelijk, wordt gebruik gemaakt van de [bulk data API](https://hl7.org/fhir/uv/bulkdata/). 2. Via een relationele database, zoals [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-2022) of [PostgreSQL](https://www.postgresql.org), waarbij de data via een query geëxtraheerd (en mogelijk getransformeerd) wordt. 3. Via een data lake / blob storage, waarbij de resources als [nd-json](https://hl7.org/fhir/nd-json.html) bestanden worden opgeslagen en worden ontsloten via een (in process) database management systeem (zoals [DuckDB](https://duckdb.org)). De 'finetuning' van de data-ontsluiting en standaardisatie hangt sterk af van of de lokale data al conform de FHIR-profiles beschikbaar is en of er eerder database-queries ontwikkeld zijn voor het lokaal gebruikte EPD. De eerste optie heeft als voordeel dat andere applicaties binnen het ziekenhuis gebruik kunnen maken van dezelfde server. Bijvoorbeeld voor Clinical Decision Support. De tweede optie sluit goed aan bij de technology stack die al in veel ziekenhuizen beschikbaar is, én wordt reeds toegepast door het LUMC, ErasmusMC en UMCUtrecht. Bij de derde optie is alleen extra data-opslag nodig is, maar de data zal nog steeds op een manier in die data-opslag terecht moeten komen. :::{important} Tijdens het project zal, samen met de deelnemende ziekenhuizen, worden onderzocht welke vorm van gegevensopslag/-overdracht het meest geschikt is. :::