Model om naar event sourcing, events opslaan in database
Pivotal
De invullingen van screensmart moeten, inclusief tussenstappen, opgeslagen worden in een database.
Het kan nuttig zijn om de data van screensmart niet op te slaan als de huidige toestand van de invulling, maar in plaats daarvan als events zodat onderzoekers kunnen zien hoe lang iemand heeft moeten nadenken over een vraag.
Voorbeelden van deze events zijn:
- behandelaar vraagt invulling aan
Event.create response_uuid: 'c8d56681-03be-495e-a78d-472c84098e75', type: 'invite_sent', data: {requester_email: 'behandelaar@accare.nl', domains: ['POS-PQ']}
- gebruiker klikt op link in mail om te beginnen
Event.create response_uuid: 'c8d56681-03be-495e-a78d-472c84098e75', type: 'response_started', data: {}
- patient geeft antwoord 2 op vraag EL03
Event.create response_uuid: 'c8d56681-03be-495e-a78d-472c84098e75', type: 'answer_set', data: {key: 'EL02', value: 2}
Als database kan Postgres JSONB gebruikt worden.