curl "https://api.haau3.com/v1/fhir/r4/ValueSet/\$expand?url=http://loinc.org/vs/LL360-9" \
-H "Authorization: Bearer $HAAU3_API_KEY"
import { Haau3 } from "@haau3/sdk";
const haau3 = new Haau3(); // reads HAAU3_API_KEY
const valueSet = await haau3.valueSetExpand({ url: "http://loinc.org/vs/LL360-9" });
console.log(valueSet.id);
from haau3 import Haau3
client = Haau3() # reads HAAU3_API_KEY
value_set = client.value_set_expand(url="http://loinc.org/vs/LL360-9")
print(value_set.get("id"))
package main
import (
"context"
"fmt"
"log"
"github.com/haau3/haau3-go"
)
func main() {
ctx := context.Background()
client, err := haau3.NewClient() // reads HAAU3_API_KEY
if err != nil {
log.Fatal(err)
}
valueSet, err := client.ValueSetExpand(ctx, haau3.ValueSetExpandParams{URL: new("http://loinc.org/vs/LL360-9")})
if err != nil {
log.Fatal(err)
}
if valueSet.ID != nil {
fmt.Println(*valueSet.ID)
}
}
{
"resourceType": "ValueSet",
"id": "dc064ed9-6a62-48c7-b039-bea72c5348c3",
"url": "http://loinc.org/vs/LL360-9",
"identifier": [
{
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:1.3.6.1.4.1.12009.10.1.2247"
}
],
"version": "2.83",
"name": "Pos|Neg",
"status": "active",
"publisher": "Regenstrief Institute, Inc.",
"contact": [
{
"name": "Regenstrief Institute, Inc.",
"telecom": [
{
"system": "url",
"value": "http://loinc.org"
}
]
}
],
"copyright": "This material contains content from LOINC (http://loinc.org). LOINC is copyright Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.",
"expansion": {
"id": "0e3930d7-e98e-4552-b45b-5760ed56409b",
"identifier": "b4efb9d1-77f2-4bed-babe-3384083fc113",
"timestamp": "2026-10-18T16:32:16+00:00",
"total": 2,
"offset": 0,
"parameter": [
{
"name": "offset",
"valueInteger": 0
},
{
"name": "count",
"valueInteger": 100
}
],
"contains": [
{
"system": "http://loinc.org",
"code": "LA6577-6",
"display": "Negative"
},
{
"system": "http://loinc.org",
"code": "LA6576-8",
"display": "Positive"
}
]
}
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "forbidden",
"details": {
"coding": [
{
"system": "https://haau3.com/fhir/CodeSystem/api-error",
"code": "test-key-outside-sandbox",
"display": "Test key outside the Sandbox"
}
],
"text": "This is a test key, which works only in the Sandbox (https://api.haau3.com/v1/sandbox/fhir/r4). Send this request with a live key; create one in the dashboard. See https://docs.haau3.com/authentication#test-and-live-keys"
}
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}Expand a value set
FHIR ValueSet/$expand. Expands a value set canonical to its member codes, with a text filter and paging (count=0 returns the total only). On the value sets of the code systems this service holds (RxNorm and ICD-10-CM), the filter searches by name, and on ICD-10-CM by code too, and is required, and the matches come ranked, best first, with expansion.total the number of matches.
curl "https://api.haau3.com/v1/fhir/r4/ValueSet/\$expand?url=http://loinc.org/vs/LL360-9" \
-H "Authorization: Bearer $HAAU3_API_KEY"
import { Haau3 } from "@haau3/sdk";
const haau3 = new Haau3(); // reads HAAU3_API_KEY
const valueSet = await haau3.valueSetExpand({ url: "http://loinc.org/vs/LL360-9" });
console.log(valueSet.id);
from haau3 import Haau3
client = Haau3() # reads HAAU3_API_KEY
value_set = client.value_set_expand(url="http://loinc.org/vs/LL360-9")
print(value_set.get("id"))
package main
import (
"context"
"fmt"
"log"
"github.com/haau3/haau3-go"
)
func main() {
ctx := context.Background()
client, err := haau3.NewClient() // reads HAAU3_API_KEY
if err != nil {
log.Fatal(err)
}
valueSet, err := client.ValueSetExpand(ctx, haau3.ValueSetExpandParams{URL: new("http://loinc.org/vs/LL360-9")})
if err != nil {
log.Fatal(err)
}
if valueSet.ID != nil {
fmt.Println(*valueSet.ID)
}
}
{
"resourceType": "ValueSet",
"id": "dc064ed9-6a62-48c7-b039-bea72c5348c3",
"url": "http://loinc.org/vs/LL360-9",
"identifier": [
{
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:1.3.6.1.4.1.12009.10.1.2247"
}
],
"version": "2.83",
"name": "Pos|Neg",
"status": "active",
"publisher": "Regenstrief Institute, Inc.",
"contact": [
{
"name": "Regenstrief Institute, Inc.",
"telecom": [
{
"system": "url",
"value": "http://loinc.org"
}
]
}
],
"copyright": "This material contains content from LOINC (http://loinc.org). LOINC is copyright Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.",
"expansion": {
"id": "0e3930d7-e98e-4552-b45b-5760ed56409b",
"identifier": "b4efb9d1-77f2-4bed-babe-3384083fc113",
"timestamp": "2026-10-18T16:32:16+00:00",
"total": 2,
"offset": 0,
"parameter": [
{
"name": "offset",
"valueInteger": 0
},
{
"name": "count",
"valueInteger": 100
}
],
"contains": [
{
"system": "http://loinc.org",
"code": "LA6577-6",
"display": "Negative"
},
{
"system": "http://loinc.org",
"code": "LA6576-8",
"display": "Positive"
}
]
}
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "forbidden",
"details": {
"coding": [
{
"system": "https://haau3.com/fhir/CodeSystem/api-error",
"code": "test-key-outside-sandbox",
"display": "Test key outside the Sandbox"
}
],
"text": "This is a test key, which works only in the Sandbox (https://api.haau3.com/v1/sandbox/fhir/r4). Send this request with a live key; create one in the dashboard. See https://docs.haau3.com/authentication#test-and-live-keys"
}
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}Authorizations
A live platform API key (haau3_sk_live_…), sent as Authorization: Bearer <key>. It works for every service outside the Sandbox. Create one on the API keys page at https://platform.haau3.com.
Headers
An id of your own for this request, as a UUID. It comes back in the X-Correlation-Id header and is kept with haau3's record of the request. Any value that is not a UUID is ignored. See https://docs.haau3.com/errors#request-ids.
Query Parameters
Canonical URL of the value set to expand. Defaults to the implicit all-LOINC value set (http://loinc.org?fhir_vs), which is every LOINC code. That expansion is not served and answers 422: expand a LOINC group or answer list instead, or ask $validate-code whether a code is in LOINC. The RxNorm value sets this service holds are https://haau3.com/fhir/ValueSet/rxnorm-current-prescribable-content (every concept of the release it serves) and https://haau3.com/fhir/ValueSet/rxnorm-current-prescribable-products (its drug products: clinical and branded drugs and packs). The ICD-10-CM value sets are https://haau3.com/fhir/ValueSet/icd-10-cm (every code of the release it serves, headers included) and https://haau3.com/fhir/ValueSet/icd-10-cm-valid-for-submission (the codes valid for submission for HIPAA-covered transactions, so no header).
1Text to narrow the expansion: each word must be the start of a word in a concept's name, and every word must match, with case and accents ignored. On the RxNorm and ICD-10-CM value sets it is required, with at least 3 letters or digits, and the matches come ranked, best first; on ICD-10-CM a code is a name too, so E11 finds E11 and the codes below it. Without it, or with fewer, the answer is 422 coded too-costly. At most 500 characters. For a value set resolved from its own source, narrowing is refused with a 400 naming this parameter, because that source answers a whole expansion or nothing: expand it whole and filter the result.
1 - 500Maximum number of concepts to return (0 returns the total only). On the RxNorm and ICD-10-CM value sets the first 20 come back when it is not sent. For a value set resolved from its own source, narrowing is refused with a 400 naming this parameter, because that source answers a whole expansion or nothing: expand it whole and filter the result.
0 <= x <= 1000Number of concepts to skip, for paging; expansion.total is the number of matching concepts. For a value set resolved from its own source, narrowing is refused with a 400 naming this parameter, because that source answers a whole expansion or nothing: expand it whole and filter the result.
0 <= x <= 9007199254740991Not supported on this operation, and refused with a 400 naming it. This service does not narrow an expansion by language, designation or status.
1Not supported on this operation, and refused with a 400 naming it. This service does not narrow an expansion by language, designation or status.
Not supported on this operation, and refused with a 400 naming it. This service does not narrow an expansion by language, designation or status.