Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Use Cases

  • Auth Server
    • (existing) A user of the Auth server is able to register a client with scopes specified by the user
  • Sandbox
    • A user of the Sandbox is able to create a sandbox account that has an isolated FHIR resource server datasource (personal datasource)
    • A user of the Sandbox is able to select a public datasource
      • The initial public datasource is the HSPC FHIR API Server
    • A user of the Sandbox is able to launch a SMART application that will run using the selected datasource 
      • The selected datasource is passed to the application using the "iss" parameter
  • Logical API Server
    • Defined: A Logical API Server is a FHIR API Server for a FHIR resource server datasource.  It may be:
      • A physical deployment of an HSPC Reference API instance that specifies a database and schema (traditional)
      • A shared deployment of an HSPC Reference API instance that uses a router and multi-tenant database strategy to offer a single FHIR API interaction
      • Other technique offering a single FHIR API interaction
    • A user of the API server is able to perform the full FHIR REST API interaction according to the FHIR specification and SMART security model (no additional HTTP headers or parameters needed)
      • OAuth2 token extensions are permissible
      • Base URL path parameters are permissible
    • A user a SMART application is restricted by a provisioning layer by scope (ex: app wants write scope but API server does not support write)
    • A user of the API server is restricted from accessing a private/personal FHIR server that is not shared with them
  • Datasource publication and sharing
    • A user of the Sandbox is able to register a datasource as a publicly available datasource (no provisioning required)
    • A user of the Sandbox is able to share a personal datasource with another user of the Sandbox

Endpoints

Sandbox (application)

Public EndpointInternal EndpointPurpose
sandbox.hspconsortium.orgsandbox.hspconsortium.org/hspc-sandbox-manager/[brain1]/Sandbox Welcome Page
sandbox.hspconsortium.org/managesandbox.hspconsortium.org/hspc-sandbox-manager/[brain1]/manageManagement above any team sandbox
sandbox.hspconsortium.org/healthsandbox.hspconsortium.org/hspc-sandbox-manager/[brain1]/healthHealth check
sandbox.hspconsortium.org/dashboardsandbox.hspconsortium.org/hspc-sandbox-manager/[brain1]/dashboardFuture use
sandbox.hspconsortium.org/adminsandbox.hspconsortium.org/hspc-sandbox-manager/[brain1]/adminFuture use
sandbox.hspconsortium.org/hspcsandbox.hspconsortium.org/hspc-sandbox-manager/[brain2]/hspcHSPC shared team sandbox
sandbox.hspconsortium.org/{sandboxid}sandbox.hspconsortium.org/hspc-sandbox-manager/[brain2]/{sandboxid}Dashboard for a team sandbox
sandbox.hspconsortium.org/{sandboxid}/managesandbox.hspconsortium.org/hspc-sandbox-manager/[brain2]/manageManagement endpoint for a team sandbox

FHIR Server

Public EndpointInternal EndpointPurpose
data
api.hspconsortium.org (Info page) Root of the multi-tenant FHIR server
data
api.hspconsortium.org/manage Management endpoint of the root FHIR server
data
api.hspconsortium.org/{team} Root of a team sandbox
data
api.hspconsortium.org/{team}/data Root of a team FHIR server
data
api.hspconsortium.org/{team}/management Management endpoint of the team sandbox

Authorization Server

Public EndpointInternal EndpointPurpose
auth.hspconsortium.org Root of the HSPC Authorization server

Applications (Cloud hosted)

Public EndpointInternal EndpointPurpose
apps.hspconsortium.org (Info Page) Root of the HSPC Applications server
apps.hspconsortium.org/bilirubin-risk-chart Info page for Bilirubin risk chart app
apps.hspconsortium.org/{application} 
Root of a specific

Info page for the application

apps.hspconsortium.org/{application}/launch Sample launch endpoint for a SMART style application
apps.hspconsortium.org/{application}/redirect Sample redirect endpoint for a SMART style application

Application Gallery

Public EndpointInternal EndpointPurpose
appgallery.hspconsortium.org Root of the HSPC application gallery
appgallery.hspconsortium.org/{application} Info page for the application with try it out link. {application} is the key for this application, needs to be consistent for apps.hspconsortium.org endpoints.
  

Possibly we would like to have REST API to get, put, delete applications from the appgallery

Test Endpoints

Public EndpointInternal EndpointPurpose
test-api.hspconsortium.orghspcreferenceapi-sandbox-env.us-west-2.elasticbeanstalk.com/Root of the FHIR API server
test-auth.hspconsortium.orghspcreferenceauth-sandbox-env.us-west-2.elasticbeanstalk.com/Root of the OpenID Connect Auth server
test-messaging.hspconsortium.orghspcreferencemessag-env.us-west-2.elasticbeanstalk.com/Root of the messaging server
test-sandbox
 
.hspconsortium.orghspcsandboxmanager-env.us-west-2.elasticbeanstalk.com/

Root of the test sandbox instance for all Sandbox (application) endpoints above

For example, test-sandbox.hspconsortium.org/

sandbox/

hspc is the HSPC team sandbox

test-apps.hspconsortium.org
/auth
 Root of the test sandbox
authorization
apps server
test
.hspconsortium.org/apps Root of the test sandbox apps servertest
-apps.hspconsortium.org
/apps
/{application} For example, test.hspconsortium.org/apps/bilirubin-chart
test.hspconsortium.org/appgallery
? Root of the test sandbox app gallery

 

Database

Image Removed

 

Architecture

...