kids-first / kf-ui-fhir-data-dashboard

💡📊 Prototype FHIR data dashboard - what's in my FHIR server?
Apache License 2.0
7 stars 2 forks source link

Find resources that support a particular terminology service #5

Open znatty22 opened 4 years ago

znatty22 commented 4 years ago

User clicks on a CodeSystem such as snomedct. Dashboard should show a list of all resource attributes that are bound to snomedct. For example, the user clicked on the snomedct code system and the dashboard shows some view like this

Base Type Coding.display
Patient gender
Patient marital_status

Any CodeableConcept data types that have more than one Coding in their list, should be treated as separate terms.

User clicks on a row in the table to bring up the single instance view of the resource:

{
    "resourceType":"Patient",
    "id": "kidsfirst-patient",
    "meta": {
        "profile": ["http://fhir.kids-first.io/StructureDefinition/Patient"]
    },
    "gender": {
        "code": snomed code,
        "display": gender,
        "system": snomed url
    }
}
abgeorge7 commented 4 years ago

🛑Blocked by Smile CDR ticket #294 and #298 cc @allisonheath

znatty22 commented 4 years ago

This feature can be implemented by either using the server's ability to query StructureDefinition by the valueset query parameter or its full text search feature.

The valueset search parameter would be more efficient, but it doesn't seem to work. We're waiting to hear back on a solution.

What we've found out but not yet confirmed about the server's full text search is that it is only implemented for resource attributes with a FHIR data type of string. This means you cannot search for resources using attributes that have data types like code, uri, quantity etc. We need to be able to do a full text search using code system URIs.

If neither of these options work, then we will not be able to implement this feature in the dashboard app.

znatty22 commented 4 years ago

Received an answer back from smilecdr support:

This is indeed the expected behavior. Currently the fulltext index only covers strings, 
not any other datatypes.

If you wanted to search across multiple coded fields, it may make more sense to create a custom
search parameter that indexes all of them under a single search parameter. On the other hand, it
may require a product enhancement to add support for FT indexing coded fields if you just wanted
this to cover all of them.