New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate some calls to FHIR and GraphQL #86
Conversation
Finish release/v2.0.0
Finish release/v2.0.1
Finish Release/v2.0.1
Github Action: manual build
Release v2.1.0
Github actions Java update
Github actions fix
Release/2.2.0
OTC-745 Implemented claim 2-way sync
Revert "OTC-745 Implemented claim 2-way sync"
The new implementation relies on OkHttp and Apollo. OkHttp was added because the current implementation relies on Apache HTTP client, which is not supported anymore since Android 6 (API 23). A version supports Android 23+, but Apache does not officially maintain it. Also, OkHttp is the current standard and comes with lots of benefits like, among other things, the logger, automatic support for GZip, and a strong security focus. Apollo is in its version 2 as version 3+ requires Kotlin Coroutines. Also, the plan is that some new endpoints or extensions could be added to the FHIR API to remove the dependency on GraphQL. Everything is hidden behind use cases to impact as less as possible the current code base. Also, migrate to AndroidX because of Apollo's dependencies. The versions of the AndroidX have been kept back to avoid conflicts and upgrades.
This PR depends on: |
This depends on a modification of the backend which would allow to pass a reference with an OpenIMIS Code rather than a UUID. There is still an open question about the "REJECTED" status to be solved. OMT-339
The second link you mention is a branch and not a PR. |
Benjamin told me that the main changes are in directories |
Deleting `ToRestApi` and removing Apache HTTP dependencies. Adding a way to change the "Login/Logout" button automatically on login. This depends on a new module migrating the controls to GraphQL that has not yet been merged. OMT-339
737dd73
to
d3412c2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bmonjoie Here a first review mainly on network
, so you don't have to wait I've finished to read everything. I'm reviewing the rest.
I hope to have expressed clearly, smoothly, and politely my questions, suggestions, and concerns. I consider that I don't have all the cards in hand as you do, I hope this will help.
claimManagement/src/main/java/org/openimis/imisclaims/network/dto/ActivityDefinitionDto.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/dto/DiagnosisDto.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/dto/IdentifierDto.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/dto/LoginDto.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/dto/ActivityDefinitionDto.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/response/PaginatedResponse.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/request/BaseFHIRGetRequest.java
Outdated
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/request/BaseFHIRRequest.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/request/BaseGraphQLRequest.java
Outdated
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/request/PostNewClaimRequest.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
second review, focused on domain and usecase. there is still java.org.openimis.imisclaims
to read.
claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchInsureeInquire.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchClaims.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchClaims.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/domain/entity/PendingClaim.java
Outdated
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/domain/entity/PendingClaim.java
Show resolved
Hide resolved
claimManagement/src/main/java/org/openimis/imisclaims/network/request/BaseGraphQLRequest.java
Outdated
Show resolved
Hide resolved
I've reviewed your answers. I can't resolve the discussions 🤷 so I've 👍 or answered them to do so. |
Based on the method `build_fhir_total_list` in the Python code, if there is no total, the claim is rejected.
@bmonjoie We don't integrate code directly to main branch. Our development workflow follows GitFlow. Please create a PR for develop branch. I'm closing this PR. |
@dragos-dobre I have reopened the PR and changed the destination branch not to lose the history |
The new implementation relies on OkHttp and Apollo.
OkHttp was added because the current implementation relies on Apache HTTP client, which is not supported anymore since Android 6 (API 23). A version supports Android 23+, but Apache does not officially maintain it. Also, OkHttp is the current standard and comes with lots of benefits, like, among other things, the logger, automatic support for GZip, and a strong security focus.
Apollo is in its version 2 as version 3+ requires Kotlin Coroutines. Also, the plan is that some new endpoints or extensions could be added to the FHIR API to remove the dependency on GraphQL.
Everything is hidden behind use cases to impact the current code base as little as possible.
Also, the code was migrated to AndroidX because of Apollo's dependencies.
The versions of the AndroidX have been kept back to avoid conflicts and upgrades.