CDCgov / phdi

https://cdcgov.github.io/dibbs-site/
Creative Commons Zero v1.0 Universal
35 stars 14 forks source link

fix: Add lookup of rxnorm codes to names, return all codes provided #2816

Closed mcmcgrath13 closed 1 month ago

mcmcgrath13 commented 1 month ago

PULL REQUEST

Summary

Ensure that a medication administration's medication is always displayed.

The fhir spec for CodableConcept allows for multiple codings per concept. Currently, in both medication and observation code's we are getting the first translation and if that doesn't exist then the code. In practice, this isn't robust to all cases of how data is transmitted. This PR takes advantage of the fhir spec to convert all known codes for a concept.

In addition, if the code is from RxNorm and no display name is provided, I've added a lookup table to go find the stated name. This table is in the repo, but also downloaded fresh as part of the docker build.

Because we now return multiple codes, this needed to be accounted for on the front end. In general, we choose the first code with a display name. If a display name is not present, then a string with Unknown Name - {system} code {code} is shown. This still isn't great as those systems are often not human interpretable, but that could be improved in a follow on item. If no codes are available at all, then just Unknown is displayed.

Related Issue

Fixes #2799

Acceptance Criteria

If Administered Medication names are available, it should be displayed under Clinical Info -> Treatment Details -> Administered Medications.

Additional Information

@ashton-skylight what would you like the string for the unknown display name to look like? I put in the Unknown Name - {system} code {code}, but it could use eyes from a design perspective

Checklist

ashton-skylight commented 1 month ago

Thanks Mary! Do we have any examples for medications on what the system or code could look like, aside from SNOMED/LOINC?

ashton-skylight commented 1 month ago

To make it more specific, it could say "Medication name not found" or "Unknown medication name"

mcmcgrath13 commented 1 month ago

Thanks Mary! Do we have any examples for medications on what the system or code could look like, aside from SNOMED/LOINC?

It's pretty ugly: urn:uid:2.4.5.123.124 style