Map CSTE Member OID to member-oid extension during convert-step
User Story
As a STLT receiving ELR, I want to only receive test results that are antigen tests for a given condition, so that my programs have the correct type of tests we are interested in analyzing.
Description/Use Case
Currently the covid pipeline uses the Covid LIVD table to determine if reports are for antigen tests. This is needed because some receivers only want to receive antigen tests. We need the ability to do this in the UP, but can't rely on the LIVD table since that only supports Covid results and this needs to work for any condition.
For the UP, we need to implement a way to route items based on whether they are antigen or another type. This information is reflected by the Member OID the test performed belongs to
Risks/Impacts/Considerations
Dev Notes
Implementation checklist:
- Add new extension to map test code member oid (
Member OIDcolumn in RS condition mapping table):https://reportstream.cdc.gov/fhir/StructureDefinition/test-performed-member-oid - Modify convert step to stamp ELR messages with test-performed-member-oid
- Ensure this data is NOT in Azure Events
With the above implemented, the following routing filter expression should be functional:
%resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists() and %resource.interpretation.coding.code = 'A' and %resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/test-performed-member-oid').value.where(code in ('2.16.840.1.113762.1.4.1146.1142')).exists()
Docs on our condition to code mapping dataset can be found here: prime-router/docs/design/proposals/0023-condition-to-code-mapping/0023-condition-to-code-mapping.md
CSV version of the code to condition mapping table in our repo: prime-router/metadata/tables/local/observation-mapping.csv
Official dataset our condition mapping table is derived from: https://docs.google.com/spreadsheets/d/1rO_p145xXO1AD76vx8vBqXgoQUnLqfc8/edit?gid=739612351#gid=739612351
Acceptance Criteria
- [ ]
test-performed-member-oidstamped on Observation resources in ELR messages - [ ] Results can be filtered out based on test type (member oid) as determined by CSTE value sets
- [ ] The process to determine results are antigen is documented
Will require Platform input for longer term solution
Projected to take more than 1 sprint
@victor-chaparro Per James, can we update this ticket and potentially hand off to Platform since it seems like it is more in their wheelhouse?
Need to meet with @victor-chaparro and @chris-kuryak to better understand what values we are expecting to be stamped and how we can use the OOID to get the values we want.
Unblocked. Spoke with Victor and got clarification on what exactly needs to be stamped. Will update ticket.
Hey team! Please add your planning poker estimate with Zenhub @adegolier @arnejduranovic @david-navapbc @jack-h-wang @JFisk42 @kant777 @mkalish @thetaurean
This link https://reportstream.cdc.gov/fhir/StructureDefinition/test-performed-member-oid is broken
@kant777 Where is that link located on the website?
@victor-chaparro @jillian-hammer FYI
Here is the first version of the PR https://github.com/CDCgov/prime-reportstream/pull/16397/files this is not full ready yet. I plan getting a review from @arnejduranovic or @mkalish to make sure I am in the right direction
Almost ready, fixing some tests. Slight delay due to onboarding.
All tests pass. https://github.com/CDCgov/prime-reportstream/pull/16397
fixed according to the review. stamping oid for each condition rather than for each observation. Also added a test case and made sure it passes
Spillover-Scope Creep- The ticket the not originally specify what the output should look like. Changes required
@kant777 please make sure to update this tickets with your comment