Backend resource · STATIC DECLARATIONS
Payment Reconciliation API reference · mansoq-core
Static source contract for Payment Reconciliation: 7 declared or inherited operation mappings, schema/field evidence and authorization/refusal references. Deployment and behavioral review remain explicit.
Static API contract — behavior review pending. Source baseline f6e9f05f76d4.
Enable JavaScript to inspect structured operation, parameter, schema and permission evidence. Download this reference and its evidence.
Declared route and availability
This resource is declared in mansoq-core at /api/v1/facility/{facility_external_id}/payment_reconciliation/. verified core mount in config/urls.py A registered path and an indexed handler do not prove deployment availability, user permission or production readiness.
Operation map
| Method | Path | Action | Evidence |
|---|---|---|---|
| GET | /api/v1/facility/{facility_external_id}/payment_reconciliation/ |
list | declared/inherited method |
| POST | /api/v1/facility/{facility_external_id}/payment_reconciliation/ |
create | declared/inherited method |
| GET | /api/v1/facility/{facility_external_id}/payment_reconciliation/{external_id}/ |
retrieve | declared/inherited method |
| PUT | /api/v1/facility/{facility_external_id}/payment_reconciliation/{external_id}/ |
update | declared/inherited method |
| PATCH | /api/v1/facility/{facility_external_id}/payment_reconciliation/{external_id}/ |
partial_update | declared/inherited method |
| POST | /api/v1/facility/{facility_external_id}/payment_reconciliation/{external_id}/cancel_payment_reconciliation/ |
cancel_payment_reconciliation | @action declaration |
| POST | /api/v1/facility/{facility_external_id}/payment_reconciliation/change_account/ |
change_account | @action declaration |
list · GET
GET /api/v1/facility/{facility_external_id}/payment_reconciliation/ — action list. static contract extracted; runtime/permission/payload behavior review pending.
Path and deployment-context parameters:
| Location | Parameter | Type | Required |
|---|---|---|---|
| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |
response: PaymentReconciliationReadSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | UUID4 | None | false | No extra constraint extracted |
| reconciliation_type | PaymentReconciliationTypeOptions | true | No extra constraint extracted |
| status | PaymentReconciliationStatusOptions | true | No extra constraint extracted |
| kind | PaymentReconciliationKindOptions | true | No extra constraint extracted |
| issuer_type | PaymentReconciliationIssuerTypeOptions | true | No extra constraint extracted |
| outcome | PaymentReconciliationOutcomeOptions | true | No extra constraint extracted |
| disposition | str | None | false | No extra constraint extracted |
| payment_datetime | datetime | None | false | No extra constraint extracted |
| method | PaymentReconciliationPaymentMethodOptions | true | No extra constraint extracted |
| reference_number | str | None | false | No extra constraint extracted |
| authorization | str | None | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
| amount | Decimal | None | false | No extra constraint extracted |
| tendered_amount | Decimal | true | No extra constraint extracted |
| returned_amount | Decimal | true | No extra constraint extracted |
| is_credit_note | bool | true | No extra constraint extracted |
| created_date | datetime | true | No extra constraint extracted |
| modified_date | datetime | true | No extra constraint extracted |
| account | dict | true | No extra constraint extracted |
| target_invoice | dict | None | false | No extra constraint extracted |
Observed authorization checks: can_read_payment_reconciliation_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: PermissionDenied: Cannot read payment reconciliation.
create · POST
POST /api/v1/facility/{facility_external_id}/payment_reconciliation/ — action create. static contract extracted; runtime/permission/payload behavior review pending.
Path and deployment-context parameters:
| Location | Parameter | Type | Required |
|---|---|---|---|
| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |
request: PaymentReconciliationWriteSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | UUID4 | None | false | No extra constraint extracted |
| reconciliation_type | PaymentReconciliationTypeOptions | true | No extra constraint extracted |
| status | PaymentReconciliationStatusOptions | true | No extra constraint extracted |
| kind | PaymentReconciliationKindOptions | true | No extra constraint extracted |
| issuer_type | PaymentReconciliationIssuerTypeOptions | true | No extra constraint extracted |
| outcome | PaymentReconciliationOutcomeOptions | true | No extra constraint extracted |
| disposition | str | None | false | No extra constraint extracted |
| payment_datetime | datetime | None | false | No extra constraint extracted |
| method | PaymentReconciliationPaymentMethodOptions | true | No extra constraint extracted |
| reference_number | str | None | false | No extra constraint extracted |
| authorization | str | None | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
| extensions | dict | false | No extra constraint extracted |
| target_invoice | UUID4 | None | false | No extra constraint extracted |
| account | UUID4 | true | No extra constraint extracted |
| amount | Decimal | None | false | No extra constraint extracted |
| tendered_amount | Decimal | true | No extra constraint extracted |
| returned_amount | Decimal | true | No extra constraint extracted |
| is_credit_note | bool | false | No extra constraint extracted |
| location | UUID4 | None | false | No extra constraint extracted |
response: PaymentReconciliationRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | UUID4 | None | false | No extra constraint extracted |
| reconciliation_type | PaymentReconciliationTypeOptions | true | No extra constraint extracted |
| status | PaymentReconciliationStatusOptions | true | No extra constraint extracted |
| kind | PaymentReconciliationKindOptions | true | No extra constraint extracted |
| issuer_type | PaymentReconciliationIssuerTypeOptions | true | No extra constraint extracted |
| outcome | PaymentReconciliationOutcomeOptions | true | No extra constraint extracted |
| disposition | str | None | false | No extra constraint extracted |
| payment_datetime | datetime | None | false | No extra constraint extracted |
| method | PaymentReconciliationPaymentMethodOptions | true | No extra constraint extracted |
| reference_number | str | None | false | No extra constraint extracted |
| authorization | str | None | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
| amount | Decimal | None | false | No extra constraint extracted |
| tendered_amount | Decimal | true | No extra constraint extracted |
| returned_amount | Decimal | true | No extra constraint extracted |
| is_credit_note | bool | true | No extra constraint extracted |
| created_date | datetime | true | No extra constraint extracted |
| modified_date | datetime | true | No extra constraint extracted |
| account | dict | true | No extra constraint extracted |
| target_invoice | dict | None | false | No extra constraint extracted |
| location | dict | None | false | No extra constraint extracted |
| extensions | dict | true | No extra constraint extracted |
| created_by | dict | None | true | No extra constraint extracted |
| updated_by | dict | None | true | No extra constraint extracted |
Observed authorization checks: can_read_payment_reconciliation_in_facility, can_write_payment_reconciliation_in_facility, can_list_facility_location_obj. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: PermissionDenied: Cannot read payment reconciliation; PermissionDenied: Cannot write payment reconciliation; ValidationError: Account is not associated with the facility; ValidationError: Location is not associated with the facility; PermissionDenied: You do not have permission to given location; ValidationError: Invoice is not associated with the facility; ValidationError: Insurer receipts for RCM-managed accounts must be posted through canonical finance/remittance: advice, confirmed bank receipt, cash settlement and payment notice. Legacy payment reconciliation is allowed only for patient/cashier receipts..
retrieve · GET
GET /api/v1/facility/{facility_external_id}/payment_reconciliation/{external_id}/ — action retrieve. static contract extracted; runtime/permission/payload behavior review pending.
Path and deployment-context parameters:
| Location | Parameter | Type | Required |
|---|---|---|---|
| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |
| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |
response: PaymentReconciliationRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
Observed authorization checks: can_read_payment_reconciliation_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: PermissionDenied: Cannot read payment reconciliation.
update · PUT
PUT /api/v1/facility/{facility_external_id}/payment_reconciliation/{external_id}/ — action update. static contract extracted; runtime/permission/payload behavior review pending.
Path and deployment-context parameters:
| Location | Parameter | Type | Required |
|---|---|---|---|
| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |
| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |
request: BasePaymentReconciliationSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | UUID4 | None | false | No extra constraint extracted |
| reconciliation_type | PaymentReconciliationTypeOptions | true | No extra constraint extracted |
| status | PaymentReconciliationStatusOptions | true | No extra constraint extracted |
| kind | PaymentReconciliationKindOptions | true | No extra constraint extracted |
| issuer_type | PaymentReconciliationIssuerTypeOptions | true | No extra constraint extracted |
| outcome | PaymentReconciliationOutcomeOptions | true | No extra constraint extracted |
| disposition | str | None | false | No extra constraint extracted |
| payment_datetime | datetime | None | false | No extra constraint extracted |
| method | PaymentReconciliationPaymentMethodOptions | true | No extra constraint extracted |
| reference_number | str | None | false | No extra constraint extracted |
| authorization | str | None | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
response: PaymentReconciliationRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
Observed authorization checks: can_read_payment_reconciliation_in_facility, can_write_payment_reconciliation_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: PermissionDenied: Cannot read payment reconciliation; PermissionDenied: Cannot update payment reconciliation; ValidationError: Allocated receipt is immutable; use a linked financial reversal; ValidationError: Cannot update payment reconciliation, use the cancel endpoint instead; ValidationError: Payment reconciliation is already cancelled or entered in error; ValidationError: Insurer receipts for RCM-managed accounts must be posted through canonical finance/remittance: advice, confirmed bank receipt, cash settlement and payment notice. Legacy payment reconciliation is allowed only for patient/cashier receipts..
partial_update · PATCH
PATCH /api/v1/facility/{facility_external_id}/payment_reconciliation/{external_id}/ — action partial_update. static contract extracted; runtime/permission/payload behavior review pending.
Path and deployment-context parameters:
| Location | Parameter | Type | Required |
|---|---|---|---|
| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |
| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |
request: BasePaymentReconciliationSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
response: PaymentReconciliationRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
Observed authorization checks: can_read_payment_reconciliation_in_facility, can_write_payment_reconciliation_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: PermissionDenied: Cannot read payment reconciliation; PermissionDenied: Cannot update payment reconciliation; ValidationError: Allocated receipt is immutable; use a linked financial reversal; ValidationError: Cannot update payment reconciliation, use the cancel endpoint instead; ValidationError: Payment reconciliation is already cancelled or entered in error.
cancel_payment_reconciliation · POST
POST /api/v1/facility/{facility_external_id}/payment_reconciliation/{external_id}/cancel_payment_reconciliation/ — action cancel_payment_reconciliation. static contract extracted; runtime/permission/payload behavior review pending.
Path and deployment-context parameters:
| Location | Parameter | Type | Required |
|---|---|---|---|
| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |
| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |
Observed authorization checks: can_destroy_payment_reconciliation_in_facility, can_read_payment_reconciliation_in_facility, can_write_payment_reconciliation_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Invalid reason; ValidationError: Allocated receipt cannot be cancelled without a linked reversal; PermissionDenied: User does not have permission to cancel payment reconciliation; PermissionDenied: Cannot read payment reconciliation; PermissionDenied: Cannot update payment reconciliation.
change_account · POST
POST /api/v1/facility/{facility_external_id}/payment_reconciliation/change_account/ — action change_account. static contract extracted; runtime/permission/payload behavior review pending.
Path and deployment-context parameters:
| Location | Parameter | Type | Required |
|---|---|---|---|
| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |
decorator request: PaymentReconciliationAccountChangeRequest. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| payment_reconciliations | list[UUID4] | true | min_length: 1; max_length: 100 |
| target_account | UUID4 | true | No extra constraint extracted |
Observed authorization checks: can_write_payment_reconciliation_in_facility, can_read_payment_reconciliation_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.
Explicit response statuses in observed code: status.HTTP_201_CREATED. Other branches/framework exception handling may differ.
Declared refusal/error evidence: PermissionDenied: Access Denied to Charge Item; ValidationError (dynamic detail; inspect source); ValidationError: Allocated receipt cannot change accounts without a linked reversal; PermissionDenied: Cannot read payment reconciliation; ValidationError: Insurer receipts for RCM-managed accounts must be posted through canonical finance/remittance: advice, confirmed bank receipt, cash settlement and payment notice. Legacy payment reconciliation is allowed only for patient/cashier receipts..
Integration review checklist
Confirm the installed route and full schema; review authentication, organization/facility scoping, all accepted fields, value-state and date/time semantics, idempotency, pagination, response/exception branches and the allowed correction/reversal workflow. Test positive and negative cases with synthetic data. This source reference does not establish external certification or replace an illustrated user procedure.
Pinned source evidence
Links require access to the private source repository.
- repositories/platform/mansoq-core/config/api_router.py:436
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:61
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:168
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:82
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:161
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:77
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:158
- repositories/platform/mansoq-core/mansoq/emr/resources/payment_reconciliation/spec.py:122
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:136
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:150
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:142
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:97
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:130
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:346
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:114
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:139
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325
- repositories/platform/mansoq-core/mansoq/emr/resources/payment_reconciliation/spec.py:83
- repositories/platform/mansoq-core/mansoq/emr/resources/payment_reconciliation/spec.py:140
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:83
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:80
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:77
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:214
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:183
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:120
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222
- repositories/platform/mansoq-core/mansoq/emr/resources/payment_reconciliation/spec.py:61
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:218
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:193
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:229
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/payment_reconciliation.py:56