Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

The Key/Value store is available for storing properties and configuration values that does not fit into the FHIR based infrastructure.

The intended audience is architects and developers that develop solutions or applications on the eHealth platform.


Keys and values stored in this service SHALL NOT contain any clinical or personal sensitive information.

Table of Contents

Vendor access

Access is granted to:

  • System users (called from BFF’sBFFs), per vendor registered as a client on Keycloak.
    Can create/modify/read:

    • Client data

    • Own user-specific data

    • User data of any user usage of the client

  • Users (called from both BFF’s BFFs and clientclients)

    • Can create/modify/read own user-specific data

      • NOTE: Also modifiable by client-associated system users.

    • Can read client-specific data

Initial configuration (to be done by the infrastructure team)

Vendors must contact operations FUT-S Contact Information to gain access with the following information:

  • realm

  • client id

  • system users

    • Multiple system users can access data for the client and it’s users

    • System users can access data for multiple clients and it’s users

Interface specification (Open API spec)

openapi: 3.0.1 info: title: API description: System resource and user storage with per key defined media type. servers: - url: https://kvstore.inttest.ehealth.sundhed.dk/kvstore/api variables: {} - url: https://kvstore.exttest.ehealth.sundhed.dk/kvstore/api variables: {} paths: /{realm}/property/{id}: get: summary: Returns the value to which the specified key or resource id is mapped. operationId: get parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "200": description: Success headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple content: text/plain: {} application/json: {} application/xml: {} put: summary: Replaces the value to which the specified key or resource id is mapped. description: The key or resource id must exists (been created by means of a POST). <br>It is not posible to change the media type. operationId: update parameters: - name: If-Match in: header description: 'Optional version precondition check. Use the ETag header value of a previous POST, GET, PUT to do optimistic locking ' schema: type: string example: version32 - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - New value accepted headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple "412": description: Precondition Failed - Optimistic locking error. Existing data has changed since last read. delete: summary: Remove the value and key to which the specified key or resource id is mapped. operationId: delete parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - Resource deleted /{realm}/property/lookup: get: summary: Returns the value to which the specified key or resource id is mapped. operationId: get_1 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "200": description: Success headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple content: text/plain: {} application/json: {} application/xml: {} put: summary: Replaces the value to which the specified key or resource id is mapped. description: The key or resource id must exists (been created by means of a POST). <br>It is not posible to change the media type. operationId: update_1 parameters: - name: If-Match in: header description: 'Optional version precondition check. Use the ETag header value of a previous POST, GET, PUT to do optimistic locking ' schema: type: string example: version32 - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - New value accepted headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple "412": description: Precondition Failed - Optimistic locking error. Existing data has changed since last read. delete: summary: Remove the value and key to which the specified key or resource id is mapped. operationId: delete_1 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - Resource deleted /{realm}/properties: post: summary: Associates the specified value with the specified key or resource id operationId: create parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: media-type: type: string default: TEXT enum: - TEXT - JSON - XML key: type: string value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "201": description: No content - New value create headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple Location: description: Url to the create key/value style: simple "409": description: Conflict /{realm}/property/lookup/user: get: summary: Returns the value to which the specified key or resource id is mapped. operationId: get_2 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: fhirId in: query description: Fhir user identifier required: true schema: type: string example: https://patient,exttest.ehealth.sundhed.dk/fhir/Patient/1234567 - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "200": description: Success headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple content: text/plain: {} application/json: {} application/xml: {} put: summary: Replaces the value to which the specified key or resource id is mapped. description: The key or resource id must exists (been created by means of a POST). <br>It is not posible to change the media type. operationId: update_2 parameters: - name: If-Match in: header description: 'Optional version precondition check. Use the ETag header value of a previous POST, GET, PUT to do optimistic locking ' schema: type: string example: version32 - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: fhirId in: query description: Fhir user identifier required: true schema: type: string example: https://patient,exttest.ehealth.sundhed.dk/fhir/Patient/1234567 - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - New value accepted headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple "412": description: Precondition Failed - Optimistic locking error. Existing data has changed since last read. delete: summary: Remove the value and key to which the specified key or resource id is mapped. operationId: delete_2 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: fhirId in: query description: Fhir user identifier required: true schema: type: string example: https://patient,exttest.ehealth.sundhed.dk/fhir/Patient/1234567 - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - Resource deleted /{realm}/property/{id}/user: get: summary: Returns the value to which the specified key or resource id is mapped. operationId: get_3 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: fhirId in: query description: Fhir user identifier required: true schema: type: string example: https://patient,exttest.ehealth.sundhed.dk/fhir/Patient/1234567 - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "200": description: Success headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple content: text/plain: {} application/json: {} application/xml: {} put: summary: Replaces the value to which the specified key or resource id is mapped. description: The key or resource id must exists (been created by means of a POST). <br>It is not posible to change the media type. operationId: update_3 parameters: - name: If-Match in: header description: 'Optional version precondition check. Use the ETag header value of a previous POST, GET, PUT to do optimistic locking ' schema: type: string example: version32 - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: fhirId in: query description: Fhir user identifier required: true schema: type: string example: https://patient,exttest.ehealth.sundhed.dk/fhir/Patient/1234567 - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - New value accepted headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple "412": description: Precondition Failed - Optimistic locking error. Existing data has changed since last read. delete: summary: Remove the value and key to which the specified key or resource id is mapped. operationId: delete_3 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: fhirId in: query description: Fhir user identifier required: true schema: type: string example: https://patient,exttest.ehealth.sundhed.dk/fhir/Patient/1234567 - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - Resource deleted /{realm}/properties/user: post: summary: Associates the specified value with the specified key or resource id operationId: create_1 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: fhirId in: query description: Fhir user identifier required: true schema: type: string example: https://patient,exttest.ehealth.sundhed.dk/fhir/Patient/1234567 requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: media-type: type: string default: TEXT enum: - TEXT - JSON - XML key: type: string value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "201": description: No content - New value create headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple Location: description: Url to the create key/value style: simple "409": description: Conflict /{realm}/user/property/{id}: get: summary: Returns the value to which the specified key or resource id is mapped. operationId: get_4 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "200": description: Success headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple content: text/plain: {} application/json: {} application/xml: {} put: summary: Replaces the value to which the specified key or resource id is mapped. description: The key or resource id must exists (been created by means of a POST). <br>It is not posible to change the media type. operationId: update_4 parameters: - name: If-Match in: header description: 'Optional version precondition check. Use the ETag header value of a previous POST, GET, PUT to do optimistic locking ' schema: type: string example: version32 - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - New value accepted headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple "412": description: Precondition Failed - Optimistic locking error. Existing data has changed since last read. delete: summary: Remove the value and key to which the specified key or resource id is mapped. operationId: delete_4 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: id in: path description: 'The resource id whose associated value is to be returned ' required: true schema: type: integer format: int32 example: 432 responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - Resource deleted /{realm}/user/property/lookup: get: summary: Returns the value to which the specified key or resource id is mapped. operationId: get_5 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "200": description: Success headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple content: text/plain: {} application/json: {} application/xml: {} put: summary: Replaces the value to which the specified key or resource id is mapped. description: The key or resource id must exists (been created by means of a POST). <br>It is not posible to change the media type. operationId: update_5 parameters: - name: If-Match in: header description: 'Optional version precondition check. Use the ETag header value of a previous POST, GET, PUT to do optimistic locking ' schema: type: string example: version32 - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - New value accepted headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple "412": description: Precondition Failed - Optimistic locking error. Existing data has changed since last read. delete: summary: Remove the value and key to which the specified key or resource id is mapped. operationId: delete_5 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth - name: key in: query description: 'The key whose associated value is to be returned ' required: true schema: type: string example: my-key responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "404": description: Not Found - The requested resource was not found. "201": description: No content - Resource deleted /{realm}/user/properties: post: summary: Associates the specified value with the specified key or resource id operationId: create_2 parameters: - name: realm in: path description: Athentication realm required: true schema: type: string example: ehealth requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: media-type: type: string default: TEXT enum: - TEXT - JSON - XML key: type: string value: type: string responses: "401": description: Unauthorized headers: WWW-Authenticate: description: Defines the authentication method that should be used to gain access to a resource. style: simple "201": description: No content - New value create headers: ETag: description: ETag version information to be used as If-Match header value on updates for optimistic locking support. style: simple Location: description: Url to the create key/value style: simple "409": description: Conflict
Swagger open api macro
displayOperationIdfalse
methodsnone,get,put,post,delete,options,head,patch,trace
validator
defaultModelsExpandDepth1
url
token
defaultModelRenderingexample
filter
password
expandlist
showCommonExtensionsfalse
filenameopenapi.yaml
operations
maxDisplayedTags
attachtrue
showExtensionsfalse
displayRequestDurationfalse
username
order

Attachments