You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
✨ New feature (non-breaking change which adds functionality)
Summary by CodeRabbit
Reliability
Diagnostic requests can wait up to 60 seconds for a response before timing out.
Creating and sending diagnostic orders for the same beneficiary and order type is now serialized to reduce overlapping operations.
If an order operation cannot acquire its turn within 30 seconds, it fails with an error; the operation lock is released when processing finishes or fails.
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
📝 Walkthrough
The EMR Lite diagnostic client now uses explicit connection and read timeouts. Diagnostic order creation and push operations now acquire a lock keyed by beneficiary ID and order type.
Changes: EMR Lite request timeouts
Layer / File(s)
Summary
Configure EMR Lite request timeouts src/main/java/com/iemr/flw/integration/provider/emrlite/EmrLiteRestTemplateConfig.java
The authenticated EMR Lite RestTemplate now sets a 20-second connect timeout and a 60-second read timeout.
Diagnostic order locking
Layer / File(s)
Summary
Lock diagnostic order operations src/main/java/com/iemr/flw/service/impl/DiagnosticOrderServiceImpl.java
createAndPushOrder now runs through a lock keyed by beneficiary ID and order type. It rejects null keys, waits up to 30 seconds to acquire the lock, and releases the lock after the operation returns or fails.
The same-key contention path returns a bounded “retry shortly” response. This review found no supported merge-blocking failure.
Pre-merge checks · 4 · 1
Failed checks (1 warning)
Check name
Status
Explanation
Resolution
Docstring Coverage
Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files.
Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed checks (4 passed)
Check name
Status
Explanation
Description Check
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
The title clearly identifies the main change: adding locking to prevent concurrent order creation. It is concise and related to the changeset.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
Commit to this branch
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📋 Description
JIRA ID: AMM-2528
Summary by CodeRabbit