Stream: terminology
Topic: Capability Search
Jack Bowie (Sep 15 2018 at 00:11):
'mode' is specified as a CapabilityStatement search parameter representing CapabilityStatement.rest.mode. But isn't 'mode' also the parameter name used to distinguish CapabilityStaement from TerminologyCapabilities? How are these disambiguated?
Rob Hausam (Sep 15 2018 at 14:02):
The way these are disambiguated is by whether you are querying on 'CapabilityStatement', where 'mode' refers to the CapabilityStatement.rest.mode, or whether you are querying on 'metadata' (the capabilities interaction), where 'mode' specifies whether the returned resource is 'full' or 'normative' (both are CapabilityStatement) or 'terminology' (TerminologyCapabilities).
Jack Bowie (Sep 15 2018 at 15:01):
Thanks. So /metadata/mode=full returns the CapabilityStatement, and /metadata/mode=terminology returns the TerminologyCapabilities, neither of which can have additional parameters. /CapabilityStatement also returns the CapabilityStatement and /CapabilityStatement/?mode=json performs a search on the CapabilityStatement for a json mode. Is /TerminologyCapabilities also available?
Rob Hausam (Sep 16 2018 at 04:15):
Yes, /TerminologyCapabilities should also be available. It is important to note that the resource instances returned from the /metadata endpoint are expected to represent the "official" declared capabilities for the server. That may not necessarily be true for the /CapabilityStatement and /TerminologyCapabilities endpoints (particularly in general purpose servers which also provide terminology service capabilities). Additional instances and versions of the CapabilityStatement and TerminologyCapabilities resources could be present on the server which may not reflect the declared server capabilities but which would potentially be returned by queries of those endpoints (theoretically they could even be for different servers - although I'm not sure why someone would do that).
Last updated: Apr 12 2022 at 19:14 UTC