CDCgov / prime-reportstream

ReportStream is a public intermediary tool for delivery of data between different parts of the healthcare ecosystem.
https://reportstream.cdc.gov
Creative Commons Zero v1.0 Universal
72 stars 40 forks source link

Create mapping of HL7 AUI -> FHIR Extension -> HL7 #15514

Open mkalish opened 3 months ago

mkalish commented 3 months ago

User Story

As a user, I would like to have ADT data correctly mapped to FHIR and then back to HL7

Description/Use Case

ADT contains the AUI datatype but it does not having an entry in the mapping inventory so an extension will need to be created for it

Risks/Impacts/Considerations

Dev Notes

Acceptance Criteria

MichaelEsuruoso commented 1 month ago

Hey team! Please add your planning poker estimate with Zenhub @adegolier @arnejduranovic @david-navapbc @jack-h-wang @JFisk42 @kant777 @mkalish @thetaurean

david-navapbc commented 2 weeks ago

I created the mapping file and am working on creating a functioning test. That entails creating good sample data that has the AUI field populated

david-navapbc commented 2 weeks ago

worked with @JFisk42 to create valid HL7 message for testing. FHIR message can't be created and we can't test Hl7 message yet because we don't have segment "IN1" mapped. Will discuss at SU tomorrow whether or not the ticket is gtg or if there is an alternative means of testing.

david-navapbc commented 2 weeks ago

THE SCOPE OF THIS TICKET HAS CHANGED AND IT HAS BEEN RE-POINTED TO FROM 2 TO 5

As I dug into the ticket it became clear we can't complete the work w/o adding mappings for the IN1 segment. The ACs have been updated to reflect this. I re-pointed it to a "5" because the volume of work has grown and I'm still unfamiliar with this area of the code base.

david-navapbc commented 1 week ago

yesterday was mostly Nava internal work. getting back to this today. I have some questions for @JFisk42. The sample message is made but some of the mapping plumbing is still wonky to me

david-navapbc commented 1 week ago

more nava internal work has been put on my plate. juggling this and that at the same time.

david-navapbc commented 1 week ago

made updates as per @JFisk42 's recommendations. Will continue to complete work

david-navapbc commented 1 week ago

@JFisk42 showed me how the top level fields in the Coverage file need to cite FHIR extension vs the HL7 fields in AUI. He also asked me to change the data type of one of the Date fields to STRING in AUI. Doing so now

david-navapbc commented 1 week ago

@JFisk42 and I spent several hours today pairing on this ticket. One of the challenges was in figuring out why the extension mapping was not generating what we thought it should have been. Turns out there are some sublties between things like "value" and "valueOf" in certain places that are impactful. We were able to get things to the point where the hl7->fhir mappings work. what's not quite working is fhir->hl7. The mappings are there but it produces a result that causes a test failure. The above text is the last of the slack conversations for tonight and contains @JFisk42 assessment of where things are at with one difference. I made a change to address the "showstopper" issue he identified the test is still failing.

Josh Fisk 6:29 PM In AUI.yml, each of the fields is looking for and mapping to AUI.1

NEW

6:31 Got some smaller issues that I would call out on a PR but that wouldn't be show stoppers (Assuming I am not missing something obvious because EOD brain): Instead of hard coding IN1.14 for url in AUIExtensionl.yml should define a constant in Coverage.yml and pass it in repeating/referenced in OML_O21.yml should be false Ordering in both OML_O21 files should generally follow the order in the hl7 message definition (https://hl7-definition.caristix.com/v2/HL7v2.7.1/TriggerEvents/OML_O21) extra oml.hl7 file included hl7-definition.caristix.com Caristix HL7-Definition V2 HL7 Standard Specification Reference 6:33 Also to note this one more time, this part: "extension" : [ { "url" : "IN1.14", I'm not sure on the strategy for this kind of extension mapping. So that may change, but I think that's a discussion to have on the PR itself if it happens at all. New 6:35 RE: the showstopper in aui.yml, I am not sure how those values could be like that and the test still pass. They're definitely wrong but if the tests are passing then that is very interesting. 6:36 But I'm going to go turn off my brain, catch you tomorrow!

davidholiday 6:44 PM cheers mate!

davidholiday 7:24 PM I got the test to fail

david-navapbc commented 1 week ago

Ticket is carrying over primary because

  1. the ticket was under pointed as documented in above comments.
  2. I have had to split my focus between this and other Nava concerns
david-navapbc commented 6 days ago

PR in and tests are passing - including the new AUIExtension tests. Ty @JFisk42 for everything.

MichaelEsuruoso commented 8 hours ago

item was resigned to @JFisk42 due to pervious owner's departure from team.