@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.
@@ -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
- topicId: Id;
11
- topic: IUkmlaTopic;
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;
@@ -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
- topicId: Id;
10
- topic: IUkmlaTopic;
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;
@@ -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 {
@@ -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
@@ -17,6 +17,7 @@ export type IVideoTokens = {
17
17
  storyboard: string;
18
18
  gif: string;
19
19
  bunnyUrl: string;
20
+ hlsUrl: string;
20
21
  };
21
22
  export interface IVideo {
22
23
  id: Id;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quesmed/types-rn",
3
- "version": "2.6.296",
3
+ "version": "2.6.298",
4
4
  "description": "Typescript types for Quesmed",
5
5
  "keywords": [
6
6
  "quesmed",
@@ -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
- topicId
56
- topic {
57
- id
58
- name
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
  `;
@@ -70,9 +70,7 @@ exports.TUTOR_CONVERSATION_FIELDS = (0, client_1.gql) `
70
70
  }
71
71
  feedback {
72
72
  rating
73
- categories
74
73
  comment
75
- submittedAt
76
74
  }
77
75
  lastActivityAt
78
76
  createdAt
@@ -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
- ${osce_1.OSCE_STATION_FIELDS}
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
- lastOsceMarksheetId
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