Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add icons attached to tooltips (click/tap to show) with developer info #2

Open
jmandel opened this issue Dec 12, 2018 · 0 comments

Comments

@jmandel
Copy link
Contributor

jmandel commented Dec 12, 2018

For example...

Step 1 -- Discover OAuth Endpoints

The Imaging Demo App begins with a user-supplied pair of API endpoints: one for clinical data and one for imaging. In a real-life application, the user would typically see a "Choose My Provider" search box, rather than pasting in API endpoint URLs directly. This functionality would be powered by a directory of portal endpoints, covering both clinical and imaging data.

Given a clinical data endpoint URL, the app connects using the SMART API, beginning by issuing a GET /metadata to obtain OAuth URLs, and then initiating a SMART Standalone Launch. (In fact, this demo app also performs a dynamic registration step if it's talking to a server for the first time; most real-world S4S apps will be pre-configured to talk to data back-ends, so dynamic registration is not required.)

Step 2 -- Fetch Clinical Data (Patient resource) from clinical data server

Once the Standalone Launch is complete, the Imaging Demo App fetches some clinical data. This ap keeps it simple by issuing a GET $clinical-data-server/Patient/:id, using the patient id supplied by the SMART Standalone Launch, and using the resulting patient demographics to display a small patient identification banner.

Step 3 -- Fetch list of ImagingStudy resources from imaging data server

Next, the Imaging Demo App fetches a list of Imaging Studies via `GET /$imaging-data-server/ImagingStudy. The resulting study metadata are used to draw a table of imaging studies, but no actual DICOM data have been fetched yet.

Step 4 -- Fetch DICOM data for an individual study

When a user clicks the "Download" button next to a specific study, the Imaging Demo App follows a series of links to retrieve the full DICOM study. Specifically, the app resolves the FHIR ImagingStudy.endpoint, and then the Endpoint.address to obtain a WADO-RS base URL. Then, the app determines this ImagingStudy's DICOM Study UID by looking at ImagingStudy.identifier to find a value whose system is urn:dicom:uid. Finally, these two pieces are combined in a request like GET $wado-base-url/studies/:dicomStudyUID, which returns a MIME/multipart payload with the full imaging data for this study.

Step 5 -- Render a study for the user to review

When a user clicks the "Review" button next to a specific study, the Imaging Demo App uses the Cornerstone library to render the study to the screen. (More details here, including multipart parsing -- which may also go above, though Step 4 is getting long.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant