Skip to content

Commit 5a2f52d

Browse files
committed
feat: add ADHD-ASRS-v1.1
1 parent a20593a commit 5a2f52d

1 file changed

Lines changed: 166 additions & 0 deletions

File tree

  • packages/instrument-library/src/forms/ADHD-ASRS-v1.1
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
import { defineInstrument } from '/runtime/v1/@opendatacapture/runtime-core';
2+
import { sum } from '/runtime/v1/lodash-es@4.x';
3+
import { z } from '/runtime/v1/zod@3.23.x';
4+
5+
const likertScaleOptions = {
6+
en: {
7+
0: 'Never',
8+
1: 'Rarely',
9+
2: 'Sometimes',
10+
3: 'Often',
11+
4: 'Very Often'
12+
},
13+
fr: {
14+
0: 'Jamais',
15+
1: 'Rarement',
16+
2: 'Parfois',
17+
3: 'Souvent',
18+
4: 'Très Souvent'
19+
}
20+
};
21+
22+
const $LikertScaleValidation = z.number().int().min(0).max(4);
23+
24+
export default defineInstrument({
25+
content: {
26+
selfReportADHD: {
27+
items: {
28+
difficultyConcentrating: {
29+
label: {
30+
en: 'How often do you have difficulty concentrating on what people are saying to you even when they are speaking to you directly?',
31+
fr: "À quelle fréquence avez-vous des difficultés à vous concentrer sur ce que les gens vous disent, même lorsqu'ils vous parlent directement?"
32+
}
33+
},
34+
difficultyRelaxing: {
35+
label: {
36+
en: 'How often do you have difficulty unwinding and relaxing when you have time to yourself?',
37+
fr: 'À quelle fréquence avez-vous des difficultés à vous détendre et à vous relaxer pendant votre temps libre?'
38+
}
39+
},
40+
procrastination: {
41+
label: {
42+
en: 'How often do you put things off until the last minute?',
43+
fr: "À quelle fréquence mettez-vous les choses de côté jusqu'à la dernière minute?"
44+
}
45+
},
46+
relyOnOthers: {
47+
label: {
48+
en: 'How often do you depend on others to keep your life in order and attend to details?',
49+
fr: "À quelle fréquence dépendez-vous des autres pour garder votre vie en ordre et s'occuper des détails?"
50+
}
51+
},
52+
restlessInappropriately: {
53+
label: {
54+
en: 'How often do you leave your seat in meetings or other situations in which you are expected to remain seated?',
55+
fr: "À quelle fréquence vous levez-vous pendant des réunions ou d'autres situations dans lesquelles vous êtes censé rester assis?"
56+
}
57+
},
58+
sentenceCompletion: {
59+
label: {
60+
en: "When you're in a conversation, how often do you find yourself finishing the sentences of the people you are talking to before they can finish them themselves?",
61+
fr: "À quelle fréquence vous surprenez-vous terminant les phrases des autres dans une discussion avant qu'ils aient pu le faire eux-mêmes?"
62+
}
63+
}
64+
},
65+
kind: 'number-record',
66+
label: {
67+
en: 'Check the box that best describes how you have felt and conducted yourself over the past 6 months.',
68+
fr: 'Cochez la case qui décrit le mieux la manière dont vous vous êtes senti et comporté au cours des six derniers mois.'
69+
},
70+
options: likertScaleOptions,
71+
variant: 'likert'
72+
}
73+
},
74+
details: {
75+
description: {
76+
en: [
77+
'The Adult ADHD Self-Report Scale (ASRS v1.1) and scoring system were developed in conjunction with',
78+
'the World Health Organization (WHO) and the Workgroup on Adult ADHD to help healthcare',
79+
'professionals to screen their patients for adult ADHD. Insights gained through this screening may suggest',
80+
'the need for a more in-depth clinician interview. The questions in the ASRS v1.1 are consistent with',
81+
'DSM-IV criteria and address the manifestations of ADHD symptoms in adults. The content of the',
82+
'questionnaire also reflects the importance that DSM-IV places on symptoms, impairments, and history for',
83+
'a correct diagnosis.'
84+
].join(' '),
85+
fr: [
86+
"L'échelle d'auto-évaluation du TDAH de l'adulte (ASRS v1.1) et le système de notation ont été élaborés en collaboration",
87+
"avec l'Organisation mondiale de la santé (OMS) et le groupe de travail sur le TDAH de l'adulte afin d'aider les",
88+
"professionnels de la santé à dépister le TDAH de l'adulte chez leurs patients. Les informations obtenues grâce à",
89+
"ce dépistage peuvent suggérer la nécessité d'un entretien plus approfondi avec le clinicien. Les questions",
90+
"de l'ASRS v1.1 sont conformes aux critères du DSM-IV et portent sur les manifestations des symptômes du TDAH",
91+
"chez l'adulte. Le contenu du questionnaire reflète également l'importance que le DSM-IV accorde aux",
92+
'symptômes, aux déficiences et faux antécédents pour un diagnostic correct.'
93+
].join(' ')
94+
},
95+
estimatedDuration: 1,
96+
instructions: {
97+
en: ['This is a self-rated instrument, please answer all questions.'],
98+
fr: ["Il s'agit d'un instrument d'auto-évaluation, veuillez répondre à toutes les questions."]
99+
},
100+
license: 'CC-BY-4.0',
101+
referenceUrl: 'http://www.hcp.med.harvard.edu/ncs/asrs.php',
102+
title: {
103+
en: 'Adult ADHD Self-Report Screening Scale for DSM-5 (ASRS-5) v1.1',
104+
fr: "Échelle d'auto-évaluation du dépistage du TDAH chez l'adulte pour le DSM-5 (ASRS-5) v1.1"
105+
}
106+
},
107+
internal: {
108+
edition: 1,
109+
name: 'ADHD-ASRS-v1.1'
110+
},
111+
kind: 'FORM',
112+
language: ['en', 'fr'],
113+
measures: {
114+
difficultyConcentrating: {
115+
kind: 'computed',
116+
label: { en: 'Result difficulty concentrating', fr: 'Résultat difficulté de concentration' },
117+
value: (data) => data.selfReportADHD.difficultyConcentrating
118+
},
119+
difficultyRelaxing: {
120+
kind: 'computed',
121+
label: { en: 'Result difficulty relaxing', fr: 'Résultat difficulté de détente' },
122+
value: (data) => data.selfReportADHD.difficultyRelaxing
123+
},
124+
procrastination: {
125+
kind: 'computed',
126+
label: { en: 'Result procrastination', fr: 'Résultat procrastination' },
127+
value: (data) => data.selfReportADHD.procrastination
128+
},
129+
relyOnOthers: {
130+
kind: 'computed',
131+
label: { en: 'Result relying on others', fr: 'Résultat dépendant des autres' },
132+
value: (data) => data.selfReportADHD.relyOnOthers
133+
},
134+
restlessInappropriately: {
135+
kind: 'computed',
136+
label: { en: 'Result inappropriate restlessness', fr: 'Résultat agitation inappropriée' },
137+
value: (data) => data.selfReportADHD.restlessInappropriately
138+
},
139+
sentenceCompletion: {
140+
kind: 'computed',
141+
label: { en: 'Result inappropriate sentence completion', fr: 'Résultat achèvement inapproprié de la phrase' },
142+
value: (data) => data.selfReportADHD.sentenceCompletion
143+
},
144+
totalScore: {
145+
kind: 'computed',
146+
label: { en: 'Total ADHD Score', fr: 'Score total de TDAH' },
147+
value: (data) => {
148+
return sum(Object.values(data.selfReportADHD));
149+
}
150+
}
151+
},
152+
tags: {
153+
en: ['ADHD', 'ADD'],
154+
fr: ['TDAH', 'TDA']
155+
},
156+
validationSchema: z.object({
157+
selfReportADHD: z.object({
158+
difficultyConcentrating: $LikertScaleValidation,
159+
difficultyRelaxing: $LikertScaleValidation,
160+
procrastination: $LikertScaleValidation,
161+
relyOnOthers: $LikertScaleValidation,
162+
restlessInappropriately: $LikertScaleValidation,
163+
sentenceCompletion: $LikertScaleValidation
164+
})
165+
})
166+
});

0 commit comments

Comments
 (0)