Skip to main content
Version: v0.0.4

Function: expand()

expand(vs, ctx?): ExpandResult

$expand: compute the flattened membership of a ValueSet over the supplied code systems.

Parameters

vs

ValueSet

The loaded value set.

ctx?

ExpansionContext = {}

The loaded code systems / referenced value sets the intensional parts resolve against.

Returns

ExpandResult

An ExpandResult - the contains members plus an honest complete flag. When complete is false, contains is a lower bound (never treat it as exhaustive membership).

Example

import { loadValueSet, loadCodeSystem, expand } from "@cosyte/terminology";

const cs = loadCodeSystem({
format: "fhir",
resource: {
resourceType: "CodeSystem",
url: "http://example.org/cs",
concept: [{ code: "a" }, { code: "b" }, { code: "c" }],
},
});
const vs = loadValueSet({
resourceType: "ValueSet",
compose: { include: [{ system: "http://example.org/cs", concept: [{ code: "a" }, { code: "b" }] }] },
});
const result = expand(vs, { codeSystems: new Map([["http://example.org/cs", cs]]) });
result.complete; // => true
result.contains.length; // => 2