🚑 critical changes before deployment
Co-authored-by: Sindre Kjelsrud <kjelsrudsindre@gmail.com>
This commit is contained in:
parent
c1721e5e8e
commit
055fce482a
9 changed files with 24 additions and 17 deletions
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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"`
|
||||
|
@ -35,7 +36,7 @@ type Evaluation struct {
|
|||
|
||||
func main() {
|
||||
router := gin.Default()
|
||||
//router.Use(cors.Default())
|
||||
// router.Use(cors.Default())
|
||||
|
||||
router.GET("/hello", func(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"hello":"world"})
|
||||
|
@ -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)
|
||||
|
@ -148,6 +149,6 @@ func main() {
|
|||
})
|
||||
|
||||
// Run the server on port 8080
|
||||
//db.SetupDb()
|
||||
// db.SetupDb()
|
||||
router.Run(":8080")
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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>
|
|
@ -6,14 +6,14 @@
|
|||
<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>
|
||||
<li><strong>Kunnskap:</strong> Nøyaktighet og relevans av den medisinske informasjonen gitt.</li>
|
||||
<li><strong>Hjelpsomhet:</strong> Evnen til å gi nyttig og praktisk råd eller støtte.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="flex justify-center items-center md:w-2/5 mt-8 md:mt-0">
|
||||
<a href="/userform">
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Reference in a new issue