Skip to main content

Resolve Patient scope from BSN

Use this flow when you have a BSN and need the internal patientId for patient-scoped endpoints.

1. Start with organization scope

You need a valid organizationId first. If you only have AGB, resolve it via:

2. Resolve patient by BSN

Prefer the FHIR _search POST interaction so BSN stays out of URL query parameters:

POST /v2/{organizationId}/fhir/R4/Patient/_search
Content-Type: application/x-www-form-urlencoded

identifier=http://fhir.nl/fhir/NamingSystem/bsn|123456789

Required scope:

  • patient.read

3. Read patientId

Use entry[].resource.id from the returned Patient as the path patientId.

4. Call patient-scoped APIs

Use both resolved ids in scoped endpoints, for example:

GET /v2/{organizationId}/fhir/R4/Patient/{patientId}/MedicationRequest

Notes

  • If the bundle is empty, the BSN is unknown for the organization scope.
  • If multiple matches are returned, treat this as an ambiguity and require user confirmation.