Recognized Coordinating Entity (RCE) Implementation Guide
1.0.10 - Release 1
Access to the RCE Directory requires the presentation of a valid API Key. The API key is a value that is unique to each client and for each environment. The key serves to perform several functions:
It allows the RCE Directory server to immediately, and efficiently, discard invalid queries, such as those from an unauthorized client software package. It allows for audit logging of requests. It allows the server to provide more detailed diagnostics to client applications. It allows The Sequoia Project to identify the organization associated with errant queries, excessive utilization, or other issues. To obtain an API key please send an email to techsupport@sequoiaproject.org. Once your email has been received by the technical support system, you will automatically be assigned a ticket ID (called a conversation ID), and an automatic response will be sent to your organization to acknowledge receipt of your email. If you do not receive an automatic response, then the support system likely did not receive your support request.
One key will be needed for each environment. A key intended for VAL cannot successful be used in PROD, for example.
To present the key upon an API call to the Sequoia directory in a URL, the following syntax must be used:
GET http://BASE-URL/Organization/?_apiKey=1234
Where the value BASE-URL is replaced by the value provided to you when directory access is granted, and the value 1234 is replaced by your API key value. The API key parameter must be exactly as shows, with a preceding underscore and capital K: _apiKey.
The API key can also be passed in an authorization header as follows (spelled "api-key" in this case, all lowercase with a hyphen):
Authorization: api-key 1234
An application that initiates a data access request to retrieve organization data from an RCE responder. The RCE Requestor is a read-only client in a client-server interaction.
An application that supplies organization data to an RCE Responder. The RCE Submitter is a write-enabled client in a client-server interaction.
A system that responds to data access requests for and submissions of organization data from RCE Requestor and RCE Submitter actors. The RCE responder is the server in a client-server interaction. The terms “RCE Responder”, “RCE Server”, and “RCE Directory” are used interchangeably throughout this guide.
This Implementation Guide is based on US Core Release 4.0.0 and the Sequoia Project Healthcare Directory Implementation Guide. Implementation artifacts such as Profiles, Extensions, and Value Sets defined in those are not copied in this IG, rather are referenced via URLs, so while navigating this guide you may need to follow links to other IGs as well as the FHIR R4 core specification for full details.
The following profiles are defined in this implementation guide:
The following profiles are used in this IG, but defined elsewhere:
This IG does not define any new extensions. However, all RCE Actors must support the following extensions that are defined elsewhere.
There are other extensions defined in the Sequoia Project Healthcare Directory IG that may be present in RCE instances, but are not flagged as must-support and thus may be ignored by implementers. Full definitions of all such extensions maybe be found here.
All the Organization resource profiles in this guide inherit from the Sequoia Organization profile in the Sequoia Project Healthcare Directory IG, which in turn inherits from US Core Organization.
This implementation guide derives from US Core, and as such has the same must support obligations as US Core.
Currently the RCE directory only exposes Organization resources for direct queries. Endpoint and Location resources are only available as contained resources within Organization, and cannot be queried for or updated separately. That said, RCE Requestor actors are encouraged not to rely on this always being true in the future, and should instead familiarize themselves with how FHIR references work. For example, if Organization.endpoint begins with a "#" symbol, the reference is contained locally within the Organization, otherwise it is a URI pointing to a resource that exists standalone on RCE Directory server or elsewhere within a Bundle if processing a Bundle resource.