MedicalEdiBillService¶
Implements IMedicalEdiBillService, validating that a medical EDI 837 bill batch is eligible for further processing (exists and is in NEW status) using IEdiQueryProvider, writing outcomes to caller-supplied control/rejection log writers within a transaction opened via IUnitOfWork.
Purpose¶
- Confirms a bill batch exists and is in the expected
NEWstate before EDI processing continues, logging the reason to a rejection report when it is not. - Logs the batch's ID and status to a control report when validation succeeds.
Context¶
- Namespace:
SAIF.Services.Edi - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet package)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| MedicalEdiBillService(...) | public MedicalEdiBillService(IUnitOfWork uow, IUserProfileService prof, IEdiQueryProvider query) |
Stores the unit of work, user-profile, and EDI query-provider collaborators, requiring all three to be non-null. |
| IsValidEdiReport | public bool IsValidEdiReport(long batchNumber, ILogWriter controlReport, ILogWriter rejectedReport) |
Opens a unit-of-work transaction, looks up the 837 batch report for batchNumber, writes a rejection message and returns false if the batch is missing or not in NEW status, otherwise writes a control-report entry and returns true. |
Behavioral notes¶
- Opens a transaction via
_unitOfWork.Begin()at the start of the call but never explicitly commits or rolls it back within this method, relying on the unit of work's own lifecycle management for read-only queries*.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
- Services/SAIF.Services/Edi/MedicalEdiBillService.cs