FHIR ValueSet $expand Operation on Clinical Tables
The clinical tables (data sets) in the Clinical Table Search Service (CTSS) can be seen as "value sets" in the sense of FHIR terminology services and can be accessed through the FHIR ValueSet $expand operation. For each CTSS data set API, a ValueSet is implicitly defined, and the ValueSet id is the api name with underscores (if any) replaced by hyphens. This mapping/replacement is necessary because the underscore character isn't allowed to be used in FHIR resource ids. For example, for the CTSS API "icd9cm_dx", the corresponding ValueSet id will be "icd9cm-dx", and the ValueSet's url (for FHIR version R4) will be "http://clinicaltables.nlm.nih.gov/fhir/R4/ValueSet/icd9cm-dx".
Please note that CTSS is not a full terminology server and supports only a subset of the $expand operation parameters - see below for more details.
Request URL formats:- https://clinicaltables.nlm.nih.gov/fhir/FHIR-VERSION/ValueSet/ValueSet-ID/$expand plus parameters
- https://clinicaltables.nlm.nih.gov/fhir/FHIR-VERSION/ValueSet/$expand?url=VALUESET-URL plus parameters
Example ValueSet expansions through CTSS:
- https://clinicaltables.nlm.nih.gov/fhir/R4/ValueSet/icd10cm/$expand?_format=xml&count=5
- https://clinicaltables.nlm.nih.gov/fhir/STU3/ValueSet/ucum/$expand?filter=kg&_format=json
- https://clinicaltables.nlm.nih.gov/fhir/STU3/ValueSet/$expand?url=http://clinicaltables.nlm.nih.gov/fhir/STU3/ValueSet/icd9cm-dx%3Fdf%3Dshort_name
FHIR ValueSet $expand operation parameters supported by CTSS
Parameter | Description |
---|---|
filter | Text (words or word prefixes) used to filter (search) the dataset. Optional |
count | The number of results to return. Optional, default to 7. If specified, must be less than or equal to 500. |
_format | The response format, currently can only be xml ("xml", "text/xml", "application/xml", or "application/fhir+xml") or json ("json", "application/json", "application/fhir+json"). Optional; default is "application/fhir+json". You may also use the "Accept" header to specify the response format, but the _format parameter, when specified, has higher priority. Note that if you make a request from the browser (address bar), your browser may send "Accept" headers. Therefore, when _format is not specified, the response format may depend on what "Accept" headers are being sent by your browser. |
url | The url of the ValueSet to expand. For now, only CTSS ValueSet urls are supported, for example, http://clinicaltables.nlm.nih.gov/fhir/STU3/ValueSet/ucum. Standard CTSS parameters, with the exception of cf, maxList, ef, and terms, may be used in the url to influence the expansion results, for example, using "df" to specify the CTSS field to use for the "display" field in the expansion. However, these CTSS parameters are NOT standard FHIR parameters and therefore will not be compatible with other FHIR servers. For more details on CTSS parameters, please refer to the documentation page for the individual APIs. |
For more in-depth descriptions of the FHIR ValueSet $expand operation and parameters, please refer to the FHIR Spec.