bcgov / bcgov/cthub

CTHUB - Scenario 1: User uploads a one‑off .csv file with VINs

Open
#484 1 comment 0 reactions 1 assignee Claimed by @JulianForeman View on GitHub
Medium Story Tested :)
Dominant language
Python
Stars
2
Forks
7
PR merge metrics
No merged PRs in 30d

Description

**Title:**
Upload and process a one‑off CSV file containing VINs for decoding

**Description:**
- [ ] "As a CTHUB user, I want to be able to upload a comma‑delimited CSV file containing a list of VINs so that VINs not yet present in the monthly ICBC dataset can still be decoded through the VIN decoding pipeline"

**Wireframe:**

**Purpose and benefit to user:**
Users may want to decode VINs that are not part of the ICBC files for two reasons:
1. VIN is not yet registered with ICBC
2. ICBC has not yet sent CTB the latest monthly .csv file containing the new VINs

Having this separate 'one off' functionality within CTHUB will enable the business area to have flexibility in servicing the CTB.

**Acceptance Criteria:**
Acceptance criteria is drafted here, but should be compared against the notes provided by the business area. They should also take into account some of the existing workflow in CTHUB that has been created by Tim"
- [ ] Given I am a CTHUB user, when I am uploading a file, the system only accepts _CSV_ files that use commas (",") as delimiters and contain a column explicitly named _vin_
- [ ] Once the CSV is uploaded, then all VIN values are converted to uppercase for consistency with the _icbc_ table
- [ ] Given the preprocessing has completed, the _uploaded_vins_file_ is compared against the _uploaded_vin_record_ and VINs that already exist in the uploaded record are filtered out.
- [ ] Given the filtering has completed, the VINs are sent for decoding via VINpower, and if Vinpower fails, then they are sent to VPIC for decoding.
- [ ] Given the decoding completes, then results are stored in the _vinpower_decoded_vin_record_ or _vpic_decoded_vin_record_ tables according to which decoding process was used.

**Development Checklist:**
- [ ] Perform file validation upon upload (inclusion of _vin_ column)
- [ ] Preprocess VINs
- [ ] Write records to _uploaded_vins_file_ and _uploaded_vin_record_ tables.
- [ ] Use decoding pipeline for VINpower with a VPIC fallback
- [ ] Save decoded results to appropriate tables

**Notes:**
Notes from business area - [link](https://teams.microsoft.com/l/message/19:1ebcf0fab458476290807dfab6610f4b@thread.tacv2/1769132230593?tenantId=6fdb5200-3d0d-4a8a-b036-d3685e359adc&groupId=8dedfc82-e93b-4c8b-885e-1f6b35d2ab83&parentMessageId=1769132230593&teamName=External%3A%20Team%20Zelda&channelName=icbc_data_upload&createdTime=1769132230593&ngc=true
)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.