Join the use case

Do this once per care organization, per use case: register on the use case's Discovery Service so other parties can find you.

Register on the Discovery Service

Register the care organization on the use case's Discovery Service, so other parties can find it and its API endpoints. In the Nuts node this is called "activating" the Discovery Service for a subject.

Do this once per care organization, per use case. The node then keeps the registration up to date by itself.

Before you start

Registration parameters

Registration parameters are values you publish with the registration, typically API endpoints. The use case says which ones you need. The node puts them in a DiscoveryRegistrationCredential, so you don't need to issue that credential yourself.

The node always adds authServerURL: your Nuts node's OAuth2 authorization server URL for this subject.

360-graden-clientbeeld

The wallet only needs the X509Credential. Registration parameters:

Parameter Required Value
fhirR4BaseURL At least one of the two Base URL of your FHIR R4 API
fhirStu3BaseURL At least one of the two Base URL of your FHIR STU3 API

The service ID is 360-graden.

Using the API

POST <internal Nuts interface>/internal/discovery/v1/<service ID>/<subject ID>
Content-Type: application/json

{
  "registrationParameters": {
    "<parameter>": "<value>"
  }
}

360-graden-clientbeeld

POST <internal Nuts interface>/internal/discovery/v1/360-graden/careorg-a-acc
Content-Type: application/json

{
  "registrationParameters": {
    "fhirR4BaseURL": "https://fhir.example.com/r4"
  }
}

The node registers right away:

Response Meaning What to do
200 OK Registered. The node refreshes the registration by itself before it expires. Nothing
412 Precondition Failed Not registered. The response says why, e.g. missing credentials or the Discovery Server can't be reached. The node does not retry by itself. Fix the cause and call the API again
404 Not Found Unknown service ID or subject ID Check both IDs

Check that it worked

Get the registration status:

GET <internal Nuts interface>/internal/discovery/v1/<service ID>/<subject ID>

Then check that others can find you, by searching for your own care organization, e.g. by name:

GET <internal Nuts interface>/internal/discovery/v1/<service ID>?<path in the credential>=<value>

360-graden-clientbeeld

The name is in the X509Credential:

GET <internal Nuts interface>/internal/discovery/v1/360-graden?credentialSubject.subject.O=Zorgorganisatie%20A*

See "Find care organizations and their endpoints" for more search options.

Changing or removing the registration

API reference: Discovery Service