Implementation of the Nuts Knooppunt specifications.
A demonstration Electronic Health Record (EHR) application showcasing Dutch healthcare data exchange use cases including BGZ exchange and eOverdracht workflows.
See mock-components/demo-ehr/README.md for detailed documentation and setup instructions.
- Health check endpoint: http://localhost:8081/status
- mCSD Admin Application: http://localhost:8080/mcsdadmin
- mCSD Update Client force update: POST http://localhost:8081/mcsd/update
- NVI FHIR gateway endpoints:
- Registration endpoint: POST http://localhost:8081/nvi (transaction Bundle) or POST http://localhost:8081/nvi/List (single
List) - Search endpoint: GET http://localhost:8081/nvi/List
- Registration endpoint: POST http://localhost:8081/nvi (transaction Bundle) or POST http://localhost:8081/nvi/List (single
- Demo EHR Application: http://localhost:3000
See docs/CONFIGURATION.md for configuration options and instructions.
See docs/DEPLOYMENT.md for how to deploy the Knooppunt in your XIS/healthcare system.
See docs/INTEGRATION.md for how to integrate the Knooppunt in your local XIS/healthcare system.
Browse it at https://nuts-foundation.github.io/nuts-knooppunt/docs/api/.
- openapi.yaml: status, PDP, NVI and MITZ subscription APIs (internal interface).
- mitz-public.openapi.yaml: the single public-interface endpoint (
/mitz/notify), called by MITZ directly.
See docs/ARCHITECTURE.md for an overview of the architecture and design of the Knooppunt (for Knooppunt developers).
See docs/prs-contract.md for the wire contract between the pseudonymisation component and the national pseudonymization service (PRS), and how the deployed acceptance version, the service's main branch and the draft implementation guide differ.
It's a typical Go application, so:
go test ./...and:
go build .
./nuts-knoopppuntFor a complete overview of the deployment options, see docs/DEPLOYMENT.md.
A docker compose config is provided to run a set of services that are useful for development:
- Knooppunt - Main application running on ports 8080 (API) and 8081 (internal)
- HAPI FHIR Server - Multi-tenant FHIR R4 server with NVI support, running on port 7050
- Aspire Dashboard - Observability dashboard for traces, logs, and metrics on port 18888
- Demo EHR - Demo application (optional, use
--profile demoehr) - PEP (Policy Enforcement Point) - NGINX-based reference implementation, one per demo organization: Zonnebloem on port 9080 and De Plataan on port 9081
Start the base stack with:
docker compose up --buildStart with demo-ehr:
docker compose --profile demoehr up --build