@quesmed/types-rn 2.6.296 → 2.6.298
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/models/Condition.d.ts +9 -2
- package/models/Presentation.d.ts +8 -2
- package/models/Question.d.ts +3 -0
- package/models/Tutor.d.ts +0 -3
- package/models/Ukmla2026.d.ts +45 -0
- package/models/Video.d.ts +1 -0
- package/package.json +1 -1
- package/resolvers/fragments/question.js +10 -10
- package/resolvers/fragments/tutor.js +0 -2
- package/resolvers/fragments/video.js +2 -0
- package/resolvers/query/restricted/quesBook.js +100 -3
- package/resolvers/query/restricted/ukmla2026.d.ts +14 -1
- package/resolvers/query/restricted/ukmla2026.js +52 -1
package/models/Condition.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IConcept } from './Concept';
|
|
2
2
|
import { Id } from './Type';
|
|
3
|
+
import { EUkmla2026ChangeType } from './Ukmla2026';
|
|
3
4
|
import { IUkmlaTopic } from './UkmlaTopic';
|
|
4
5
|
export interface ICondition {
|
|
5
6
|
id: Id;
|
|
@@ -7,12 +8,18 @@ export interface ICondition {
|
|
|
7
8
|
updatedAt: number | Date;
|
|
8
9
|
deletedAt: number | Date;
|
|
9
10
|
name: string;
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
/** @deprecated Legacy UKMLA content map. Use `bodySystemId` instead. */
|
|
12
|
+
topicId?: Id | null;
|
|
13
|
+
/** @deprecated Legacy UKMLA content map. Not set on UKMLA 2026 rows. */
|
|
14
|
+
topic?: IUkmlaTopic | null;
|
|
12
15
|
concepts?: IConcept[];
|
|
16
|
+
/** @deprecated Legacy UKMLA content map. Not set on UKMLA 2026 rows. */
|
|
13
17
|
demo?: boolean;
|
|
14
18
|
public: boolean;
|
|
15
19
|
questionIds: number[];
|
|
20
|
+
bodySystemId?: number | null;
|
|
21
|
+
changeType?: EUkmla2026ChangeType | null;
|
|
22
|
+
legacyNames?: string[] | null;
|
|
16
23
|
totalQuestions?: number | null;
|
|
17
24
|
correctQuestions?: number | null;
|
|
18
25
|
incorrectQuestions?: number | null;
|
package/models/Presentation.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Id } from './Type';
|
|
2
|
+
import { EUkmla2026ChangeType } from './Ukmla2026';
|
|
2
3
|
import { IUkmlaTopic } from './UkmlaTopic';
|
|
3
4
|
export interface IPresentation {
|
|
4
5
|
id: Id;
|
|
@@ -6,11 +7,16 @@ export interface IPresentation {
|
|
|
6
7
|
updatedAt: number | Date;
|
|
7
8
|
deletedAt: number | Date;
|
|
8
9
|
name: string;
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/** @deprecated Legacy UKMLA content map. Not set on UKMLA 2026 rows. */
|
|
11
|
+
topicId?: Id | null;
|
|
12
|
+
/** @deprecated Legacy UKMLA content map. Not set on UKMLA 2026 rows. */
|
|
13
|
+
topic?: IUkmlaTopic | null;
|
|
14
|
+
/** @deprecated Legacy UKMLA content map. Not set on UKMLA 2026 rows. */
|
|
11
15
|
demo?: boolean;
|
|
12
16
|
public: boolean;
|
|
13
17
|
questionIds: number[];
|
|
18
|
+
changeType?: EUkmla2026ChangeType | null;
|
|
19
|
+
legacyNames?: string[] | null;
|
|
14
20
|
totalQuestions?: number | null;
|
|
15
21
|
correctQuestions?: number | null;
|
|
16
22
|
incorrectQuestions?: number | null;
|
package/models/Question.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { IPresentation } from './Presentation';
|
|
|
10
10
|
import { ITopic } from './Topic';
|
|
11
11
|
import { Id } from './Type';
|
|
12
12
|
import { ITheme } from './Ucat';
|
|
13
|
+
import { IUkmla2026Area, IUkmla2026BodySystem } from './Ukmla2026';
|
|
13
14
|
import { IUkmlaTopic } from './UkmlaTopic';
|
|
14
15
|
import { EUserLearningPoint, IUser } from './User';
|
|
15
16
|
export declare enum EPsaSectionType {
|
|
@@ -95,6 +96,8 @@ export interface IQuestion {
|
|
|
95
96
|
concept?: IConcept;
|
|
96
97
|
conditions?: ICondition[];
|
|
97
98
|
presentations?: IPresentation[];
|
|
99
|
+
bodySystems?: Pick<IUkmla2026BodySystem, 'id' | 'name' | 'sortOrder'>[];
|
|
100
|
+
areas?: Pick<IUkmla2026Area, 'id' | 'name' | 'sortOrder'>[];
|
|
98
101
|
question: string;
|
|
99
102
|
explanation?: string;
|
|
100
103
|
learningPoint?: string;
|
package/models/Tutor.d.ts
CHANGED
|
@@ -46,13 +46,10 @@ export interface ITutorHint {
|
|
|
46
46
|
}
|
|
47
47
|
export interface ITutorFeedback {
|
|
48
48
|
rating: number | null;
|
|
49
|
-
categories: string[] | null;
|
|
50
49
|
comment: string | null;
|
|
51
|
-
submittedAt: number | Date | null;
|
|
52
50
|
}
|
|
53
51
|
export interface ITutorFeedbackInput {
|
|
54
52
|
rating?: number;
|
|
55
|
-
categories?: string[];
|
|
56
53
|
comment?: string;
|
|
57
54
|
}
|
|
58
55
|
export interface ITutorResource {
|
package/models/Ukmla2026.d.ts
CHANGED
|
@@ -43,3 +43,48 @@ export interface IUkmla2026Presentation {
|
|
|
43
43
|
correctQuestions?: number | null;
|
|
44
44
|
incorrectQuestions?: number | null;
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* A Quesmed area of clinical practice: our own curated grouping.
|
|
48
|
+
* Conditions and presentations can sit in several areas, and their counts here
|
|
49
|
+
* are specific to this area.
|
|
50
|
+
*/
|
|
51
|
+
export interface IUkmla2026Area {
|
|
52
|
+
id: Id;
|
|
53
|
+
name: string;
|
|
54
|
+
sortOrder: number;
|
|
55
|
+
descriptor?: string | null;
|
|
56
|
+
changeType: EUkmla2026ChangeType;
|
|
57
|
+
legacyNames?: string[];
|
|
58
|
+
conditions?: IUkmla2026AreaCondition[];
|
|
59
|
+
presentations?: IUkmla2026AreaPresentation[];
|
|
60
|
+
totalQuestions?: number | null;
|
|
61
|
+
correctQuestions?: number | null;
|
|
62
|
+
incorrectQuestions?: number | null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A condition as it appears inside one area.
|
|
66
|
+
*/
|
|
67
|
+
export interface IUkmla2026AreaCondition {
|
|
68
|
+
areaId: number;
|
|
69
|
+
conditionId: number;
|
|
70
|
+
name: string;
|
|
71
|
+
changeType: EUkmla2026ChangeType;
|
|
72
|
+
legacyNames?: string[];
|
|
73
|
+
concepts?: IConcept[];
|
|
74
|
+
questionIds?: number[];
|
|
75
|
+
totalQuestions?: number | null;
|
|
76
|
+
correctQuestions?: number | null;
|
|
77
|
+
incorrectQuestions?: number | null;
|
|
78
|
+
}
|
|
79
|
+
/** A presentation as it appears inside one area. */
|
|
80
|
+
export interface IUkmla2026AreaPresentation {
|
|
81
|
+
areaId: number;
|
|
82
|
+
presentationId: number;
|
|
83
|
+
name: string;
|
|
84
|
+
changeType: EUkmla2026ChangeType;
|
|
85
|
+
legacyNames?: string[];
|
|
86
|
+
questionIds?: number[];
|
|
87
|
+
totalQuestions?: number | null;
|
|
88
|
+
correctQuestions?: number | null;
|
|
89
|
+
incorrectQuestions?: number | null;
|
|
90
|
+
}
|
package/models/Video.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -43,20 +43,20 @@ exports.QUESTION_UKMLA_FIELDS = (0, client_1.gql) `
|
|
|
43
43
|
presentations {
|
|
44
44
|
id
|
|
45
45
|
name
|
|
46
|
-
topicId
|
|
47
|
-
topic {
|
|
48
|
-
id
|
|
49
|
-
name
|
|
50
|
-
}
|
|
51
46
|
}
|
|
52
47
|
conditions {
|
|
53
48
|
id
|
|
54
49
|
name
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
50
|
+
}
|
|
51
|
+
bodySystems {
|
|
52
|
+
id
|
|
53
|
+
name
|
|
54
|
+
sortOrder
|
|
55
|
+
}
|
|
56
|
+
areas {
|
|
57
|
+
id
|
|
58
|
+
name
|
|
59
|
+
sortOrder
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
`;
|
|
@@ -59,6 +59,7 @@ exports.VIDEO_LIBRARY_FIELDS = (0, client_1.gql) `
|
|
|
59
59
|
thumbnail
|
|
60
60
|
gif
|
|
61
61
|
bunnyUrl
|
|
62
|
+
hlsUrl
|
|
62
63
|
}
|
|
63
64
|
duration
|
|
64
65
|
status
|
|
@@ -88,6 +89,7 @@ exports.VIDEO_TOKENS_FIELDS = (0, client_1.gql) `
|
|
|
88
89
|
storyboard
|
|
89
90
|
gif
|
|
90
91
|
bunnyUrl
|
|
92
|
+
hlsUrl
|
|
91
93
|
}
|
|
92
94
|
}
|
|
93
95
|
`;
|
|
@@ -137,14 +137,111 @@ exports.PUBLIC_QBANK_KNOWLEDGE_LIBRARY = (0, client_1.gql) `
|
|
|
137
137
|
}
|
|
138
138
|
`;
|
|
139
139
|
exports.OSCE_KNOWLEDGE_VIDEO_LIBRARY = (0, client_1.gql) `
|
|
140
|
-
|
|
140
|
+
${fragments_1.PICTURE_FIELDS}
|
|
141
|
+
fragment OsceStationMarkFields on OsceStationMark {
|
|
142
|
+
id
|
|
143
|
+
index
|
|
144
|
+
osceStationId
|
|
145
|
+
header
|
|
146
|
+
name
|
|
147
|
+
weight
|
|
148
|
+
__typename
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
fragment VideoFields on Video {
|
|
152
|
+
id
|
|
153
|
+
title
|
|
154
|
+
thumbnail
|
|
155
|
+
description
|
|
156
|
+
duration
|
|
157
|
+
watchLater
|
|
158
|
+
tokens {
|
|
159
|
+
hlsUrl
|
|
160
|
+
bunnyUrl
|
|
161
|
+
thumbnail
|
|
162
|
+
gif
|
|
163
|
+
}
|
|
164
|
+
__typename
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
fragment OsceStationFields on OsceStation {
|
|
168
|
+
id
|
|
169
|
+
updatedAt
|
|
170
|
+
name
|
|
171
|
+
hiddenName
|
|
172
|
+
status
|
|
173
|
+
createdBy
|
|
174
|
+
preDefined
|
|
175
|
+
aiEnabled
|
|
176
|
+
phaseTimers
|
|
177
|
+
userNote {
|
|
178
|
+
id
|
|
179
|
+
userId
|
|
180
|
+
stationId
|
|
181
|
+
note
|
|
182
|
+
updatedAt
|
|
183
|
+
__typename
|
|
184
|
+
}
|
|
185
|
+
osceType {
|
|
186
|
+
id
|
|
187
|
+
name
|
|
188
|
+
__typename
|
|
189
|
+
}
|
|
190
|
+
entitlement {
|
|
191
|
+
id
|
|
192
|
+
name
|
|
193
|
+
index
|
|
194
|
+
__typename
|
|
195
|
+
}
|
|
196
|
+
difficulty
|
|
197
|
+
candidateBrief
|
|
198
|
+
examinerBrief
|
|
199
|
+
actorBrief
|
|
200
|
+
explanation
|
|
201
|
+
marks {
|
|
202
|
+
...OsceStationMarkFields
|
|
203
|
+
__typename
|
|
204
|
+
}
|
|
205
|
+
clinicalData
|
|
206
|
+
picture {
|
|
207
|
+
...PictureFields
|
|
208
|
+
__typename
|
|
209
|
+
}
|
|
210
|
+
candidatePictures {
|
|
211
|
+
...PictureFields
|
|
212
|
+
__typename
|
|
213
|
+
}
|
|
214
|
+
actorPictures {
|
|
215
|
+
...PictureFields
|
|
216
|
+
__typename
|
|
217
|
+
}
|
|
218
|
+
examinerPictures {
|
|
219
|
+
...PictureFields
|
|
220
|
+
__typename
|
|
221
|
+
}
|
|
222
|
+
walkthroughPictures {
|
|
223
|
+
...PictureFields
|
|
224
|
+
__typename
|
|
225
|
+
}
|
|
226
|
+
clinicalPictures {
|
|
227
|
+
...PictureFields
|
|
228
|
+
__typename
|
|
229
|
+
}
|
|
230
|
+
videos {
|
|
231
|
+
...VideoFields
|
|
232
|
+
__typename
|
|
233
|
+
}
|
|
234
|
+
demo
|
|
235
|
+
__typename
|
|
236
|
+
}
|
|
237
|
+
|
|
141
238
|
query OsceKnowledgeVideoLibrary($videosOnly: Boolean) {
|
|
142
239
|
restricted {
|
|
143
240
|
osceBook(videosOnly: $videosOnly) {
|
|
144
241
|
...OsceStationFields
|
|
145
|
-
|
|
146
|
-
score
|
|
242
|
+
__typename
|
|
147
243
|
}
|
|
244
|
+
__typename
|
|
148
245
|
}
|
|
149
246
|
}
|
|
150
247
|
`;
|
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
import { EDifficultyType, IUkmla2026BodySystem, IUkmla2026PresentationLetter, Id } from '../../../models';
|
|
1
|
+
import { EDifficultyType, IUkmla2026Area, IUkmla2026BodySystem, IUkmla2026PresentationLetter, Id } from '../../../models';
|
|
2
2
|
import { IPreBuildMarksheet } from '../../mutation/restricted';
|
|
3
3
|
import { RestrictedData, graphqlNormalize } from '../../types';
|
|
4
4
|
export type IUkmla2026BodySystemsData = RestrictedData<(graphqlNormalize & IUkmla2026BodySystem)[], 'ukmlaBodySystems'>;
|
|
5
5
|
export declare const UKMLA_2026_BODY_SYSTEMS: import("@apollo/client").DocumentNode;
|
|
6
6
|
export type IUkmla2026PresentationsData = RestrictedData<(graphqlNormalize & IUkmla2026PresentationLetter)[], 'ukmlaPresentations'>;
|
|
7
7
|
export declare const UKMLA_2026_PRESENTATIONS: import("@apollo/client").DocumentNode;
|
|
8
|
+
export type IUkmla2026AreasData = RestrictedData<(graphqlNormalize & IUkmla2026Area)[], 'ukmlaAreas'>;
|
|
9
|
+
export declare const UKMLA_2026_AREAS: import("@apollo/client").DocumentNode;
|
|
10
|
+
/**
|
|
11
|
+
* One item inside one area of the Areas of Practice tab. `itemId` is the
|
|
12
|
+
* `conditionId` or `presentationId`, depending on which list it is passed in.
|
|
13
|
+
*/
|
|
14
|
+
export interface IUkmla2026AreaItemInput {
|
|
15
|
+
areaId: number;
|
|
16
|
+
itemId: number;
|
|
17
|
+
}
|
|
8
18
|
export interface IPreBuildUkmla2026MarksheetVar {
|
|
9
19
|
bodySystemIds?: number[];
|
|
10
20
|
conditionIds?: number[];
|
|
11
21
|
presentationIds?: number[];
|
|
22
|
+
areaIds?: number[];
|
|
23
|
+
areaConditions?: IUkmla2026AreaItemInput[];
|
|
24
|
+
areaPresentations?: IUkmla2026AreaItemInput[];
|
|
12
25
|
search?: string;
|
|
13
26
|
marksheetId?: Id;
|
|
14
27
|
source: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PRE_BUILD_UKMLA_2026_MARKSHEET = exports.UKMLA_2026_PRESENTATIONS = exports.UKMLA_2026_BODY_SYSTEMS = void 0;
|
|
3
|
+
exports.PRE_BUILD_UKMLA_2026_MARKSHEET = exports.UKMLA_2026_AREAS = exports.UKMLA_2026_PRESENTATIONS = exports.UKMLA_2026_BODY_SYSTEMS = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
exports.UKMLA_2026_BODY_SYSTEMS = (0, client_1.gql) `
|
|
6
6
|
query Ukmla2026BodySystems {
|
|
@@ -55,11 +55,59 @@ exports.UKMLA_2026_PRESENTATIONS = (0, client_1.gql) `
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
`;
|
|
58
|
+
exports.UKMLA_2026_AREAS = (0, client_1.gql) `
|
|
59
|
+
query Ukmla2026Areas {
|
|
60
|
+
restricted {
|
|
61
|
+
ukmlaAreas {
|
|
62
|
+
id
|
|
63
|
+
name
|
|
64
|
+
sortOrder
|
|
65
|
+
descriptor
|
|
66
|
+
changeType
|
|
67
|
+
legacyNames
|
|
68
|
+
totalQuestions
|
|
69
|
+
correctQuestions
|
|
70
|
+
incorrectQuestions
|
|
71
|
+
conditions {
|
|
72
|
+
areaId
|
|
73
|
+
conditionId
|
|
74
|
+
name
|
|
75
|
+
changeType
|
|
76
|
+
legacyNames
|
|
77
|
+
questionIds
|
|
78
|
+
totalQuestions
|
|
79
|
+
correctQuestions
|
|
80
|
+
incorrectQuestions
|
|
81
|
+
concepts {
|
|
82
|
+
id
|
|
83
|
+
name
|
|
84
|
+
topicId
|
|
85
|
+
chapterId
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
presentations {
|
|
89
|
+
areaId
|
|
90
|
+
presentationId
|
|
91
|
+
name
|
|
92
|
+
changeType
|
|
93
|
+
legacyNames
|
|
94
|
+
questionIds
|
|
95
|
+
totalQuestions
|
|
96
|
+
correctQuestions
|
|
97
|
+
incorrectQuestions
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
`;
|
|
58
103
|
exports.PRE_BUILD_UKMLA_2026_MARKSHEET = (0, client_1.gql) `
|
|
59
104
|
query PreBuildUkmla2026Marksheet(
|
|
60
105
|
$bodySystemIds: [Int!]
|
|
61
106
|
$conditionIds: [Int!]
|
|
62
107
|
$presentationIds: [Int!]
|
|
108
|
+
$areaIds: [Int!]
|
|
109
|
+
$areaConditions: [Ukmla2026AreaItemInput!]
|
|
110
|
+
$areaPresentations: [Ukmla2026AreaItemInput!]
|
|
63
111
|
$source: String!
|
|
64
112
|
$search: String
|
|
65
113
|
$marksheetId: Int
|
|
@@ -71,6 +119,9 @@ exports.PRE_BUILD_UKMLA_2026_MARKSHEET = (0, client_1.gql) `
|
|
|
71
119
|
bodySystemIds: $bodySystemIds
|
|
72
120
|
conditionIds: $conditionIds
|
|
73
121
|
presentationIds: $presentationIds
|
|
122
|
+
areaIds: $areaIds
|
|
123
|
+
areaConditions: $areaConditions
|
|
124
|
+
areaPresentations: $areaPresentations
|
|
74
125
|
source: $source
|
|
75
126
|
search: $search
|
|
76
127
|
marksheetId: $marksheetId
|