QualityDocD’s reporting module gives quality managers a cross-system view of document compliance and a complete audit trail of every action taken in the system. Reports are available through the .NET application’s Reports section and, for audit logs, through the PHP portal’s dedicated audit page. All report endpoints require at minimum theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/juescoryisus/QualityDocD/llms.txt
Use this file to discover all available pages before exploring further.
Reviewer role; the raw MongoDB export is restricted to Admin only.
All routes under
/Reports are protected by [Authorize(Roles = "Admin,Manager,Reviewer")]. Users with only the Viewer role cannot access any report page. The MongoDB JSON export endpoint (/Reports/MongoJson) additionally requires the Admin role.Accessing reports
Sign in with a qualifying role
Log in to the .NET application with an account that has the
Admin, Manager, or Reviewer role. The Reports section is not visible to Viewer accounts.Navigate to the Reports section
In the navigation bar, click Reports. The section contains three sub-pages: Compliance, Audit, and Search.
Report types
Compliance Report
Category and Standard, then counts how many documents in each group fall into each status bucket. An optional date range filter (dateFrom, dateTo) can be applied to scope the results.
ComplianceRow fields:
| Field | Type | Description |
|---|---|---|
Category | string | The document category (e.g., Manual, Procedure). |
Standard | string | The quality standard or regulation (e.g., ISO 9001). |
Approved | int | Count of documents with status Approved. |
Draft | int | Count of documents with status Draft. |
UnderReview | int | Combined count of UnderReview and UnderSecondReview documents. |
Obsolete | int | Combined count of Obsolete and Rejected documents. |
Total | int | Total documents in the group. |
LastApproved | DateTime? | The most recent ApprovedAt date in the group, or null if none have been approved. |
Approved counts) and Total Documents (sum of all Total counts).
Audit Report
AuditLog entries recorded by the .NET application, ordered by timestamp descending. The default page size is 25; the maximum is 100.
The audit report reads from the SQL Server
AuditLogs table. The PHP portal’s audit.php page reads from the PostgreSQL audit_entries table, which is a parallel copy kept in sync by the .NET application’s SyncPgAuditAsync method. Both sources contain the same logical data.| Field | Type | Description |
|---|---|---|
Action | string | The type of event that occurred. See Logged actions below. |
DocumentCode | string | The QD-XXXX code of the affected document. |
DocumentTitle | string | The title of the affected document at the time of the event. |
Username | string? | The username of the user who triggered the event, or null for system actions. |
OldValue | string? | The previous value (e.g., previous status). Null for creation events. |
NewValue | string? | The new value (e.g., new status). |
IpAddress | string? | The remote IP address of the request. |
CreatedAt | DateTime | UTC timestamp of the event. |
Logged actions
| Action | When it is recorded |
|---|---|
Created | A new document is saved for the first time. |
Updated | A document’s metadata or file is edited. |
StatusChange | The document moves from one status to another (e.g., Draft → UnderReview, or UnderReview → Approved). |
ApprovalReviewed | A reviewer approves their individual entry but the overall document has not yet reached Approved (i.e., other reviewers are still pending). |
Downloaded | A user downloads the document’s attached file. |
Search Report
MongoDB Raw Export (Admin only)
document_metadata collection as pretty-printed JSON in the browser. Requires the Admin role.
To download the export as a file, use the raw download endpoint:
application/json file named mongodb-metadata-{YYYYMMDD-HHmm}.json containing all document_metadata documents serialized with camelCase property names.
PHP portal audit page
The PHP portal’saudit.php page reads directly from the PostgreSQL audit_entries table (qualitydoc_audit database). It provides the same information as the .NET Audit Report with the addition of module-level filtering.
Fields displayed:
| Field | Source column |
|---|---|
| Timestamp | created_at / CreatedAt |
| Action | action / Action |
| Document code | document_code / DocumentCode |
| Document title | document_title / DocumentTitle |
| Username | username / Username |
| Old value | old_value / OldValue |
| New value | new_value / NewValue |
| IP address | ip_address / IpAddress |
MODULE_1, MODULE_2, MODULE_3), and date. It paginates at 15 records per page. Users with the OPERATOR role or higher can export the filtered results as a CSV file.
Module classification used by the portal:
| Module | Label | Actions grouped |
|---|---|---|
MODULE_1 | Gestión | Created, Updated, StatusChanged, Approved, Rejected, ApprovalAdded, ApprovalReviewed |
MODULE_2 | Consulta | Downloaded, Viewed |
MODULE_3 | Búsq. Avanzada | Searched, AdvancedSearch |
Access to
audit.php requires MODULE_1 access (requireModule('MODULE_1')), which corresponds to the OPERATOR, COMPANY_ADMIN, or SUPER_ADMIN role in the PHP portal’s role system.