RENCI / pds

PDS application (tx-router plugin)
MIT License
1 stars 0 forks source link

[BUG] (pds, pdspi-mapper, fhir-example) update to include pid list, return array of bundles #233

Closed krobasky closed 3 years ago

krobasky commented 3 years ago

Which repo (e.g., tx-logging)? pds, pdspi-fhir-example, pdspi-mapper-example

Information The FHIR spec indicates that the way to gather all the info on a patient is to send a 'batch-request' style bundle comprised of 'GET's against the target FHIR server to solicit each resource of interest for a particular patient.

Right now, our FHIR-example doesn't follow the spec precisely. This has become a problem as we are now implementing a mapper for a real use case.

Wait for Hao to finish deliverables #216, #217 Then see what code can be reused.

Close this ticket when:

  1. The pdspi-mapper-example spec has been updated, per Hao's yaml here: https://github.com/RENCI/pdspi-mapper-parallex-example/blob/master/api/openapi/my_api.yaml (note changes to /mappings:
    • new settingsRequested field
    • updated doc and code to change pid to patientIds
    • updated doc and definition for data
    • updated doc and definition for /mappings response, specifically remove txid field from /mappings response and make the response an array of patient variable arrays to correspond to patientIds list. As part of txid removal decision, it was also decided to defer queuing decisions to client and provide queuing convenience endpoints in the pds plugin.
  2. The mapper code matches the spec in 1. above
  3. The pdspi-fhir-example code has been updated: the get_records function should return an array of 'batch-response' type bundles, see [https://www.hl7.org/fhir/bundle-response-medsallergies.json.html](this example). For #217, I think Hao will need to create repo https://github.com/RENCI/pdspi-fhir-cdwh, to do the same, so you can borrow from that.
  4. The pds code has been updated to call the fhir server and mapper plugins appropriately
  5. The new containers (fhir, mapper, pds) have been deployed to stage-pds.renci.org and it appears to work, and
  6. The new containers have been deployed to pds.renci.org and it works
krobasky commented 3 years ago

We have decided to replace pid with patientIds for endpoints in pds, mapper, and fhir components. @xu-hao will make needed changes in pdspi-mapper-parallex-example and pdspi-fhir-example @hyi will change pds and pdspi-mapper-example The description has been updated accordingly

hyi commented 3 years ago

Items 1, 2, 4, 5 are done pending validation from @xu-hao @krobasky. After it is validated, I can take care of item 6 to update pds. Hao can update status of Item 3 as well.

LauraCapps commented 3 years ago

@hyi I have added validation ticket #240 and assigned to Kimberly/Hao.

krobasky commented 3 years ago

@hyi it looks like the pidlist isn't added to the fhir server or mapper apis on pds.renci.org yet:

http://pds.renci.org:8080/v1/plugin/pdspi-fhir-example/ui/#/ http://pds.renci.org:8080/v1/plugin/pdspi-mapper-example/ui/#/default/api.mappingClinicalFromData

Is that correct?

Also - pds/patientVariables and pds/guidance endpoints still need to be updated to accept a list of pids

hyi commented 3 years ago

@krobasky Correct, I only deployed the updated apis to stage-pds server for acceptance testing. However, I have just updated the pds server. Please take a look at the pds server when you get a chance and let me know if you see any issues.

krobasky commented 3 years ago

Let's go ahead and update the pds/patientVariables and pds/guidance endpoints too, but let's do it in a way that's backwardly compatible with current api so dashboards don't need to change.

krobasky commented 3 years ago

@davidborland the dashboards will have to be updated, to use pid lists instead of just ptid. @hyi please reassign this ticket to david when you've got the pds API ready for David, and he can update the dashboards. @davidborland please assign back to Hong once dashboards are updated. @hyi close this ticket after the new pds api has been deployed to stage-pds.renci.org and pds.renci.org, and the dashboards are working. Thanks!

hyi commented 3 years ago

@krobasky To simplify things, I added @davidborland to the assignee list. I'll coordinate our efforts with @davidborland on slack so that pds API and dashboard can be updated in sequence and deployed together.

hyi commented 3 years ago

@davidborland and I have updated both pds and epic servers with updated APIs. I also removed sars resource guidance plugin from pds-release repo and updated both pds and epic servers so the sars resource guidance plugin no longer shows up there. I am closing this issue. Let us know if you see any issues with it @krobasky @xu-hao