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.