Skip to navigation

In Scope

ResponsibilityDetail
Subscription to classified-file eventsReceives FileClassifiedEvent messages from the classified-file Azure Service Bus topic
PDF downloadingFetches the original PDF from Azure Blob Storage using the URL provided in the event
Classification metadata downloadingFetches the JSON classification output from Azure Blob Storage
PDF page-range validationEnsures classification data is internally consistent (page counts, range boundaries, overlaps)
PDF splittingUses pdf-lib to extract per-form page ranges into separate PDF buffers
Child-file uploadingUploads each split PDF to the file-intake service, which assigns each file a new fileId and stores it in blob storage
split-file event publishingPublishes one FileSplitFileEvent per split file to the split-file topic
Split manifest creationGenerates a JSON manifest listing all split files and uploads it to the splits blob container
split-file-result event publishingPublishes one FileSplitFileResultEvent (the manifest summary) to the split-file-result topic
Error / problem event publishingOn any failure, publishes a ProblemEvent to the problem topic so the platform’s status service can track failures
Job status trackingRecords a job row in the SQL database with status Started → Completed (or Failed) and the manifest blob URL

Out of Scope

Not this service’s jobHandled by
Classifying documents (deciding what forms are on which pages)Classifier service (upstream)
Storing or managing the original uploaded fileFile Intake service
Extracting data from split PDFsExtractor services (downstream)
Routing events to the correct extractorExtractor is not yet subscribe to split-file topic