🚑 critical changes before deployment

Co-authored-by: Sindre Kjelsrud <kjelsrudsindre@gmail.com>
This commit is contained in:
haraldnilsen 2024-01-14 20:39:43 +01:00
parent c1721e5e8e
commit 055fce482a
9 changed files with 24 additions and 17 deletions

View file

@ -54,6 +54,7 @@ func SetupDb() {
alder TEXT NOT NULL,
utdanningsgrad TEXT NOT NULL,
helsepersonell BOOL NOT NULL,
harlisens BOOL NOT NULL,
kjønn TEXT NOT NULL,
svartfør BOOL NOT NULL,
fylke TEXT NOT NULL,

View file

@ -53,7 +53,7 @@ func GetUserQuestions(respondentID int) ([]UserQuestions, error) {
FROM Spørsmålsvar ss
LEFT JOIN SvarVurdering sv ON ss.svarID = sv.svarID
GROUP BY ss.spørsmålID
HAVING COUNT(sv.vurderingID) < 10
HAVING COUNT(sv.vurderingID) < 3
) AS subquery ON s.spørsmålID = subquery.spørsmålID
WHERE subquery.spørsmålID IS NOT NULL
LIMIT 5

View file

@ -8,7 +8,7 @@ import (
_ "github.com/lib/pq"
)
func InsertUserData(age string, education string, healthcarepersonell bool, gender string, answeredbefore bool, county string, submitdate string) (int, error) {
func InsertUserData(age string, education string, healthcarepersonell bool, islicensed bool, gender string, answeredbefore bool, county string, submitdate string) (int, error) {
// Connection string
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
"password=%s dbname=%s sslmode=disable",
@ -28,8 +28,8 @@ func InsertUserData(age string, education string, healthcarepersonell bool, gend
}
insertStatement := `
INSERT INTO Respondent (alder, utdanningsgrad, helsepersonell, kjønn, svartfør, fylke, dato)
VALUES ($1, $2, $3, $4, $5, $6, $7)
INSERT INTO Respondent (alder, utdanningsgrad, helsepersonell, harlisens, kjønn, svartfør, fylke, dato)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
RETURNING respondentID
`
@ -40,7 +40,7 @@ func InsertUserData(age string, education string, healthcarepersonell bool, gend
defer stmt.Close()
var respondentID int
err = stmt.QueryRow(age, education, healthcarepersonell, gender, answeredbefore, county, submitdate).Scan(&respondentID)
err = stmt.QueryRow(age, education, healthcarepersonell, islicensed, gender, answeredbefore, county, submitdate).Scan(&respondentID)
if err != nil {
log.Fatalf("Error inserting userdata: %v\n", err)
}

View file

@ -14,6 +14,7 @@ type UserformData struct {
Age string `json:"age"`
Education string `json:"education"`
HealthcarePersonnel bool `json:"healthcare_personnel"`
IsLicensed bool `json:"is_licensed"`
Gender string `json:"gender"`
AnsweredBefore bool `json:"answered_before"`
County string `json:"county"`
@ -51,7 +52,7 @@ func main() {
}
// Capture both the ID and error returned from InsertData
respondentId, err := db.InsertUserData(requestBody.Age, requestBody.Education, requestBody.HealthcarePersonnel, requestBody.Gender, requestBody.AnsweredBefore, requestBody.County, requestBody.SubmitDate)
respondentId, err := db.InsertUserData(requestBody.Age, requestBody.Education, requestBody.HealthcarePersonnel, requestBody.IsLicensed, requestBody.Gender, requestBody.AnsweredBefore, requestBody.County, requestBody.SubmitDate)
if err != nil {
fmt.Print(err)

View file

@ -6,6 +6,7 @@ export const postUserformData = async (
age: string,
education: string,
healthcare_personnel: string,
is_licensed: string,
gender: string,
has_answered_before: string,
county: string,
@ -13,6 +14,7 @@ export const postUserformData = async (
): Promise<postUserformDataReponse> => {
let url = "https://helseundersokelsen.online/submituserform";
let personnel = healthcare_personnel == "Ja" ? true : false;
let licensed = is_licensed == "Ja" ? true : false;
let answered_before = has_answered_before == "Ja" ? true : false;
const response = fetch(url, {
@ -21,6 +23,7 @@ export const postUserformData = async (
age: age,
education: education,
healthcare_personnel: personnel,
is_licensed: licensed,
gender: gender,
answered_before: answered_before,
county: county,

View file

@ -76,8 +76,8 @@
</div>
</div>
<div class="flex flex-col justify-start items-center gap-6">
<UserFormInput formData={knowledge} on:update={(e) => {knowledge = e.detail; handleFormUpdate()}} inputType="radio" label="Kunnskap" options={["Veldig dårlig", "Dårlig", "Nøytral", "Bra", "Veldig bra"]}/>
<UserFormInput formData={knowledge} on:update={(e) => {knowledge = e.detail; handleFormUpdate()}} inputType="radio" label="Kunnskap" options={["Veldig dårlig", "Dårlig", "Nøytral", "Bra", "Veldig bra", "Vet ikke"]}/>
<UserFormInput formData={empathy} on:update={(e) => {empathy = e.detail; handleFormUpdate()}} inputType="radio" label="Empati" options={["Veldig dårlig", "Dårlig", "Nøytral", "Bra", "Veldig bra"]}/>
<UserFormInput formData={helpfulness} on:update={(e) => {helpfulness = e.detail; handleFormUpdate()}} inputType="radio" label="Hjelpsomhet" options={["Veldig dårlig", "Dårlig", "Nøytral", "Bra", "Veldig bra", "Vet ikke"]}/>
<UserFormInput formData={helpfulness} on:update={(e) => {helpfulness = e.detail; handleFormUpdate()}} inputType="radio" label="Hjelpsomhet" options={["Veldig dårlig", "Dårlig", "Nøytral", "Bra", "Veldig bra"]}/>
</div>
</div>

View file

@ -6,7 +6,7 @@
<div class="flex flex-col w-11/12 md:w-3/5 gap-2 md:gap-4">
<h1 class="text-5xl md:text-7xl text-primary font-bold pb-2">Helseveileder</h1>
<p>Vi utfører en undersøkelse om kunstig intelligens (AI) i medisin. Vi ønsker å forstå hvordan AI kan fungere som en copilot for leger og pasienter.</p>
<p>Undersøkelsen er helt anonym.</p>
<p>Undersøkelsen er helt anonym. Spørsmålene er helserettet innenfor et spekter av kategorier. Det er mulig å gå videre til neste spørsmål, hvis man er ukomfortabel med spørsmålet eller ikke ønsker å vurdere et spørsmål.</p>
<ul>
<p class="mb-4">I denne undersøkelsen vil vi at du skal vurdere empati, kunnskap og hjelpsomhet i ulike svar på medisinske spørsmål.</p>
<li><strong>Empati:</strong> Evnen til å oppdage og erkjenne andres følelser og tanker.</li>

View file

@ -10,7 +10,7 @@
All informasjon du gir vil bli lagret anonymt. Dette betyr at svarene du gir ikke vil kunne spores tilbake til deg.
</p>
<p>
Vi registrerer alder i kohorter (10-20, 21-30, 31-40 osv.), utdanningsnivå, om du er helsepersonell (ja/nei), og kjønn. Dette er for å få en overordnet forståelse av deltakerne i studien. Vi spør ikke om personidentifiserbare opplysninger som navn, fødselsdato, personnummer, e-postadresse, telefonnummer eller geografiske data.
Vi registrerer alder i kohorter (10-20, 21-30, 31-40 osv.), kjønn, høyeste fullførte utdanningsgrad og om du er lege eller medisinstudent med lisens, om du er helsepersonell (ja/nei), og kjønn. Dette er for å få en overordnet forståelse av deltakerne i studien. Vi spør ikke om personidentifiserbare opplysninger som navn, fødselsdato, personnummer, e-postadresse, telefonnummer eller geografiske data.
</p>
</div>
</div>

View file

@ -10,6 +10,7 @@
let age: string = "18-20"
let education: string = "PhD"
let healthcare_personnel: string = "Ja"
let is_licensed: string = "Nei"
let gender: string = "Mann"
let has_answered_before: string = "Nei"
let county: string = "Vestland"
@ -21,7 +22,7 @@
const submitDate = new Date().toISOString()
const response = await postUserformData(age, education, healthcare_personnel, gender, has_answered_before, county, submitDate)
const response = await postUserformData(age, education, healthcare_personnel, is_licensed, gender, has_answered_before, county, submitDate)
const userQuestions = await getUserQuestions(response.respondentID)
goto("form/0")
@ -35,14 +36,15 @@
<div class="flex flex-col md:flex-row h-full md:h-4/5 gap-6">
<div class="flex flex-col justify-center w-full md:w-2/4 gap-4 md:px-32 ">
<h1 class="text-3xl text-primary font-bold">Deltakerinformasjon</h1>
<p>Til undersøkelsen trenger vi opplysninger om din aldersgruppe, utdanningsgrad, kjønn og bekreftelse på at du er helsepersonell.</p>
<p>Til undersøkelsen ønsker vi opplysninger om din aldersgruppe, om du er student eller jobber innen helse, hva din høyeste fullførte utdanningsgrad er og om du er lege eller medisinstudent med lisens.</p>
<p>Vi vil igjen minne om at denne undersøkelsen er helt anonym. Se <a href="/personvern"class="text-primary font-bold">Personvern</a> for mer informasjon.</p>
</div>
<div class="flex flex-col gap-6 justify-start items-center md:w-2/4">
<UserFormInput formData={age} on:update={(e) => age = e.detail} inputType="radio" label="Alder" options={["18-20", "20-30", "30-40", "40-50", "50-60"]}/>
<UserFormInput formData={education} on:update={(e) => education = e.detail} inputType="select" label="Utdanningsgrad" options={["PhD", "Master", "Fagbrev", "Bachelor"]}/>
<UserFormInput formData={county} on:update={(e) => county = e.detail} inputType="select" label="Fylke" options={["Vestland", "Rogaland", "Møre og Romsdal", "Oslo", "Viken", "Nordland", "Trøndelag", "Innlandet", "Troms og Finnmark", "Vestfold og Telemark", "Agder"]}/>
<UserFormInput formData={healthcare_personnel} on:update={(e) => healthcare_personnel = e.detail} inputType="radio" label="Helsepersonell" options={["Ja", "Nei"]}/>
<UserFormInput formData={education} on:update={(e) => education = e.detail} inputType="select" label="Utdanningsgrad" options={["VGS", "Bachelor", "Master", "PhD"]}/>
<UserFormInput formData={healthcare_personnel} on:update={(e) => healthcare_personnel = e.detail} inputType="radio" label="Jobber/studerer du innen helse?" options={["Ja", "Nei"]}/>
<UserFormInput formData={is_licensed} on:update={(e) => is_licensed = e.detail} inputType="radio" label="Er du lege eller medisinstudent med lisens?" options={["Ja", "Nei"]}/>
<UserFormInput formData={gender} on:update={(e) => gender = e.detail} inputType="radio" label="Kjønn" options={["Mann", "Kvinne", "Annet"]}/>
<UserFormInput formData={has_answered_before} on:update={(e) => has_answered_before = e.detail} inputType="radio" label="Jeg har svart på denne undersøkelsen tidligere" options={["Ja", "Nei"]}/>
</div>