Accessing external CodeSystems in FHIR terminology server with Firely client

58 Views Asked by At

I'm currently working on a client application to interact with a FHIR terminology server using Firely in C#. I have successfully implemented code to read CodeSystems and ValueSets from the server, like this:

FhirClient client = new FhirClient(baseUrl);
CodeSystem codeSystem = await client.ReadAsync<CodeSystem>(codeSystemUrl);

However, some ValueSets refer to external CodeSystems, e.g. http://terminology.hl7.org/CodeSystem/v3-TimingEvent. These are not provided by the terminology server I'm interacting with.

My question is, how can I determine the base URL for these external FHIR servers? Is there a standardized list of external terminology servers that I can query for this information?

As a workaround, I could fetch data directly from the URL, but that has some drawbacks. From my understanding, these URLs are primarily identifiers, and there's no guarantee that they function as direct endpoints. Additionally, the URLs (if anything) refer to human-readable websites after are some redirections (HTTPS, current version), and then the format needs to be specified. For a single terminology, I can fiddle together the correct URLs, but I'm not sure every possible terminology uses the same system, or if the URLs are working at all, since they are just identifiers in FHIR.

1

There are 1 best solutions below

4
Grahame Grieve On

You can get service for these code systems from tx.fhir.org, but that's not suitable for production uses of FHIR. Some public Ontoservers serve them as well. But all the public / free servers are not suitable for production usage (for obvious reasons)

You can access from the source web URL - the contract is that while you might not get a successful resolution, you won't get the wrong thing. And the HL7.org and fhir.org websites do handle requests for json or xml as well as html. But as you say, that's not a reliable solution.

The intent is that your terminology server will load and host these, and it can easily get them through the FHIR package system.