SOUP-register (IEC 62304)
Versie 1.0.0 - juni 2026
Dit register documenteert de Software of Unknown Provenance (SOUP) van de Medicatiebeoordeling-module conform IEC 62304 (sectie 5.3.3-5.3.4 en 8.1.2). SOUP zijn softwarecomponenten van derden die niet door Remedice zijn ontwikkeld en als onderdeel van het medisch hulpmiddel worden gebruikt.
1. Versiebeheer en herkomst
- De volledige, autoritatieve lijst van vastgepinde versies staat in
backend/requirements.txt(Python) enfrontend/package.jsonplus de lockfile (JavaScript). Dit register vat de functioneel belangrijke componenten samen; de manifests zijn leidend. - Python-afhankelijkheden worden uitsluitend toegevoegd via
pip installgevolgd doorpip freeze > requirements.txt, zodat de exact installeerbare versie wordt vastgelegd. Versies worden nooit handmatig geschreven. - Een wijziging van een SOUP-versie is een codewijziging die de normale verificatie (tests, lint) doorloopt voordat deze wordt vrijgegeven.
2. Anomaly-monitoring
| Mechanisme | Dekking | Status |
|---|---|---|
bandit (SAST) in de lint-pipeline |
Onveilige patronen in eigen + aanroepende code | Actief (backend/scripts/lint.sh) |
pip-audit op requirements.txt |
Bekende CVE's in Python-SOUP | Methode vastgesteld; CI-automatisering open punt |
npm audit op de frontend-lockfile |
Bekende CVE's in JavaScript-SOUP | Methode vastgesteld; CI-automatisering open punt |
| GitHub Security Advisories | Geadviseerde upgrades per repo | Per repo te activeren |
Bij een gemelde kwetsbaarheid in een SOUP-component wordt de impact beoordeeld (raakt het de medische functie of de beveiliging?), zo nodig geupgraded via de pip install + pip freeze-workflow, en de wijziging hergevalideerd. Ernstige bevindingen lopen via de CAPA-procedure in het post-market surveillance plan.
3. Backend-SOUP (analyse-engine en platform)
| Component | Versie | Functie | Monitoring |
|---|---|---|---|
| Django | 5.2.10 | Webframework, ORM, schema-isolatie | bandit, pip-audit |
| djangorestframework | 3.16.1 | REST API-laag | bandit, pip-audit |
| django-tenants | 3.9.0 | Multi-tenant schema-isolatie | pip-audit |
| celery | 5.6.2 | Asynchrone taken (run_review, archivering) | pip-audit |
| redis | 7.1.0 | Broker en cache | pip-audit |
| channels / daphne | 4.3.2 / 4.2.1 | WebSocket/ASGI | pip-audit |
| psycopg2-binary | 2.9.11 | PostgreSQL-driver | pip-audit |
| cryptography | 46.0.4 | Veldversleuteling (Fernet) | bandit, pip-audit |
| PyJWT / djangorestframework-simplejwt | 2.10.1 | Authenticatie-tokens | bandit, pip-audit |
| pydantic | 2.12.5 | Validatie van gestructureerde data | pip-audit |
| boto3 | 1.42.47 | AWS-integratie (S3-archief, KMS) | pip-audit |
| anthropic | 0.102.0 | LLM-client (Atlas, buiten MDR-scope) | pip-audit |
| beautifulsoup4 | 4.14.3 | Parsing van scraper- en AIS-invoer | pip-audit |
| pillow | 12.1.1 | Beeldverwerking (uploads) | pip-audit |
| drf-spectacular | 0.28.0 | OpenAPI-schema | pip-audit |
| sentry-sdk | 2.58.0 | Foutmonitoring | pip-audit |
| stripe | 14.4.1 | Billing (buiten MDR-scope) | pip-audit |
De ATC-verrijking en de analyses gebruiken daarnaast de G-Standaard-database (lookup.db), die als databron en niet als SOUP wordt beheerd; versiebeheer daarvan staat in het validatieprotocol sectie 7.4 en wordt per review vastgelegd (zie Backend-documentatie medicatiebeoordeling).
4. Frontend-SOUP (presentatielaag)
| Component | Versie | Functie | Monitoring |
|---|---|---|---|
| react | 19.1.0 | UI-runtime | npm audit |
| react-native | 0.81.5 | Cross-platform UI | npm audit |
| expo | 54.0.33 | Build- en runtime-platform | npm audit |
| expo-router | 6.0.23 | Navigatie/routing | npm audit |
| react-native-reanimated | 4.1.1 | Animaties | npm audit |
5. Openstaande punten
- Automatiseren van
pip-auditennpm auditals CI-gate en GitHub Dependabot per repo activeren. - Koppeling van het SOUP-register aan de release-notes zodat versiewijzigingen traceerbaar zijn per release.
Dit register wordt bijgewerkt bij iedere wijziging van een functioneel belangrijke SOUP-component.