Demo: September 18
Agenda
- Team: discuss import big picture
- Demo: import client records
- Deep dive: technical Q&A session
Import big picture
What are we doing?
- We are importing current client records and their associated property records, from the Access database that runs PAMS, who have an active appeal on a property, for 2020 appeals, who have not submitted the newly required RAVA.
- Piotr will create scripts that will generate the necessary CSVs for import in Nov/Dec, and import other counties in bulk later. We want to do as many as possible in December, when 95% of the records are created.
- Rought estimated 3.2k cient records (per Piotr).
- We’re building a system that can regularly receive an import of new records via CSV, as well as “one offs” (completed).
Why are we doing this?
- There are too many records to create them all by hand.
- A future application-to-application inteface will reuse the import logic anyway.
- Risk reduction: clients attest to these facts that SC builds its case upon.
What is the big picture workflow?
- Piotr runs queries and generates CSVs.
- P. uploads client, porperty CSVs to the web app.
- the webapp parses the CSVs, checks for errors, rejects if invalid
- Show actions to be taken? Have actions approved by importer?
- User accounts, property accounts created “as needed”
- Emails — perhaps a pending queue, that can send over time?
Discuss: what does it mean to import a record?
Launch version 1: “UPSERT”
- If the client record does not yet exist (on the basis of a primary key) create it;
- If the client record does exist… update it?
Future version 2:
What if the user updates—their name, email? What’s the single source of truth?
Demo: import client records
Deep dive: technical Q&A session
Decisions made:
- Only import records needed for the portal so far: firstname, lastname, email.
- Allow full csv and ignore what’s unnecessary.
- We map “firstname” and “lastname” from primary role, correct?
- We map “email” from primary role, correct?
- How do we map / use “clientname?”
- We must implement a primary key on access “Clientable”
- What is the Property -> Client foreign key? Clientname?
- Primary key for the property table: “property number”
Post meeting notes
- If the primary contact record has ‘signator’ checked, pull the secondary contact information.
- Need to add to confirmation screen: “I, (name), am an autorized agent to sign this document.”
- Note that, as we move into properties, that:
- when a property in pams changes owners, a new property record is created (w/ new property number) and the address is changed to be unique. address label is used to identify groups of properties by default.
- year to year, property numbers change when a new year is created.
- Its possible for a primary contact to change, too.
- what happens when a property transfer to a new client? Currently, When a property changes hands, we have to change the property name. we create new properties.
- Max would like a “what client properties are completed” report — an excel export? Some way of beginning to transfer data back to SC.