Skip to content

CI: switch GitHub Actions from tx.fhir.org to our hfs.heliossoftware.com terminology server #183

Description

@smunini

Summary

Several GitHub Actions workflows reach out to the public HL7 test terminology server tx.fhir.org during their build/test runs. Now that we operate our own terminology server at hfs.heliossoftware.com, CI should target our server instead of the shared public test instance.

Hitting tx.fhir.org from CI is undesirable because it:

  • creates a hard dependency on a third-party test environment that is rate-limited, occasionally unreachable, and not under our control (workflows already contain "probe availability / skip if down" workarounds);
  • puts load on a community-shared test server; and
  • means our conformance/comparison baselines drift with whatever content tx.fhir.org happens to have loaded server-side.

Where tx.fhir.org is used today

  • .github/workflows/audit-events.yml (~line 726): passes --tx-base-url https://tx.fhir.org/r5 to the audit validator.
  • .github/workflows/hts.yml (integration-test job, ~lines 102/105 and throughout the comparison steps): uses tx_base: https://tx.fhir.org/r4 and https://tx.fhir.org/r5 as the "source of truth" to compare every HTS operation ($validate-code, $expand, $subsumes, $translate, etc.) against. Includes availability probes that skip tx comparisons when the server is unreachable.

Not affected (already local)

  • .github/workflows/hts-ig-conformance.yml already runs the validator against a local HTS instance (-tx "http://localhost:$HTS_PORT"). The tx.fhir.org strings in that file are only comments explaining upstream-gated / ignored test cases — no live calls. Listed here so it isn't conflated with the above.

Proposed work

  • Point audit-events.yml's --tx-base-url at our terminology server (https://hfs.heliossoftware.com/...) with the correct version path.
  • Update hts.yml's tx_base matrix values (R4/R5) to our server, and revisit the availability-probe / skip logic now that the endpoint is one we control.
  • Confirm hfs.heliossoftware.com has the terminology content these comparisons require loaded (UTG, FHIR core code systems/value sets per version) so the baselines remain meaningful.
  • Decide how CI authenticates to our server if auth is required, and wire up any needed secrets.
  • Audit for any other workflows/scripts that hit tx.fhir.org and migrate them too.

Notes / open questions

  • Verify the exact base-URL/version-path convention our server exposes (/r4, /r5, etc.) before swapping the strings.
  • Some hts.yml comparisons assume tx.fhir.org's exact expansion totals/displays; once we control the source server we may be able to turn the conditional "skip if unavailable" comparisons into hard assertions.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions