From 561c82c198e8d02abd04082720361770dd837991 Mon Sep 17 00:00:00 2001 From: Giedrius Grabauskas <43740166+Grabauskas@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:41:40 +0300 Subject: [PATCH 1/7] ZRC Introduction --- docs/cases/zrc-introduction.md | 50 +++++++++++++++++++ .../{use-of-bsn.md => zrc-use-of-bsn.md} | 12 +++-- sidebars.ts | 8 ++- 3 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 docs/cases/zrc-introduction.md rename docs/cases/{use-of-bsn.md => zrc-use-of-bsn.md} (81%) diff --git a/docs/cases/zrc-introduction.md b/docs/cases/zrc-introduction.md new file mode 100644 index 0000000..fab1945 --- /dev/null +++ b/docs/cases/zrc-introduction.md @@ -0,0 +1,50 @@ +--- +title: "Introduction to Cases" +description: "Overview of the ZGW Cases (ZRC) system, managing the registration and lifecycle of cases." +keywords: [cases, introduction, ZRC, ZGW, API, OneGround, zaken, zaak, registration] +slug: /cases/introduction +--- + +# Introduction to Cases + +The Cases system (often referred to as **ZRC** or Zaak Registratie Component) is a core part of the ZGW API landscape provided by OneGround. It provides a standardized way to register, track, and manage cases ("Zaken") — the central objects representing any government process or service request. + +## How it works + +A "Zaak" represents an instance of a business process for a specific subject (e.g., a citizen or company). The ZRC manages the full lifecycle of these cases. + +1. **Creation**: A client application creates a new Case, referencing a **ZaakType** from the Catalogs (ZTC) to define its structure and rules. +2. **Status Updates**: As the process progresses, the case status is updated through predefined status types. +3. **Linking**: Related objects are attached to the case — documents (via DRC), decisions (Besluiten), roles (Rollen), and properties (Eigenschappen). +4. **Closure**: Once the process is complete, the case is finalized with an end date and result. + +## Getting Started + +To work with the Cases API, your application typically performs these steps: + +1. **Determine the Case Type**: Look up the appropriate **ZaakType** in the Catalogs (ZTC) that matches your business process. +2. **Create a Case**: Register a new Zaak using the ZaakType reference. +3. **Manage Lifecycle**: Update the status, add roles, link documents, and record properties as the process evolves. + +## Documentation Overview + +We have guides to help you integrate with the Cases system: + +- **[Use of BSN](./zrc-use-of-bsn)**: Best practices for securely retrieving cases associated with a BSN (Dutch Social Security Number). + +## Key Concepts + +- **Zaak (Case)**: The core resource representing a single instance of a business process (e.g., a permit application or a complaint). +- **Rol (Role)**: Links a person or organisation to a case in a specific capacity (e.g., initiator, behandelaar). +- **Status**: Represents the current phase of the case within its defined lifecycle. +- **Resultaat (Result)**: The final outcome of the case once it is closed. +- **ZaakObject**: Links a case to an external real-world object (e.g., an address or a parcel of land). + +## Official Standards (VNG) + +The OneGround Cases system is implemented according to the standards defined by VNG Realisatie. The official standards provide the complete specification: + +- **[VNG Zaken Standard](https://vng-realisatie.github.io/gemma-zaken/standaard/zaken/)** + The core specification for the Cases API (Zaken services). It defines the resources, behavior, and architecture for registering and managing cases. + +For further technical details, please refer to the specific pages in this section. diff --git a/docs/cases/use-of-bsn.md b/docs/cases/zrc-use-of-bsn.md similarity index 81% rename from docs/cases/use-of-bsn.md rename to docs/cases/zrc-use-of-bsn.md index e48fd1b..4642838 100644 --- a/docs/cases/use-of-bsn.md +++ b/docs/cases/zrc-use-of-bsn.md @@ -1,16 +1,20 @@ --- -id: use-of-bsn -title: Retrieving cases for a particular BSN +title: "Retrieving Cases for a Particular BSN" +description: "Best practices for securely retrieving cases by BSN, avoiding URL-based exposure of sensitive personal data." +keywords: [BSN, cases, ZRC, privacy, security, POST, zoek, GDPR, AVG, OneGround] +slug: /cases/use-of-bsn --- +# Retrieving Cases for a Particular BSN + Retrieving cases using a BSN (Dutch Social Security Number) can be done in two ways. While our case registration software supports both methods, many client applications are using the older, insecure method. This article explains the problem and the recommended solution. ### The Problem: Leaking BSNs via GET Requests The current, widely-used method for fetching cases by BSN is a `GET` request where the BSN is passed as a URL parameter: -```h -ttps://zaken.preprod-rx-services.nl/api/v1/zaken?rol__betrokkeneIdentificatie__natuurlijkPersoon__inpBsn=123443210 +```plain +https://zaken.preprod-rx-services.nl/api/v1/zaken?rol__betrokkeneIdentificatie__natuurlijkPersoon__inpBsn=123443210 ``` **This is a security and privacy risk.** diff --git a/sidebars.ts b/sidebars.ts index 1009a3d..de89f7e 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -101,11 +101,15 @@ const sidebars: SidebarsConfig = { }, { type: "category", - label: "Cases", + label: "Cases (ZRC)", + link: { + type: "doc", + id: "cases/zrc-introduction" + }, items: [ { type: "doc", - id: "cases/use-of-bsn", + id: "cases/zrc-use-of-bsn", label: "Use of BSN" } ] From b4fc85dda877b7afd1bad424aeb3cecabbfaddbb Mon Sep 17 00:00:00 2001 From: Giedrius Grabauskas <43740166+Grabauskas@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:42:59 +0300 Subject: [PATCH 2/7] Reverted href --- sidebars.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidebars.ts b/sidebars.ts index de89f7e..a6c44ce 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -109,7 +109,7 @@ const sidebars: SidebarsConfig = { items: [ { type: "doc", - id: "cases/zrc-use-of-bsn", + id: "cases/use-of-bsn", label: "Use of BSN" } ] From 2375f35a33838deab8a1ff6ea5e4b6b8b0687e11 Mon Sep 17 00:00:00 2001 From: Giedrius Grabauskas <43740166+Grabauskas@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:46:11 +0300 Subject: [PATCH 3/7] Formatting --- docs/cases/zrc-introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cases/zrc-introduction.md b/docs/cases/zrc-introduction.md index fab1945..bf887e7 100644 --- a/docs/cases/zrc-introduction.md +++ b/docs/cases/zrc-introduction.md @@ -45,6 +45,6 @@ We have guides to help you integrate with the Cases system: The OneGround Cases system is implemented according to the standards defined by VNG Realisatie. The official standards provide the complete specification: - **[VNG Zaken Standard](https://vng-realisatie.github.io/gemma-zaken/standaard/zaken/)** - The core specification for the Cases API (Zaken services). It defines the resources, behavior, and architecture for registering and managing cases. + The core specification for the Cases API (Zaken services). It defines the resources, behavior, and architecture for registering and managing cases. For further technical details, please refer to the specific pages in this section. From f282a1b956c110ad600963c934ca655358b58895 Mon Sep 17 00:00:00 2001 From: Giedrius Grabauskas <43740166+Grabauskas@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:50:39 +0300 Subject: [PATCH 4/7] Fix id --- sidebars.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidebars.ts b/sidebars.ts index a6c44ce..de89f7e 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -109,7 +109,7 @@ const sidebars: SidebarsConfig = { items: [ { type: "doc", - id: "cases/use-of-bsn", + id: "cases/zrc-use-of-bsn", label: "Use of BSN" } ] From 0472ab95e58fff9081d4ba1186cf5d1e9163eed1 Mon Sep 17 00:00:00 2001 From: Giedrius Grabauskas <43740166+Grabauskas@users.noreply.github.com> Date: Mon, 30 Mar 2026 12:04:39 +0300 Subject: [PATCH 5/7] Fixed file naming --- docs/cases/{zrc-use-of-bsn.md => use-of-bsn.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/cases/{zrc-use-of-bsn.md => use-of-bsn.md} (100%) diff --git a/docs/cases/zrc-use-of-bsn.md b/docs/cases/use-of-bsn.md similarity index 100% rename from docs/cases/zrc-use-of-bsn.md rename to docs/cases/use-of-bsn.md From 43ecd4554b8552f36676e7ed38ca8f71a8a941ab Mon Sep 17 00:00:00 2001 From: Giedrius Grabauskas <43740166+Grabauskas@users.noreply.github.com> Date: Mon, 30 Mar 2026 13:06:53 +0300 Subject: [PATCH 6/7] fixed id --- sidebars.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidebars.ts b/sidebars.ts index de89f7e..a6c44ce 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -109,7 +109,7 @@ const sidebars: SidebarsConfig = { items: [ { type: "doc", - id: "cases/zrc-use-of-bsn", + id: "cases/use-of-bsn", label: "Use of BSN" } ] From 2cd95d4734db39a64d58584309a1c74805494b48 Mon Sep 17 00:00:00 2001 From: Giedrius Grabauskas <43740166+Grabauskas@users.noreply.github.com> Date: Mon, 30 Mar 2026 15:02:18 +0300 Subject: [PATCH 7/7] Fixed path --- docs/cases/zrc-introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cases/zrc-introduction.md b/docs/cases/zrc-introduction.md index bf887e7..bca226f 100644 --- a/docs/cases/zrc-introduction.md +++ b/docs/cases/zrc-introduction.md @@ -30,7 +30,7 @@ To work with the Cases API, your application typically performs these steps: We have guides to help you integrate with the Cases system: -- **[Use of BSN](./zrc-use-of-bsn)**: Best practices for securely retrieving cases associated with a BSN (Dutch Social Security Number). +- **[Use of BSN](./use-of-bsn)**: Best practices for securely retrieving cases associated with a BSN (Dutch Social Security Number). ## Key Concepts