medic / cht-interoperability

CHT - eCHIS interoperability project
GNU Affero General Public License v3.0
2 stars 3 forks source link

feat(#54): Make endpoints FHIR compliant #76

Closed samuelimoisili closed 1 year ago

samuelimoisili commented 1 year ago

Description

This pull request includes a set of updates aimed at making our API FHIR compliant. Specifically, I have migrated all the endpoints to conform to the FHIR specification and updated the CHT mappings accordingly. In addition, I have replaced the snapshot tests with RosieJS, a more reliable testing framework. Finally, I have documented the API in a workflow document to help ensure that developers can work with it more easily in the future.

Closes medic/interoperability#54

Closes #45

Code review checklist

License

The software is provided under AGPL-3.0. Contributions to this project are accepted under the same license.

andrablaj commented 1 year ago

@samuelimoisili does the sequence diagram need updates according to this PR? I am thinking specifically about the creation of the Organization. Also, it would help to delete the snapshot files before we do the PR review, as that will reduce the number of files that need attention. Thanks!

samuelimoisili commented 1 year ago

@samuelimoisili does the sequence diagram need updates according to this PR? I am thinking specifically about the creation of the Organization. Also, it would help to delete the snapshot files before we do the PR review, as that will reduce the number of files that need attention. Thanks!

I've deleted the snapshots, I'll be updating the web sequence diagram. I'll let you know once it is updated.

samuelimoisili commented 1 year ago

Following our conversation, here are some areas that still need attention:

  • Thanks for updating the sequence diagram! In the new version, having the CHW in the middle of the diagram is a bit confusing and affects the readability of the flow. Can you please move the CHW to the far right of the diagram?
  • It is unclear how we create the Encounter ID. The Encounter ID was the same as the Patient ID in the previous version, which changed in this last version. Can you please keep the Encounter ID creation consistent across the Mediator and FHIR endpoints?

@njogz and I have decided to go with the patient ID like we did in the previous version. However, this time we will document the reason behind the decision and inform the requester about the limitations.

andrablaj commented 1 year ago

@samuelimoisili as @lorerod already reviewed the PR and everyone approved, I moved the issue to Ready to Merge. We are aiming at minimizing AT (and hopefully reducing it to 0), and investing in automation and test coverage instead.