hts-api-skill

Guides building UI surfaces over the Helios Terminology Server HTTP API.

51|19|Updated Jan 4, 2025
One-click install
npx skills add https://github.com/HeliosSoftware/hfs --skill hts-api-skill-heliossoftware
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hts-api-skill
Source: https://github.com/HeliosSoftware/hfs/tree/main/.claude/skills/hts-api-skill
Command: npx skills add https://github.com/HeliosSoftware/hfs --skill hts-api-skill-heliossoftware

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building UI pages against the Helios Terminology Server (HTS) requires knowing its 42 routes, FHIR content-negotiation quirks, OperationOutcome error model, and which operations lack any existing client in the HFS workspace. This Skill consolidates that knowledge so UI authors do not misrender errors, misuse GET parameters, or build affordances for unimplemented features. ## Core Features & Use Cases - Complete route and operation reference: Covers all 42 HTS routes ($lookup, $validate-code, $expand, $subsumes, $translate, $closure, $batch-validate-code, CRUD, /import, /metadata, /health, /metrics) with body shapes, content negotiation, and status-code mappings. - UI integration patterns: Documents the server-side proxy pattern via HFS_TERMINOLOGY_SERVER, htmx fragment conventions, i18n key rules, tenant/locale propagation, and OperationOutcome rendering for /ui/hts/* pages under crates/ui. - Gap and drift awareness: Flags advertised-but-unimplemented features ($versions, includeDefinition, _sort, accurate _total) and auth gaps so reviewers catch mismatches between UI and server reality. - Use Case: When adding a ValueSet expansion page, use this Skill to wire the POST /ValueSet/{id}/$expand call through the existing TerminologyClient, render 422 too-costly responses with an X-TOO-COSTLY-THRESHOLD escape hatch, and pass the PR verification checklist. ## Quick Start Use the hts-api-skill to plan and implement a new /ui/hts/value-sets expansion page that proxies HTS $expand calls server-side and renders OperationOutcome errors correctly.

Frequently Asked Questions about hts-api-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a UI page for the FHIR ValueSet $expand operation?▼

Create a dedicated fragment route such as POST /ui/hts/value-sets/{id}/expand that calls HTS server-side via the existing TerminologyClient or a reqwest proxy. Render results in a partial template with flat table or tree modes, and handle 422 too-costly responses by surfacing the X-TOO-COSTLY-THRESHOLD header option.

How should a UI handle FHIR OperationOutcome errors from a terminology server?▼

Parse the OperationOutcome body on every non-2xx response and map its severity to an inline alert partial. Note that $validate-code and $translate return HTTP 200 with result=false for no-match cases, which must render as a neutral state, not an error.

Does the Helios Terminology Server support authentication?▼

HTS has no built-in authentication or authorization middleware; it relies on a reverse proxy, service mesh, or private network boundary. UI pages exposing destructive routes like CRUD or /import must be gated by deployment-level auth and show a warning banner in development builds.

When must I use POST instead of GET for FHIR terminology operations?▼

GET operation routes coerce every query parameter to valueString, so structured inputs like Coding, CodeableConcept, booleans, or embedded resources require a POST with a FHIR Parameters body. Use GET only for bare system and code lookups.

What HTS features are advertised but not actually implemented?▼

The $versions operation is advertised in the CapabilityStatement but has no route, and includeDefinition is listed in TerminologyCapabilities but ignored by the $expand handler. Search also lacks _sort, _include, chained parameters, and accurate _total, so UI forms must not offer them.