> For the complete documentation index, see [llms.txt](https://docs.b2ihealthcare.com/snow-owl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.b2ihealthcare.com/snow-owl/rest-apis/fhir/valuesets.md).

# ValueSet

## Introduction

Snow Owl TS supports interactions and operations related to value sets, as described in the FHIR R5 [terminology service](https://hl7.org/fhir/R5/terminology-service.html) specification. For certain toolings implicit value sets are also expandable; these are described below in detail.

## Tooling support

### SNOMED CT

Value set URIs following SNOMED International's URI format are evaluated based on the associated SNOMED CT code system's content. The following query parts can be added after the "version URL" of the code system to define an implicit value set:

<table><thead><tr><th width="243.333251953125">Query</th><th>Definition</th></tr></thead><tbody><tr><td><code>?fhir_vs</code></td><td>All concepts of the code system</td></tr><tr><td><code>?fhir_vs=isa/409822003</code></td><td>Descendants of <code>409822003|Domain bacteria|</code></td></tr><tr><td><code>?fhir_vs=refset</code></td><td>All reference sets of the code system</td></tr><tr><td><code>?fhir_vs=refset/733073007</code></td><td>Members of <code>733073007|OWL axiom reference set|</code></td></tr></tbody></table>

{% hint style="info" %}
The URL portion should always include a module identifier to avoid confusion, e.g. `http://snomed.info/sct/900000000000207008?fhir_vs`  to indicate that all concepts from the International Edition should be included.
{% endhint %}

### LOINC ![](https://1894725842-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUjFUePuVzxE3xh52ynpe%2Fuploads%2FS7UONfwYsC7dXDjZYfhW%2Fpaid_badge.svg?alt=media\&token=1f66c56a-71a1-4fed-a20a-96bb67e55772)

Value set identifiers described in [Using LOINC with HL7 Standards](https://terminology.hl7.org/en/LOINC.html#loinc-implicit-value-sets) resolve to a set of LOINC codes that match the criteria specified below. Snow Owl currently supports expansion of the "all codes" and "multi-axial hierarchy entry" variants:

<table><thead><tr><th width="279.333251953125">URI</th><th>Definition</th></tr></thead><tbody><tr><td><code>http://loinc.org/vs</code></td><td>All concepts of the code system</td></tr><tr><td><code>http://loinc.org/vs/LP7756-2</code></td><td>Descendants of LOINC Part <code>LP7756-2|Allergy|</code></td></tr></tbody></table>

### Persisted value sets ![](https://1894725842-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUjFUePuVzxE3xh52ynpe%2Fuploads%2FS7UONfwYsC7dXDjZYfhW%2Fpaid_badge.svg?alt=media\&token=1f66c56a-71a1-4fed-a20a-96bb67e55772)

Regular value sets are only supported in the paid edition of Snow Owl.

## Interactions

### read (instance)

GET requests that include the value set identifier as the final path segment return the current (non-versioned) resource state:

```http
GET /snowowl/fhir/ValueSet/o5QQNplq1CMvQx5E9P3cD0BA

[Response headers]
Content-Type: application/fhir+json

{
  "resourceType" : "ValueSet",
  "id" : "o5QQNplq1CMvQx5E9P3cD0BA",
  "meta" : {
    "lastUpdated" : "2026-09-03T10:17:21.126Z"
  },
  "text" : {
    "status" : "empty"
  },
  "url" : "https://b2ihealthcare.com/valuesets/o5QQNplq1CMvQx5E9P3cD0BA",
  "title" : "Example Value Set",
  "status" : "active",
  "compose" : {
    "inactive" : false,
    "include" : [{
      "system" : "http://snomed.info/sct",
      "version" : "http://snomed.info/sct/45991000052106/version/20251130",
      "filter" : [{
        "property" : "constraint",
        "op" : "=",
        "value" : "<<78621006 |Physical force (physical force)|"
      }]
    }]
  }
}
```

The returned response uses a filter mentioned in [CodeSystem](/snow-owl/rest-apis/fhir/codesystems.md#filters) that is supported by SNOMED CT – this enables including or excluding concepts using an ECL expression.

Similarly to CodeSystem `read` interactions, query parameters  `_format`, `_summary`, `_elements` and `_pretty` are also applicable, see [FHIR API](/snow-owl/rest-apis/fhir.md#common-request-parameters) for a detailed description of these options.

### vread (instance)

To retrieve a single historical version of the resource, use the following GET request:

<pre class="language-http"><code class="lang-http">GET /snowowl/fhir/ValueSet/o5QQNplq1CMvQx5E9P3cD0BA/_history/v2

[Response headers]
Content-Type: application/fhir+json

{
  "resourceType" : "ValueSet",
  "id" : "o5QQNplq1CMvQx5E9P3cD0BA",
  "meta" : {
    "lastUpdated" : "2026-09-16T15:46:44.311Z"
  },
  "text" : {
    "status" : "empty"
  },
<strong>  "url" : "https://b2ihealthcare.com/valuesets/o5QQNplq1CMvQx5E9P3cD0BA/version/v2", // [1]
</strong><strong>  "version" : "v2", // [2]
</strong>  "title" : "Example Value Set",
  "status" : "active",
<strong>  "date" : "2026-09-15T00:00:00Z", // [3]
</strong>  "effectivePeriod" : {
<strong>    "start" : "2026-09-15T00:00:00Z" // [4]
</strong>  },
  "compose" : {
    "inactive" : false,
    "include" : [{
      "system" : "http://snomed.info/sct",
      "version" : "http://snomed.info/sct/45991000052106/version/20251130",
      "filter" : [{
        "property" : "constraint",
        "op" : "=",
        "value" : "&#x3C;&#x3C;78621006 |Physical force (physical force)|"
      }]
    }],
<strong>    "exclude" : [{ // [5]
</strong><strong>      "system" : "http://snomed.info/sct",
</strong><strong>      "version" : "http://snomed.info/sct/45991000052106/version/20251130",      
</strong><strong>      "filter" : [{
</strong><strong>        "property" : "constraint",
</strong><strong>        "op" : "=",
</strong><strong>        "value" : "&#x3C;&#x3C;18213006 |Electricity (physical force)|"
</strong><strong>      }]
</strong>    }]
  }
}
</code></pre>

Notable differences between a versioned and the current representation are marked with a comment in the code block above:

1. If a FHIR URL override value was set in resource settings at the time the version was created, it will be reflected in the response (in this case no such setting has been applied)
2. Similarly, if the resource was configured to use its native `url` value as the FHIR version at the time it was created, it will also be reflected in the response (in this example the value of the version ID matches the value returned as the FHIR resource version)
3. The effective time appears as the value of `date`
4. The effective time also appears as the value of `effectivePeriod.start`
5. Other properties like changes in value set composition will reflect the state of the resource at version creation time

The version path parameter accepts the following values:

| Value                              | Behavior                                    |
| ---------------------------------- | ------------------------------------------- |
| `HEAD`                             | Returns the current resource representation |
| `LATEST`                           | Returns the most recent historical revision |
| Any other valid version identifier | Returns the specified historical revision   |

`HEAD` is implemented as a fallback to the regular resource read operation, while `LATEST` selects the latest historical version based on version timestamps.

### history (instance)

GET requests that include a resource identifier with a `_history` path segment added to the end return a FHIR `Bundle` of type `history`, containing historical revisions of the specified resource:

```http
GET /snowowl/fhir/ValueSet/o5QQNplq1CMvQx5E9P3cD0BA/_history?_summary=text

[Response headers]
Content-Type: application/fhir+json

{
  "resourceType" : "Bundle",
  "id" : "2s4ODAjjeWWzkgFZcUWZOx",
  "meta" : {
    "lastUpdated" : "2026-09-16T15:52:46.002Z",
    "tag" : [{
      "system" : "http://hl7.org/fhir/v3/ObservationValue",
      "code" : "SUBSETTED",
      "display" : "As requested, resource is not fully detailed."
    }]
  },
  "type" : "history",
  "total" : 2,
  "entry" : [{
    "fullUrl" : "https://{host}/snowowl/fhir/ValueSet/o5QQNplq1CMvQx5E9P3cD0BA/_history/v2",
    "resource" : {
      "resourceType" : "ValueSet",
      "id" : "o5QQNplq1CMvQx5E9P3cD0BA",
      "meta" : {
        "lastUpdated" : "2026-09-16T15:46:44.311Z"
      },
      "status" : "active"
    }
  },
  {
    "fullUrl" : "https://{host}/snowowl/fhir/ValueSet/o5QQNplq1CMvQx5E9P3cD0BA/_history/v1",
    "resource" : {
      "resourceType" : "ValueSet",
      "id" : "o5QQNplq1CMvQx5E9P3cD0BA",
      "meta" : {
        "lastUpdated" : "2026-09-03T10:17:21.126Z"
      },
      "status" : "active"
    }
  }]
}
```

{% hint style="warning" %}
Only versioned revisions are returned, not individual edits. The `HEAD` revision is also omitted from the history bundle.
{% endhint %}

Supported search parameters are:

<table><thead><tr><th width="168">Name</th><th>Description</th></tr></thead><tbody><tr><td><code>_count</code></td><td>Limits the number of returned history entries (50 by default)</td></tr><tr><td><code>_since</code></td><td>Returns revisions created on or after the supplied ISO-8601 instant</td></tr><tr><td><code>_at</code></td><td><p>Returns revisions created on or before the supplied ISO-8601 instant</p><p></p><p>Note that while the <a href="https://www.hl7.org/fhir/search.html#date">specification</a> allows a wider set of comparisons for <code>date(time)</code> inputs, Snow Owl currently only supports <code>instant</code> values without a comparison operator prefix.</p></td></tr></tbody></table>

Allowed values for the `_sort` parameter:

<table><thead><tr><th width="170.33331298828125">Value</th><th>Behavior</th></tr></thead><tbody><tr><td><code>-_lastUpdated</code></td><td>Newest revisions first (default)</td></tr><tr><td><code>_lastUpdated</code></td><td>Oldest revisions first</td></tr><tr><td><code>none</code></td><td>Does not effectively override the default sort</td></tr><tr><td>Any other value</td><td><code>400 Bad Request</code> is returned</td></tr></tbody></table>

### update (instance)

PUT requests that include a resource identifier will update an existing value set or create a new instance:

```http
PUT /snowowl/fhir/ValueSet/xJn9vXKMrkU9F

[Request headers]
X-Author: user@host.domain
Content-Type: application/fhir+json

[Request body]
{
  "resourceType": "ValueSet",
  "id": "xJn9vXKMrkU9F",
  "text": {
    "status": "empty"
  },
  "url": "https://b2ihealthcare.com/valuesets/xJn9vXKMrkU9F",
  "name": "ExampleValueSet",
  "title": "Example Value Set",
  "status": "draft",
  "compose": {
    "include": [
      {
        "system": "http://snomed.info/sct",
        "version": "http://snomed.info/sct/900000000000207008/version/20231001",        
        "filter": [
          {
            "property": "expression",
            "op": "=",
            "value": "<<448771007|Canis lupus subspecies familiaris (organism)|"
          }
        ]
      },
      // Added inclusion
      {
        "system": "http://snomed.info/sct",
        "version": "http://snomed.info/sct/900000000000207008/version/20231001",
        "filter": [
          {
            "property": "expression",
            "op": "=",
            "value": "<<448169003|Felis catus (organism)|"
          }
        ]
      }
    ]
  }
}
```

The response code is `201 Created` if the resource did not exist previously, and the URL is included in the `Location` response header. Existing value sets (like in the example above) are updated and a `200 OK` response is returned instead.

The actual content of `Location` will differ depending on whether a versioned resource is sent in as the input or a draft one. The former will generate a `vread` interaction with the version value included, while the latter will be a URL that can be used to issue a `read` interaction on the most recent content.

If an error occurs during the update, a `400 Bad Request` response with an `OperationOutcome` resource as the response body is emitted instead.

The following non-standard request headers can be used to control certain aspects of the commit process:

<table><thead><tr><th width="168">Name</th><th>Description</th></tr></thead><tbody><tr><td><code>X-Effective-Date</code></td><td>The effective date to use if a version identifier is present in the resource without a corresponding <code>date</code> element (defaults to the current date if neither the resource nor this header specifies a value)</td></tr><tr><td><code>X-Author</code></td><td>Sets the user identifier that the commit should be attributed to (defaults to the authenticated user)</td></tr><tr><td><code>X-Owner</code></td><td>Sets the owner of the resource, for access control purposes in external systems (defaults to the author or the authenticated user if the former is not set)</td></tr><tr><td><code>X-Owner-Profile</code></td><td>Sets the human-readable name of the owner of the resource, for presentation purposes in external systems (optional)</td></tr><tr><td><code>X-Bundle-Id</code></td><td>Specifies the parent bundle's resource identifier (defaults to the root bundle if not set)</td></tr></tbody></table>

{% hint style="warning" %}
Value sets are currently limited to a single code system and version (domain) they can refer to when including or excluding concepts.
{% endhint %}

{% hint style="info" icon="burst-new" %}
Snow Owl now preserves the `name` property supplied in imported `ValueSet` resources. Previously generated or derived names are no longer used when a resource name is provided by the import payload.
{% endhint %}

### delete (instance)

A DELETE request removes an existing value set:

```http
DELETE /snowowl/fhir/ValueSet/xJn9vXKMrkU9F

[Request headers]
X-Author: user@host.domain

[Response]
204 No Content
```

Successful removal of a resource results in a `204 No Content` response.&#x20;

Value sets that have been published can not be removed without adding the `force=true` query parameter to signal a forced deletion (this option is only available to administrators however). The example value set was never published and so can be deleted without this option.

{% hint style="info" icon="burst-new" %}
The `X-Author` request header is optional, the default value corresponds to the authenticated user.
{% endhint %}

### create (type)

In `create` interactions a POST request is sent to the path corresponding to the resource type. Any identifier included in the request body is ignored and a new, random one is generated from scratch.

```http
POST /snowowl/fhir/ValueSet

[Request headers]
X-Effective-Date: 2023-11-29
X-Author: user@host.domain
X-Owner: owner@host.domain
X-Owner-Profile-Name: Resource Owner
X-Bundle-Id: parent-bundle-id
Content-Type: application/fhir+json

[Request body]
{
  "resourceType": "ValueSet",
  // "id": "..." is not used by the server
  "text": {
    "status": "empty"
  },
  "url": "https://b2ihealthcare.com/valuesets/basic-dose-forms",
  "title": "Basic dose forms",
  "version": "v1",
  "status": "active",
  "compose": {
    "include": [ {
      "system": "http://snomed.info/sct",
      "version": "http://snomed.info/sct/900000000000207008/version/20210131",
      "filter": [ {
          "property": "expression",
          "op": "=",
          "value": "<736478001|Basic dose form (basic dose form)|"
      } ]
    } ]
  }
}

[Response]
201 Created

[Response headers]
Location: http://{host}/snowowl/fhir/ValueSet/vmfRt532iS/_history/v1
```

{% hint style="warning" %}
FHIR URLs in Snow Owl must be unique. If a resource is submitted to the `create` interaction where the URL matches the value in an already persisted resource, an `update` will take place instead.
{% endhint %}

The response code is `201 Created` if the interaction is successful and a new resource has been created, `200 OK` if a resource update was performed.&#x20;

The request URL in the response header named `Location` can be used in follow-up `read` or `vread` interactions; the latter is provided if the input resource also contained version information.

### search (type)

GET requests with a request path that points to the resource type returns all value sets that satisfy the specified search criteria, in the form of query parameters. The following example uses the `count` summary mode to determine the number of draft value sets in the system, without returning any of the matches:

```http
GET /snowowl/fhir/ValueSet?status=draft&_summary=count

[Response headers]
Content-Type: application/fhir+json

{
  "resourceType": "Bundle",
  "id": "valuesets",
  "meta": {
    "lastUpdated": "2023-11-30T14:29:15.724489Z"
  },
  "type": "searchset",
  "total": 188
}
```

{% hint style="danger" %}
Just as with code system resources, POST requests are unsupported in Snow Owl and will be met with a `405 Method Not Allowed` response.
{% endhint %}

The following search parameters are supported:

<table><thead><tr><th width="92">Name</th><th>Description</th></tr></thead><tbody><tr><td><code>_id</code> </td><td>Matches value sets by logical identifier</td></tr><tr><td><code>name</code> </td><td>Matches value sets by name (in Snow Owl this is set to the logical identifier)</td></tr><tr><td><code>title</code></td><td>Matches value sets by title (Snow Owl uses exact, phrase and prefix matching during its lexical search activities)</td></tr><tr><td><code>url</code></td><td>Matches value sets by their assigned <code>url</code> value</td></tr><tr><td><code>version</code> </td><td>Matches value sets by their <code>version</code> value</td></tr><tr><td><code>status</code> </td><td>Matches value sets by resource status (e.g. draft, active, etc.)</td></tr></tbody></table>

## Operations

### $expand

Snow Owl supports the following input parameters for value set expansion:

<table data-search="false"><thead><tr><th width="190.666748046875">Name</th><th>Description</th></tr></thead><tbody><tr><td><code>url</code> </td><td>The URI of the value set to expand (can be an implicit or an explicit one)</td></tr><tr><td><code>valueSetVersion</code> </td><td>The version of the value set for use for the expansion</td></tr><tr><td><code>activeOnly</code> </td><td>To return only active codes in the response</td></tr><tr><td><code>filter</code> </td><td>To filter the expanded concepts lexically</td></tr><tr><td><code>includeDesignations</code> </td><td>Whether to include all designations or not in the returned response</td></tr><tr><td><code>displayLanguage</code> </td><td>To select the language for the returned <code>display</code> values</td></tr><tr><td><code>count</code> </td><td>To select the maximum number of codes to be returned in the expansion (10 by default)</td></tr><tr><td><code>after</code> </td><td>State tracking parameter for concept set paging</td></tr></tbody></table>

The value set with expanded concepts is returned in its entirety for this request. The `expansion` element includes a link that can be followed to retrieve the next page of expanded concepts:

<pre class="language-http"><code class="lang-http">GET /snowowl/fhir/ValueSet/$expand?url=https://b2ihealthcare.com/valuesets/basic-dose-forms&#x26;count=3

[Query parameters (repeated for clarity)]
url: https://b2ihealthcare.com/valuesets/basic-dose-forms
count: 3

[Response headers]
Content-Type: application/fhir+json

{
  "resourceType": "ValueSet",
  "id": "vmfRt532iS",
  "meta": {
    "lastUpdated": "2023-11-30T10:22:59.716Z"
  },
  "url": "https://b2ihealthcare.com/valuesets/basic-dose-forms",
  "name": "BasicDoseForms",
  "title": "Basic dose forms",
  "status": "active",
  "compose": {
    "include": [
      {
        "system": "http://snomed.info/sct",
        "version": "http://snomed.info/sct/900000000000207008/version/20210131",
        "filter": [
          {
            "property": "expression",
            "op": "=",
            "value": "&#x3C;736478001|Basic dose form (basic dose form)|"
          }
        ]
      }
    ]
  },
  // This element does not appear when the VS is requested in a read interaction
<strong>  "expansion": {
</strong><strong>    "identifier": "vmfRt532iS",
</strong><strong>    // Link to the next page in the expansion (includes the "_after" parameter)
</strong><strong>    "next": "https://{host}/snowowl/fhir/ValueSet/$expand?url=https://b2ihealthcare.com/valuesets/basic-dose-forms&#x26;displayLanguage=en-US;q=0.8,en-GB;q=0.6,en;q=0.4&#x26;count=3&#x26;after=AoEqMTIzMDIxNzAwNw==",
</strong><strong>    "timestamp": "2023-11-30T13:07:32.254Z",
</strong><strong>    "total": 71,
</strong><strong>    // The number of results on a single page was limited to 3 by parameter "_count"
</strong><strong>    "contains": [
</strong><strong>      {
</strong><strong>        "system": "http://snomed.info/sct",
</strong><strong>        "version": "http://snomed.info/sct/900000000000207008/version/20210131",
</strong><strong>        "code": "1230183009",
</strong><strong>        "display": "Dispersion"
</strong><strong>      },
</strong><strong>      {
</strong><strong>        "system": "http://snomed.info/sct",
</strong><strong>        "version": "http://snomed.info/sct/900000000000207008/version/20210131",
</strong><strong>        "code": "1230206006",
</strong><strong>        "display": "Compressed lozenge"
</strong><strong>      },
</strong><strong>      {
</strong><strong>        "system": "http://snomed.info/sct",
</strong><strong>        "version": "http://snomed.info/sct/900000000000207008/version/20210131",
</strong><strong>        "code": "1230217007",
</strong><strong>        "display": "Molded lozenge"
</strong><strong>      }
</strong><strong>    ]
</strong><strong>  }
</strong>}

</code></pre>

The `$expand` operation returns a paged result. Snow Owl includes a link in the response that can be used to retrieve the next set of expanded concepts, but only if additional results are available. On the last page the expansion property `next` will not be present.

When expanding a SNOMED CT value set, Snow Owl automatically selects the preferred term for each concept based on the currently selected language. This is controlled by the `displayLanguage` parameter; if it is unset, the `Accept-Language` request header is also consulted as a fallback value.

For example, if the expansion request uses the `en-GB` language setting, concepts will be represented with their GB English preferred terms where available. If `en-US` is selected, the corresponding US English preferred terms will be returned.

If you need to run the operation on a versioned resource representation, add a `valueSetVersion` parameter to its input: [Operation $expand on ValueSet, In Parameters](https://www.hl7.org/fhir/valueset-operation-expand.html#:~:text=in%20this%20fashion-,valueSetVersion,-type)

{% hint style="danger" %}
Supplying a value set as part of the request (via the input parameter `valueSet`) is not supported – nor can additional resources be supplied for expansion via the `tx-resource` input parameter.
{% endhint %}

### $validate-code

The operation is supported both on the instance level (in this case the value set is located by resource ID) as well as the type level (a canonical URL must be supplied in the `url` input parameter to identify the value set to use).

If you need to run the operation on a versioned resource representation, add a `valueSetVersion` parameter to its input: [Operation $validate-code on ValueSet, In Parameters](https://www.hl7.org/fhir/valueset-operation-validate-code.html)

Codes can only be validated against persisted value sets, not implicit ones.

The following example checks whether `118363003|Orange laser light|` satisfies the aforementioned conditions in the value set containing all basic dose forms we created earlier:

```http
GET /snowowl/fhir/ValueSet/$validate-code?url=https://b2ihealthcare.com/valuesets/physical-force-vs&system=http://snomed.info/sct&code=118363003

[Query parameters (repeated for clarity)]
url: https://b2ihealthcare.com/valuesets/physical-force-vs
system: http://snomed.info/sct
code: 118363003

[Response headers]
Content-Type: application/fhir+json

{
  "resourceType" : "Parameters",
  "parameter" : [{
    "name" : "system",
    "valueUri" : "http://snomed.info/sct"
  },
  {
    "name" : "version",
    "valueString" : "http://snomed.info/sct/900000000000207008/version/20260501"
  },
  {
    "name" : "code",
    "valueCode" : "118363003"
  },
  {
    "name" : "display",
    "valueString" : "Orange laser light (physical force)"
  },
  {
    "name" : "result",
    "valueBoolean" : true
  }]
}
```

Encountering any of the following conditions will fail the code validation check:

* The specified value set does not exist
* The value set does not contain the specified code in its expansion
* The code does not exist in the code system specified in the request (the corresponding parameter, `system` is mandatory in Snow Owl)
* The specified code system version differs from the version referenced by the value set

Combinations of issues are also reported, both as separate `OperationOutcome` issue objects as well as a semicolon-concatenated `message` output parameter value.

The following example shows a negative lookup operation result where the concept exists but is not part of the value set:

```http
GET /snowowl/fhir/ValueSet/$validate-code?url=https://b2ihealthcare.com/valuesets/physical-force-vs&system=http://snomed.info/sct&code=138875005

[Query parameters (repeated for clarity)]
url: https://b2ihealthcare.com/valuesets/physical-force-vs
system: http://snomed.info/sct
code: 138875005

[Response headers]
Content-Type: application/fhir+json

{
  "resourceType" : "Parameters",
  "parameter" : [{
    "name" : "system",
    "valueUri" : "http://snomed.info/sct"
  },
  {
    "name" : "version",
    "valueString" : "http://snomed.info/sct/900000000000207008/version/20260501"
  },
  {
    "name" : "result",
    "valueBoolean" : false
  },
  {
    "name" : "issues",
    "resource" : {
      "resourceType" : "OperationOutcome",
      "issue" : [{
        "severity" : "error",
        "code" : "code-invalid",
        "details" : {
          "coding" : [{
            "system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
            "code" : "not-in-vs"
          }],
          "text" : "The provided code 'http://snomed.info/sct#138875005' was not found in the value set 'https://b2ihealthcare.com/valuesets/physical-force-vs'"
        },
        "location" : ["code"],
        "expression" : ["code"]
      }]
    }
  },
  {
    "name" : "message",
    "valueString" : "The provided code 'http://snomed.info/sct#138875005' was not found in the value set 'https://b2ihealthcare.com/valuesets/physical-force-vs'"
  }]
}
```
