Skip to content

Commit

Permalink
Split labels roles (#302)
Browse files Browse the repository at this point in the history
  • Loading branch information
ravimeijerrig authored Dec 12, 2024
1 parent 0c7b3ff commit 7cc7164
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 76 deletions.
146 changes: 75 additions & 71 deletions decision-tree.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,13 @@ questions:
nextQuestionId: "1.4"
- answer: We ontwikkelen, maar gebruiken het niet alleen zelf
labels:
- "aanbieder & gebruiksverantwoordelijke"
- "aanbieder"
- "gebruiksverantwoordelijke"
nextQuestionId: "1.4"
- answer: We ontwikkelen en gebruiken het zelf
labels:
- "aanbieder & gebruiksverantwoordelijke"
- "aanbieder"
- "gebruiksverantwoordelijke"
nextQuestionId: "1.4"
- answer: We hebben opdracht gegeven om de toepassing te ontwikkelen
labels:
Expand All @@ -52,7 +54,8 @@ questions:
nextQuestionId: "1.4"
- answer: We hebben een toepassing gekocht en daarop doorontwikkeld
labels:
- "aanbieder & gebruiksverantwoordelijke"
- "aanbieder"
- "gebruiksverantwoordelijke"
nextQuestionId: "1.4"
- answer: We hebben een toepassing gekocht en gebruiken deze zonder aanpassingen
labels:
Expand Down Expand Up @@ -129,7 +132,7 @@ questions:
- "AI-model voor algemene doeleinden"
redirects:
- nextQuestionId: "1.6"
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "16.2.1"
if: '"distributeur" in labels'
- nextConclusionId: "15.2.1"
Expand Down Expand Up @@ -265,7 +268,7 @@ questions:
- "hoog-risico AI"
redirects:
- nextQuestionId: "2.4.2" #conformiteitsbeoordeling
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "16.0.1"
if: '"distributeur" in labels && "AI-systeem" in labels'
- nextConclusionId: "16.1.1"
Expand All @@ -278,12 +281,12 @@ questions:
labels:
- "verboden AI"
redirects:
- nextConclusionId: "14.0.0"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "12.0.0"
if: '"aanbieder" in labels'
- nextConclusionId: "13.0.0"
if: '"gebruiksverantwoordelijke" in labels'
- nextConclusionId: "14.0.0"
if: '"aanbieder & gebruiksverantwoordelijke" in labels'
- nextConclusionId: "15.0.0"
if: '"importeur" in labels'
- nextConclusionId: "16.0.0"
Expand Down Expand Up @@ -355,8 +358,8 @@ questions:
labels:
- "hoog-risico AI"
redirects:
- nextQuestionId: "2.4.1" #2.9 = transparantieverplichting, 2.4.1 = conformiteitsbeoordeling derde partij
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
- nextQuestionId: "2.4.1" # conformiteitsbeoordeling derde partij
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "16.0.1"
if: '"distributeur" in labels && "AI-systeem" in labels'
- nextConclusionId: "16.1.1"
Expand All @@ -370,7 +373,7 @@ questions:
- "hoog-risico AI"
redirects:
- nextQuestionId: "2.9" #transparantieverplichting
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "16.0.1"
if: '"distributeur" in labels && "AI-systeem" in labels'
- nextConclusionId: "16.1.1"
Expand Down Expand Up @@ -502,7 +505,7 @@ questions:
- "geen hoog-risico AI"
redirects:
- nextQuestionId: "2.9" #transparantieverplichting
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "16.0.3"
if: '"distributeur" in labels && "AI-systeem" in labels'
- nextConclusionId: "16.1.3"
Expand All @@ -529,7 +532,7 @@ questions:
- "hoog-risico AI"
redirects:
- nextQuestionId: "2.9" #transparantieverplichting
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "16.0.1"
if: '"distributeur" in labels && "AI-systeem" in labels'
- nextConclusionId: "16.1.1"
Expand Down Expand Up @@ -565,7 +568,7 @@ questions:
- "geen hoog-risico AI"
redirects:
- nextQuestionId: "2.9" #transparantieverplichting
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "16.0.3"
if: '"distributeur" in labels && "AI-systeem" in labels'
- nextConclusionId: "16.1.3"
Expand All @@ -579,7 +582,7 @@ questions:
- "hoog-risico AI"
redirects:
- nextQuestionId: "2.9" #transparantieverplichting
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
if: '"aanbieder" in labels || "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "16.0.1"
if: '"distributeur" in labels && "AI-systeem" in labels'
- nextConclusionId: "16.1.1"
Expand Down Expand Up @@ -609,18 +612,18 @@ questions:
labels:
- "systeemrisico"
redirects:
- nextConclusionId: "12.2.1"
if: '"aanbieder" in labels'
- nextConclusionId: "14.2.1"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "13.2.1"
if: '"gebruiksverantwoordelijke" in labels'
- nextConclusionId: "14.2.1"
if: '"aanbieder & gebruiksverantwoordelijke" in labels'
- nextConclusionId: "12.2.1"
if: '"aanbieder" in labels'
- answer: Nee
labels:
- "geen systeemrisico"
redirects:
- nextQuestionId: "2.11" # open-source
if: '"aanbieder" in labels || "aanbieder & gebruiksverantwoordelijke" in labels'
if: '"aanbieder" in labels'
- nextConclusionId: "13.2.1"
if: '"gebruiksverantwoordelijke" in labels'

Expand All @@ -644,14 +647,14 @@ questions:
labels:
- "geen transparantieverplichting"
redirects:
- nextConclusionId: "12.0.2"
if: '"aanbieder" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "12.0.4"
if: '"aanbieder" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.1.2"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels '
- nextConclusionId: "12.1.4"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels '
- nextConclusionId: "14.0.2"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.0.4"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.1.2"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.1.4"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "13.0.2"
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "13.0.4"
Expand All @@ -660,14 +663,15 @@ questions:
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "13.1.4"
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.0.2"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.0.4"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.1.2"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.1.4"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.0.2"
if: '"aanbieder" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "12.0.4"
if: '"aanbieder" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.1.2"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels '
- nextConclusionId: "12.1.4"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels '


## Uitzondering Transparantieverplichting
- questionId: "2.10"
Expand All @@ -683,14 +687,14 @@ questions:
labels:
- "geen transparantieverplichting"
redirects:
- nextConclusionId: "12.0.2"
if: '"aanbieder" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "12.0.4"
if: '"aanbieder" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.1.2"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels '
- nextConclusionId: "12.1.4"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels '
- nextConclusionId: "14.0.2"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.0.4"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.1.2"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.1.4"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "13.0.2"
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "13.0.4"
Expand All @@ -699,26 +703,26 @@ questions:
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "13.1.4"
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.0.2"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.0.4"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.1.2"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.1.4"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.0.2"
if: '"aanbieder" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "12.0.4"
if: '"aanbieder" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.1.2"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels '
- nextConclusionId: "12.1.4"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels '
- answer: Nee
labels:
- "transparantieverplichting"
redirects:
- nextConclusionId: "12.0.1"
if: '"aanbieder" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "12.0.3"
if: '"aanbieder" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.1.1"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "12.1.3"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.0.1"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.0.3"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.1.1"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.1.3"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "13.0.1"
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "13.0.3"
Expand All @@ -727,14 +731,14 @@ questions:
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "13.1.3"
if: '"gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.0.1"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.0.3"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "14.1.1"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "14.1.3"
if: '"aanbieder & gebruiksverantwoordelijke" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.0.1"
if: '"aanbieder" in labels && "AI-systeem" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "12.0.3"
if: '"aanbieder" in labels && "AI-systeem" in labels && "geen hoog-risico AI" in labels'
- nextConclusionId: "12.1.1"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "hoog-risico AI" in labels'
- nextConclusionId: "12.1.3"
if: '"aanbieder" in labels && "AI-systeem voor algemene doeleinden" in labels && "geen hoog-risico AI" in labels'

## Open-source "Zijn de broncodes en parameters openbaar voor eenieder?"
- questionId: "2.11"
Expand All @@ -750,18 +754,18 @@ questions:
labels:
- "open-source"
redirects:
- nextConclusionId: "14.2.2"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "12.2.2"
if: '"aanbieder" in labels'
- nextConclusionId: "14.2.2"
if: '"aanbieder & gebruiksverantwoordelijke" in labels'
- answer: Nee
labels:
- "geen open-source"
redirects:
- nextConclusionId: "14.2.3"
if: '"aanbieder" in labels && "gebruiksverantwoordelijke" in labels'
- nextConclusionId: "12.2.3"
if: '"aanbieder" in labels'
- nextConclusionId: "14.2.3"
if: '"aanbieder & gebruiksverantwoordelijke" in labels'

### Conclusies
conclusions:
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/assets/decision-tree.json

Large diffs are not rendered by default.

23 changes: 19 additions & 4 deletions frontend/src/stores/QuestionStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export const useQuestionStore = defineStore('question', () => {

function getJsonLabels() {
const label_dict = JSON.parse(sessionStorage.getItem('labels') ?? '{}')
const label_list = Object.values(label_dict).map(String)
const label_list = Object.values(label_dict).flat()
return label_list
}

Expand Down Expand Up @@ -99,16 +99,31 @@ export const useQuestionStore = defineStore('question', () => {
}

function revertAnswer(previousSubCategory: string) {
/**
* This function reverts the answer to the question if the user goes back a question.
* For this purpose the QuestionId, answers, labels for the subcategory are reverted.
* If there is no label for the subcategory, "nader te bepalen" is assigned.
*/
QuestionId.value = answers.value[answers.value.length - 1]
answers.value.pop()

if (labels.value[QuestionId.value]) {
const label: string = labels.value[QuestionId.value]
LabelsBySubCategory.value[previousSubCategory].pop(label)
const questionLabels: string[] = labels.value[QuestionId.value]

questionLabels.forEach(label => {
const labelIndex = LabelsBySubCategory.value[previousSubCategory].indexOf(label)
if (labelIndex !== -1) {
LabelsBySubCategory.value[previousSubCategory].splice(labelIndex, 1)
}
})

if (LabelsBySubCategory.value[previousSubCategory].length === 0) {
LabelsBySubCategory.value[previousSubCategory].push('nader te bepalen')
LabelsBySubCategory.value[previousSubCategory] = ['nader te bepalen']
}

delete labels.value[QuestionId.value]
}

sessionStorage.setItem('answers', JSON.stringify(answers.value))
sessionStorage.setItem('currentquestion', QuestionId.value)
sessionStorage.setItem('labels', JSON.stringify(labels.value))
Expand Down

0 comments on commit 7cc7164

Please sign in to comment.