biothings / biothings_explorer

TRAPI service for BioThings Explorer
https://explorer.biothings.io
Apache License 2.0
10 stars 11 forks source link

CQS work-around to incorporate Multiomics EHR #732

Open GitHubbit opened 11 months ago

GitHubbit commented 11 months ago

Following-up: https://ncatstranslator.slack.com/archives/C022EL8D3AB/p1694044336256809

Can the SmartAPI registration for Multiomics EHR be updated to support "lookup" and "fill", and other operations, as required by The Clinical Data Committee's CQS? And can this be broadcast?

@andrewsu @maximusunc @jdr0887

andrewsu commented 11 months ago

The existing SmartAPI registration for Multiomics EHR Risk KP API cannot be updated to support "lookup" and "fill" because the underlying API doesn't support those operations (or any form of TRAPI query, for that matter). If you click on the "Source URL" link, that will take you to https://raw.githubusercontent.com/Hadlock-Lab/clinical_risk_kp/master/ehr_risk_kp.yaml (which is the static version of https://github.com/Hadlock-Lab/clinical_risk_kp/blob/master/ehr_risk_kp.yaml). And in that file, servers.url points to https://biothings.ncats.io/multiomics_ehr_risk_kp. That API endpoint is not a TRAPI endpoint.

So how does Multiomics EHR API get called using TRAPI then? BTE serves as a TRAPI wrapper around the Multiomics EHR API, using the SmartAPI annotation to translate the inputs and outputs. Specifically, it is using the x-bte-kgs-operations and x-bte-response-mapping sections of the SmartAPI annotation to consume/output TRAPI. So that means you can send TRAPI queries to and get TRAPI responses from https://bte.transltr.io/v1/smartapi/d86a24f6027ffe778f84ba10a7a1861a/query.

So as I see it, if the workflow runner wants to get Multiomics EHR content, there are a two short-term options that I can see:

We of course can discuss longer-term and more permanent solutions, but these are non-trivial and would need to be discussed and prioritized accordingly...